tests/w0page + docs §9в: атласы в страницах W0 — probe-тест (все PASS)

Схема: атлас в EMM-странице, на время sprite_update страница
подключается в W0.  Все прерывания исполняют 0x38 текущей страницы W0
(IM1 напрямую, IM2-трамплин чейнит jp 0x0038) — защита: стаб в первых
0x100 байтах страницы (0x38: JP на W2-хелпер: свап на страницу DSS →
честный 0x38 → restore спрайт-страницы; 0x66: RETN).

Проверено в dev-MAME (tests/w0page, все PASS):
  P1 ESTEX READ в W3-замапленную страницу;
  P3 IM1: ~5 c busy-цикла с EI при странице в W0 — жив, сентинел цел;
  P4 IM2: 100 кадровых прерываний посчитаны при подключенной странице
     (тракт трамплин→чейн→стаб→DSS→restore);
  P5 accel-блит src=0x0100 (W0) — пиксели верны по ОЗУ-копии.

Формат .atl в §3.1 дополнен: атлас ≤ 16К−0x100 (одна страница, один
файл), вариант II — 0x100-заголовок, файл-офсет == офсет страницы ==
W0-адрес, загрузка = read() целиком + патч стаба.  На железе
перепроверить.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-13 12:30:24 +03:00
parent 88a00bb4ec
commit c4a512200f
4 changed files with 304 additions and 4 deletions
+1
View File
@@ -51,4 +51,5 @@ stest2 3644
strtest 1340
text_palette 5024
timedir 5454
w0page 8831
winrest 4459
1 # Эталон размеров _CODE (байт); обновление: python3 toolchain/size_check.py --update
51 strtest
52 text_palette
53 timedir
54 w0page
55 winrest