USAGE

test (That's all)

To get to the atari disk operating system type DOS in ATARI Basic.

If you want to get back to basic from dos, you will have to do a
M
A000

To load a disk-image of an atari-disk type F5 and then the number of
the disk you want to load [0-9].

To get out of the emulator type BYE in ATARI Basic.
If an atari program crashes, you can get out by pressing F12 too.

The program is still very sensitive.

Display.sys collides with my screen drawing routines, so it mustn't
show up in the config.sys file. There might be other programs to
interfere. If so, you will have to find out yourself. (Try booting
clean).

KEYBOARD

F1 = Help-Key of atari
F2 = Invers-Key
F3 = Start-Key

F5 Load a disk-image of an atari disk
F6 Save a disk-image of an atari disk

The disk images are saved as atari.[0-9].
A sample atari.0 is supplied (Try it).

F10 = Break-Key of atari

The keyboard handling isn't quite finished yet. A few keys don't work.
All keys with no function in the emulator are just passed to the bios
routine, so it's possible to run the program in the debugger.

With F12 you can always get out of the program.

MISSING

The hardware of an atari is by far not completely emulated yet.
I'm planning to let the program run in a protected mode environment,
with paging enabled, to simulate the bank switching and read/write
memory of an atari.

Most machine language programs will not run on the emulator, because
of the missing hardware-emulation. The Display List Interrupt is
completely missing and the Vertical Blank Interrupt is missing too.
And there is no joy-stick either. And the player-missile graphic
is missing too, so no games using it, will run.
But a surprising lot of basic-programs work without problems.

Lots of things could of course still be optimized.

NOTES ON THIS FILE

I'm not much of a doc-writer, but I did my best.

If any questions are still open, consult the source code.
There aren't much comments in my sources, but the program is very
structured, so it should be easy to follow the program flow.

The 6502-emulator eats up instructions in an endless loop.

The 6502 Status register is maintained on the stack (one byte per bit)
because that's as far as I can see it the only way to use instructions
which don't change the state of the real flags register.

The unused bit of the 6502 Flags must be set to 1, because there is a
part in the atari code, which pops the flags and tests for zero. (And
it mustn't be zero there).

Took me quite some time to find out. (As did the strange program-loading
of MS-Dos).

WARNING

Only works in lzexe compressed form!!! (You may use pklite as well).
MS-DOS doesn't load segments with exactly 64k correctly. (Or maybe
it doesn't place the segments of the ramdisk to the right places
in memory). I didn't find out what's true, but it does not work right
if you just assemble and link it.

To debug rename test.old to test.exe and start td.
Td does load the file correctly.

Make utility was Borlands Make 3.7
Assembled with Turbo Assembler 4.1
Linked with Tlink 7.0
Debugged  with Turbo Debugger  4.6
Compressed with lzexe 0.91

Antic modes 3, 4, and 5 are still missing.
The other modes should be added to the antic
routine as antic mode_x.

A second floppy disk could be added to the ramdisk routine.
(But since you can load disk-images I think this wouldn't be
of much use).

WHAT'S NEW

I added antic modes 4 and 5 so the only one missing now is 3.
This version uses the 320x240x256 nonstandard VGA-mode, so I can't
tell whether it's going to run on your video adapter. Especially I
can't tell, whether it is going to run on all SVGA-cards.


The keyboard emulation is a little more complete now.

SAMPLE DISK

The program monitor.com on the atari-disk can be started by loading it from
DOS (ATARI-Dos of course) and typing
M
8000

The telephone number to MORD.BAS is 040/7969129023 and a GOON might help
somewhere.

If you load PRUEFER.OBJ from DOS you can go to BASIC with
M
A000

and when in BASIC type

?USR(1536)

The keys to move in MOP.BAS are L R U D. To start the game type F3.

COPYING

The program is released under the GNU-License. See the file copying for
details.
