I guess my question was kind of loaded because basically what I’m getting at is I need to be able to reset the VB from the micro and not specifically from a ROM that the VB is reading. So it’s not as simple as writing a dummy ROM or modifying a ROM with the reset vector.
OK, I get your point about the short not being a good idea, I will have to think of something else.
I think what I will do is manually send the reset vector to the VB using my micro, by placing the reset vector on the data bus when it is time to reset. There’s something I need to know though (and it may have already been answered but I can’t remember). In the event that the VB powers up and there is no ROM data that it can execute, will it continue to try and read instructions from the flash, or will it freeze up and not do anything?
Anyway, this would work fine if there is no ROM data on the flash and the data pins are floating, however I will be interfacing with the flash and the VB will start to read garbage data from the flash at the same time it should read the reset vector from the micro.
So my next solution is to use a transistor as a buffer between the VB chip select line and the flash CS line. So I can control when the VB is reading instructions from the flash and when it is reading instructions directly from my microcontroller. Basically like a pseudo-mux.
Also for the record, when the micro resets the I/O pins become high-impedance inputs, and it doesn’t matter if they are open drain because there would be no pullup to 5V, so there’s no current to drive the transistor and the pin would be “off.” But I can see other reasons why this wouldn’t work, as pointed out by DogP.
I think I will end up using a FAT16 formatted mircoSD card and the basic SDMMC protocol, which means I won’t have to pay Secure Digital.
OK, here’s my take on the reset method by connecting the 5V rail directly to ground. I understand that it is not good for the VB hardware to do this, but this is how I would do it to prevent damage to the regulator or other electronics in the VB:
1) Connect an I/O pin of my micro to the base of an NPN transistor. Then I’ll connect the collector to 5V and the emitter to ground with a series current-limiting resistor. At all times the I/O pin will be at logic 0 and the transistor will be off, so it’s an open circuit with very little leakage current.
2) To reset the VB completely (thus going through all the initializations and program loading again), I simply output a logic 1 on the I/O line of the micro, which turns the transistor on and connects 5V to ground via the series resistor. This will create a small(ish) current between the 5V rail and ground, determined by the series resistor. The pulse is nearly instantaneous this way because as soon as the power goes down the micro also resets and thus the I/O line of the micro drops immediately to 0V, thereby turning off the transistor and instantly releasing the reset pulse. Then the VB boots up again. At speeds that fast and with a low-current pulse, I have a hard time believing the regulator would sustain any damage or get heated up at all. But again, this is just my theory and I have yet to test this.
What do you think, DogP? I’ll watch for your PM but like I said, I’m not in a hurry or anything.
Thanks for the tip on the reset vector though, that will definitely be useful at some point. I need to go back and read all the programmer info again.
- This reply was modified 14 years, 3 months ago by Vaughanabe13.
Cool! I confess I don’t know a whole lot about MicroSD but I’m a very fast learner.
RunnerPack wrote:
Welcome, Tres!I’m more interested in it as a development platform than as a collectible, but you do have what sounds like an excellent collection!
I bought my first one when Toys ‘R’ Us was closing them out. I think I paid $25. I got another a few years ago from a thrift store for only $5 (with a game and AC adapter!). I love it when they don’t know how much something’s worth 😀
Later!
I remember I went to get a VB from Toys R Us for that price on closeout, and they literally sold the LAST ONE minutes before I got there. I was CRUSHED
RunnerPack wrote:
AFAIK, the CPU starts immediately after the “power good” signal from the on-board voltage regulator releases the reset line. The delay you see in most commercial software is probably just an aesthetic choice by the developers to wait until the mirror motor is up to speed before displaying anything. As SNK observed, some games start the sound almost immediately, so there is probably very little noticeable delay.Also, the “PSRAM” (pseudo-SRAM) used by the VB requires a 200us delay before it can be used, although this obviously couldn’t be detected by a human.
Since the cart data lines are likely to float high, the VB would probably read 0xFFFF with no cart inserted (although it would technically be “undermined” and could change at any time because of spurious EM fields, gamma rays, pixie-dust, etc. ;-)). Since this is an invalid opcode for the NVC, it would probably try to jump to the default “invalid opcode” exception handler (if there is one), which would also fail. It would basically lock up the VB until it was physically reset.
Does that about cover it? I assume this has something to do with your flash cart boot loader, right? I’m very interested in that project, although I probably won’t have the funds to get one, at least for a while.
This is excellent information here! I have a few questions. Is the PSRAM you are referring to part of the CPU architecture or are you referring to the RAM on a game cartridge?
I understand what you mean by the lines floating. I actually thought the lines would initially be at ground potential but I guess not.
What is the NVC? I haven’t read the programming manual/wiki for a while and I don’t remember what that stands for. I’m guessing it has something to do with the fetch/decode of the CPU pipeline?
So there is a reset line on the voltage regulator, but is there any other way to reset the system? Every CPU architecture I can think of has a way of “soft” resetting the CPU without losing power.
Honestly I think some of these questions I won’t be able to figure out until I can break out the cartridge pins to a breadboard and stick my logic analyzer on it. But I can’t do any of that until I fix my glitchy display problem, etc. etc.
Yes, this is for a flash cart idea I have been playing around with. I have some theories in my head about how to do this but I need to know as much as possible about the VB before I start investing significant funds in this project. I’m technically still a college student after all!
Welcome! I’m envious of your collection. I was only 8 when VB was released and despite my whining my parents wouldn’t give in and get me one. So 14 years later and I’m having my second childhood and bought up a VB and games.
So does your VB have any display issues, after sitting in storage for a long time?
I know some time is spent adjusting the velocity of the vibrating mirrors when you first power the unit on, so that is part of the delay. Thanks for the tip on virtual league baseball, I’ll boot it up when I get home and see if I can get some crude measurements.
gunpeiyokoifan wrote:
Hedgetrimmer wrote:
Also yes you are a terrible Gunpei fan, keeping a psp in the same draw as a gameboy……Not entirely! there was a game series Yokoi was involved in (GunPey) that had a game release on the PSP 😀
Only several posts ago you said: “I am a TERRIBLE Yokoi fan” but apparently now you’re not? Which is it?
Stop cluttering this board with posts about your irrational fears. PLEASE.
Yep, that’s exactly what I’m going to try next. I ordered a gamebit in each size and I’ll try to grind it smooth.
This isn’t a huge deal right now because my VB display is not permanently damaged yet, but I can tell it is getting worse. Plus I’m an electronics geek and I’m excited to open up the VB and take a look around. I’ve seen pictures/videos of it but it’s still more fun getting your hands on it. 😀
SNK wrote:
I know I haven’t been here that long *but* I know I have had a passion for the VB since my childhood when it came out and I would like to contribute something significant to the VB community some day. I wasn’t suggesting the existing FB is flawed, I would just like to harness some of its awesomeness and try to improve on the design a little. If you’re suggesting I wouldn’t put love into it you’ve got another thing coming!
Hey! Please don’t take it too seriously 😉 Maybe your idea is a bit inappropriate in this topic about selling the Flashboy to make big money. Thats why I missed LOVE.
Keep cool! 😎
I understood he was kidding about the love thing. You don’t need to tell me to keep cool, I was never upset or used harsh language in the first place. I was simply explaining what I wanted to do.
I would not use an SD card, it would have to be MicroSD. You may think there is room, but space is always a huge issue on small boards. I may even have to design a 4-layer board with the design I have in mind. There are formatting utilities available that will format the MicroSD to be a simple FAT memory system. I/we wouldn’t need to pay any kind of fee to use a MicroSD card, it’s just a digital interface and is common on many designs.
My ultimate goal is to store every ROM on the MicroSD card and design some kind of VB file browsing front-end to select which game to play, and the cart will then flash the game in less than 1 second and the VB will boot straight into it.
I found some better cutting disks and I made the modified flathead screwdriver. I was able to take out 5 of the VB screws, and that’s when I got stuck. The rest of the screws just wouldn’t budge – especially the deep ones. The ridges on the screw are almost nonexistent and they don’t line up with each other across the screw, so trying to get the modified flathead in the grooves when you can’t see the screw is almost impossible. I ended up breaking my screwdriver and having to re-cut it further up the handle. And the deep screws are even starting to strip so after 3 hours of trying I finally gave up. It’s just not going to happen with this modified screwdriver. I don’t have a drill that can drill out those deep screws either, so I still need some kind of bit solution.
I guess my next step is to order some gamebits and try to force them in the holes. I still don’t have a way of grinding down the bit so hopefully this will work…
I know I haven’t been here that long *but* I know I have had a passion for the VB since my childhood when it came out and I would like to contribute something significant to the VB community some day.
I wasn’t suggesting the existing FB is flawed, I would just like to harness some of its awesomeness and try to improve on the design a little. If you’re suggesting I wouldn’t put love into it you’ve got another thing coming!
Question, would you guys rather have a flash cart that can interface to the computer via USB cable (like the current design), or would you prefer a removable MicroSD card solution instead? The R4DS flash cart I have has a slot for a MicroSD card and you can drag your ROM files onto the card with your computer and insert the MicroSD card into the game cart. Which system would you prefer?
If I design a flash cart it will have battery-backed SRAM eventually. I haven’t worked out how I will transfer save data to and from the SRAM though.
I have been researching this project for a while, but there is one major problem that I can’t overcome right now – Basically, I can’t find any flash memory chips still in production that can interface directly with the VB cartridge pins. It must be a 8-16 MBit flash IC with 5V-tolerant pins and a parallel addressing system. Almost all flash IC’s in production today are either designed for 3.6V max or they are designed to read/write via SPI/I2C. This is fine for getting a ROM on the cart, but the VB won’t be able to read the ROM data!
I see that the chip used in the Flashboy, at least according to the latest images on the the Flashboy section of this site, is an Intel DT28F160, but as far as I know that chip is obsolete and unavailable anywhere, and I can’t find any comparable alternatives that are still in production.
If I can get some flash chips that fit the requirements, I think it would be pretty easy to design a new flashboy that can improve on the existing design and cost less.
OMG I finally found it! I’ve literally spent hours trying to find this thing. It’s called the “Stealth Assault” by Radica and this is what it looks like:
Now I need to find more information on it.
It very well may be Tiger, my memory is too fuzzy to rule it out. I checked the Tiger section on this website though and I couldn’t find it.
Hey KR155E,
How would you guys feel if there were another USB flash cart on the market? I’ve been thinking about making one of my own but I wouldn’t want to make anyone mad in the process. Mine would probably be made on a cheaper PCB so it would cost less than 90 Euro, and it would be based in the USA. Thoughts?
Also, I agree with your opinion that I think it’s a great thing when people sell a cart that they are not using. It’s not the seller’s fault the cart sold for over 200, they were just passing on the flashboy to someone else who would use it, and it just happened to sell for a high price because the demand is high.
DogP wrote:
Vaughanabe13 wrote:
What kind of screwdriver and file did you use? I haven’t been able to make a dent in my flathead with my dremel. This is just a cheap screwdriver too.Really??? Are you using a cutoff wheel to make the notch? Before ruining a perfectly good screwdriver though, make sure it’ll fit inside the VB holes (you may want to cut off the edges if it has a taper on the sides), and that the tip is large enough to span the screw head.
DogP
Yep, I tried several screwdrivers until I found one that can fit all the way in the deep holes without hitting the sides and also has a wide enough tip to grab the screws. I was using a cutting wheel with my dremel but it broke fairly early and it was my last one. The grinder bits don’t do anything apparently so I’m going to pick up some more cutting wheels and see if that does it.
What kind of screwdriver and file did you use? I haven’t been able to make a dent in my flathead with my dremel. This is just a cheap screwdriver too.