Freeplaytech Forum
ID of cart based on size - Printable Version

+- Freeplaytech Forum (https://forum.freeplaytech.com)
+-- Forum: Neo Geo Pocket (https://forum.freeplaytech.com/forumdisplay.php?fid=1)
+--- Forum: Software Development (https://forum.freeplaytech.com/forumdisplay.php?fid=4)
+--- Thread: ID of cart based on size (/showthread.php?tid=5495)



ID of cart based on size - KanedaFr - 07-14-2025

Analysis based on method found at ff30f8 (so 0x30F8 in BIOS)

This was probably already shared but something bugged me so I looked at it myself.
=> Does the manufucter code is related to size or any size could be used with any manufacturer ?
Please correct me!!!

To read info about current ROM, BIOS first enable CFI
write 0xAA at 0x??5555
write 0x55 at 0x??2AAA
write 0x90 at 0x??5555

First read a 0x??0000 is manufacture code
- 0x98 -> Toshiba
- 0xEC -> Samsung
- 0xB0 -> Sharp

Read custom Id at 0x??0003
- byte should a value between 0x80 to 0x87

Read size at 0x??0001
- 0xAB -> 512K -> 10th block reserved for system (see BIOS 0x2EC0)
- 0x2C -> 1M -> 18th
- 0X2F -> 2M -> 34th

Read custom id at 0x??0002
- at 0x200000+ (lo ROM), this value should be the same for EACH block, else game will reset
- at 0x800000+ (hi ROM), if it's 1, it seems to enable developer mode, with auto watchdog clear, etc.... (see BIOS 0x1DC0)



Based on this, it seems there is no link between manufacturerID and sizeID


RE: ID of cart based on size - sodthor - 07-14-2025

you re going very low level, maybe Flavor can answer that as he designed the flash masta.
Never gone so far on my side.


RE: ID of cart based on size - KanedaFr - 07-15-2025

based on https://github.com/TheFlav/Flash-Masta-Desktop/blob/993e4ef0bf0a81c95da293019019a2ce02438b42/src/cartridge/ngp_cartridge.cpp#L1634, it seems it"s not handled per game on FlashMata