Кое-как перенес сохранение на обычный SRAM, в начале работает. Continue без сохранения не работает, нужно добавлять проверку.
, последовательность байтов такая же.
UNROM 512:
(This code must exist in wram):
Erase 4KB Flash Sector:
$C000:$01, $9555:$AA
$C000:$00, $AAAA:$55
$C000:$01, $9555:$80
$C000:$01, $9555:$AA
$C000:$00, $AAAA:$55
$C000:BANK, ADDR:$30 (Where BANK is $00-1F, ADDR is $8000,$9000,$A000,$B000)
Read the written location twice until you get $FF twice.
Write a byte:
$C000:$01, $9555:$AA
$C000:$00, $AAAA:$55
$C000:$01, $9555:$A0
$C000:BANK, ADDR:DATA (Where BANK is $00-1F, ADDR is $8000-$BFFF, DATA is $00-$FF)
Read the written location twice until you get DATA twice.
В этой игре Erase:
307c 0aab MOVEA.W #$0aab,A0
10bc ffaa MOVE.B #$aa,(A0)
327c 0555 MOVEA.W #$0555,A1
12bc 0055 MOVE.B #$55,(A1)
10bc ff80 MOVE.B #$80,(A0)
10bc ffaa MOVE.B #$aa,(A0)
12bc 0055 MOVE.B #$55,(A1)
13fc 0030 003f f001 MOVE.B #$30,$003ff001
3039 003f f000 MOVE.W $003ff000,D0
0c40 ffff CMPI.W #$FFFF,D0
66f4 BNE $00000054
4e75 RTS
Write:
202f 0008 MOVE.L +8(A7),D0
3200 MOVE.W D0,D1
307c 0aab MOVEA.W #$0aab,A0
10bc ffaa MOVE.B #$aa,(A0)
11fc 0055 0555 MOVE.B #$55,$00000555
10bc ffa0 MOVE.B #$a0,(A0)
206f 0004 MOVEA.L +4(A7),A0
3080 MOVE.W D0,(A0)
3010 MOVE.W (A0),D0
b041 CMP.W D1,D0
66fa BNE $00000058
4e75 RTS
: В v2 поменял заголовок для работы в BlastEm.