We're using cookies to ensure you get the best experience on our website. More info
Understood
@e5frogRegistered January 5, 2010Active 2 years, 11 months ago
521 Replies made

It’s difficult to find chips at reasonable price that works right away, having to use logic level shifters as well is not very appealing. I haven’t looked into it – anyone knows if there are any small ones?
If going for a dip-switch version I guess it’s only needed for the address bus and possibly for a few of the enable pins and such for each chip.

I noticed when going through supported chips on my Willem Programmer that it does support one 64Mbit chip, however it’s only 8 bits which means I have to use an even number of chips.
This chip does also 5V I/O so that’s nice…

Cramming eight if these onto into one shell however…
There’s no apparent way to fit any chips on the back as it’s flat to the shell. Sandwich them would be possible… but I don’t know 24 pins on 12 mm – that’s two pins per mm – to bend down and attach to one just like it… Hard enough just to solder to the pcb (chip being 20x12mm)…

I could make two cartridges that holds all games, perhaps if I put all the sram-games on one cart and use a larger sram and switch that as well (with the same switches) it’s possible to keep the original functionality and there will also be room for some homebrews in there on both carts.

I have ordered a chip and adapter to see if it works, the eprom program says it was supposed to be a TSOP40-A3 (whatever -A3 is) but the ones I found was TSOP48 – so it’ll be interesting to see if it works.

Is it supposed to work in Reality Boy?

When I tried it I could move anywhere and also outside the box. Perhaps it doesn’t matter for now…

I could only place two blocks and it’s also possible to place them outside the box.

Strange, I wrote an answer here and it was saved and was actually in the thread when I reloaded the page. Last night I opened up the thread again and it was gone… back on this computer it was there again since I hadn’t shut down the page – but gone again when I reloaded…

Does this usually happen here?

This is what I wrote anyway:

There ought to be some interest in a multicart with all games, ging for 7 64Mbit chips would be one way to do it, one 512 Mbit chip would be easier though.

I almost feel like trying the 7 x 64 Mbit solution just to see if it can be pulled off on two layers. 😉

About the homebrews, not all of them would be really necessary to have on a non-changeable cart, like the Mario´s flying demo – perhaps not fun for very long.

Anyway. I think the initial question has been answered and to gather any interest and views in any other matters of the result of this discussion it’s perhaps best to leave this thread now and make new posts regarding other matters.

It would be nice to be able to use the battery pack past 6,81V… I used up my first set of batteries today. Start voltage is 9,62 on the new set – both measured without any load.

How does the glitchiness of the “bad” version of the rom manifest itself?

Yes, Yesus… Nice to know that it works – I’ll give it a go then.

I think I have seen your cartridge dumper there somewhere also, with two sockets, dumping half the rom at the time.

I ordered an adapter for my Willem programmer to be able to read and program 16Mbit chips as well. Then only one socket would be required and the whole cart could be dumped in one go.

Then I’ll dump all carts that come my way – just to check for variations.

I’m also looking into getting a TSOP48 adapter to be able to program those small 16Mbit or 32Mbit chips, but they cost about double as much as the programmer did. It seems that it is the ZIF socket that’s the expensive part. 🙁

Perhaps also connect cartridge pin 31 to VCC (+5V) to prevent any interference from the ROM.

28 wires all together

I’ve looked at the datasheets and it should be possible to read it as a 8kbit flash/eprom as far as I can see.

I’m planning to hook it up like the picture below, connecting CS2 directly to +5V to enable output. Just use a 28 pin socket and solder the wires to that. The bright numbers in the middle are the cartridge pins that are suppose to connect to that pin on the socket.

If you want to make sure no data will disappear you could move the /WE (on cartridge pin 3) to +5V as well I guess to prevent any writing.

I’ll probably try to and write to my sram as well.

Comments are welcome.

Maybe you could make Virtual Boy link-port connectors and cartridge connectors as well?

Yes, you’re right, it looks like it would work just fine.

Are you going to have a switch on the highest address pin to swap between two slots of 16Mbit?

I wonder if we could fit seven 64Mbit chips of this type and an array of dip-switches. It would take all 26 games and have two slots left. One of them could be used for homebrews if these are recompiled and stacked with a menu in the lowest part of the memory.

How many homebrews are there (and which ones) that would be nice to have on a cart?

  • This reply was modified 15 years ago by e5frog.

You’re using a 32Mbit chip (linked) but you don’t know if it works? So you’re not using it on a 5V system then?

I read somewhere in the datasheet that the maximum voltage (even on N/C pins) was 4.1V.

Maybe a 512Mbit chip then, it would fit all 26 games in 16Mbit slots, and room to spare for a few homebrews.

http://se.mouser.com/ProductDetail/Spansion/S29GL512P11TFI020/?qs=sGAEpiMZZMuJXIph4YZFJYc5FqmmyEI%2f%2f2JaTqOrfEY%3d

The datasheet wouldn’t open so I couldn’t check details.

Just slap a big enough dip-switch and probably level shifters and a voltage converter.

… and you’d have to get a eprom programmer that could program it of course.

Then you’d have a single cart with all commercially released games.

What!?

… As a result, there were only two ways to play it properly: either lying down with your head on top of it or clamping it on the flimsy metal stand provided, sitting it on a table and resting your eyes in the visor. …

“Lying down” sounded ok, but “on top of it”? Sounds really uncomfortable – how would that be done?

Aching back after ten minutes is not a problem with the VB, I always sit with a straight back leaning forward into the visor – never had problems with back aches.

I tried lying down on my back lying the VB (without the stand) over my eyes, worked pretty well but a sturdier visor would have been better.

Sitting in bed leaning the stand is also quite comforable.

