So INL-ROM v1 has been pretty successful thus far, but I've since came to realize the PITA that is EPROMs. So I cut the board and half and went all flash which is actually cheaper and easier to deal with anyways. The biggest benefit to all is providing fully assembled boards. There are a lot of challenges to providing and testing partially assembled eprom boards. Depending on the going rate for eproms this ends up being cheaper anyways. It would allow someone to release their own game with the only time investment being ~20-60sec of programming per board. The label, box, and shipping will take far longer than preparing the hardware. No longer need to be setup and prepared to solder in order to release your own homebrew in hard copy. I've got my first sizable batch of cases on the way as well; and working on a long term stable supply of them.
They still support MMC1, MMC3, and FME-7 etc. But I cut support for MMC2/4 and the synth for sunsoft-5b, those will remain on INLROMv1. I also added some jumpers for supporting VRC mappers with this version and other FC only's that use lower PRG Address bits for register select. I also cut out the discrete logic IC's partly because of the use of flash, and because discretes can go in CPLDs anyways if desired. I didn't really use the discrete logic IC's much anyways on v1.
I'm thinking about making a discrete only flash version down the road if there's interest. I figured out a way to make flash discrete mapper boards with only the memories, 1-2 chip 161/377/32, and a resistor. So even if you don't like all this fancy CPLD mapper stuff but your britches are too big for NROM; that may be an option on v3 I guess...
Part line up:
I've got a few 'big goals' of what I'd like to do with these aside from the standard MMC1,3,FME7 flash boards. Currently I've got my prototype up and running and am able to flash MMC3 games on via the cart connector and the kazoo. Should be able to flash them via any interface though including the NES. I'm able to differentiate between mapper and flash writes enough to not modify the mapper at all really.
Modest first big goal is 'Homebrew FDS' that's kinda along the lines with what I was discussing in this topic. The general goal is a single (small) CPLD with 128KB PRG-RAM, 32KB CHR-RAM, and spi flash with byte wide reads. Hoping for something like 4KB CHR banks, and a scanline/cycle counter. If I can pull it off I'll be using something like an attiny20 to act as a non-random access bootROM to load a startup routine into SRAM that would then uppack spi data to PRG-RAM and then hit the reset vectors. To start though, for mapper development I'll just use an actual boot rom. Sounds like a lot I know, but really it's not a lot of hardware. It's just squeezing the parts for all their worth with low production cost as a major goal. Adding a few more discrete components and going to attiny44 on that design would allow for USB reflashable SPI possibly. But if you're taking that step, may as well go for the gold with my next plan.
Next step up from there would be going to the atmega with something like what I brought up here. That would give enough i/o to do some pretty powerful things having the atmega running as a co-processor. USB, synth, interupts, ability to reflash the CPLD's and parallel flash ROMs if they were present, yadda yadda yadda... A pretty big oyster for not a lot of hardware actually. Speed critical stuff like bankswitching handled by a CPLD or two, and complex non time critical tasks tossed over to the mcu to take care of.
Here are the pics!
Not sure if there's room for another trace, signal, or even more parts...
Here's my first board with the ugly brown sockets. Setup for MMC3 TNROM/TKROM.
They still support MMC1, MMC3, and FME-7 etc. But I cut support for MMC2/4 and the synth for sunsoft-5b, those will remain on INLROMv1. I also added some jumpers for supporting VRC mappers with this version and other FC only's that use lower PRG Address bits for register select. I also cut out the discrete logic IC's partly because of the use of flash, and because discretes can go in CPLDs anyways if desired. I didn't really use the discrete logic IC's much anyways on v1.
I'm thinking about making a discrete only flash version down the road if there's interest. I figured out a way to make flash discrete mapper boards with only the memories, 1-2 chip 161/377/32, and a resistor. So even if you don't like all this fancy CPLD mapper stuff but your britches are too big for NROM; that may be an option on v3 I guess...
Part line up:
- up to 512KB PRG / 256KB CHR flash ROM
- 128KB PRG-RAM/WRAM
- 32KB or 128KB CHR-RAM
- ATmega48/88/168 series for 'mega USB version'
- ATtiny20/24/44/84 series for 'tiny USB version'
- SPI flash/ram 2MByte-16MByte? (only limit is however big you can find it...)
I've got a few 'big goals' of what I'd like to do with these aside from the standard MMC1,3,FME7 flash boards. Currently I've got my prototype up and running and am able to flash MMC3 games on via the cart connector and the kazoo. Should be able to flash them via any interface though including the NES. I'm able to differentiate between mapper and flash writes enough to not modify the mapper at all really.
Modest first big goal is 'Homebrew FDS' that's kinda along the lines with what I was discussing in this topic. The general goal is a single (small) CPLD with 128KB PRG-RAM, 32KB CHR-RAM, and spi flash with byte wide reads. Hoping for something like 4KB CHR banks, and a scanline/cycle counter. If I can pull it off I'll be using something like an attiny20 to act as a non-random access bootROM to load a startup routine into SRAM that would then uppack spi data to PRG-RAM and then hit the reset vectors. To start though, for mapper development I'll just use an actual boot rom. Sounds like a lot I know, but really it's not a lot of hardware. It's just squeezing the parts for all their worth with low production cost as a major goal. Adding a few more discrete components and going to attiny44 on that design would allow for USB reflashable SPI possibly. But if you're taking that step, may as well go for the gold with my next plan.
Next step up from there would be going to the atmega with something like what I brought up here. That would give enough i/o to do some pretty powerful things having the atmega running as a co-processor. USB, synth, interupts, ability to reflash the CPLD's and parallel flash ROMs if they were present, yadda yadda yadda... A pretty big oyster for not a lot of hardware actually. Speed critical stuff like bankswitching handled by a CPLD or two, and complex non time critical tasks tossed over to the mcu to take care of.
Here are the pics!
Not sure if there's room for another trace, signal, or even more parts...
Here's my first board with the ugly brown sockets. Setup for MMC3 TNROM/TKROM.