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


What is Ast3DX?

	Ast3DX is an emulator for Atari's Asteroids arcade machine with
	newly designed 3d graphics and sound. It uses Atari's program ROMs
	from 1979 to give you the original gameplay. But this time you
	play Asteroids from the cockpit of the delta fighter and have a
	3d view on the Asteroids world. Ast3DX emulates Atari's Asteroids
	as a first person shooter.

	From a first person view, Asteroids is much harder to play. To 
	help you there is a radar on the top of the screen.

	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 Ast3DX 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 ;-)

	Ast3DX runs under DOS.


Program Design

	Ast3DX 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 Ast3DX, I disassembled the vector ROMs to find out, where the
	game objects' subroutines are located. Then, whenever the
	DVG interpreter	of Ast3DX 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 DXing 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.


Installing Ast3DX

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


Playing Ast3DX

	Play Ast3DX by going to the Ast3DX directory and typing "ast3dx.exe" in
	the DOS command line. Ast3DX 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

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


Making Your Own Asteroids Skin for Ast3DX

	You are strongly encouraged to design better graphics and sound for
	Ast3DX. 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 3d meshes for the bullets, the rocks, and the ufos are stored in
	special description files. Their textures in .pcx files in the "graph\"
	directory. If you want to create new 3d models, change them. If you need
	a detailed description of the mesh structure, send me an e-mail.

	The sound files are located in the directory "sound\". The sound
	effects	are represented by .wav files. As background music Ast3DX
	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, that 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 Ast3DX,
	send it to me (norbert.kehrer@utanet.at). I will include the best
	versions with full credits to you in the official distribution of
	Ast3DX. 
	

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

	Ast3DX 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 Ast3DX character set

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

	- Shawn Hargreaves: Thanks for the Allegro game programming library.


Enjoy Ast3DX.

Norbert Kehrer

June 28, 2000

 ;-)