I was thinking about a harness like the one inside my bike helmet, it has an adjustable velcro band in the neck which gives it a real sturdy and comfortable fit – that would perhaps work…

Something like this:

Attachments:

In my Fairchild Multi-Cart I use plain logic chips and when a write to a certain adress (perhaps a write to 0x07E****** could be decoded for V.B.) occurs the latch is loaded with what is on the data line – and the latch outputs are permanently connected to the address pins of the relatively large eprom which would then swap to the selected memory slot.

There are also logic chips to decode the signal lines for when a reset is made – to reset the latch upon reset.

So, no strange stuff, no programmable circuits (PIC, PLD, CPLD, FPGA) or microcomputer.

A manually switched version would perhaps be the first step in such a setup. But I wonder how the size of the memory on a game is sensed? With FlashBoy it’s permanently set to 16Mbit – what sets it is it the actual connection of the address pins?

I think the problem using that method is to find cheap enough memory to fit all or enough games. There’s no reason for anyone to buy a cart with 4-5 games on for $100 when you can buy a FlashBoy for less and change games as often as you like.

So given the situation – I’m leaning towards a SD micro card solution.

There are enough 5V 1MB x 16 bit ram or eproms out there (haven’t checked the price though) to last for everyone that want a cart. The problem is rather if there are enough buyers to make it worth the effort and to get parts cheap enough. If you wanted to make new cartridge shells for example…

The microSD card is 2,7-3,6 V as far as I can see. If a microprocessor that can handle both 3 and 5V is used that might be a solution to the voltage problem. A small regulator is needed for the microSD-card unless it can be driven from an output of the µP.

If there are no such devices available a 5V µP should be used as there are less lines to level shift when interfacing the microSD card. Perhaps a simple voltage divider can be used for some lines?

I think I’ve drifted away from the subject, the answer to the question is probably not with the tools available today.

I guess I should make a new post…

I guess things get a bit tricky if data and instructions are mixed, and the disassembler interprets everything as instructions…

I managed to remove the addresses correctly, but the disassembly doesn’t output the same binary when assembled again (surprise).

It’s 4764 bytes smaller and the binary files looks a lot like each other but there are scattered differences.

Is it really impossible to make a general disassembler whose code will assemble into the same binary file for the Virtual Boy?

The disassembler in Reality Boy is supposed to output used code when playing (apparently disabled in the current release build), but I guess it’s quite difficult to use all code when actually playing… so there will always be gaps. Some of them could be filled by checking where the graphics are, but there would probably still be gaps.

Too bad, I guess the SD micro card option is the most realistic then – if you want everything (or just several) on one cartridge.

It would be possible of course to crunch the games, place them on eproms and unpack them onto a 16Mbit ram or eprom, but it wouldn’t take all games anyway so it would be necessary to make several carts.

Are there any crunching routines available? If zipping Mario’s Tennis with the lowest setting it shrinks to 209kB instead of 512kB…

  • This reply was modified 15 years ago by e5frog.

Well, when sitting comfortably in bed, resting the stand a little on my hands as I held the controller it was easiest to use the trigger buttons to flip. And when I missed I instinctively got angry and just squeezed the controller…

When I played today – scoring over 8 millions – I used the cross-buttons instead, so the risk of doing this again is gone…

It seems to depend on the game rather than being a feature of the V.B. – on the GameBoy it was built into the actual GB – right?

My mistake, the error appeared when I used a search and replace command to remove the addresses first on every row…

Aah… a picture says more than a thousand words.

Thanks.

Nope, I don’t get it where are these “stickies”?

I can find “Main Virtual Boy Discussion” – it’s under “Community/Forum”.

Found some disassembly tools, tried it on Mario’s Tennis…

vbasm seems to work

V810 Dissasembler v1.04 crashes:

Exiting due to signal SIGSEGV
General Protection Fault at eip=00006022
eax=00000000 ebx=00000000 ecx=ffffffff edx=00000073 esi=00001a10 edi=3a644924
ebp=00049c20 esp=00048850 program=D:\DOWNLO~1\–_VIR~1\DEV\DIS.EXE
cs: sel=01a7 base=029e0000 limit=0006ffff
ds: sel=01af base=029e0000 limit=0006ffff
es: sel=01af base=029e0000 limit=0006ffff
fs: sel=017f base=0000ff50 limit=0000ffff
gs: sel=01bf base=00000000 limit=7ffeffff
ss: sel=01af base=029e0000 limit=0006ffff

Call frame traceback EIPs:
0x00006022
0x00002f99
0x00002251
0x0000280a

Can I assemble the output of vbasm with vbasm – you would think that would work, right – noooo… There’s an uncommented adress first on every row that the assembler doesn’t like – rather than being placed commented after the opcodes…

EDIT: Removed the addresses, got errors on the first three “trap” commands, didn’t check all it stopped the assembly after too many errors.
I thought it was because of the address so I had to add 0x07000000 bytes in the front of the file to make it disassemble to 0x07000000… not too neat. 😉
Same problem though, won’t assemble the trap commands and perhaps other tings as well. It’s only a syntax error so perhaps it can be rewritten easily, I’m not phased into V810 assembler however so I don’t get it.
These disassembled rows produce a syntax error:

trap 000aea0 movea 28, $0, $10
trap 000f188 jal 03ff21b6
trap 0016a6c trap 0016a6e mul $27, $23

When using the 0x07000000 offset there’s ofcourse 0x07000000 more in the six digit address.

Aaa… there’s actually two rows of code on the same row… Three on the last one – disassembly error there then. 😉

  • This reply was modified 15 years ago by e5frog.

I was thinking I could glue another layer of PCB on top of it and then another smooth plate, perhaps of PCB that I would paint it would cover everything up nicely.

I’ll get back to this thread when doing so.

  • This reply was modified 15 years ago by e5frog.