1
Картриджи / диски / Re: Новые Дампы 2
« : 20 Май 2020, 00:05:35 »
Puzzli Megadrive version (v1.0, initial public release):
https://portabledev.itch.io/puzzli-megadrive
https://portabledev.itch.io/puzzli-megadrive
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
That never got released, not even on Steam.
Haradius Zero notes (dink/fb)
~~~~~~~~~~~~~~
mmc3 + MX29F040 flash chip r/w (PRG) + flash chip r[used as rom only] (CHR)
a1 -> a0 swapped writing to MMC3 (8000-ffff) - f.ex:
mmc3_write((address & 0xfffe) | ((address >> 1) & 1), data);
flash chip datasheet @ http://pdf.datasheetcatalog.com/datasheet/macronix/MX29F040PC-70.pdf
read flash thru normal mmc3/mapper banking, write is done via MX29F040 commands.
difference from datasheet (flash command listen addresses):
0x555 (datasheet) 0xd555 (game uses)
0x2aa (datasheet) 0xaaaa (game uses)
write sector is 0x10000 bytes @ 0x50000 in prg-rom (game maps this at 0x8000 via mmc3)
flash commands needed: (pg. 5 @ datasheet)
reset
silicon-id (manuf. & device)
porgram ;) (datasheet says)
sector erase
protection checks:
silicon-id from flash chip 0xc2 / 0xa4
workram (6000-7fff) (disable it!) - if enabled: a big ship will appear after some enemy waves, and it is invincible.
if game freezes while "option -> reset hiscore", make sure read returns 0x40 / 0x00 every read until flash is erased (1 cycle / byte?) (pg.8 2nd paragraph 2nd sentence). on erase, sector is filled with 0xff!
writes through flash are done via mapper prg banking! (if 8000 points to prg[0x50000], write to 8000 goes to 0x50000
mmc3 writes and flash writes listen 8000 - ffff. flash has no a1 -> a0 address swap like mmc3 chip though
https://pastebin.com/9UH8yGg6