
S P A C E  I N V A D E R S: the emulator (V 1.0) 

- There is no sound: the sound was produced by discrete analog circuits. 
	You would have to build the circuit and sample the sound. 
	Quite impossible w/o schematics. 
- There is no joystick support: Gandalf hasn't conjured up a joystick yet! 
- Don't know what the correct Iperiod values are: one could try to do better 
	with them, I suppose. 
- Two player operation is supported.
- I may have the shifted bitmap port emulator exactly right, but it seems 
	to work.
- Sometimes the program dumps, don't know why, and I think it likes better
	to run behind a Windoze (3.1x) session, and I have no idea about
	Win95.
- Any and all bug reports/comments are welcome.
- Do you like the green screen! Isn't is pretty! :-)  

SI.exe was produced using DJGPP, Allegro, AMD 5x86 133, Cirrus 5434 PCI, 12 meg,
Win3.11, DOS6.22. It's a bit slow as is, so if you have a slower machine, I 
can't promise anything, but if you have any ideas for optimization, let me
know. And please tell me your machine specs if you want to send a bug report.

BTW, i'm quite certain that the 8080 does NOT have NMI...the main 
z80 module is modified to support two different Iperiods, and the 
interrupts vector to both 0x0010 and 0x0008. When I vectored 0x0010
as an NMI, strange things happened to the display!

ToDo: 	- Support Invaders variants (I guess there are several). 
		- Simulate the color bars (might get around to it) 
		- Use a different video mode (I kind of like the tiny screen though!)
		- Optimize, implement speed throttling (yeah, we'll see.....) 

Feel free to hack and mangle this code as you wish. 
Just don't try to sell it, lest you should incur jest and ridicule 
and a possible lawsuit by ticked off emulator authors. 
(and Gandalf might turn you into a newt!) 


To enable op_code dumping, comment out the 'if(R.PC.W==Trap)' condition 
in the main Z80.c module, as shown below: then recompile the code under
DJGPP to enable the debug function. The file 'map_file.map' will be produced,
which is used with Mark Incley's excellent 'Dz80' to disassemble only the
instructions that were actually executed, therefore you won't have a 
disassembly of any data. 

modify z80.c like this:
/*  if(R.PC.W==Trap) */ Trace=1;  /*** Turn tracing on if trapped ***/
    if(Trace) Debug(&R);       /*** Call single-step debugger  ***/


You must have the files invaders.h, invaders.g, invaders.f and invaders.e
	in the same directory with si.exe


Thanx to Ignacio, Allard, Mike Cuddy, Neil, Micheal Adcock
and several others who helped with info on the mail-list.
Thanx to Marat Fayzullin for the swell Z80 emulator. 
Thanx to all contributors to DJGPP, and Shawn Hargreaves for Allegro.


										----Gandalf------ 
										(Glenn Neidermeier)
										neidermg@coral.indstate.edu
										http://thunder.indstate.edu/~neider


