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

Depending how you are at soldering, you could make one by hand, but I should have the PCBs for sale shortly, which would save a lot of trouble. If you really want SRAM, you’ll have to build your own though. For an SRAM cart, I’d recommend using either Wario Land, Galactic Pinball, or Teleroboxer. They’re all pretty cheap, and all SRAM carts are identical, just like all non-SRAM carts are identical (so just destroy whichever is cheapest/easiest to get).

For programming it, I’d personally get a Willem programmer (like the one from: http://www.sivava.com/ ) and program the chips using the Willem. It’s the way that’s known to work well, and doesn’t require a hacked up system or link cable. I’d recommend using PLCC 29F040’s.

What kind of stuff have you been programming? Working on any games, or just getting the feel for the system?

DogP

Yeah, I’d first learn the fundamentals of programming, then just start looking at well commented C/C++ code and of course sample Virtual Boy code (which isn’t usually very well commented 😉 ). Get your VB compiling environment set up, compile a sample, start making simple modifications, and eventually you’ll pick it up… and have your own game 🙂 . Once you understand programming, languages are pretty easy to pick up.

DogP

Oh yeah… it’s winter down under, right? Ugh… I dunno… I’d love to get people motivated to start coding, but it probably won’t happen anyway :/ .

DogP

Plenty of us have carts, and we have done “sound” (I made a really lame thing that started out as a Mario Paint music editor that turned into a totally low level sound sequence generator), but I wouldn’t say any of us have really taken the time to master sound and write libraries to allow it to be handled at anything other than a totally low level.

And the Sweep/Modulation and noise channels aren’t really complicated either… sweep works just like it says… I was never able to really get modulation working how I wanted, although watching the output on the scope I could see what it was doing. And I guess I’m not sure about the actual sequence of tones generated by the noise (for perfect emulation), but it’s pretty much what it says… noise 😛 .

Interrupts are another thing that would really be useful to making a full game, and although they’re not particularly hard to use, our libraries don’t promote the use, so nobody really uses them.

BTW LB, do you have an EPROM programmer? Or would you be one of the ones wanting to be able to program over the link port? Just trying to get a feel for what the dev’rs really want.

Oh, and when I actually put some up for sale, what do you think about having a programming contest or maybe a programming “coupon”… like either maybe get a month to program a game, all submissions will be freely released w/ source, and the winner for the best game gets a cart for programming and a dedicated cart of their game (with a special “gold” label or something 😉 )… or maybe even just a programming coupon where if you send in anything written by _YOU_ (the person buying the cart) then you get 25% off or something. Really just looking for a way to promote coding and not just people too cheap to buy the semi-rare games 😛 .

I’m sure neither of them would get a lot of response, but it might tip a few people over the edge to either start coding, or get back into coding. I mean… it’s the summer anyway, no “I’m too busy with school” excuses 😉 , even if you’re taking summer classes.

DogP

I’ve figured out how to do a lot of sounds, but I wouldn’t particularly say I know how to do “music”. I know Frostgiant seemed to understand sound pretty well, and I think Parasyte did some too, but it’s not a simple thing like graphics are, where you just load a picture… there’s not really a way to just “load” a music file and play it. It’s really a thing you have to constantly take care of.

But like I said… we don’t totally understand sound, so it’s pretty hard to emulate it 😉 . And even once we understand it, someone is then gonna have to write the emulation code 😛 .

DogP

Of course full length homebrew games would be possible… the problem is that we don’t have enough information to really make the high quality games. I mean… I’ve made several games, and I know lots of other people have made some games, but usually we’re making them basically as example source code for something new (my TicTacToe game was for the link port, 3D BattleBall was for the link port and direct screen drawing, and Simon was the simple game that I got familiar with VB coding on).

I’m working on other full games, like Mario VB and a few others, but it takes a long time, and it’s hard to get really motivated to try finishing the game when we still don’t have a lot of information about the hardware (Affine is still new and iffy… I think David has figured most of it out… and sound is still very unknown… and unless you have a VB with flash cart, it’s pretty hard to test). Instead I usually get motivated to work on figuring out the hardware so we can be that much closer to unlocking the full potential of the system, improving emulation, and allowing other programmers to use the info for their own creations.

KR155E has made a pretty complete game (BLOX), and it does look refined, but it really needs sound before a normal gamer would call it complete. And it would be really cool if there were some special effects added, but there were some released games that didn’t really use the hardware to it’s fullest, so I wouldn’t say that’s NEEDED.

BTW, who are the 2 experienced developers that have recently shown up? I guess I haven’t been very active on these forums recently, so I must have missed them. But as far as the history goes… we’ve had probably 8-10 experienced developers show up on the scene, but because of the limitations above, we still haven’t gotten a complete commercial quality game.

DogP

I don’t think you could do 4 PLCC chips inside the area of the cart… the chips themselves would take up most of the space, and there wouldn’t be enough room for the TONS of traces you’d need.

I’ll see about the demand for the flash carts… if people actually seem to care about it, I’d be glad to design a flash cart with SRAM (probably using TSOP or SSOP)… but for myself personally I have no need for it since programming over the link port isn’t particularly the most convenient method since popping the chips out, programming, then putting them back in is really quick and easy, and I’ve still got my hand-built SRAM cart if I need SRAM.

I also think in this loader I’ll allow small homebrew games to be loaded into WRAM and executed from there (instead of actuallly writing to flash), but I’ll have to try it out to make sure it’ll work (probably max size of 32KB though since the program is going to need memory too). That’d be nicer than having to wait for an erase and rewrite of just a small test app or something.

DogP

Actually, I had tested writing in the past, but I never saw any action on that line as suspicious because it’s pretty short, and lookes random (it’s also connected to /UWR on the PSRAM, which I had seen before, but I didn’t understand why they brought it out to the cart edge).

If I just watch the line it doesn’t particularly look like it’s doing anything, but when I set the trigger for /CE, I noticed there were two pulses at the same time as my write (wrote 32 bits, which is two 16 bit wide cart writes), and on a read I noticed the two pulses moved back after CE was disabled, which is probably writing the data it just read.

Anyway, yeah… it works, I tied /WE to pin 5, played a couple different games, let it run for about an hour, no problems. Then I tested the write sequence and was able to write with no problems, then did a chip erase and ate my own program 🙂 . I gotta get the app into memory so I can do this stuff freely… hopefully I’ll get some time to mess with it today.

For the 2MB ROM, there are PLCC 27C080’s (EPROMs)… same as the 27c080/27c801 DIP that come in 8mbit, except these are the PLCC package. Same pinout except A18 and A19. I wouldn’t even think about trying 4 PLCC chips… see how much of a mess it is tying all of those pins together on the 2 PLCCs? It’d be a nightmare with 4! It’s not like DIP where you have the spacing between the pins that you can run all of the common lines straight on a line, and since there’s pins on all 4 sides you can’t just route them there either :/ .

DogP

WOOOOOOOOOOOOOOOOOOT! It worked! Anyone remember that pesky pin 5??? Well… that’s a /WE! (not to be confused with a /Wii 😉 )

Anyway, gonna modify the couple carts and make sure it never screws up, but watching it on the LA it doesn’t look like it’ll be a problem. Then I’ll work on a nice flash writing program from the link port. It shouldn’t be too tough… I’ve still got my link port dumper program, adding write capability shouldn’t be tough 🙂 .

DogP

Well if you tied /WE and /CE together, then you couldn’t _read_ from the flash, since any accesses to the ROM wouldn’t be to the expansion area, which would mean CE is disabled. And when I say OE (and CE) is disabled I mean high, like the enable is disabled. But like I said… I think I got it taken care of… going to mess with it now.

DogP

Thanks for the compliments guys… I spent some time over Christmas break designing it, but then started the next semester of school and never got around to ordering it. Finally after last semester I got around to sending in the order. I basically got the most stripped down model (no soldermask, no silkscreen, no depanelizing, etc) since I didn’t want to spend extra on something that might become a (really bad) paperweight.

Lameboy… actually… I can do 2MB of ROMs… EPROM only though :/ . A PLCC 27C080 will fit right in… I just need to change the A18 and A19. I’ve only found PLCC OTPs though, which is even less useful (unless I want to pirate Golf or something 😉 ).

The cart has 3 capacitors… the ones in the corners are .022uF, the one in the middle is 4.7uF. That H looking thing is actually for an inverter to use A22 as an inverted /WE… but I was playing with it on the logic analyzer last night and I think I’ve got a better way 🙂 . I wanted to use /ES, but you need /CE and /WE low with /OE high to program… expansion disables both CE and OE :/.

I’ll let you know tonight if my other idea works… it looked good at 4AM, but I needed to get up this morning for work, so I decided to put it off until tonight 😉 .

David… I’d be glad to send you the design, but I did it with DipTrace, so you need the full version to be able to export to get the design made (30 day full trial is fine). I liked the interface, so I started making the design, then at the end realized that it’s totally useless without the full version 🙁 .

Personally… I wouldn’t make another PLCC style flash cart though… if the in-cart programming works, I’d go with a single 16+mbit 16 bit wide chip. That would give a lot more room for the SRAM chips, and get rid of the messy sharing of the address/control lines (well… it’d just share with the SRAM instead :P)

DogP

Heh… I’ve already got a VB controller that I’m using as a USB gamepad: http://retrousb.com/virtualboy.html … it’s really sweet, I just wish I had more time to program so I could use it more 😛 .

DogP

Not sure about the link port connector… I figure it’s gonna have to be a custom molded thing… for the bootloader I was thinking throw a really small piece into the unused interrupt vectors that just copies from the link port directly into memory, probably controlled by COMCNT. When COMCNT changes, stop copying and jump to where you copied the program to.

I’m just worried about which vectors we can use that aren’t used by any game, or make it change depending on the game… and if it fails, then the cart is dead 🙁 . Of course we should be able to use the game info section, but that may not be enough I was also thinking about using seperate boot chips, then swap them to flash the game… that way you don’t worry about killing your cart, but then you’ve got a socket and need to swap chips. It would be a lot easier though 😉 .

DogP

No idea yet… I’ve gotta take care of a few people first, then I’ll see how many are left. I’m not really sure about programming though… I figure the link port would be great, but then we’d need to make a link port connector 😛 . No problem for me with my RJ45 connector, but I don’t think everyone wants to mod their VB.

Right now it’s easiest for me to just pop the chips out, burn, and replace… but I’m sure everyone else wouldn’t want to buy an EPROM programmer to go with their cart 😉 .

DogP

🙂 Don’t have much time to explain ATM, but: http://dogp.home.comcast.net/VirtualBoy/CartPCBs/cartpcb.htm . Works great… I’m not sure how many will be available, but of course dev’rs get dibs over someone just too cheap to buy Space Squash and Insmouse 😉 .

Working on programming in circuit over the link port.

DogP

HAHAHAH! You come up with some of the weirdest threads 😛 . How about Virtual Phishing, Mario’s Cash, and Virtual Boring (Engrish Style 😉 ). I could come up with a few others, but I’m at work right now, and they’re probably not work appropriate 😉 .

DogP

Yeah, I tried, along with every other game both on hardware and in the emulator (watching the link port memory locations for activity). There are a few games that touch it, but nothing that actually does anything. I do still wonder if there’s link port code in some games, just disabled, which could be re-enabled by patching the ROM.

DogP

Oh… that makes sense… I thought that you were talking about the small plastic countertop display (from blockbuster). I don’t have scans of the sides for that display, but I could probably scan them and send them to you. I’ll get you dimensions of the base too.

DogP

The inserts are easy… I’ve got some pretty high res scans that I used to print mine from since mine were missing (IIRC I got them from Ferry @ virtual-boy.org ). I can send those to you if you’d like. About the base… what parts are you talking about? The entire base? I can get you some measurements, but I guess I’d need to know what you need. If it’s the whole base, I don’t really think it’ll be easy to make though.

DogP

That’d be pretty sweet to modify a Battlezone arcade (the one with the Periscope) with a VB display. It’s really easy (and cheap) to find a stripped one, since the vector monitors and PCBs are usually taken to repair others. You could also modify the dual joysticks to control the D-Pads and add the A,B,Start,Select and trigger buttons.

DogP