Original Post

I was thinking about if it was possible to move a whole game to another position in memory. Taking a disassembly and place that after another game and then assemble all the code again…

I have done it with some Fairchild games and it worked out very well. There’s a good disassembler for Fairchild that also replaces all the real addresses with labels instead, so you’re free to move it to any place on the memory map.

If there are absolute addressing in the Virtual Boy game it will of course not work unless these are altered.

Then you could make a menu and have it jump to the right location. This would perhaps make it possible to place all the American released games on one 128 Mbit cartridge.

It looks like it’s possible to cram four 32 Mbit eproms in one cart, when looking at the FlashBoy circuitboard.

You would have to place the smaller games inside the empty space of the large ones to make it fit, but I know nothing about how this work. I have noticed there must be some header last in the cartridge rom, how will this be affected?

Alternatively you could cram all versions of the commercial games into two carts and top them off with the nicest and most practical homebrews. The homebrews would of course be a lot easier to move anywhere on the memory-map, right?

It would be nice if someone with a FlashBoy and programming tools as well as skills could make a test. Disassemble Mario’s Tennis and Panic Bomber, place one after the other in memory, add a tiny “menu” – it doesn’t even require any graphics, just wait for button A or B, pressing A jumps to where Mario’s Tennis starts and pressing B makes a jump to where Panic Bomber starts.

Assemble all of it and try it out…

Perhaps it could even be tested with Reality Boy. I guess the final rom-image of 1MB plus menu code has to be padded to a 2MB rom and header changed appropriately to work with FlashBoy…

Mario’s has a gap from $7DC90 to $75D5F, if there was only a jump added somewhere in the beginning to that address and the menu code was “hidden” in that free space and the final rom was shortened with as many bytes as that initial jump would take you could perhaps even make it work without padding – if run in Reality Boy, or add a 1MB game as well or two more 512kB games – so you could have four games on your FlashBoy at ones – or even more if you crammed in some of those small homebrews.

Possible? Feasible?

If the roms can be freely moved around in memory it seems both possible and feasible to me. It would simplify the hardware side of making a true Multi-Cart. Just put all of it on a large eprom or bank of eproms.

The other way to go would otherwise be a large memory of some kind, most likely not an eprom as there are none large enough at reasonable cost that would hold all games. So let’s say a SD micro card – it’s small, cheap cards will easily hold all available data for the Virtual Boy and there are already finished routines to read and write to them with both PIC-processors and Atmel AVRs.

Then some kind of memory that the selected program would be copied to, perhaps the same type of eprom that the FlashBoy has or if there is large enough ram…

A menu program would be loaded into the active memory when cartridge is inserted – unless it was permanently stored in some other small memory. In the menu you would choose program – in an automated list created by the micro processor after reading the file names of the contents of the SD micro card.

Biggest problem with the second approach is speed, it will take a little time to transfer the data from the card to the eprom/ram.

Any thoughts on this, any constructive critisism?

  • This topic was modified 14 years, 3 months ago by e5frog.
44 Replies

I have spent a lot of time trying to get a good layout with ram as well but it was hard using the minimum standard measures that my PCB-manufacturer uses.

When stepping down one step in size though it routed very quickly, I could even place the ram on the top layer with the other components.

I’m thinking of moving things around, the dip-switches in the middle perhaps so you don’t risk changing them while it’s inserted…

Current pcb DIP:s and FerroRAM not in the 3D library:

DIP-swithes in the middle routed just fine with a 6mil standard trace width.

I don’t claim to be a PCB expert by any means… but that looks like a pretty dinky ground… Plus the more copper you use, the more environmentally friendly 😉 (remember, PCB making is a subtractive process)

And you read the FRAM data sheet, right? The stuff I bought won’t work with the VB because of what you have to do when you write to it.

And autoroute probably won’t work too well for something like this. I assume you are using it because the vias are randomly sprayed about. Don’t forget that just because the data pin says it is data 0 or data 1 or whatever doesn’t mean you have to connect it to that one on the VB cart! Same with some of the address lines. Might make the routing easier.

I was merely testing if it would work and it seems like it’s possible. It would be fun to make a prototype of it and see if it would work… I guess no one can say for sure it doesn’t work unless it’s tested… Of course a PCB that also looks good – and not just is working – gives certain pleasure as well.

I have checked a few trace/current/width calculators and I wonder if it’s really true you can pull 300mA at 5V on a 1oz thick copper trace that’s 7mil wide with less than 10 degrees Celsius temperature increase? I’m no expert either even though I work with it professionally, I mostly make very small stuff…

Since there’s probably no way I could start making these within several months from now, for economic reasons, I had also hoped for some pre-payments of a future Multi-Cart so I could buy real parts and make it happen, first a prototype and when it’s working – a batch of carts. I’ve used that approach for when I made the Pac-Man cart for Channel F and also the Channel F Multi-Cart. It’s great when people don’t mind waiting and help make it happen by supporting with payments in advance.

Anyway…

Yes, it’s auto routed, routing some 300-400 points manually would probably take me a few days with Eagle where it’s a little tricky keeping traces that moves in different directions parallel, and as I’m at home with a 2-year-old… well you can figure it out.

I guess I should read the datasheets for both HY6264 and the Fe-RAM better and see what differs. My impression was a rather wide compatibility as they’re meant to be a “drop-in” replacement for plain sram (with battery backup).

I had a hunch it would be too easy with just a Fe-RAM and an eprom (or array thereof) – and other necessary components.

If you know, please share.
And it’s not “fixable”?

Electronics are a wonderful thing, I was trying to figure out why the 5516:s rams I found wouldn’t work where I usually used 6116:s – I never figured it out and stayed with the 6116:s.

Well, it depends what they do with the etched away copper and chemicals if it’s environmentally friendly. If you really want to think about the environment I guess the best thing to do would be to go out in the woods, naked, lay down on the ground and wait until you starve to death and let the animals of the forest feast on you… 😉 😉 😉

I could just do this to both layers:

Attachments:

 

Write a reply

You must be logged in to reply to this topic.