Nintendo Power Directory for Gameboy versionLocated at ROM offset 1C000h (aka 7:4000h in gameboy memory).
Entries are 200h bytes in size, the GUI supports max 8 entries at 7:4000h..7:4FFFh.
The first entry is a dummy entry for the menu, the other entries are for game(s), unused entries are FFh-filled.
The format is almost exactly same as in SNES version (but using only 200h bytes per entry, using a smaller bitmap, and without the SNES's weird overlapping bitmap tiles, and with different granularity for the ROM/SRAM values).
Code:
000h 1 Index (00h..07h) (or FFh=Unused) (or initially 07h for menu)
001h 1 ROM base in 128K units
002h 1 maybe SRAM base? in ???-units
003h 2 ROM size in 128Kbyte units (0001h..0007h = 128K..896K)
005h 2 SRAM size in 32-byte units (0000h,00xxh,01xxh,xxxxh=0,MBC2,8K,32K)
007h 12 Title ASCII "DMP -xxxx- "
013h 44 Title SHIFT-JIS
03Fh 100h Title Bitmap (128x8 pixels, 16 tiles at 2bpp)
13Fh 80h Zerofilled
1BFh 10 Date ASCII "MM/DD/YYYY"
1C9h 8 Time ASCII "HH:MM:SS"
1D1h 8 LAW ASCII "LAWnnnnn"
1D9h .. Unused (FFh-filled)
1F0h 16 Unused (FFh-filled)(game entries) or "MULTICARTRIDGE 8"(menu entry)
bitmap palette:
DMG/SGB: (0=white, 1=light gray, 2=dark gray, 3=black)
CGB/GBA: (0=white, 1=dark red, 2=dark magenta, 3=black)
For the SRAM sizes, the "xx" means that the GUI ignores those 8bit fragments. And no matter of what values that bits have, it does support only four different SRAM sizes: 0, "MBC2", 8K, 32K. Anyways, the "xx" should be probably set to some specific values - skaman, did you check which games use which SRAM size settings in the directory?
News TickerAside from the directory, the programming stations are also updating data at bank 6:4000h (ROM offset 18000h). Which contains the scrolling text that is shown at the bottom of the menu. There are at least two variants, one found in blank carts (with only the menu installed), and one other variant found in my cart with Puyo Puyo 2 installed.
Don't know how often that text has been updated. Skaman, if you compare the ROM offsets at 18000h..1BFFFFh from your cartridge collection, are there lots of different variants?
Selftest FunctionThe Menu contains some selftest function which seems to be activated when pressing all four buttons plus all four DPAD directions (which normally isn't mechanically possible). The test is barely testing the MENU's memory mapping, not testing the mapping or checksums of the other installed games. And, the test is working ONLY on blank carts, for two reasons:
The checksum in cart header isn't adjusted for changed data at 6:4000h (news ticker) or 7:4000h (directory).
The bank test expects 7:4000h to contain 07h (whilst non-empty carts are storing the menu index (00h) in that location).