21
2000-present / Re: 36pcase analysis - VT369 with serial flash
« Last post by bewilderbeest on November 29, 2025, 07:16:52 PM »Thanks! I tried it, but no luck, with either 426 or 427. It looks like the flash ROM ends up infinite looping after reading a value from 0x41e7 which isn't what it expected.
It also looks like it's directly mapping the SPI flash and booting it without going through the internal ROM. I guess that on the real device, on power up the internal ROM at 0x1000-0x1fff is mirrored at 0xf000-0xffff so the internal ROM's reset vectors get used. I'm not sure if this is significant, given that the whole purpose of the internal ROM is to set up the SPI flash and make it look like it's memory mapped, but it's worth noting.
Regarding the EEPROM: the menu code reads values out of the EEPROM and then programs them into PPUCTRL and PPUMASK. I have a suspicion it might not work properly without the correct EEPROM values being present. Also, AFAICT has device address 0x10, which isn't a valid I2C EEPROM address, so there's more to figure out there. The mysterious I2C serial ROM protection chip is at 0x30. Does this sound like it's a 426 or a 427 with some unemulated hardware, or if it's a whole new mapper?
You're the author of NintendulatorNRS, right? There's a lot of information about the VT369 in there --- is there any reference I can consult?
Looking at the source code I did spot an oddity: it treats the GPIO registers as 8-byte structures, but there's a lot of code in flash ROM which only makes sense if they're really 4 bytes wide. e.g. the code for turning the LCD screen on and off works by changing 0x4144 and 0x4146.
It also looks like it's directly mapping the SPI flash and booting it without going through the internal ROM. I guess that on the real device, on power up the internal ROM at 0x1000-0x1fff is mirrored at 0xf000-0xffff so the internal ROM's reset vectors get used. I'm not sure if this is significant, given that the whole purpose of the internal ROM is to set up the SPI flash and make it look like it's memory mapped, but it's worth noting.
Regarding the EEPROM: the menu code reads values out of the EEPROM and then programs them into PPUCTRL and PPUMASK. I have a suspicion it might not work properly without the correct EEPROM values being present. Also, AFAICT has device address 0x10, which isn't a valid I2C EEPROM address, so there's more to figure out there. The mysterious I2C serial ROM protection chip is at 0x30. Does this sound like it's a 426 or a 427 with some unemulated hardware, or if it's a whole new mapper?
You're the author of NintendulatorNRS, right? There's a lot of information about the VT369 in there --- is there any reference I can consult?
Looking at the source code I did spot an oddity: it treats the GPIO registers as 8-byte structures, but there's a lot of code in flash ROM which only makes sense if they're really 4 bytes wide. e.g. the code for turning the LCD screen on and off works by changing 0x4144 and 0x4146.

Recent Posts