Spell out the body_syms.inc regeneration step as real commands
The prose description ("update body_syms.inc from body_syms_new.txt,
without DATA/CONF") wasn't clear on its own -- replaced with the
actual grep command and a short explanation of why DATA/CONF get
stripped (zc_sd_driver.asm already declares them itself).
This commit is contained in:
+11
-2
@@ -71,8 +71,17 @@ CPU.
|
||||
```
|
||||
cd _sd
|
||||
sjasmplus.exe zc_sd_driver_body.asm --sym=body_syms_new.txt
|
||||
# упаковать zc_sd_driver_body.bin -> zc_sd_driver_body.pb (PackBits)
|
||||
# обновить body_syms.inc из body_syms_new.txt (без DATA/CONF)
|
||||
|
||||
# зачем: --sym выгружает адреса ВСЕХ меток тела (включая DATA/CONF --
|
||||
# служебные метки портов ввода-вывода), а zc_sd_driver.asm уже сам
|
||||
# объявляет DATA/CONF как константы -- если подключить дамп как есть,
|
||||
# получим "Duplicate label: DATA"/"Duplicate label: CONF". Поэтому
|
||||
# перед тем как класть файл в body_syms.inc, эти две строки убираются:
|
||||
grep -v -E "^(DATA|CONF): EQU" body_syms_new.txt > body_syms.inc
|
||||
|
||||
# упаковать zc_sd_driver_body.bin -> zc_sd_driver_body.pb (PackBits;
|
||||
# любым PackBits-кодировщиком с раунд-трип проверкой -- контрольный
|
||||
# байт C: C=128 конец, C<128 литерал C+1 байт, C>128 повтор (257-C) раз)
|
||||
sjasmplus.exe zc_sd_driver.asm
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user