SPG Builder

Сабжи короче

Postby TS-Labs » Sun, 30.09.2012 18:21:15

В новом релизе WC Budder-а сделана запускалка для SPG файлов. Я запилил собиралку оных файлов.
Вместе с сорцами:
https://github.com/tslabs/zx-evo/tree/master/pentevo/tools/spgbld

UPDATE 10.11.2012
+ Добавил поддержку НЕХ-чисел с префиксами 0х, #, $
+ Добавил возможность вставлять строки каментов в .ini, начинающиеся с ;
+ Добавил печать дебажной инфы на этапе разгребания .ini

UPDATE 23.10.2014
+ Добавил автоматическую нарезку файлов, если они больше страницы, на которой должны лежать, на последующие страницы

UPDATE 10.01.2015
+ Добавил режим распаковки компилированных SPG в набор файлов плюс ini.
Last edited by TS-Labs on Sat, 10.01.2015 04:38:02, edited 5 times in total.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Sun, 30.09.2012 18:28:55

Краткая инструкция по сборке

1. Создаете папку с набором файлов, которые войдут в виде блоков в СПГ.
2. Туда же кладется инишник <file>.ini, в котором описана сборка. Пример здесь.
3. По пути %PATH% либо прямо в папку с сорцами кладете проги: spgbld.exe и mhmt.exe. (Утилита mhmt.exe написана LVD, credits to him.)
4. Запускаете spgbld.exe -b <input.ini> <output.spg> [-c <pack method>], где:
<input.ini> - имя инишника
<output.spg> - имя выходного файла
<pack method> - тип компрессии блоков:
0 - не упакованные
1 - мегалз
2 - хруст.
Если опция не указана, метод компрессии выбирается автоматически самой тулзой, т.е. каждый блок жмется методами 1 и 2 и выбирается тот метод, который эффективнее. Рекомендую юзать именно этот способ. Если размер чанка (чанк - блок SPG, размер которого кратен 512 байтам) при компрессии двумя методами вышел одинакового размера, предпочтение отдается мегалзу для более быстрой загрузки.


Распаковка компилированных SPG

1. Запускаете spgbld.exe -u <input.spg>, где:
<input.spg> - имя входного файла
2. На диске создается набор файлов, состоящий из:
<input.spg>.ini - сборочный инишник,
<input.spg>.<num> - распакованный блок данных (чанк), где <num> - порядковый номер.
Last edited by TS-Labs on Sat, 10.01.2015 04:45:11, edited 4 times in total.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Sun, 30.09.2012 18:40:02

Описание формата SPG тут.

Ini файл состоит из набора строк с параметрами. Порядок строк не имеет значения, могут идти как угодно в перемешку.
Формат строки инишника выглядит так:
<tag> = <parameter(s)>
Параметр(ы) могут быть либо текстовой строкой, либо ДЕСЯТИЧНЫМ числом и идут через запятые.

Теги:
Desc = Имя сборки, до 32 символов. Без кавычек.
Start = Адрес запуска
Stack = Адрес стека на момент запуска
Resident = Адрес, где хранится резидент для запуска (чото 32 байта или около того)
Page3 = Номер паги по адресу С000
Clock = Значение турбы при запуске. Для тсконфы это: 0 - 3,5МГц / 1 - 7МГц /2 - 14МГц / 3 - 14МГц оверклокед
INT = Прерывания: 0 -выкл / 1 - вкл
Pager = Адрес манагера страниц, 0 - нету манагера
Compression = алгоритм сжатия (-1 - авто, 0 - без сжатия, 1 - MLZ, 2 - Hrust). Действует на все последующие блоки. Может встречаться несколько раз.
Block = Адрес загрузки блока (49152-65024 с ШАГОМ 512 байт!), номер паги загрузки, имя файла, из которого подтянется дата (файл должон лежать в папке с ини). Размер файла может быть более 16384 байт. В этом случае, он автоматически нарезается на следующие по порядку страницы с адреса 49152 - удобно например складывать графику/звук. Старшие 2 бита адреса игнорируются (0 == 49152). Может задаваться в хексе: 0xC000.

Пример:
Code: Select all
Desc = Game
Start = 0xC000
Stack = 0x4000
Resident = 0x5B00
Page3 = 8
Clock = 2
INT = 0
Pager = 0
Compression = -1
Block = 0xC000,8,obj/code.c
Block = 0xC000,5,../lib/warning.scr
Compression = 0
Block = 0xC000,16,res/1.dxt
Last edited by TS-Labs on Thu, 23.10.2014 10:21:01, edited 2 times in total.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeper » Sun, 30.09.2012 19:08:34

TS-Labs wrote:Описание формата SPG тут.

