Close

Prototype Prototyping In-situ Programmer

A project log for Dissecting a hand-held NOAC console (Sup 400-in-1)

This is an attempt to understand how these little things work, and what we can do on it.

yh-workshopYH-workshop 8 hours ago0 Comments

Whew! With some time in these weekends I managed to draw a prototype of the in-situ programmer that connects the handheld's flash socket to another custom board.

Hard to explain in words so I rather put a picture of this:

This enables one to program directly into the flash, while connecting this to the handheld's flash socket. 

This one is a BGA breakout board version - there are ribbon cables connected to the headers below. 

These 6 chips in the middle - the buffer chips, to conveniently isolate the lines from the handheld when programming the flash. 

Generally speaking, it means you don't need to get an expensive T56 programmer and its adapters to prototype your own code to run in the actual handheld.

You can temporarily do all your prototyping programming on that handheld without moving the chip back and forth. 

When you are satisfied with the code (and it is working on the handheld), you can finally flash the chip and place it back into the handheld.

The Weact RP2350B board (and a few modifications on the board) is required as it has the most GPIOs and can directly connect them to the S29GL flash without using the I/O expanders.

To have the board fully access all the pins on the S29GL flash you need to remove these components that are in red: 

Trying to get these working is a whole thing of its own. Currently it is going through some revisions:

- "Busy" pin should be connected and sampled. Trying to read the status after writing a word can be extremely slow and results in corrupted data. 

- S29GL flash must be soldered properly and it means putting more flux during soldering - else data corruption might occur.

- I have only used the plain GPIO to work on that S29GL flash. Future improvements including using PIO plus the DMA to improve the flashing and reading speed.

Discussions