Jum's A5200 Emulator, Windows Version 0.6 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

16 March 2002

This is an Atari 5200 emulator for Windows.

The 6502 CPU emulator source is heavily based on a distribution
by Neil Bradley. The POKEY sound emulator is from Ron Fries.
The rest is by me :)


Obligatory Copyright Notice:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Jum's A5200 Emulator is copyright 1999-2002 by James Higgs.
POKEY Sound is copyright 1996 by Ron Fries.

Jum's A5200 Emulator is free as long as it is not used in a commercial
matter and not altered in any way. The contents of this archive should
not be added to or changed in any way. 

I maintain the right to forbid the use of the emulator  at
any time. I am not responsible for any damage caused by the use
of this program. This program is distributed "as-is". I make no
guarantees as to it's accuracy, performance, or compatibility with
the user's hardware.

Jum's A5200 Emulator ("Jum52") is not to be included in CD collections
of any sort.


******************************************************************
	DO NOT ASK ME FOR ROM OR CARTRIDGE IMAGES !!!
******************************************************************

Emulated hardware:
~~~~~~~~~~~~~~~~~~
CPU			99%
ANTIC			97%
GTIA			97%
POKEY			99%	
Controllers		95%	(also joystick + mouse)

Still a few display timing problems.
Still a few controller problems.

What's New:
~~~~~~~~~~~

16 Mar 2002 (version 0.6)
	Consolidated rendering code for similar ANTIC modes.
	Implemented new collision code, using a "collision buffer".
		- collision now accurate, many games run much better.
		- speed decrease of about 33% 
	Fixed some age-old bugs in 6502 core - Wizard of Wor now works,
	and Megamania runs better.
	Changed controller code, added TRIG0 latch
		- now more accurate.
		- top side buttons now work (Dig Dug, Beamrider)
	Implemented PM/PF PRIORity table.
		- Mountain King torch now fixed.
	Fixed KABOOM! missing PM gfx (bug in non-DMA gfx code)
	Implemented ANTIC mode 3 (at last). Fixed ANTIC mode 2 a bit.
	Added crc32.c to calculate crc32 of images for identification
	Added very basic load/save state (saved as "state").
	F9 to save
	F10 to load
	Fixed missile crap left on screen (Dreadnaught, Frogger)
	Corrected horizontal offsets with HSCROLL
		- Frogger, HERO, Soccer, Jr. Pacman
	Added "PAUSE". (key P)
	Modified to run in 640x480 window (stretched).
	Simulated scanlines (TV mode). (key S)

8 October 2000 (version 0.5a+)
Added command-line switch so you can choose PAL mode (50Hz) if you
want (see jum52pal.bat). Default is NTSC mode (60Hz). 

3 October 2000 (release 0.5a):
Fixed up collision detection a bit, collision registers can be
viewed in the debug mode by pressing '1'. 

September 2000:
Implemented a real speed throttler.
Updated compatibility list, which isn't looking too bad anymore :)

Fixed graphics and controllers in "Star Raiders" by tweaking
display timing. Many other games happier now.

Re-wired renderer from mode-line based to a true scanline
renderer. Broke vertical and horizontal hardware scrolling. Fixed
horizontal scrolling. Tweaked priority. Made collision detection
worse.

13 August 2000 (release 0.4a):
Tested Asteroids and Tempest demo carts recently made available.
Told ROM mapper about Tempest.
Put vertical blank sync back in, so some lucky people will have it
running at 60 Hz.
Must really rewrite the renderer... :)


13 July 2000:
Not that much. See updates.txt
Mainly fixed "sprites-hanging-about-on-the-right-hand-side-
of-the-screen" bug, and improved the ROM loader/mapper to
recognise some ROMS that didn't load correctly.
Moon Patrol-DNW and Star Wars and some others now run.
Basically, "more games run better".
My JUMPONG demo now has sound. I still need to do some more work
on it though... :)
 


Compatibility:
~~~~~~~~~~~~~~

Most carts will run. Some games still give problems:

Buck Rogers
Decathlon
Mr. Do's Castle
Quest for Quintana Roo
Rescue on Fractalus

New games playable with version 0.6:

