-------------------------
- Reality Boy emu v0.82 - 08/08/2005
-------------------------

----------------------
- Copyright Info/Disclaimer
----------------------
This Reality Boy emulator is copyright (C) David Tucker 1997-2005, 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 (with 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:
--------

 reality_boy <rom_name> [optins]

 Options:
  -display (frame, 320, 640, 800, 1024, 1280, 1400, 1600)
    set the screen resolution frame (window) is the default mode
  -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 -/= 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.01-3.0)
    Lighten or darken the display, 1.0 is default, bigger numbers brighten,
    smaller numbers darken
  -hstretch
    Double the width of the display, usefull for shutter glasses that use
    line doubleing instead of line blanking. (not working yet)
  -flip
    flip the 3D efects (you can hit ']' while in the game to do this as well)
  -ltimmer
    force a longer duration to the timmer
  -vfhack
    fixes Vertical Force
  -altkbd
    Use the alternent keyboard maping
  -pport
    Use a VB Controller wired up to a paralel port
  -joy
    Use a joystick for input, currently broken and may lock up the game
  -status
    Displayd FPS on screen, togle with '0' in game
  -nothrtl
    Disable speed throttle
  -sclscr [0-4]
    Upscales the screen by the given factor, 0 forces a stretch to the
    full display.
  -debug (only works in the debug build)
    go into debug mode, see below for more help
  -disasm (only works in the debug build)
    generate a disasm file of all the code that gets executed
  -stdout
    Output debug info to the dos box instead of to a text file
  -? or -help, dump this help screen

--------------------------------------------
Keyboard:
--------------------------------------------
  'p'          - printscreen, saves the current display in a .bmp file
  ']'          - flip the 3D efects
  '-'-'='      - adjust the frame skip
  <Esc>        - quit the emu
  '0'          - toggle the FPS status

Controller Maping 1:
  up,down,
    left,right - (Up,Down,Left,Right) LControler
  F,V,C,B      - (Up,Down,Left,Right) RControler
  Q,W,         - (Start,Sel)
  A,S          - (L,R)
  Z,X          - (A,B)

Controller Maping 2 (-altkbd):
  E,D,S,F      - (Up,Down,Left,Right) LControler
  V,B,N,M      - (Sel,Start,B,A)
  I,K,J,L      - (Up,Down,Left,Right) RControler
  G,H          - (L,R)

 
--------------------------------------------
Debug Usage:
--------------------------------------------
***** Debug is disabled in the release build*****

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>)


-----------------
- Acknowledgments:
-----------------
 Frostgiant, Parasyte, and DogP (and the rest of people that have contributed
to the VB sceen in the last five years) - There work on Red_Dragon has been a
real inspiration.  Its amasing how far they have gone with so little to start
with.

 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
david.tucker@goliathindustries.com
http://www.goliathindustries.com/vb/
 
