Actually, you can extend the size using both the AUDIO_IN and the switched power line as well as putting a second chip on the board. That gives a possible 4MBytes of game space. This, of course, would require another custom circuit board and a few bytes of bank-switching code.
I immediately rushed to see the schematics after this. And you are correct! How on earth have I not undestood this before. The Lynx has an unlimited expansion of cart memory by just adding one cheap chip on the cart!
You can simply add a shift register that you clock with the switched power line just as you do inside the Lynx. The reset of the shifter is done using AUDIO_IN. This means that you can easily use 16MB StrataFlash chips and give the Lynx total access to 16MBytes while still being compatible with every game produced so far... Time to dig out my soldering iron.
By adding an analog switch chip and a big capacitor I can even create a system that will replace the dip-switches on my developers cart and allow soft control over block sizes,.
It may even solve the L-SOUND problem.
Once you have a flash-based design there is no reason to limit the cart to Zonic only. You can flash several games on it. So why not include a FPGA with ARM and a HW-sound synthesizer on it.
With a little HW-magic we could use the second data-port in the Lynx for passing the sounds directly to the speaker system like:
SOUND interrupt routine at 4kHz
This would use very little CPU time and would be compatible with every Lynx. The ARM could even emulate EEPROM access and AUDIO_IN bank switching. It could even have an USB-port to show up as a removable disk for dropping new *.lnx files and sound files in it.
The total design would have just 4 components:
- an FPGA that interfaces to the Lynx cartridge-port
- a 16MB StrataFlash
- a clock chip
- a capacitor