c4a512200f
Схема: атлас в 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>
5 lines
131 B
Makefile
5 lines
131 B
Makefile
PROJ_ROOT := $(abspath $(CURDIR)/../..)
|
|
EXAMPLE := w0page
|
|
EXTRA_FLAGS ?= --gfx 256 --memory tiny
|
|
include $(PROJ_ROOT)/app.mk
|