matthew180, on Tue Sep 21, 2010 7:00 AM, said:
retroclouds, on Tue Sep 21, 2010 12:06 AM, said:
2) A low-cost PCB for a bank-switched card having some additional RAM (1K - 4K), suited for
selling in homebrew games. Dunno how important GROM support would be.
Would be cool if it had some GROM header so that it could run on V2.2 consoles.
How about 8K to 32K of RAM? :-) The chips I'm looking at go all the way up to 512K, but the price is prohibitive at that point ($60 USD each). These are the nvSRAM chips that can retain their nonvolatile data for up to 100 years (not sure how they tested that) and do not require a battery. Pretty neat chips made by Cypress Semiconductor, and the same chips being used in the VIC20's mega-cart.
There absolutely needs to be GROM support in such a "super" cart. I was thinking that the programmer could designate one of the 8K banks as the GROM "shadow", i.e. that would be the data used for the GROM. That way it would be fully programmable, and changeable on the fly. :-)
I ordered a TQFP to DIP adapter for my CPLD last night, so I'll be able to start prototyping the GROM replacement.
Out of curiosity, have you considered using a microcontroller and its onboard RAM/flash? For the Intellivision, I've designed a board that makes 256K of flash storage (minus space for the firmware) and 16K bytes of RAM available to the Intellivision. And, since it does support in-system erasure/reprogramming of the flash, you can use a portion of the flash storage for non-volatile data, such as high scores, game-save states, etc. You just have to be sure to wear-level since their flash technology doesn't support a ton of erase/reprogram cycles.
I used Microchip's PIC24 / dsPIC33 for my design. At 40MHz, it's more than fast enough for the Intellivision. I'm less certain about the TI-99/4A, since its bus isn't time-multiplexed like the Intellivision's, and Thierry's page seems to suggest you need a 125ns or faster memory for zero wait-state. But, you do have wait-states by the time you get to the cartridge port, correct?
(Edited above from 100ns to 125ns based on: Assume 4MHz mod applied to system, so 250ns clock. You have from leading edge of phi2 to next leading edge of phi1 plus 30ns setup, which is .75*250 = 157ns. You could lose another 30ns of time on MEMEN and related signals, dropping you to 127ns. Rounding down, I get 125ns. A 40MHz MCU (25ns cycle time) might not be able to meet that since you only get 5 cycles. But, if the console's inserting wait states, that adds multiples of 250ns to your budget. If it's true that 1 cycle gets stretched to 4, as it says elsewhere on Thierry's page, then you have almost 1000ns to play with, which is plenty for an MCU.)
Microchip also has an 80MHz MIPS part. They go for something like $5/$6 in volume. Look up the PIC32 for that baby. You can get even larger amounts of on board flash and RAM there, under $10.
If you can make such an microcontroller work, you could support a wide variety of bankswitching schemes fairly easily as a Small Matter of Software.
Edited by intvnut, Wed Sep 22, 2010 11:26 AM.