Trying some projected perspective parallax on Game Boy Color. If you squint a bit, the track should look kind of 3D? I'd like to do this on NES but without a non standard mapper in the cartridge you can't (realistically) get the scanline interrupts needed to tell what line the screen is rendering
@voxel mmc3! but even with the mapper, i understand the cpu is still a little too slow to hit every scanline
@zens there's some cool new FPGA ones being used that let you go crazy on the NES - but I'm always developing with an eye to producing a few carts to sell, and the easiest way to do that is to target the lowest common denominator of hardware. It's not like anyone is making 'authentic' NES memory mappers in 2021 that I can buy
@voxel the cheapest way of course is first gen style no mapper rom chips, right? but if you wanna go crazy, you probably don’t need an fpga, just an arduino teensy. then come manufacturetime simplify to just the atmega chip.
@zens huh, that's a neat idea! I made a GB serial to microcontroller bridge a couple years ago with the thought of using one for wifi, but didnt ever consider just jamming it right into the cart itself
- same 5V logic as the nes
- fully programmable to any arbitrary kind of mapping/timing signal nonsense you wanna pull off
- possibly not enough pins.
but end of the day all a mapper does is detect writes to some address (listen to some address and data pins)
and output some appropriate high address bits to the rom address pins.
the other tricks nes rom mappers did were due to access to all the extension port pins.
@voxel it’s possible that you could get around some of the pin limitations with some shift registers, but then we’re getting into inflating bom territory.
additional potential pros:
- game could use arduino’s spare ram.
- arduino might be fast enough to essentially draw whole screen line by line itself by intercepting chr rom reads and faking the data there. fx chip nes edition.
@voxel though, just at a glance there’s a huge disparity of pin count between mmc3 and arduino teensy. mostly the same pins, same function even, but the teensy lacks the second set of 15 address pins for both prg and chr rom. might be workable though with a clever timing trick?
@voxel like, and this is a bit beyond my expertise here, but it may be possible for the teensy to just know when the nes wants to read chr and when it wants to read prg and just switch at the appropriate moments
@zens if I were to follow this (tempting) route I'd probably be trying to use a single chip microcontroller (such as the atmels used on the arduino). Pretty sure I could use an ATMega with limited / no support components. I expect it'd explode the moment a cart was pulled out of a powered device though
@zens these are (blank versions) of what pokemon bootlegs are sold on, they're compatible with a few cart flashers, I use a 'joey joebags' flasher from Benn Venn
@zens my victim cart has been flashed about 100 times and still works. The 'save ram' is extremely unreliable though, so if your (for example, pokemon) rom wants to save state, it has a 50/50 chance of being valid next time you play. The 'rom' works fine, its just something about however the save function is working. Possibly a game written with this specific cart in mind might be able to work around it, it's difficult to investigate because there's absolutely no documentation on the carts
@voxel is the sram battery backed? could just be old batteries. or poor circuit design where the power cycle could kill power to the sram long enough for the data to die.
@zens no batteries in these ones. Some bootleg carts are battery backed and I have just as many problems with those, even after switching out batteries
@voxel if they’re supposed to be bootleg pokemon carts, then strong possibility the chips used are simply QA discards
Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.