Wizard of Wor
Megamania
Dig Dug
Frogger & Frogger II
HERO 
+ maybe some more

The debugger has also been updated slightly, for all those of you
out there coding something for the A5200, or who wish to see why a
particular game doesn't work.

Keys:
~~~~~
F1	5200 Start button
F2	5200 Pause button
F3	Reset (reboot emulator)
F4	Go to monitor & halt CPU
F5	5200 * button
F6	5200 # button
F8	Switch between Keyboard/Joystick/Mouse control
F9	Save state
F10	Load state
F11	Toggle fps display on/off
F12	Dump screen to PCX file

ESC	Go back one level. (ie: does what you expect)
Pause   5200 Pause button
P	Emulator pause
S	Scanline mode (TV mode) on/off

Player 1:
~~~~~~~~~
Arrow Keys	Up/Down/Left/Right
Left Ctrl	Fire
Space		Trigger ("fire 1")
Z               Side button ("fire 2")
0-9, F5, F6     Keypad buttons (also "-" (*) and "+" (#) )

Player 2:
~~~~~~~~~
E/X/S/D		P2 Up/Down/Left/Right
Backspace	P2 Fire
/               P2 Start
*		P2 Pause
Del		P2 * button
Enter		P2 # button

Debugger Keys
~~~~~~~~~~~~~

Press H while in the debugger to get help.


Joystick:
~~~~~~~~~

Calibrate the joystick by clicking on the "Calibrate" button
in the options dialog.

Joystick calibration settings will be saved in "joy.ini".

Many games do "auto-calibrating" while you play. Moving the
joystick handle in a big circle while chanting "work dammit"
usually gets it working OK.


Mouse:
~~~~~~
The mouse does not require calibrating :)
Use the mouse for Missile Command and maybe other trackball
games.


Getting started:
~~~~~~~~~~~~~~~~

You will need:
Jum's A5200 Emulator executable JUM52.EXE
A5200 bios rom, renamed to "5200.BIN", in the same directory.
Some 16k or 32k 5200 cartridge images

******************************************************************
	DO NOT ASK ME FOR ROM OR CARTRIDGE IMAGES !!!
******************************************************************


Run jum52.exe
Choose the type of control you want to use.
Set other options as neccessary.
Click on "Load ROM" to load and run a ROM image.


Command-line switches:
~~~~~~~~~~~~~~~~~~~~~~

PAL	Use PAL mode. (See jum52pal.bat).



FAQ:
~~~~

1. Q: It doesn't run on my Mac.
   A: Run a PC emulator on your Mac, then run it on the PC emu :)

2. Q: It's crap. There's no blah blah yadda yadda ...
   A: It's free. Waddaya expect?

3. Q: It's so sssslllllooooowwwwwwwww...........
   A: Not really. You just have a crap PC.
   A: You should have seen it before some optimisations!
   A: Program still have room for optimisation.
   A: You should get between 30 to 575 fps on most games.

4. Q: I have trouble getting the joystick to work.
   A: Delete joy.ini and restart. 
   A: Joystick is not completely emulated.

5. Q: I don't hear any sound.
   A: Cut down on the heavy metal.
   A: Turn up the volume REALLY loud.
   A: You have a crap sound card.

6. Q: Game X doesn't work.
   A: It may be a corrupt/bad ROM image (there are many).
   A: If you can't get past the start screen in the game,
      then Jum52 just doesn't handle that game (yet).

7. Q: Where can I get ROMZ? (plead/whine/grovel/demand)
   A: Learn to use a search engine, or something.



Troubleshooting and Comments:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Email:  james7780@yahoo.com

1. RTFM ("Getting started" above)
2. Intelligent questions are welcome.
3. Constructive comments are appreciated (especially comments on
   how the emulator differs from the real thing).


Future Features:
~~~~~~~~~~~~~~~~

1. Better.
2. Faster.
3. Better controller support.
4. Whatever you can suggest? 
5. Updated platform-independant version.

Credits:
~~~~~~~~
Thanks to:
Dan Boris (author of VSS and V7800) for infos.
Ron Fries (for POKEY emu).
Neil Bradley for 6502 emu.
Sherwood for helpful comments and other stuff.
Christpher Durante for useful input.
Other people who contributed or complained. 
