-----------------------------------------------
- V810 CPU Tracer v0.70 (Reality Boy emu)
-----------------------------------------------

-------------------------------------------------------------------------------------
- Copyright Info/Disclaimer
-------------------------------------------------------------------------------------
the V810_CPU Tracer and Reality Boy emu is Copyright (C) David Tucker 1997-1999, all rights reserved.
   You may use this code as long as you make no money from the use of this code and you acknowledge the original author (Me).  I reserve the right to dictate who can use this code and how (Just so you don't do something stupid with it).
   Most Importantly, this code is swap ware.  If you use It send along your new program (W/code) or some other Interesting tidbits you wrote, that I might be Interested in.
   This code is In beta, there are bugs!  I am not responsible for any damage done to your Computer, reputation, ego, dog or Family Life due to the use of this code.  All source is provided as is, I make no guaranties, and am not responsible for anything you do with the code (Legal or otherwise).
   Virtual Boy is a trademark of Nintendo, and V810 is a Trademark of NEC.  I am in no way affiliated with Either party and all Information contained hear was found freely through Public Domain sources.

-----------------------------------------------------------------------------
- Usage:
-----------------------------------------------------------------------------

 rboy <rom_name> [-optins]

 Options:
  -display (320, 640, 640v2, 800, 800v2, 1024, 1024v2)
    The screen resolution, v2 is Vessa 2 Linear Frame Buffer
    640x480 is the default resolution
  -dspmode (normal, red_blue, interlace, over_under, side, cscope)
    Choos normal or a 3D display mode
    Normal is default, if you want red/green glasses use red_blue and pass in rg for the pallet.
    Interlaced should support most shuter glasses, as well as I-glasses
  -frmskp (0-9)
    Number of frames to skip (not display) before refreshing the display
    hit 0-9 while in the game to adjust this as well
  -pallet (normal, red, rb, rg, rbg)
    Red pallet might be dark, so use the Britness option to lighten it up, and play with the contrast and britness nobs on your monitor
    rb, rg, rbg are the options for the Red/Blue glasses (there red-blue, red-green, red-bluegreen)
  -brite (0-127)
    Lighten or darken the display, 64 is default, bigger numbers lighten, smaller numbers darken
  -flip
    flip the 3D efects (you can hit '[' and ']' while in the game to do this as well)
  -debug
    go into debug mode, see below for more help
  -fixpal
    force a fixed pallet, ignore the britness registers (fixes panic bomber)
  -? or -help, dump this help screen

Keyboard:
  'p'          - printscreen, saves the current display in a .bmp file
  '[' or ']'   - flip the 3D efects
  '0'-'9'      - adjust the frame skip
  'q' or <Esc> - quit the emu

  E,C,S,F      - (Up,Down,Left,Right) LControler
  V,B,N,M      - (Sel,Start,B,A)
  I,'<',J,L    - (Up,Down,Left,Right) RControler
  G,H          - (L,R)

to get a feal for the controller layout, pretend your typing (index fingers over the f and j keys)

  


Debug Usage:

u - unassemble the next 16 instructions
d - dump the next 16 bytes (should be words(32bits))
t - trace through next instruction
b - Run continusly, break at address
j - Jump Straight to address
r - show Registers and next instruction (Without executing)
v - Go to Video Mode (View the various screen structures...)
	On all screens!
	 q,<ESC> - quite the video mode (Fast)
	 p - print the virtual screen to a .bmp file

	C - chr ram
	O - Obj map
	B - Bgmap (hit any key to cycle through all 14 bg maps, <esc> to exit early)
	W - World (Hit any key to Cycle through all 32 World Maps, <esc> to exit early)
	R - Rom, view the rom graphically like VB_View.exe
		u/d - Up/Down 1 line
		U/D - Up/Down 1 page (Screen)
		+/- - Up/Down 1 Byte (To realign sprites when not on even boundary's)
		</> - Left/Right 1 char (Sprite)
		1/2 - Shrink/Expand  the # of columns displayed, helps align 
		  pictures in the rom (vBaseball, and vGolf are great candidates
		  for this
		H - help, prints this list...
	P - Print the buffers to err.txt (So we can see the world array)
	D - Display mode, start up the Interrupts and go. Asks for Display mode 
	    (normal display or a series of 3D options)
		<ESC>     - quit....
		E,C,S,F   - (Up,Down,Left,Right) LControler
		V,B,N,M   - (Sel,Start,B,A)
		I,'<',J,L - (Up,Down,Left,Right) RControler
		G,H       - (L,R)
		0-9       - Frame Skip
		[,]       - 3D orientation...

m - dump Memory to the hard disk
? - help
q - quit
i - Generate Interrupt # 
l - set the debug level (0<all>-10<none>)

-----------------------------------------------------------------------------------
- History
-----------------------------------------------------------------------------------
    5/20/98 - CPU core started

    5/21/98 - First instructions executed! Fixed the disassembler, now most opcodes are coming out right (only opcodes I don't have documentation on are failing, like Floating point opcodes, and string manipulation opcodes). added support for the first 3 opcodes...

    6/03/98 - fixed the flags (Several times, still bugs, I think).  Added fairly decent memory support, added most important Instructions (Missing Mul/Div/SetF).  Now writes out Ram to the drive, so you can Inspect the ram at your leisure.  Finished (for the most part) the interface.

    6/13/98 - Added support for Mul and div (MUL, DIV, MULU, DIVU)instructions,  Updated the memory accessing routines (All memory is anded with 07FF FFFF, the VB only looks at the lower 26 bits of a memory address.).  Cleaned up memory accesses, merged mem1 and mem4 into one linear address.  Added the VB_DISP.EXE util, to display the BG maps (Currently only looks good with VTetris).  Added support for American games as well as Japanese games (memory access to the rom needed to be mirrored.).  Once again I improved on the flags.  Still I don't trust them.

    6/15/98 - Finally added Muli, In(B,H,L), Out(B,H,L), EI, and DI. Leaving only SETF and odd instructions to do.  On first analysis In and out are mapped to memory (ld and st)as near as I can tell in.b 5000 == ld.b 5000.  For now I've added the ability to separate the two, but I'm not right now.  Interesting note: Vertical Force has started to generate a proper display screen (Wohooo).  Flags are still a problem, it appears that Virtual Golf (Japanese) and Virtual Pinball (Japanese) both get into bad loops due to improper flag testing.  This needs more research thou.

    6/16/98 - Fixed ASR instruction (I was always copying a one to the MSB in stead of checking for the MSB and copying it), fixed the BGT instruction I was improperly bailing out (Missing brackets).  These fixes solve the problems in VGolf and VPinball. But neither one do anything anyway... (Bummber).  Fixed up a lot of flag tests, I was missing brackets to set proper president.  Now 8 games are generating the beginnings of a display list (VBBall_J, VBBall_E, VTETRIS, WarioLand, VForce, PBomber_J, PBomber_E, & GPinball).  Water World seems to be generating a display list as well, but there is some garbage in it, this garbage is in the rom as well, it remains to be seen if it is a bug in my CPU or If I need to re dump the rom.

    6/19/98 - Began to build up a true graphics lib for the VB display,  I'm hoping to have the ability to view the CHR tbl, BGMAP tbl, OBJ tbl, and World tbl (In perspective).  For now you will only be able to hop from the debugger to the video display, the display will not update itself in realtime (bummber) maybe when we get booting a little better.

    6/23/98 - Finished a simple viewer for the CHR ram OBJ ram and BG_MAP ram.  type (V)ideo in the tracer to enter Video mode then select your resolution, chose carefully if you enter an unsupported video mode, things could get ugly (I don't check!)  Once in you will be prompted to display (C)hars, (B)gmap or (O)bj map, on the bg map hit any key to cycle through all 14 planes on all others hit any key to exit, to leave graphics mode hit <ESC>  This is quite preliminary and don't expect to much, I need to add support for scrolling when the graphics don't fit on the screen, for now try 640x480 mode, this will display all but the last 4 lines of a BG_map...  I temporarily made the last ram1.bin get reloaded into memory so you can unzip vtetris.zip and view the images in the ram without the need to trace through the actual code (For debug purposes its a real pain getting VTetris to generate an OBJ list, I can only do it one out of 10 times...).  Finally added the (B)reak command just pass it a memory address and it will break on the address (If it ever makes it there =)  hit <ESC> to break out if your caught in a infinite loop...  Added <ESC> support to (T)race as well, now hitting esc breaks you out of a trace that has gone on to long (IE. t 10000000, will take about 20 minutes to execute =), added another command (M) dump Memory, dumps the memory to the HD, memory is no longer written out every time the program executes... this makes it easier to take snapshots of memory without accidently overwriting the snapshots (Big Bummber)

    6/29/98 - Profiled the program today, i made some obvious speed ups (Mostly in the Display code)  Some known weak spots: 
  In v810_dsp.cpp,  
  CHR_2_SPRT() this func is quite slow mainly due to the PutPixle Routine, its possible there is a blitPixle... need to investigate... (I speed it up, some, already need to reprofiel to be sure but it seems to have helped)
  GetChr() Also slow mainly due to v810_rbyte() I changed this to rhword, no swapping and eliminated multiplications in the loop (Actually I unrolled the loop...) seems to be better, still need to reprofile... as before
  BlitScreen() used in several spots, its possible that writing direct to video ram would be even faster than screen blits, but maybe not, I need to test.
  I can shave off 12 test from v810_trc() by adding a jump table to the instruction mode in stead of a case statement... but the overhead of calling another func might eliminate the advantage, its something to try (Note that most opcodes will bail out after 6 tests at max, and probably average 2-3 test... so its a tough decision...)  Its possible I can eliminate the need all together, but It would mean off loading a lot more code to the individual instructions.  Memory access and Instruction execution is quite streamlined (I could use some asm in the instruction code to make individual instructions a lot more efficient) overall I think the processor is up to par, it should be fast enough to emulate a real v810 (I can execute 2,097,152 instructions in 6 sec (that's t 200000 in case your wondering why the weird number, remember t takes hex # as a param) that's 349,525 instructions per sec, fairly decent and I only have a pentium 90.  I think we would be lucky to double this with the best of optimizations (Unless we went to an all asm core, but then you gota debug...)  Video is acceptable I can display 14 screens in about 2 sec, really this needs to be more like 60 screens in 1 sec but I'm thinking most of the hold up is in the blit func, but more profiling is needed, for now its updating almost as fast as you can see, that's good enough for still screens.....  But it will need to be overhauled.  I'm droning on, but I'm trying to keep a log for my own reference later, I thought the readme was as good of a place as any!  I spent some time tracing down the phantom FPU instructions, it appears that they are really FPU instructions (not some other inst, besides they are definitely 4 byte instructions) but I don't have good docs on the FPU It needs a lot of work! maybe its covered in the v810 manual, we will know when my manual arrives...

    6/30/98 - Did another profile and researched out the PutPixle routine, I replaced it with direct memory access to the sprite, and shaved off about 45 seconds on a 60 second run (70% faster) basically I blast 30*14 BG maps to the screen as fast as I can, (that's 420 screens) anyway it now takes 15 seconds to do that verses 65-ish.  There is still a lot of optimizing to be done, but the drawing routines will be undergoing some major transformations soon, and I don't want to waist my time optimizing if I'm only going to destroy them in the end.  I began working on a World Viewer (Viewing each individual world for now, some day we can see them all in perspective.) It seems straight forward for the BG map, but there is a lot of ambiguity about the other 3 modes (IE, the OBJ...) for now Ill wait for Ben to enlighten me more on how the worlds work (Char effects, zooming rotation. Transparency. Intensity. and how all is cast into 3d space...)  Added a (P)rint screen command in the (V)ideo menus, pressing P while viewing a screen dumps a .bmp file (named after the screen, bg_map1.bmp etc...) also 'Q' or <ESC> are the only ways out of the Video screens.  And in the BG_Map screen any key takes you to the next BG_Map and <ESC> gets you out fast.

    07/01/98 - Added a new function to the (V)ideo Menu: (R)om  alows you to graphically view the rom image (Like VB_View.exe) it only has 3 controls right now ((U)p, (D)own, screen (P)rint, and of corse <ESC> and (Q)uit).  I did some more profiling on the display.  I modified al the functions to access the ram array directly (Without going through v810_rhword(addr) this made things nice and fast.  The only 2 week spots now are the screen blit and the chr2sprite() fn.  I think i can take care of the screen blit, but chr2sprite is about as fast as It can be (Without making the code ugly!)  I can now pump out 1500 displays in about 1 minute (about 25 frames per second) this is quite acceptable for now...

    07/02/98 - added +/- commands to the (R)om command, now you can fine tune the displaying of the rom...  Boy can you tell I'm board!  Still being board I updated the rom func with the rest of the variables (U/D) Up/Down a page, (u/d)Up/down a line, (</>) left right 1 char(You don't need to hold shift), (+/-) up/down 1 byte, (1/2) shrink/grow the columns.  These are all the useful commands from VB_View.exe I consider this to be a full replacement for VB_View, it is now officially dead! oh(H)elp has also been added to the (R)om func...

    07/08/98 - things are slow, but I'm making progress.  Tried to implement the memory mirroring, took a guess and assumed there masking out only the significant bits, it seems to work, no guaranties thou...  figured out most of the lower memory, fixed the CHR table (Properly Mirrored). Figured out most of the Interrupts, need to Implement them.

    07/09/98 - Added in Interrupt Support (i) # (0-16)  only the first 5 interrupts are actually used on the VB and then its patchy whether they support it.  For now I'm not checking if a given Interrupt is valid, When I can figure it out the VB has the ability to turn on and off each Interrupt so I will tie into that and not alows you to select a bogus Interrupt.  NonMascible Interrupts and Exceptions (and Traps) have no handler code in the rom's so for now I will not add support for them.  Adjusted the return values on some of the registers, I was trying to get VTetris to boot, that failed.  But I got Mario Tennis going Instead (Has a major Bug thou, the chr ram is not mapping right, I'm guessing its the mirroring...)

    07/22/98 - made some changes I cant remember...  Mostly Banging my head against the wall (Arg!!!)

    10/18/98 - I'm still alive...  Updated the memory map, and fixed the Interrupts (Partly), I need to update the IntPending line in the VIP registers...  Fixed up OBJ memory, but need to Implement Worlds and the realtime screen updates...

    11/02/98 - Fixed up the World display (Most of the way) and got display Interrupts going, now I need controller and timer Interrupts working right... Implemented the controller (Minus Interrupts), VFishing, Vtetris and MarioTennis are all booting (Sort of), need to Implement the Missing FPU and BITSTRING Opcodes..., NEW properly clear the KBD buffer!  and I display the BG maps from back to front, like there generated (Pictures are stored back to front...), also fixed the size of World Objects...

    11/08/98 - Fixed the OBJ up a bit (Not perfect), added some speed ups, and fixed a KBD Error. VTetris is playable, and VFishing, SpaceSquash, and InMouseHouse are almost playable! added a display Skip option, helps speed things up...

    11/11/98 - added true pallets, might need to work out some bugs hear...  I need to implement Mode2BGMaps so Mario Tennis looks better (Zooming)...

    11/12/98 - Fixed OBJ Selection (I think), and began to Understand the Alternate BGMap modes...  Need more work...

    11/17/98 - added in the FPU opcodes, I think they work (Except for the flags??).  Found a cool C trick, to cast an int to a Float without converting (Keeping the same binary bit pattern, just do this: *((float *) &MyInt)  and back *((int *) &MyFloat)  way to handy!!! (The V810 uses the same 32 bit registers for Floats and Ints, and I need to trick the Compiler into seeing my 'Word' register as a float, without trying to convert it...).  Now Space Squash is almost playable...

    11/20/98 - added in a few limits on the Image Structures, and added in a screen wrap, now Insmouse House is going better (In the demo mode that is) and The BGMaps in space squash rotate around properly.  I can get Vir Fishing to display the fish properly, but not without causing extra garbage to show up on the screen (Why?).  Space squash is still not playable. the ball and the opponent are constantly blinking (Why?).  I'm still over running memory in Insmouse House, I think actually I'm 'Under Running' it, ie I'm writing to a negative value on an array!

    11/21/98 - Did some more fiddling, now GPinbal, MarioClash and Telero boxer boot, and WarioLand starts to.  I had GPinball going perfectly, but I screwed it up, and I cant get it back (I need to make more backups of my source!!!)  A lot of games are crashing, because the Interrupts are handled wrong.  I need to figure out the Interrupt mask bits a little bit better!

    11/23/98 - Moved and Renamed a bit of the source, to try to draw the line between the V810 CPU core, and the Virtual Boy Specific stuff.  I'm trying to keep the CPU core reusable.  Summary of games: GPinball, InsMouseHouse, SpaceSquash, VFishing, MClash, and TeleroBoxer are almost playable.  VTetris is 100% playable (Wee).  VBBall, WarioLand, WaterWorld, and MarioTennis are almost booting (Beginning screens, then they get stuck waiting for some display update (Probably easy to fix)). PBomber, VForce, 3DTetris, RedAlarm, VGolf, Jbros, and Nesters Bowling all crash.  I think they cant handle an Interrupt I'm calling.  I need to track this down (Especially on PBomber and VForce, they never used to crash before I put in Interrupts)...

    11/24/98 - cleaned up the Interrupts a bit (Still confused on them).  This did not make any new games start, but at least there not going off in the weeds.  Need to Fix the Pallet, and there is always more work to be done on the display.  I added a RELEASE flag, so you can run it without dumping to the debugger (Some day Ill make this pretty.)  First Beta goes out tomorrow!

    12/07/98 - Cleand up the code a bit, made it truly C compliant (I took out some C++ shortcuts, so Its more portable)

    01/01/99 - Added True 3D support, need to clean up the code a bit still, and I need to finish cuting out the Allegro code.  Also some serious profiling is in order...

    01/02/99 - Added in a new menu option 'display mode' that defines what type of 3D support the display has...  Also began optimizing the display a bit (It needs a lot of work).

    01/04/99 - Need to Buffer the 14 BGMaps(done), Need to add BGMap Cashing (Flag sprite and BGMap writes to Invalidate cash) (done, mostly), and make shure the 'display interupt' is always firing evin if the display is not updating(done)...(is this a problem???)  Also add in a 'britness' function for i-glass support... (brta+brtb+brtc=brtc, brta=brta, brtb=brtb)

    01/12/99 - Lots of Improvments to the display routines, fixed the OBJ's and have an Idea how to fix the BGMap scrolling bug.  Still need to add Sprite Scalling, Normalize the Britness Functions and I think Mario Tennis is writing straight to the Video Display Memory??? (Check this out!!!)

    01/17/99 - Ned to do: Normalize teh britness and add in a total britness fn, fix bgmap scrolling, does MTennis write strate to display?, 'F1' for setup, Command line support, Kill off Allegro, support INI files...
    
    01/19/99 - Mario Tennis has CPU troubles, Keep an eye on Wario Land!!!

    01/24/99 - Completly Screwd up the code today (Fixed it I think).  Started clearing out the bugs, and making things more portable.  Need to put the 'options' into a single FN calll, Kill off allegro, and put the Tracer code in seperate module (Move the Debug code out of the main emu)...  Fix the Display Status (Sync it back to the screen refresh), Check over the timer Fn again...  Normalized the britness Fn's, added in a 'Flip' option for the 3D modes (press '[' and ']' to flp the display back and forth)

    01/25/99 - Started adding in the memory wrap stuff...  Finaly normalized the pallet (Wrong place?)

    01/31/99 - Integrated Jason Nelson's code, cuting out a lot of Allegro stuff, and adding in Zip suport (How does this work?)

    02/08/99 - Lots of changes...  Need to fix multiple BGMaps, Check FPU Flags, and figure out Scale/Rotation effects.  Added SaveRam, swaped the dir of wavygravy....

    02/16/99 - Fixed the scroling bg's in VTetris.

    02/27/99 - Tried to fix the timer up, faild misrably!  I need to fix the light efects in Telero Boxer (should not wrap).  Vtet is going full speed on a p200 with a frame skip of 0, telero boxer is runing about 1/2 speed with a frame skip of 0.  InsmousHouse Works!!!, mov $0, $8 does not advance???

    03/02/99 - Finaly got Multi BGMap's Working (good enough for now), and fixed the screen wrap in telero boxer(NOT!, why???).  Fixed the FPU flags (I think) Now Glactic Pinball and SpaceSquash are playable!!!  I think MarioClash must be goofing on the Display Status, also it hangs (flag probs?)

    03/07/99 - Reintegrated the win32 code (still troubles in the Masked Blit fn's, why?)  And cleand up the cache a bit (Is the cache working 100% or is it taking a needles hit?).

    03/08/99 - Worked on Transparent Char Blit... and fixed it

    03/26/99 - Broke Transparent Blit (oops), addid in rudamentary command line support, and the red pallet, worked on clearing out most of the debug code from the vb_*.c modules

    03/27/99 - Transparent Blits are working again (Why?)  Finished off the command line support, added in a 'Britness' option, support of Red/Green and Red/BluGreen glasses (you can pass in a pallet flag) also added in support for 1024x768 screen resolutions (why, you ask =0).  Things are looking good for a new release.  Oh, I finaly mearged the debug adn release code, no more need for 2 executables (Wee).

    04/11/99 - fixed some bugs in Insmouse Mansion, now it is playable (sort of).  Began work on a faster CPU core.

    06/29/99 - Numorous changes, fixed Water World, and Jack Bros, but broke them again.  Fixed panic Bomber, but you must use the '-fixpal' option.  Managed to keep the delacate ballance going without loosing all my marbles!

    08/29/99 - Fixed the horisontal offset in the Affin mode, still uncertain how scaling and paralax works.  Need to figure out why Mario Tennis is still broken.

    11/29/99 - Investigating 'Repeat' CTA_L/R and COL_LENGTH, looks like the lower 8 bits of FRMCYC is G_CLK (frame skip)

    12/30/99 - Fixed bug in dissasembler on LDSR/STSR instructions.  need to fix 'D' command, and all numbers should print out in Hex!

-----------------------------------------------------------------------------
- too do:
-----------------------------------------------------------------------------
* Need to Improve emulation of the Interrupts... Need to set the Flags right (Done, sort of)
* Need to Properly fix the flags (I have no faith in there accuracy!) (Maybe)
* Need to pin down what Is memory and what is a register, and handle both... (Getting there)
  I only know of 673k of ram, there should be 1.5meg of ram (If we can see it all...)
* Need to emulate FPU Opcodes? (addf.s mulf.s), and BSTR opcode? (Fixt FPU, sort of)
* Need to fix the video mode up.
   1) its dog slow!, I need to make a custom Display routine (Fixed for now) 
   2) Need to be less dependant on the screen resolution! (Getting Better)
   3) Need to handle the Extended BGMap Modes (Wavy Gravy, and Zoom/Rotate)
* In my profiling the CPU core takes up 2/3 of the time with graphics trailing for the rest.  I need to make a ASM CPU core, some day (If Ben does not make one first, right Ben)...

* Most everything is back to normal except for:
   1) Space Squash and VTetris dont get allong, they both rely on the
   VIP.DSPSTTS register being togled, but Im not shure how often, (to often
   and VTetris balks, not often enough and Space Squash does not boot)

   2) Mario Tennis is back to being wacked, Im not shure why, I think its just
   sensitive (unless I made another obvious mistake =0)  All that is different
   is that the player select screen is back to being garbled.

   3) Water World and Jack Brothers dont work, they both rely on the values
   0x4000 and 0x0008 being writen into the VIP.INTPND register on an int(4)
   (Display int), but this seems to mess up the rest of the games.  The
   timming hear is critical, and Im not shure what this interupt is going off
   of (I thought it was the left/right display interupt, but it is not)

   4) Panic Bomber Never updates the pallets (dont know why) so I added a
   command line switch '-fixpal' to force the emu to use a fixed pallet,
   without brightness info.

----------------------------------------------------------------------------
- Comments:
----------------------------------------------------------------------------
   This is in early Beta, it has support for most Instructions and memory.  
   Virtual Tetris, Glactic Pinball,  Space Squash, and Telero boxer are fully playable, and VFishing, InsMouseHouse, MarioClash, VBaseBall, WarioLand, and Mario Tennis all display stuff on the screen (to various extents)
----------------------------------------------------------------------------
- Acknowledgments:
----------------------------------------------------------------------------
 Bob VanderClay (vandercl@umich.edu) - most of the origional code is bassed off of his VB disassembler.

 Ben Haynor (bch132@psu.edu) - Provided me with a much better understanding of the VB Internals

 Joseph LoCicero, Dave Shadoff - I stole the jump table Ideas from there tg16 disassembler, thanks guys

 Neill Corlett (corlett@elwha.nrrc.ncsu.edu) - took many ideas (and some code) from his Starscream CPU core

 Kevin Banks (kbanks@ro.com) - for donating a very nice pair of Frenzle 3D viewers, and being an all around great guy

 Megan Tucker - For putting up with my tinkering all night, and resisting the  urge to toss all my video games out the window 

----------------------------------------------------------------------------  
v810 is a trademark of NEC co.
Virtual Boy is a trade mark of Nintendo
Reality Boy is in no way affiliated with either of these parties

----------------------------------------------------------------------------
David Tucker
dbt@dana.ucc.nau.edu
http://dana.ucc.nau.edu/~dbt
 