Премного благодарен! Вы с Budder`ом Koshi формат допиливать собираетесь али нет?
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby TS-Labs » Sun, 30.09.2012 19:32:25

А куда его допиливать? Это вроде как релизный вариант.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeper » Sun, 30.09.2012 20:53:11

TS-Labs wrote:А куда его допиливать? Это вроде как релизный вариант.

Это радует, буду вмонтирвовывать запускалку в ПЗУ
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby TS-Labs » Fri, 12.10.2012 00:29:29

Keeper wrote:буду вмонтирвовывать запускалку в ПЗУ

Пгастите, а за какое ПЗУ вы гаварите?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeper » Fri, 12.10.2012 02:47:09

Которое в фениксе
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby TS-Labs » Fri, 12.10.2012 13:19:51

Keeper wrote:Которое в фениксе

Который гомнофорумный высер?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby lvd » Fri, 12.10.2012 14:10:06

TS-Labs wrote:Который гомнофорумный высер?

гомоблядкатовский высер.
главнопоятель пхеникса консультировался у блядката
19:49 < gn0blinish> я - идиот, убейте меня кто-нибудь!!!!!!1
User avatar
lvd
 
Posts: 288
Joined: Thu, 26.07.2012 07:55:27

Postby TS-Labs » Fri, 12.10.2012 14:26:55

Все круто, мне только интересно, почему мягкий теплый ламповый пхойникс сделан не на правильных транзисторах, а на мерзкой альтере?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby lvd » Fri, 12.10.2012 18:35:48

пхойникс сделан на тёплых ламповых к155ла3.
zxm_phoenix_0.JPG
zxm_phoenix_0.JPG (675.3 KiB) Viewed 40816 times
19:49 < gn0blinish> я - идиот, убейте меня кто-нибудь!!!!!!1
User avatar
lvd
 
Posts: 288
Joined: Thu, 26.07.2012 07:55:27

Postby TS-Labs » Fri, 12.10.2012 19:20:19

Совковый зетник, вгшка, АУ, пзу, а слева что? Не мерзкая ли отмега?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeper » Fri, 12.10.2012 23:48:41

лол :1tooth: Все обатхертились? Ещё вопросы будут? :smoke:
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby TS-Labs » Sat, 13.10.2012 01:10:08

И шо, это весь унылотроленх? Я то думал щас начнется...
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeper » Sat, 13.10.2012 09:11:13

TS-Labs wrote:И шо, это весь унылотроленх?

Да я и не собирался :) Но каменты хоть и предсказуемые, но доставили :)
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby TS-Labs » Sat, 10.11.2012 06:17:49

Чото допилил ^^^
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby nyuk » Sat, 10.11.2012 08:21:47

Keeper wrote:Это радует, буду вмонтирвовывать запускалку в ПЗУ

Значит мне пока погодить прошивать ПЗУ в своем фениксе? Правда я и так года два как годю...
А чем эта запускалка будет лучше WDC, прошитого в ПЗУ?
не отрастил
User avatar
nyuk
 
Posts: 556
Joined: Thu, 26.07.2012 09:08:24

Postby Keeper » Sat, 10.11.2012 12:10:01

nyuk wrote:Значит мне пока погодить прошивать ПЗУ в своем фениксе? Правда я и так года два как годю...

Прошивай. Потом с ПЗУшкой порешаем как быть.
nyuk wrote:А чем эта запускалка будет лучше WDC, прошитого в ПЗУ?

Тем что я вижу эту прошивку как бут из которого можно быстро и без лишних телодвижений открыть SPG, хуйбетту или какой дисковод. WDC 1.6 в ПЗУ не влазит, разве что васик128 выпилить...
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby nyuk » Sat, 10.11.2012 12:36:38

Keeper wrote:Прошивай. Потом с ПЗУшкой порешаем как быть.

Дак у меня дома нечем прошить, нужно к приятелю идти. Я лучше подожду, а то прошью, потом опять джва года прособираюсь чтоб перешить.
Keeper wrote:Тем что я вижу эту прошивку как бут из которого можно быстро и без лишних телодвижений открыть SPG, хуйбетту или какой дисковод. WDC 1.6 в ПЗУ не влазит, разве что васик128 выпилить...

Дак есть же прошивка с WDC 1.3, из него вполне удобно SPG запускать. Я не к тому что против, просто пытаюсь понять, зачем оно.

А про открытие хобеты я понимаю, что у меня на винте (флешке) записан бинарник, я на него жму, из заголовка берется адрес загрузки и запуска, загружается и запускается, так? Было бы клева.
не отрастил
User avatar
nyuk
 
Posts: 556
Joined: Thu, 26.07.2012 09:08:24

Postby jerri » Sat, 10.11.2012 13:39:23

а зачем зашивать коммандер в ПЗУ?
в ПЗУ надо только запускалку boot файла
Jerri/Red Triangle [Ham 50%] [K'n'G 1%] [Run Away 40%]
User avatar
jerri
 
Posts: 96
Joined: Tue, 06.11.2012 21:48:11

Postby Keeper » Sat, 10.11.2012 23:58:33

jerri wrote:в ПЗУ надо только запускалку boot файла

Запускалку с какого носителя?
TS-Labs wrote:Кеерег: я детекчу, что ты тролль, и зарегался тут только, чтоб меня заебать :smoke:
Keeper
 
Posts: 121
Joined: Thu, 26.07.2012 08:31:16

Postby TS-Labs » Sun, 11.11.2012 00:46:49

Keeper wrote:Запускалку с какого носителя?

В моем биосе производится поиск хобеты с именем бут на указанном носителе, в результате: засунута СД карта, нажал ресет, 1секунда и ВЦ на экране. Зачем лохматить бабушку прошиванием командера в ПЗУ, который обновляется раз в неделю-две?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Buyan » Mon, 27.05.2013 22:40:24

TS-Labs wrote:Чото допилил

А еще че нибудь допилить в планах нет случайно? ;)
Убрать ограничение 16Кб например. Было бы архиудобно, если бы тулза большие файлы сама резала на части и последовательно в страницы забивала.
Buyan
 
Posts: 159
Joined: Fri, 08.03.2013 19:14:56

Postby TS-Labs » Mon, 27.05.2013 23:49:13

ОК, подумаю.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Next

Return to Utilities

Who is online

Users browsing this forum: Google [Bot] and 0 guests

cron

x