Clearly you don’t know the difference between enjoying playing videogames and collecting them. I can testify, from my own experiecne, that collectors rarly play there games. The thrill is in the hunt. I for one have over 25 systems and 1,000 games. There is no way in the world that I could ever play all of thoes games, ever. Granted I probably have too many games and should consider getting a simpler hobby, but that is not the point.
An avid videogame player on the other hand buys and sells games in an effort to get his hands on the latest and best games, whatever that means to him. He would gladly trade out is rare copy of E.T. for the 2600 (no its not realy rare) to get his hands on GTA 3. See the difference?
Ok here is how it works on Suse 9.3, It might work on cygwin, but it definently fails if you relocate the base (arg).
Assuming that you have the folowing files in a directory:
binutils-2.10.tar.gz
binutils-2.10-v810patch0928.gz
gcc-2.95.2.tar.gz
gcc-2.95.2-v810patch0927.gz
Open a terminal and cd to that directory and exicute the following:
$ tar zxvf binutils-2.10.tar.gz
$ cd binutils-2.10
$ gzip -dc ../binutils-2.10-v810patch0928.gz | patch -p1
$ ./configure –target=v810 –prefix=/usr/local
$ vi gas/config/tc-v810.c
; goto line 1169 and replace name##”(” with name “(”
$ make
$ su root
$ make install
$ exit ;go back to user land
$ cd ..
$ tar zxvf gcc-2.95.2.tar.gz
$ cd gcc-2.95.2
$ gzip -dc ../gcc-2.95.2-v810patch0927.gz | patch -p1
$ su root ;get super user priveleges
$ mkdir /usr/local/sys-include
$exit ; return to user land
$ ./configure –target=v810 –prefix=/usr/local –with-newlib
$ vi gcc/ch/loop.c
; goto lines 322 and 323 and remove the quotes
; (or place the block in a comment field)
$ make
$ su root
$ make install
$ exit
You might be tempted to build the whole thing as root but don’t, it wont work on Suse, because root does not map /user to the path.
from here you have to collect up the apropriet tools and build the missing pieces from the gccvb zip file… more to follow
You also need to remove spurrious quotes in gcc/ch/loop.c
I guess GCC 3 still dives into #ifndef blocks
I also figured out that you need to make the directory
/usr/local/v810/sys-include but it is not clear why the build scripts fail to make this dir.
David
Actualy an old serial quick cam and a pic controller would be all you would need to pull this off. Just use the pic as a serial protocol to VB link cable translator, allong with any smothing of the camera messages you want to do. And in the VB you simply need to perform some simple operations on the images as they come in, like normalizing the brightness of the image, and color reduction to 4 colors. Finaly just blast it out to the screen using direct screen draws. Even cooler would be hooking up two cameras for true stereo viewing. im guessing the whole thing could be built for $100 if you already have the ability to program for the VB.
David Tucker
This comes up every year or two, and the answer is always the same. it would be easy (if not nesisarily usefull) to pump data from the computer to the VB via a link cable, or another I/O device embedded in the flash cartrige. it would be dificult at best to reprogram the displays with anything as good as the VB can do. (same goes for building a VB to TV converter).
The real answer is… Go buy a nice pair of shutter glasses or i-glasses, or anything else. For less than $100 you can get top notch 3D on the PC without restricting yourself to the pidiful 384x224x4 colors of the VB display.
David Tucker
I second the call for interupt vectors. If your rom emulator has a little logic to controll the rom access to the interup vectors you can easily break in to any game at anytime, do a soft reset (very fast) and of cource break on any interupt without affecting the game play. This is trivial since the interupt vectors are on even byte boundarys and you know there addresses. Just build in an simple address decoder using logic gates if you want.
if you need more help we are all interested in seeing someone develop a better hardware developer for the VB. Just post your design and we will review it for you.
David Tucker
Making an emulator for any of the simpler tile based systems would be trivial, as long as you completely ignore scan line interupts and other trickery. That would be a lot harder to emulate. But getting super mario bros to work on the VB would probably take less than a week of effort.
I would start with the Game Boy/Color, followed by the NES and Master System. Only the daring would move on to the GBA and SNES. Actualy the origional game boy is trivial since the V810 is basicaly a superset of the Z80, the tricky part would be handling all that 8bit data eficiently. And graphicaly the VB is very close to the GB (actualy closer to the SNES but…).
David
There are several dissasemblers for the VB. it would not take to mutch of a coder to sit down and write a perl script to convert the asm code into pseudo C code based on paterns of opcodes. It is pretty easy to spot a loop or brantch, etc in the asm. There is very little optimization to get in the way.
David Tucker
If you have mony to burn you can always pick up a Pelican Case, we use the model 1550’s at work and they are great for custom camera equipment. But on the down side its about $120 to pick one up.
David
Its not that simple. While we know 98% of what you need to do to make a reporgramable cart there are several ‘details’ that need to be worked out.
For example what ‘spare’ pins on the vb edge connector can you programaticaly controll, and that are stable at boot. If ther are not enough spare pins than we would need extra logic chips to reinterpet a write to expantion ram as an initiation of the flash programming sequence. (I keep mening to toss the VB on my logic analyzer to solve this one)
We need to verify that you can in fact make a boot loader reside at the top of the rom that redirects the interupt table. And develop the code to program a flash rom, it looks straight forward but some flashes are very timming dependant. (Im 98% sure this is trivial, but….)
And finaly you would need to develop a relyable link cable to pc protocol. The basic concept of link port communication is understood, but things like handshacking and error checking get tricky. (this is the easiest one by far, since so much work has been done on it. But as always developing new software on an unknown system has its hurdles)
Basicaly, if you can’t figure out what parts you need, chances are that you don’t have enough low level hardware/software experience to pull it of. With that said I am a firm believer that resolve can overcome any limitation (including lack of knowlege). So if you are serious I can show you what you will need to do, as can several other people here.
David
The cheapest reprogramable cart would use a 16 bit flash rom and a VB to PC link cable to perform the actual flashing. So in quantitys of 100 the cost breaks down like this:
Origional VB cart (for the edge connector) $1-$4
Flash Rom: $3-$10
New Circuit Board: $6
PC Link Cable: $3-$15
So you could make carts for around $13-$35 apiece, but your R&D on this would be around $400 to make the first cart. so to make your mony back you need to sell 100 carts at around $50 or 20 carts at $100 apiece. With a net investment of $4,000 before yo can sell your first cart.
David
If you build your own look to spend about $400
Eprom programmer (with flash rom support): $200
Circuit board fabrication: $100
Flash chips and sockets $60
VB Cartrige and Unit to scrap for edge connectors: $40
You could save a bundle by droping the eprom programmer and circuit boards but in the end you will save a lot of time if you can verify right away that your board works (by wiring your edge connector to the eprom programmer and flashing the chip), rather than strugle with some homebrew programmer. And the circuit boards will increase your reliability 100%. Wiring up a cart involves connecting some 100+ wires, its far to easy to make a mistake.
David
Yea, I had to cut apart a spare VB to get my cart connector for my dumper. It was a sad day for me….
David
Pick up the book:
Tricks of the Windows Game Programming Gurus
by Andre LaMothe
Its an easy book to folow if you dont have a lot of C experience. And it is one of the few books that covers 2D game development (aka, zelda for the GBA). Dont mess with C++ especialy on the VB. You may be able to get away with simple class containers but inheratence will kill you. Besides for what we need a C struct is better since it maps so nicely to memory.
David
For $10,000 I will drop everything and make one today
for $1,000 I will put it on my todo list for this year
for $100 I will think about it someday
for Free It may never happen =0)
I would love to make a proper flash cart but It is a time consuming job getting the boot loader just right. I will make one some day, but just for reference I have been saying that for 7 years… (actualy I made one once but it never worked right, I think I fried my flash rom by wiring it to 12v on my I/O-56 card)
David
If you permanently mount the boot loader in the flash rom you can write protect it (top boot flash chips) and guarenty that a bad flash will not kill your cartrige. Either way you have to patch the roms, but my method would patch them on the fly as they get downloaded (in my mind anyway =0)
David
I could build a flash VB cart for $50 apiece, but that would not include a programmer. If I had lots of free time, wich I don’t, I would make a flash cart that could be programed in the VB using a link cable to paralel port adapter.
The hardware design is simple, its the same as the 44 pin eprom design on my website with the adition of the programming pins that need to be maped to unused pines on the VB edge connector. I would configure it such that a write to expantion ram sets the flash in to programming mode. And I would put a boot loader at the top of the flash, overwriting the interupt table, to trap all of the interupts so that you could enter programming mode by holding down a sequince of buttons while turning on the VB. Thain you just need to relocate the real interupt table to ram or a blank spot in the rom (maby where the rom name sits). This way you could play comercial games as well as develop new titles, in fact you could do a multi boot like the game boy and load several games in one cart
David
I would agree, nothing will replace the real experience of using a VB. But if you are stuck with an emulator, for development or to play some rare game, your best bet (for the least amount of mony) is a pair of red/blue glasses and a VB controller wired to the paralel port.
Shutter glasses are a trick, since they don’t work on an LCD display (and I dont have a pair to test with). I will add in a fix to the next versoin of Reality Boy to stretch the images horizontaly. That should fix the shutter glasses (finaly)
David
You would be much happier connecting a VB controller to your computer. It will cost you about $5 ($10 if you dont have a vb controller) and makes the game play almost as good as the real thing.
David