runtime: фикс banked-режимов — _bank_pages переезжает из _DATA в _CODE
Регрессия от 961cfb7 (gsinit зануляет _DATA, 2026-07-04): crt0_banked
заполняет таблицу физических страниц _bank_pages ДО gsinit, а тот её
стирал — трамплины banked-вызовов читали нули и прыгали в незамапленную
страницу. Висли ВСЕ banked-программы (banked/bankedbg/banklocl/
banktest); найдено MAME-смоуком. Тот коммит перенёс crt0-приватные
_estex_* в _CODE, но _bank_pages в runtime/bank.s пропустил.
- runtime/bank.s: _bank_pages → .area _CODE (RAM, всегда замаплен —
это же условие нужно и трамплину); +16 Б _CODE у программ с bank.s
- app.mk: exe теперь зависит от runtime/*.s — правка crt0/bank.s
перелинковывает тесты без make clean (фикс иначе не подхватывался)
- эталон размеров обновлён (+16 Б у banked/bankedbg/banklocl/
banktest/openenv — size-check поймал ровно их)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
argv 3431
|
||||
assrtest 3847
|
||||
attrprob 4091
|
||||
banked 1040
|
||||
bankedbg 1051
|
||||
banklocl 4816
|
||||
banktest 3751
|
||||
banked 1056
|
||||
bankedbg 1067
|
||||
banklocl 4832
|
||||
banktest 3767
|
||||
bios_text 4470
|
||||
cat 915
|
||||
conio 4634
|
||||
@@ -29,7 +29,7 @@ mdview 19122
|
||||
mdview2 27029
|
||||
mem_test 4558
|
||||
mouse 4394
|
||||
openenv 6111
|
||||
openenv 6127
|
||||
ptime 5896
|
||||
rt_test 4103
|
||||
seek 4177
|
||||
|
||||
|
Reference in New Issue
Block a user