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