****************************************************************************
*                                                                          *
*   AstDX 2.0 - the Atari Asteroids emulator with new graphics and sound   *
*                                                                          *
****************************************************************************
*                                                                          *
*   Norbert Kehrer, June 2000                                              *
*                                                                          *
*   http://web.utanet.at/nkehrer  email: norbert.kehrer@utanet.at          *
*                                                                          *
****************************************************************************


What is AstDX?

	AstDX is an emulator for Atari's Asteroids arcade machine with
	newly designed graphics and sound. It uses Atari's program ROMs
	from 1979, but instead of drawing vector graphics as in the
	original game, most game objects are replaced by animated sprites.

	In the original arcade machine the sound is made with special
	circuits for each sound effect. In the emulator this is done
	with digital samples (.wav files). I added also a background music
	track with 10 different songs in MIDI format.
	
	As with every emulator, to play AstDX you need a ROM set for Atari's
	Asteroids. You can use the same ROM set as for the MAME emulator.
	The ROMs are not included in this distribution ;-)

	AstDX runs under DOS.


Program Design

	AstDX is similar to the DXed games in EmuDX and PAC-X. But it is 
	harder to manipulate vector games in this way than to improve games based on
	raster graphics. Atari uses a chip, the digital vector generator (DVG),
	to draw the vectors onto the physical screen. The game's objects
	(rocks, characters, a.s.o.) are represented by subroutines for
	the DVG chip, which are stored in vector ROM.

	To make AstDX, I disassembled the vector ROM to find out, where the
	game objects' subroutines are located. Then, whenever the
	DVG interpreter	of AstDX reaches a call to such a subroutine, it draws
	a sprite instead of the vectors.

	The sound effects were rather easy, I used the sound routines of the
	Allegro game library and the MAME source code as a template.

	All this DX process reminds me a bit on the (now rather outdated) research
	on meta interpretation. There also more semantics is given to a program,
	or additional functions are performed during the interpretation
	of the program.	I think it should also be rather easy to make Asteroids
	a first person 3D shooting game using the old program from 1979!


What Is New in Version 2.0?

	AstDX 2.0 adds the following new features to AstDX 1.0:
	- better graphics (more colors, smoother animation)
	- now the player's ship is also replaced by a sprite (this was hard)
	- 10 different MIDI songs as background music


Installing AstDX 2.0

	1. Unzip the file "AstDX2.zip".
	2. Place the files for the Asteroids ROMs in the directory
	   "astdx2\roms\asteroid\". You need the following files:
	   "035127.02", "035143.02", "035144.02", "035145.02"
	   Best is, to use the MAME roms, but do not use zipped ROM files!


Playing AstDX

	Play AstDX by going to the AstDX directory and typing "astdx.exe" in
	the DOS command line. AstDX uses the following keys to play:

	1     ... start 1 player
	2     ... start 2 players (still buggy)
	3     ... insert coin in slot 1
	4     ... insert coin in slot 2
	5     ... insert coin in slot 3

	Left  ... rotate left
	Right ... rotate left
	Up    ... thrust
	Ctrl  ... fire
	Space ... hyperspace

	S     ... make a screen dump
	Esc   ... quit

	AstDX has no command line options and no configuration file (yet).


Making Your Own Asteroids Skin for AstDX

	You are strongly encouraged to design better graphics and sound for
	AstDX. This is very easy. Just replace my graphics and sound files
	with yours.

	Graphics and characters are stored as Windows bitmap (.bmp) files in
	the directory "graph\".

	The sound files are located in the directory "sound\". The sound
	effects	are represented by .wav files. As background music AstDX 2.0
	subsequently plays 10 different MIDI files called "sound\music1.mid"
	to "sound\music10.mid". Currently these are MIDI tracks of various
	songs by ABBA from the seventies and early eighties (sigh ;-).
	Change the files, if you think, some other kind of music, better
	represents the feeling of those good old days or is better suited
	for the game.

	Very important:
	When you have designed a new graphics and/or sound set for AstDX,
	send it to me (norbert.kehrer@utanet.at). I will include the best
	versions in the official distribution of AstDX. 
	

Known bugs

	- The 2 players mode is still buggy. The graphics do not work correctly.
	- The graphics and music are still rather ugly (except the character set,
	  thanks to Marianne Muehlparzer). Especially ugly are the player's ship
	  and the saucer - improvements are welcome!
	- The high score display at the top of the screen does not work yet
	- The thrust graphics of the player's ship are not yet emulated
	- Explosion of the player's ship is not yet emulated


Credits

	AstDX 2.0 is based on the work of many other people from the emulation scene.
	Thanks go to the following people and projects (in no particular order):

	- MAME project: I got all the info about Asteroids from their source codes.

	- Brad Oliver: MAME driver for Asteroids

	- Chris Pile: Description of DVG programming

	- Eric Smith: Atari DVG simulator

	- Marianne Muehlparzer: Design of the AstDX character set

	- DJ Delorie: Thanks for DJGPP, the public domain C compiler

	- Shawn Hargreaves: Thanks for the Allegro game programming library.
	                    I also used some of the graphics from his demo game
	                    for AstDX rocks.


Enjoy AstDX 2.0  - the next version will be called Ast3DX.

Norbert Kehrer

June 3, 2000

 ;-)
