--------------------------------------------------
Virtual PCB v0.35 (Pre-Release, November 30, 1996)
All code (C) Copyright 1996, Peter Rittwage
All Rights Reserved
--------------------------------------------------


HISTORY
-------
0.4    * Added POKEY sound support!  This support requires a real
         pokey on an interface card attached to the parallel port.
         This is currently untested until I build a card for myself,
         but according to the documentation, it should work.  It's
         currently implemented for Centipede only.  The schematics
         and distribution for this device can be found on Mike Hill's
         web page:  http://w3.one.net/~mhill/pokey/pokey.html
         You pretty much can't get any more accurate than this!
         Support using samples may be forthcoming.
----
0.35   * Removed VESA 2.0 modes.  Too many problems arose from trying
         to be universally compatible using VESA, so I simply tweaked
         the most most standard VGA mode on the planet to my specs.
         Special thanks to Brad Thomas for information on this trick!
----
0.31   * Added some more tracking to VESA problems.  If it doesn't
         work on your computer/video card now, it should at least
         tell you why.

       * Added color support for Centipede.  The only thing strange
         about this is that the very first level has the sprite background
         color the same as the screen background.  After you kill the
         first centipede, the colors change (just like the real game)
         and it looks better.  I'll need to rewrite the color mapping
         from scratch to fix this, but it'll also fix other color
         issues with other games.

       * Menu system removed from game by popular demand.
----
0.3    * Fixed CPU bugs!  Game now playable! Also added better mechanism for
         grabbing VESA 2.0 modes.  It now does a search for modes that
         match the X/Y resolution it needs.  (400x300 or 320x200)

       * Added Millipede support into main executable.
----
0.2    * Don't remember.  I think colors were half-implemented.
----
0.1    * Released to show work was being done on the project.
 


NOTES
-----
This pre-release has the ability to run Atari Centipede and Atari
Millipede(tm).  The roms are, of course, copyrighted so they are not
included with, and are not to be distributed with VPCB in any way.

The reason this project has progressed somewhat slowly is that I chose
to write my own CPU code, as opposed to using the available source
and plugging in the video portions.  This is not to knock those that
have done so, as figuring out where the roms go and what the heck it's
trying to do is no easy task!  I just didn't like the way existing
CPU code was written.  Besides, I think mine has turned out MUCH
faster so far!

This emulation was written in 100% ANSI C, using the publicly available 
DJGPP development system.  I have been able to create a 6502 that runs
at an average of almost 1 MIP on my 486DX4/120 including display overhead,
which is much faster than a 6502 needs to be. 



WHAT DOESN'T WORK?
------------------
1) color; not implemented correctly
2) it's usually too fast due to no speed throttling



REQUIREMENTS
------------
1) Centipede ROMs. (6x2k ROMs, 136001.XXX) or
   Millipede ROMs (3x8k ROMs & 2x2k ROMs, 136013.XXX)
3) A 486/66 or better with at least decent VLB video should be OK. 

   
RUN-TIME ARGUMENTS
------------------
vpcb [game] [video toggle] [trace toggle] [refresh rate]
 
Game: 0 - Centipede (default)
      1 - Millipede
      2 - Missle Command (under construction)
      3 - Crystal Castles (ditto)
      4 - Liberator (ditto)

Video toggle: 0 - off; 1 - on (default)
 For use mainly with the next option.

Trace toggle: 0 - off (default); 1 - on
 Runs through the code showing address, stack and all register info.
 Useful for me, anyway.

Refresh rate: 0-65535
 This is the number of CPU cycles in between screen refreshes.
 Lower numbers slow the emulation, but make it smoother.
 Higher numbers speed it up, making it jumpy.



CONTROLS
--------
C           = Inserts Coin, but games are set to FREE PLAY for now.
1           = Starts a 1-player game.
4 (keypad)  = move left
6 (keypad)  = move right
8 (keypad)  = move up
2 (keypad)  = move down
SPACE       = fire

.           = moves video window "up" 0x100 bytes
,           = moves video window "down" 0x100 bytes

^ These last two options are sort of neat to play with.  They help me find
  out what the code is doing in different areas of memory.


FUTURE
------
1) Fix colors. 
2) Add other 6502-based games.  



ABOUT THE AUTHOR
----------------
This is me:

Pete Rittwage (bushwick@ix.netcom.com)
772 Winyah Dr.
North Augusta, South Carolina, USA, 29841

