We're using cookies to ensure you get the best experience on our website. More info
Understood
@dogpRegistered July 25, 2003Active 8 years, 9 months ago
1,461 Replies made

Yeah, it does work… when I built my dumper I used it like that a few times (at least for reading, I don’t remember about writing). I also built an adapter to read/write as GB SRAM using a GB memory reader that I picked up for a few bucks: http://www.projectvb.com/tech/sramrw.html . That dumper was a mess of wires though… I sure don’t miss it 😉 .

DogP

Heh, I just read it… pretty crappy article IMO. It read more like an article from a Geocities VG fansite or something 😛 . And apparently they can’t count either… Mario’s Tennis w/ 6 characters???

DogP

jzagal wrote:
Yeah, I had noticed that.

So, it isn’t possible to create an image that only one eye will see, rather it seems that there is a (narrow?) “column” in the display that is only visible by one at at a time. (ie, column on the far left is only seen by left eye, column on far right only seen by right eye)

The VB can display a completely different image on each screen, but obviously it wouldn’t make sense, so it’s not done in any of the games. It’s the same technique that’s used to show create 3D from two slightly different images (rather than just using parallax to create “cardboard cutouts”).

DogP

Heh, yeah… that’s why I haven’t attempted any of them 😉 . I have given it a lot of thought, but there’s really just no easy way. An FPGA VB cart would be really cool though, as it could double as a co-processor and memory manager.

DogP

You may have put them in order of complexity, but I’d say the reverse order is the most realistic in implementation. A 2MByte flash chip is difficult to find, good luck finding one that can hold ALL ROMs (32MByte or so?). Then, unless you want to waste 2MBytes for all ROMs, you’d also need a switch for the 1MB and 2MB address lines to either connect it to the CPU controlled address, or to select upper/lower, then the rest of the upper lines need just high or low. That’d be really ugly (and nobody would want to flip all of them anyway) 😛 .

With an FPGA, you could have a large serial flash (or SD), and then large RAM or Flash which the ROM gets copied to, and then executed from through the FPGA. I could easily write the code for that, though the hardware would be slightly complex due to (probably) needing level shifting, voltage regulators, FPGA, RAM, Flash (FPGA configuration and ROM holder), (micro) SD, etc… all inside a VB cart.

DogP

Disassembly->Assembly is not impossible, but the current tools don’t do it. I started a “good” disassembler a while ago, but I haven’t gotten a chance to finish it (or even make it work properly). The disassembler really needs some smarts to figure out the disassembly, but since instructions are only 16 or 32 bits, there’s only two possible paths. So using some common sense, it should be able to make a good guess, and my disassembler used information from the emulator on whether a section had data or code, and what was the start of an instruction. I wasn’t trying to make a disassembler that could then reassemble though… I was just trying to make one that gave a correct disassembly, so I could further analyze the code.

And yeah… homebrews are much easier, especially since they can just be compiled to whatever location they want. I inserted my own app into empty space in a commercial ROM by telling the compiler that my code was in that space, put it in the ROM, then changed the reset vector to point to my app. Then my app called the address that the reset vector called to start the game.

Large flash media is definitely the best option if you want multiple games on one cart, though the VB is 5V and most devices aren’t, so you’d need to do the level translation. Then you’d still need 16mbit of Flash or RAM to extract the ROM on to.

DogP

In short… no, you can’t move them around easily, especially because the tools aren’t particularly usable. You’d be lucky to be able to disassemble and reassemble the same file, mostly because the disassemblies aren’t completely correct.

It’s trying to disassemble both instructions and data, and some instructions are 16 bit and others are 32 bit, so unless you know the actual execution path and data/code segments (from running in an emulator or something), you’re not going to properly disassemble all instructions.

I’ll add more info when I get back home from work tonight.

DogP

Yeah, as RunnerPack said, it’s VERY possible. My plan, if I ever get around to it, is to make a cart with an FPGA connected to basically all the lines on the cart, along with some RAM and Flash, then you could use the FPGA to map the RAM and Flash to any memory location, as well as using the FPGA to do processing.

Of course this isn’t foolproof, since the FPGA takes time to load, but you should be able to hit one of the interrupt lines to get control (though boot time would be a couple seconds longer). Also, with the VB being 5V, this limits the FPGA chip that can be used, since most modern ones won’t interface directly above 3.3V (though it’s much easier to find 3.3V RAM and Flash).

But yeah… that’d be very cool to have all kinds of possibilities, though we haven’t really maxed out the capabilities of the original hardware.

DogP

I don’t know about the Gameboy, but I assume they’re all dependent on the game, rather than the hardware. The VB is done in software for sure.

DogP

Um… that’s the quick reset 😛 . If you mash all the buttons, most (all?) VB games reset (I remember original Gameboy having that too). I find it to be pretty convenient, and when are you gonna mash all buttons in a normal game, except apparently in anger? 😉

DogP

Related to jpg images… in general, they’re not good to use for VB images because of the compression artifacts. Typically you want a lossless compression or uncompressed image, or you’ll run out of space because of chars that look almost identical, but have minor differences due to compression.

DogP

I’m sure others appreciate the heads up, but there’s a sticky at the top for noteworthy auctions: http://www.vr32.de/modules/newbb/viewtopic.php?topic_id=158&forum=1#threadbottom .

DogP

There’s a couple disassemblers out there, though I can’t find them ATM. IIRC they were on David Tucker’s site, though it may have been on Alberto’s site (Virtual-E). They’re probably mirrored here too.

DogP

It’s not a 7805, but yeah, it just goes directly to the regulator… it’s rated 6V-13V and I believe it’s a switching regulator rather than a linear regulator.

DogP

Yeah, Tennis has 2P graphics, but I did some searching a while back looking for 2P code, but didn’t find any :/ (though I still haven’t had a chance to exhaustively search). I also didn’t find any character graphics for an 8th player, though IIRC the ROM is pretty full, so they may have pulled it to make it fit in the smaller ROM.

And wasn’t Special the extra hard mode after you beat the game and used the code?

DogP

Heh, that finally makes sense! I posted several years ago about who Cassarin was ( http://digitpress.com/forum/showthread.php?t=73910 ), and the best I got was Japanese for Catherine (which I thought was quite funny actually, but still made no sense 😉 ). I didn’t realize Birdo was Katherine in Japan.

DogP

LOL… I was gonna ask if you were trying it on hardware, but figured you knew it doesn’t work right in RB 😛 .

DogP

Heh… actually Google did… Virtual Boy image search result #1 😛 .

DogP

Reality Boy is the only one actively being developed AFAIK. And I’m using the term “actively” very loosely 😉 . Red Dragon was a nice modification of Reality Boy, but unfortunately is unsupported, though it probably wouldn’t take a whole lot of effort to roll the new Reality Boy code into Red Dragon.

I haven’t really followed ViBE at all (VB emu for Mac), so I can’t really tell you anything about that.

Honestly, I see Reality Boy being the VB emu for the forseeable future. There’s lots of things I don’t like about it, but it’s pretty mature, does lots of stuff well (enough), and it’s open source.

DogP

Have you tried other frequencies or taps on the noise generator? Some combinations don’t really create a good sound.

DogP