Jum's A5200 Emulator, Platform Independant version 0.51a+(pi) 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

"Super Pacman" edition - 22 January 2001

This is an A5200 emulator for DOS. It works OK, but nowhere near
perfect. Many games are playable (see the compatibility list).

It is written using DJGPP/Allegro. 6502 emulator source is heavily
based on a distribution by a guy called Neil Bradley. POKEY sound
emulator is from Ron Fries. The rest is by me :)

This is the Windows version, using Allegro 3.933 WIP. The source
code is now platform independant, so theoretically I should be able
to compile a Linux version when I get the chance. A BeOS version might
be possible too, but I don't know, since the source code is in C
(not C++).


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

Jum's A5200 Emulator is copyright 1999-2000 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 users 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			98%
GTIA			98%
POKEY			97%	
Controllers		70%	(also joystick + mouse)

Sound is emulated using Pokeysound (Ron Fries).
Hardware collision detection is not perfect.
Still a few display timing problems.


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

22 January 2001 (version 0.51a+ "Super Pacman" release)
Modified my heuristic ROM image analysis algorithm "HERO IM ANAL",
to cater for newly-available "Super Pacman" prototype ROM image.
Fixed a gfx bug (see lucasfilm title in Ballblazer/Fractalus).
Fixed a fatal gfx bug that wrote to image buffer line -1, which
caused crashes. Silly me.
 
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).
*** Note: this has been disabled in the Windows version - you
can still change it in the menu ***

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

See compatibility list file.
Most carts will run, even if not very well.

Despite the fact that the emulator is not complete, you might
find it useful if you're coding something for the A5200.

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
F11	Toggle fps display on/off
F12	Dump screen to PCX file

ESC	Go back one level. (ie: does what you expect)
Pause   Pause

Player 1:
Arrow Keys	Up/Down/Left/Right
Space		Trigger ("fire 1")
M               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



Joystick:
~~~~~~~~~
The first time you start jum52pi.exe, it will ask you to
calibrate the joystick. On the windows version, this is
broken at the moment, so just press OK, OK, OK.

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_051PI.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_051pi.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). *** Disabled in Windows
        version !!! *** 



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 an alpha, bonehead.
   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 30 to 60 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.

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. Correct sprite priority (blah!)
5. Better collision detection.
6. Game state load/save (???)
7. Whatever you can suggest? 


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. 
