Quantcast
Channel: nesdev.org
Viewing all articles
Browse latest Browse all 746

"Sup 400-in-1" (VT-02?) startup code dissected

$
0
0
Hi NesDev experts, managed to dissect the startup code on one of the dumps for the "Sup 400-in-1" handhelds. I'm using the EmuVT, Ghidra and some notepad to try figuring out the flow. I got the TFT initialization code over there too and the pattern is actually GC9306.

Summarized from my little Hackaday blog: https://hackaday.io/project/175322-diss ... p-400-in-1

The flow is:
1.) Getting the starting address at $7FFFC.

2.) Initializing registers at $412B and $412C.

3.) Dumping about 15 values into the $4200. I don't know what $4200 does - possibly some more settings?

4.) The TFT initialization part. Older dumps showing that it manually send the commands one by one. Newer ones are taking those settings from an array stashed somewhere in the code.

The register $4233 possibly controls the 16-bit parallel LCD outputs to be a GPIO or the parallel LCD. When it is set at $84, this might becomes a GPIO - during the TFT initialization it does this. When done the initialization routines, this is set at $04.

The functions that write the command and data to the TFT uses $4230 and $4231. At $4233 again if it is a write command, $94 is written. If it is a write data, $D4 is written.

5.) Finally, around the starting point of the game menu, $412C is written $0F to enable the backlight.

Over the weekend I managed to take the bits of the startup code and cobbled my own version of the startup code and it worked on the handheld. The handheld is connected to the Teensy 4.1 and acting as a flash emulator, covering only addresses $60000-$80000 (128kilobytes). The amount of memory is, I suspect, is sufficient for me to run a small code or a small game on it. :D

Statistics: Posted by The_YongGrand — Sun Mar 31, 2024 6:21 pm — Replies 0 — Views 53



Viewing all articles
Browse latest Browse all 746

Trending Articles