-------------------------
- Reality Boy emu v0.81 - 02/24/2005
-------------------------

----------------------
- Copyright Info/Disclaimer
----------------------
This Reality Boy emu 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
(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:
--------

 reality_boy <rom_name> [optins]

 Options:
  -display (frame, 320, 640, 800, 1024)
    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-127) (currently disabled in this release)
    Lighten or darken the display, 64 is default, bigger numbers lighten,
    smaller numbers darken
  -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
  -status
    Displayd FPS on screen, togle with '0' in game
  -nothrtl
    Disable speed throttle
  -sclscr [1-4]
    Upscales the screen by the given factor
  -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>)


--------
- too do:
--------
* Need to Improve emulation of the Interrupts...
* 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)...
* All of the games that rely on direct screen draws flake out (Virtual Golf, Red Alarm, and
  3D Tetris).  Need to investigate this.

-----------------
- 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 goten 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/
 
