http://www.faqs.org/faqs/atari-8-bit/faq/
)
mcurrent@carleton.edu
comp.sys.atari.8bit
Usenet
newsgroup.
http://www.sonic.net/~nbs/new_and_emu.html
)
http://www.sonic.net/~nbs/new_and_emu.espanol.txt
)
bill@newbreedsoftware.com
and placing the sentence "send emulator faq
" in the
"subject" of the message.
comp.sys.atari.8bit
and comp.emulators.misc
newsgroups.
At the time of its release (mid 1994), much discussion went on in thecomp.sys.atari.8bit
Usenet newsgroup about the Atari 8bit emulator for IBM / MSDOS based computers, PC Xformer 2.0 (XF2 for short). Many people in the 8-bit community had gotten fed up with the XF2-based questions which did not pertain to them, or to the very simple questions which came up time and again which bothered regular readers / digest subscribers.This file was created to reduce the number of 'newbie' and XF2 questions. Now it's becoming a fairly good reference, and of course includes information on all of the other emulators that have come since then.
This FAQ will present answers to simple questions like "how do I turn off BASIC" (a good answer to that of course is, Read The Fine Manual) and "how do I get a disk directory?"
It will also direct people who are unaware of the large amount of Atari 8-bit support (NOT NECESSARILY EMULATOR SUPPORT) and perhaps become a supplement to the many official and unofficial files floating around the net (like the official FAQ, the Vendor/Developer List, the Who's Who list, etc.).
Graphics:
- Playfield Graphics (Bitmaps):
The Atari has maximum resolution of 320 x 192 x 2 colors. (standard, non-overscanned screen).
160 x 192 x 4, 160 x 192 x 2, 160 x 96 x 4, 160 x 96 x 2, 80 x 48 x 4, 80 x 48 x 2, and 40 x 24 x 4 graphics are also supported.
GTIA (newer 800's and all XLs/XEs) graphics support 80 x 192 x 16 shade-only, 80 x 192 x 16 hue-only, and 80 x 192 x 9 color screen modes.
Special software-based modes (using page-flipping and interlacing) can achieve 80 x96 x256 colors, 80 x192 x256 colors, 80 x192 x4096 colors, and 160 x192 x30 greys.- Text:
In all text modes, character set indirection (fonts) is available. The XL/XE's also come with a second ROM-based font which contains "international characters" in place of the graphical shapes.
40 x 24 x 256-character (128 normal, 128 inverse) text mode is standard (2 colors).
20 x 24 x 64-character and 20 x 12 x 64-character modes are built-in. (The remaining 192 characters are identical to the first 64, but in 3 different colors)
40 x 24 x 128-multi-colored-character (4 colors per character allowed, the other 128 characters have pixels of the 4th color changed into a color #5) and 40 x 12 x 128-multi-colored-character screen modes are available, and in the XL/XE's are available through the OS (on the 400/800, you must create them yourself).- Underscan/Overscan:
Normal (bordered), narrow (underscanned), and wide (overscanned) screen widths are available. In modes which typically have 40 bytes per line, narrow mode presents 32 and overscanned mode presents 64 bytes per line.- Display Lists:
Screen modes can be mixed (by lines) down the screen using the Display List (similar to "Copper Lists" on the Commodore Amiga; a "program" which is executed by the ANTIC graphics chip every screen refresh (60 times per second on real NTSC Ataris, 50 times per second on real PAL Ataris).
All other screen attributes (color, player/missile horizontal position, screen width, player/missile/playfield priority, etc.) can be ajusted at any point down the screen via a "Display List Interrupt," where the CPU is interrupted to execute special code when a line containing an "interrupt" is processed by ANTIC.- Scrolling:
Fine scrolling (both vertical and horizontal) can be enabled on any line on the screen.- Player/Missile Graphics (Sprites):
Four 8-bit wide and 128 or 256 byte high single-color "players," and four 2-bit wide, 128 or 256 byte high single-color "missiles" are available. A mode to combine the 4 missiles into a 5th 8-bit wide player is also available, as is a mode to XOR colors or blacken out colors when players overlap (good for making three colors out of two players!) Players and missiles have adjustable priority (you can specify which players and missiles appear "on top of" or "below" other players, missiles or playfield graphics) and collision detection (where, instead of creating your own complicated code, the ANTIC chip can tell you when players and/or missiles touch each other or the playfield).Sound:
- Four voices of 8-bit pitch-resolution (3.5 octaves), 4-bit volume-resolution, and one of 8 "distortions" can be produced. 2 voices (voices 1 and 2, and/or voices 3 and 4) can be combined to make 16-bit pitch-resolution. Also, 4-bit volume-only modes can be enabled for digitally sampled soundreplay.
- A fifth "voice" is produced by the internal speaker on Atari 400/800's (for keyclick and buzzer) and in the XL's and XE's this was rerouted through the normal audio output. (The OS's keyclick can be disabled, and you can of course create your own sound.)
- Some hardware stereo upgrades (like "Gumby") exist which double the number of voices and add a right-channel to provide true stereo. (Not much software supports this.)
- Some hardware upgrades (like "Covox") exist which double the resolution of the "volume-only" audio capabilities of the Atari to 8-bits. (Not much software supports this, either.)
This section contains some typical new-user and emulator-user questions. The answers are directed to both regular Atari users and emulator users.
- What does "
READY
" mean?
This is the Atari BASIC prompt. See the BASIC section, below.- Why doesn't this program load?
The program may not work under the Atari 800 Operating System, it may require the XL/XE Operating System. Be sure you're in 800XL or 130XE mode. (Note: Not all (versions) of emulators support XL/XE modes!)It may not work under the XL/XE Operating System (rare cases), switch to 800 mode.
Be sure you turned BASIC off before trying to load it if it cannot run with BASIC on.
It might be a BASIC program! Be sure you're in BASIC and use the BASIC "
RUN
" or "LOAD
" (and then "RUN
") command. Also, be sure it works with the BASIC you have. Some programs only run in BASIC XL or XE (which are both cartridge-based BASIC's not easily available to an emulator), and some run with TurboBASIC XL (disk-based). (Note: BASIC files usually end in the extension ".BAS
," ".BXL
," or ".TBS
," for Atari BASIC, BASIC XL, and TurboBASIC XL, respectively.)It may just refuse to run on the emulator.
- How do I disable BASIC?
- Real Atari XL/XE: Hold the [OPTION] key while turning the power on or rebooting
- PC Xformer: Press [SHIFT]-[F10] to reboot with BASIC disabled
- Rainbow: ???
- Atari800: Run with the "-nobasic" command-line switch
- Atari800Win: ???
- XL-It!: ???
- ST Xformer: ???
- ACE: ???
- Why doesn't this game/program run correctly?
It may use player/missle collision detection which is not supported on some versions of emulators.See "Why doesn't this program load?", above.
- How do I exit the emulator?
- PC Xformer: Press [F5]
- Rainbow: Press [Apple]-[Q] or select "Exit" from the "Apple" menu.
- Atari800: Press [F9] or close the window
- XL-It!: ???
- ST Xformer: ???
- ACE: ???
- How do I get to Atari DOS?
In BASIC, type "DOS
" at the "READY
" prompt.Reboot without BASIC on.
Be sure you have a DOS-bootable disk image loaded / floppy disk inserted into drive 1 ("D1:").
- How do I use files which are not in disk images with an emulator?
To "install" files as though there were plain disks with PC Xformer, simply add the files to the command line and use them as their respective drives (be sure the first drive is a DOS-bootable disk image).
Example:XFORMER MYDOS45.ATR filename.ext
To use a file from your Mac in Rainbow, make sure the disk image in drive 1 has enough space for the file, and select "Import File" from the "Extras" menu. The file will be added to that disk image.In Atari800, use the "H:" drive from within the Atari to access files on your filesystem. If the program is executable, you can boot Atari800 and load and run the single file by using the "-run" command-line option. To use Unix files in XL-It!, ???.
To use MSDOS or Unix files in ACE, ???.
- How can I manipulate disk images?
Use the MSDOS program S2PC which allows you to access files within a MyDOS/compatible .ATR disk image. S2PC let's you read, write, delete, change directory, and view the directory of a MyDOS/compatible .ATR disk image. It can be used via command-line parameters from MSDOS, or as a menu.Use the MSDOS program ATARIMG, which is much like S2PC but has a nicer, more graphical (less-menu driven) interface. (Unfortunately, this doesn't run on all IBM's!)
Use the Mac program Virtual Disk Editor.
- Just what ARE .ATR, .PRO and .XFD files?
Refer to the XFormer, SIO2PC and APE manuals for details on these files.Simply put, they are Atari disks, stored as files which are as big as the disk they represent (an 88k disk image will be approximately 88k.) .ATR files are used by SIO2PC and APE (see below) as well as most Atari emulators. .XFD files are used by ST Xformer and PC Xformer. .PRO files are like .ATR files, but they include some copy-protection scheme information; these files are used by APE.
- What are SIO2PC and APE?
Refer to the SIO2PC manuals for details on this program.Refer to the APE manual and SIO2PC hardware manual for details on this program.
These are a programs which run on IBM/compatibles under MSDOS. (APE can also run under "dosemu" for IBM/compatibles running Linux). With the use of of a simple (and relatively inexpensive) cable, the software makes the IBM act as though it were a number of Atari peripherals. SIO2PC emulates up to four disk drives (any drive ID numbers from 1 to 8 are allowed) and a printer. APE emulators up to eight disk drives, a printer, and a modem (RS232). They use disk image files (.ATR's) and can also let the Atari access plain IBM files. SIO2PC does this much like PC XFormer does, making the single file its own disk. APE allows you to navigate your PC's drives through an Atari drive. The printer emulation of these programs redirect Atari "P:" writes to the PC's printer. SIO2PC can also direct the output to the screen or to a plain IBM file. Different text translations/conversions are available. (APE also allows keyboard macros, command key redefinition, the ability to save the current drive/etc. configuration and load it later as a "block", and the ability to both emulate copy protected disks (with it's own extension of the ".ATR" format, the ".PRO" format (which will hopefully be used in future versions of Atari emulators)) and create disk images from copy protected disks (with a special cable). SIO2PC may soon have this ability as well, since the documentations say it has been planned for a while.)
- What is XFSIO?
Refer to the XFSIO manual for details on how to use this program.XFSIO is a shell for PC XFormer, XLiT!, APE and SIO2PC which allows you to set the command switches for the previously mentioned programs. It also allows you to comment each 'virtual disk' with up to 132 characters, and can search the database to find which disk a particular title is on.
Note: This section will simply discuss Atari BASIC, the Atari OS, and Atari DOS 2.5 and MyDOS 4.5x (because these topics seem the most relevant to the less-knowledged/experienced Atari 8-bit users). No emulator-specific information will be presented.
- AtariDOS and MyDOS QuickReference:
MyDOS (4.50 and 4.53) presents the user with the following commands:
[*]
Disk directory of current directory (like "dir *.*
" in MSDOS and "ls *
" in Unix)[1]-[9]
Disk directory of a disk drive (like "dir a:\*.*
" to "dir i:\*.*
" in MSDOS)[A]
Disk directory (like "dir <mask>
" and optional output destination in MSDOS) You'll be prompted for a directory listing mask (like "D1:*.*" or "D3:GAMES:*.EXE")[B]
Quit to cartridge[C]
Copy file(s) ("[source],[destination]" copies from one place or disk to another, just "[source]" copies from one place on one disk in a drive to the same place on another disk in the same drive (asks for swapping))[D]
Delete file(s) (add "/N" to delete without being prompted first) (add ">*.*" or ":*.*" after a subdirectory name to delete the files within it. A subdirectory name alone will delete the subdirectory (if it is empty and unlocked)). (Acts like both "del
" and "rd
" in MSDOS and "rm
" and "rmdir
" in Unix.)[E]
Rename file(s) (renaming multiple files is allowed, but be careful) (Like "ren [old] [new]
" in MSDOS and "mv [old] [new]
" in Unix. With MyDOS and AtariDOS use "," between old and new masks.)[F]
Locks file(s) from overwrite, deletion and appending (like "attrib +r [mask]
" in MSDOS and "chmod 555 [mask]
" in Unix.) (It makes them "read-only.")[G]
Unlocks file(s) (returns them to their default state).[H]
Writes DOS files to a disk (this creates a disk which boots with the current version of MyDOS you are using and also has the menu file "DUP.SYS" on it as well).[I]
Formats a disk (add "/N" after the drive number to do a quick-format of an already-formatted disk (ie, just a very fast way to delete all the files on the disk.))[J]
Duplicate disk (copies an entire disk, including boot sector, and every other sector!!! When using disk images, as with emulators, SIO2PC or APE, it's much quicker to just copy one .XFD or .ATR to another).[K]
Make binary file: saves memory and makes it binary-loadable. See [L].[L]
Load binary file: loads a compiled program. (like "[filename]" in MSDOS, except any ".EXE", ".COM", ".OBJ", etc. is still required.)[M]
Run at address. Mainly for advanced users. Reboot is "E477", reset is "E474" (these are the hex values of the addresses where the routines to reboot and reset are.)[N]
MEM.SAV: when this is on, whenever you go to DOS (from BASIC, for example) it will write what is in memory to a file "MEM.SAV" so that when DUP.SYS (the menu) loads it isn't lost forever. When you exit DUP.SYS with the "B: Run Cartridge" command, MEM.SAV is reloaded and the environment should be as it was when you left. It's probably quicker to simply "SAVE" your programs (if in a language) which aren't nearly as big as all of the memory that MEM.SAV saves.[O]
Options: this presents the user with some options. Mainly for advanced users or special setups. See the MyDOS docs for details.[P]
Set density. Forces a drive to be recognized at a certain density if MyDOS can't figure it out. (???)[Q]
Make a subdirectory. (like "md" or "mkdir" in MSDOS).[R]
Set default directory. (like "cd" in MSDOS and "cwd" in SpartaDOS) This makes "D:" now the same as a subdirectory or other drive. ie, "D2:" will make all calls to "D:" act as though they are to "D2:" instead. Some programs when prompting for filenames do not add "D:" to the beginning if one is not present, they add "D1:". If you don't trust a program to look to "D:" instead of "D1:" and you want it to look to some place OTHER than "D1:" (ie, where "D:" is pointing which could be a VERY long path list), just add "D:" to the beginning. ALSO, some programs don't even ADD "D:"'s if they aren't in the filenames you give and may give errors (138, for example: device not present, ie, if you said "TESTFILE.DAT" it may think you want "T:" instead of "D:TESTFILE.DAT").[S]
Set ramdisk number. This is also under [O]ptions.[V]
Verify writes. This is also under [O]ptions. When Verify is on, writes will be slower but 100% reliable. With it off, writes will be much faster but possibly not as reliable (on bad disks, for example). Default is off.AtariDOS presents the user with the following commands which are identical to MyDOS's commands: A,B,C(no swaping),D,E,F,G,H, I(some densities),J,K,L,M,N
AtariDOS 2.5 presents the user with the following commands not present or not the same as MyDOS's commands:
[O]
Duplicate file. This is used to copy a file from one disk to another using only one drive. (In MyDOS, giving just a source will make [C]opy act like DOS 2's Duplicate.)[P]
Format Single. In DOS 2.5, this is used to format 88k (Single Density) disks. To format an Enhanced Density (127k) disk, just use [I]. In DOS 2.0, [I] is the only format option and only handles 88k. (I may be wrong, but I have never had a Double Density drive under Atari DOS 2.0 or 2.5!)- General DOS and OS questions:
- How do I access the disk drives?
First, you need to have booted with a DOS. All but one DOS is on disk (SpartaDOS X is on cartridge). When the Atari boots up, it does some of its 'boot-up stuff' which includes looking for a disk drive connected and turned on which is set up as drive #1. It then begins to load from the disk's "boot sector". If none exists or there's a nasty error on the disk, you get the "BOOT ERROR" notice until the error is fixed. (On SpartaDOS disks, even non-bootable disks have a boot sector, but all the boot sector is is a small program which displays a 'not a boot disk' error).To end the digression, the answer to 'how do I access the disk drives' starts with 'you must boot the Atari with a DOS'. Check the 8-bit FAQ and the UMICH and other FTP archives for lists of DOSes available for Ataris, but the most used are Atari DOS (for compatibility with almost ALL older software), MyDOS (for an Atari DOS compatible high-end DOS), and SpartaDOS (for a very high-end DOS which looks much like MS-DOS but unfortunately cannont run all software which runs fine with Atari DOS and MyDOS.) Note: SpartaDOS does NOT run on Atari 400's and 800's (except the cartridge versions and I believe disk version 1.1). Now that you have a DOS loaded, the Atari understands the "D:" device (see below for Atari devices). Since there is more than one disk drive, you have to be able to tell them apart. The Atari uses numbers when it has more than one of the same device, so "D1:" is drive 1, "D2:" is drive 2, "D3:" is drive 3, etc.!
After the "D:" device name comes the filename. Of the most used DOSes, only MyDOS supports lowercase letters in filenames, but since most programs force uppercase entry for filenames, nobody really seems to use lowercase in their filenames.
- How do I copy things from one place to another?
Atari DOS and MyDOS give you the "C" command in their menu interface. When it asks for a source and destination, you can use wildcards (*
and?
like in most other DOSes) to copy more than one file at a time. You can also present no destination so that a file can be copied from one disk in drive 1 to another disk in drive 1, for example, and the DOS will ask you to insert each disk.- What are subdirectories?
Subdirectories are places where files go which are just like the normal directory of a disk, except the they happen to be WITHIN that normal directory, or even another subdirectory. For example, you can have your disk divided up into the "GAMES" files, the "GRAPHICS" files and the "SOUNDS" files. A directory of the disk (the "root" or "base" or "trunk" directory) will simply list the three subdirectories, "GAMES", "GRAPHICS" and "SOUNDS". Then, if you ask for a directory listing of the "GAMES" subdirectory, you will see the files (and perhaps other subdirectories) within the "GAMES" directory. Think of it as a tree. For people familiar with Macintoshes, "Folders" are simply subdirectories. A window which appears when you open a "Disk" Icon is the "root", and all of the "Folders" within it have more windows in them which also have file and folder icons.Here's a comparison to using subdirectories on different DOSes for the Atari and with MSDOS and Unix
root 'GAMES' 'SPACE' within 'GAMES' AtariDOS D: n/a n/a MyDOS D: D:GAMES: D:GAMES:SPACE: SpartaDOS D: D:GAMES> D:GAMES>SPACE> MSDOS (IBM) \ \GAMES\ \GAMES\SPACE\ UNIX / /games/ /games/space/Note, only Atari DOS would be using drive 1 here, all other DOSes are not necessarily using drive 1, and MyDOS and SpartaDOS may already 'be within' a subdirectory.In MyDOS and SpartaDOS (and MSDOS), you can change the 'current' or 'default' directory to a different place (a different drive or a subdirectory). "D:" can stand for "D1:" (like AtariDOS always does) or "
D2:GAMES:SPACE:
"! PLEASE READ THE MYDOS OR SPARTADOS DOCUMENTS FOR DETAILS ON THIS!- What does "P:", "E:", "K:", etc. mean?
As stated before, the Atari has devices. "D:" is added when a bootable disk in drive 1 is read. Other exist as well:
- C: Cassette
Readable and writeable, no filenames. Builtin to OS- D: Disk Drive
Readable, writeable, random access, directory, files, multiple devices (up to 9 on MyDOS and newer SpartaDOS, 8 on AtariDOS). Requires an Atari DOS- E: Editor
Readable, writeable. This is how input from the keyboard and output to the screen is normally handled. If you wish to type a small file up by hand and have it sent to the printer or a file, use "E:" as the source. Builtin to OS- G: Graphics Printer
Writeable. This is not built into the Operating System but must be loaded. This is an Epson-compatible printer driver which can easily dump graphics.- K: Keyboard
Readable. This is just the keyboard. Input from it is not `echoed' back like with the "E:ditor". Builtin to OS- M: "Multi-Mouse"
Readable, writeable? This is not built into the Operating System but must be loaded. This is a handler which runs in the background and accepts input from either a mouse, a joystick or a touch-tablet and displays a mouse pointer on the screen.- M: "Multiplexer"
Readable, writeable. For Atari's connected to each other via a "Multiplexer" local area network, the "MUX" Operating System replacement provides an "M:" device for computer-to-computer communication.- P: Printer
Writeable. Send data to this and it will appear on the printer. You can print files (documents, etc.) by using "P:" as the destination. The Atari XL/XE OSes support "P1:" and "P2:", although I believe this usage is rare. Builtin to OS- R: RS232 (COM port)
Readable, writeable, concurrent mode. This is not built in to the Operating System, but is loaded. It supports modems. The Atari 850 Interface has it's "R: handler" 'built-in', which means the Atari also looks for an 850 (or other compatible interface) and receives the "R: handler" code from it. Other interfaces and the Atari 'direct-connect' modems require a file to be loaded which contains the "R:" code. "R1:" and "R2:" is also supported, but also its usage seems rare.- W: Windowing (screens)
Readable, writeable. This is a graphics 8 graphical windowing driver (rarely used, unfortunately!). It must of course be loaded as well.- Z: RTime8 Real-time Clock
Readable, writeable. This is also not built in to the OS, but loaded. This is loaded from disk and lets the user access the "RTime8" real time, battery-backed up clock for the Atari 8-bit. (This is a cartridge-based device). I am unaware of any "Z:" clone which let's you set the Atari internal (non-real time, non-battery-backed-up) clock if you do not have an RTime8, although I'd love to see one! [hint!!]- How do I print something from DOS?
As stated above, just use the "C"opy command, then use the file you wish to print as the 'source', and "P:" as the 'destination'. Example: "D1:DOCUMENT.TXT,P:
" Except for ASCII text files, you'll usually want to print from within a program capable of opening the file, otherwise you'll print garbage. A good rule of thumb is if you can see it when you do a "C"opy to the "E:"ditor, then you can print it by "C"opying it to the "P:"rinter.
READY
" mean?
RUN
" command.
NEW
" command.
CLR
" command.
LOAD
" command followed by a
filename (see below). To load and run a program, use the "RUN
"
command followed by a filename.
SAVE
" command followed by a
filename.
LIST
" command followed by an
optional destination device ("D:file.lst", "P:"rinter) and an option start
and end set of lines seperated by (a) comma(s).LIST
10
" to see line 10.LIST 10,20
" to see lines 10
through 20.LIST 10,
" to see lines 10 to the end
(TurboBASIC XL and BASIC XL(???)
only!)LIST "P:"
" prints the listing to the printer.
(Beware the graphics characters will probably mess up the printout on most
printers!)LIST "D:A.LST",10,20
" saves the listing of lines
10 through 20 to the file "A.LST
"http://student.uci.agh.edu.pl/~tatar/Atari/Langs/abasic.html
)
DOS
" to quit BASIC and return to DOS.
BYE
" to quit BASIC and exit to the OS's "bye"
routines (Atari Memo Pad on 400/800's, Atari logo on 1200XL's, and Self Test
on other XL's and XE's). (Note: On 1200XL's, use [HELP] to go to the Self
Test when the Atari logo appears).
DIM [name]$(#)
. Example: DIM A$(10)
- now A$ can
contain between 0 and 10 characters.
(Note: Add "32" to the mode number to keep the screen from clearing when it appears. One problem, however, all screens overlay each other so unless you only use certain modes at certain times, parts of some screens will become (or start out) with 'garbage' on them.)
GRAPHICS 0
: 40 x 24 x 2 text
GRAPHICS 1
: 20 x 24 x 5 text
GRAPHICS 2
: 20 x 12 x 5 text
GRAPHICS 3
:
40 x 24 x 4 graphics
GRAPHICS 4
:
80 x 48 x 2 graphics
GRAPHICS 5
:
80 x 48 x 4 graphics
GRAPHICS 6
:
160 x 96 x 2 graphics
GRAPHICS 7
:
160 x 96 x 4 graphics
GRAPHICS 8
:
320 x 192 x 2 graphics
GRAPHICS 9
:
80 x 192 x 16 luminence-only graphics
GRAPHICS 10
:
80 x 192 x 9 graphics
GRAPHICS 11
:
80 x 192 x 16 hue-only graphics
GRAPHICS 12
:
40 x 24 x 4-colored text
GRAPHICS 13
: 40 x 12 x 4-colored
text
GRAPHICS 14
:
160 x 192 x 2 graphics
GRAPHICS 15
:
160 x 192 x 4 graphics Commands available in Atari BASIC for manipulating simple graphics include:
PLOT
x,y - plot a pixel
POSITION
x,y - position cursor
COLOR
c - set drawing color (c=color or character value)
DRAWTO
x,y - draw a line from cursor location (set with
"POSITION
", "PLOT
", "DRAWTO
" or
"LOCATE
")
LOCATE
x,y,r (where "r" is a varibale where result will be
stored)
SETCOLOR
c,h,l (c=palette location (0 to 4), h=hue (0 to
15, explained below, l=lum, 0 (darkest) to 15 (brightest))
Note: COLOR
command colors are not identical to
SETCOLOR
command colors:
In 4-color drawing modes, all four of these colors map to the SETCOLOR palette locations:
COLOR 0
will draw using the background color, set with
SETCOLOR 4,hue,lum
COLOR 1
will draw using color "0", set with SETCOLOR
0,hue,lum
COLOR 2
will draw using color "1", set with SETCOLOR
1,hue,lum
COLOR 3
will draw using color "2", set with SETCOLOR
2,hue,lum
In low-resolution 2-color drawing modes, these two colors map to the SETCOLOR palette locations:
COLOR 0
will draw using the background color, set with
SETCOLOR 4,hue,lum
COLOR 1
will draw using color "0", set with SETCOLOR
0,hue,lum
In the high-resolution 2-color drawing mode (GRAPHICS 8), and in the 2-color text mode, (GRAPHICS 0 and the text windows), these three colors map to the SETCOLOR palette locations:
COLOR 0
will draw using the background color, set with
SETCOLOR 2,hue,lum
COLOR 2
will draw using a color which is the luminence of
color "1" and the hue of the background (color "2"): SETCOLOR
1,anything,lum
SETCOLOR 4,hue,lue
will change the color of the screen
border. In the GTIA luminence-only graphics mode (GRAPHICS 9), the color specified with "COLOR" is the brightness of the pixels you plot (0 is black/darkest, 15 is white/brightest).
COLOR 0
is the background color and pixel hue, set with
SETCOLOR 4,hue,0
. Setting the luminence of the background to
anything but 0 causes strange things to happen. In the GTIA paletted graphics mode (GRAPHICS 10), the following colors are used:
COLOR 0
is the background color, which is actually
Player/Missile 0's color, set with POKE 704,hue*16+lum
COLOR 1
is PM 1's color, POKE 705,hue*16+lum
COLOR 2
is PM 2's color, POKE 706,hue*16+lum
COLOR 3
is PM 3's color, POKE 707,hue*16+lum
COLOR 4
is color "0", SETCOLOR 0,hue,lum
COLOR 5
is color "1", SETCOLOR 1,hue,lum
COLOR 6
is color "2", SETCOLOR 2,hue,lum
COLOR 7
is color "3", SETCOLOR 3,hue,lum
In the GTIA hue-only mode (GRAPHICS 11), the color you specify is the hue of the pixel (see the "SETCOLOR" color table, above). The luminence of the pixels is based on the value for the background luminence:
SETCOLOR 4,0,lum
Sets the luminence of all colors except
black, which remains darkest (black). SOUND c,p,d,v
CHR$(253)
aka [CONTROL]+[2] (NOT [CONTROL]+[G] like in MSDOS/Unix)
(Note: "Sh" means "[SHIFT]" and "^" means "[CONTROL]")
Key: AtASCII #: Use: ----------------- -------- --------------------------------------------- Atari none Turn inverse on/off (Atari 400/800 kybds) Inverse [Triangle] none Turn inverse on/off (Atari XL/XE kybds) CAPS none Turns caps-mode to lowercase (400/800 OS) CAPS none Toggles caps-mode from upper to lower (XL/XE) Sh-CAPS none Turns caps-mode to uppercase (all OSes) Ct-CAPS none Turns caps-mode to [Control]-[Lock] (all) Up ([^-]) 28 Move cursor up Down ([^=]) 29 Move cursor down Left ([^+]) 30 Move cursor left Right ([^*]) 31 Move cursor right Space 32 Move cursor right (overwrites w/Space char) BackSpace 126 Move cursor left (deletes previous char) Delete ([ShBkspc]) 156 Deletes a (logical) line (1-3 physical lines) Insert ([Sh>]) 157 Inserts a physical line Ct-Delete ([^Bksp]) 254 Deletes char under cursor, pulls rest left Ct-Insert ([^>]) 255 Inserts space under cursor, pushes rest right ClearScn ([^<]) 125 Clears screen Bell ([^2]) 253 Sounds buzzer TAB 127 Moves cursor to next TABstop ClrTAB ([^TAB]) 158 Clears any TABstop under cursor SetTAB ([ShTAB]) 159 Sets a TABstop under cursor ESC 27 Sets ESCape (next edit char after is shown, not done, non-edit chars shown (like normal)) RETURN 155 Sends End Of Line (moves cursor to lowerleft of next line, accepts input)
Note: Inverse characters have values of the normal version of the characters plus 128. (The only non-viewable inverse character is inverse-ESC, or what would be the [ESC],[RETURN] combination. The character exists, but must be set into screen RAM by hand.)
PRINT
statement (in BASIC, et.
al.), you must have it send an ESC beforehand, so first type [ESC],[ESC] to
make an ESCape character appear, then type [ESC] then the edit key and the
character for that edit key should appear.PRINT
statement is executed, the first ESCape (which you typed as two [ESC]'s)
will make the editor SHOW the following character (even if it is an edit
character), then the character which you entered (with [ESC] and then the
edit key) will make that character appear. This makes it difficult to align
a set of PRINT statements which make a multi-line picture or menu which uses
viewed edit keys.POKE 77,0
" at least once every few minutes (IF the
screen is active, otherwise turning it off would be kinda useless).
POKE
77,128
", voila! instant attract mode!
OPEN #a,b,c,d$
OPEN #1,4,0,"K:"
OPEN #2,8,0,"P:"
OPEN #3,12,0,"D:FILE"
OPEN #4,9,0,"D:DATA"
OPEN #5,13,0,"R:"
OPEN #6,6,0,"D:*.TXT"
CLOSE #a
GET #a,b
PUT #a,b
INPUT #a,b$
INPUT #a,b
PRINT #a,[stuff]
STATUS #a,b
XIO a,#b,c,d,e$
XIO 32,#1,0,0,"D:FILE,OLDFILE"
renames file
XIO 33,#1,0,0,"D:OLDFILE"
deletes file
XIO 34,#1,0,0,"D:GAMES"
creates a directory in My- &
Sparta-DOS
XIO 35,#1,0,0,"D:NEWFILE"
locks a file from over-write
and deletion
XIO 36,#1,0,0,"D:NEWFILE"
UNlocks a locked file
XIO 40,#1,4,0,"D:PROG.OBJ"
loads and runs a binary file
(like "L" in Atari and MyDOS)
XIO 40,#1,5,0,"D:PROG.OBJ"
loads a binary file (like "L"
in Atari and MyDOS with the "/N" option)
XIO 41,#1,0,0,"D:GAMES"
changes default directory that
drive/subdirectory (all calls to "D:" will now occur within that
drive/directory)
XIO 254,#1,0,0,"D2:"
FORMAT a disk (in Atari DOS 2.5,
this is format 'enhanced', to format 'single' density, use XIO 253) (in
MyDOS, this is format, but not 'enhanced', use:
XIO 253,#[channel],1,0,"D[drive]:"
for formatting a drive
in enhanced mode). If you have double-density Atari disks, you can use the program "Util" on the IBM which can read double-density Atari disks. Please see the Atari 8-bit FAQ for more details.
If you have an Atari 1050 disk drive, you can use the program MULE to copy files, one file at a time, 20k chunks at a time, from the Atari to the IBM. You first must format a 180k disk on your IBM, then run MULE on your Atari to get a file onto the MULE disk, then run MULE on the IBM to get the file onto the IBM. Tedious, isn't it? MULE wasn't meant to be a fully-functional program, just a demo to show that this was even possible.
If you're fortunate to have a Black Box interface on your Atari, you can get an external IBM drive and the Black Box's add-on, the Floppy-Board and simply copy files from your Atari disks or hard drive(s) onto IBM disks via the floppy board, then load them up on your IBM.
You can use SIO2PC or APE, which are programs for IBM's which turn your IBM into a set of Atari disk drives. You need an "SIO2PC cable" or something similar (which you can purchase, assembled or unassembled, or buy parts and build it yourself) and the SIO2PC or APE software (available at UMICH).
SIO2PC users: Connect your IBM to your Atari, load SIO2PC, and then run the program FILE2PC on the Atari to transfer files to the IBM's hard drive. Or instead create a disk image within SIO2PC and copy files from one disk (a real Atari floppy) to another (the SIO2PC image) with the Atari or MyDOS "C"opy command. If you want to extract files out of the SIO2PC disk image file and store them on your IBM's hard drive or floppies as single files, either again use FILE2PC or use S2PC, an IBM program which can extract files from or add files to MyDOS-compatible SIO2PC disk images!
APE users: You can turn one of the 8 Atari drives into a "PC-Mirror" drive, allowing access to save and load files directly onto your PC's disks.
There's also C source to a very similar program called "DCMTOATR" which works on PC's (a PC executable version comes in the archive) and Unix and probably any other system with a good C compiler.
http://www.umich.edu/~archive/atari/8bit/Emulators/Computer/
http://www.emulators.com/
) http://www.emulators.com
) info@emulators.com
WWW: http://www.emulators.com
http://www.chrislam.co.uk/
chris@chrislam.co.uk
http://www.chrislam.co.uk/
chris@chrislam.co.uk
magi@stud.uni-sb.de
http://www.htw.uni-sb.de/people/mgietzen/atari/xl-it.html
feb6399@osfmail.isc.rit.edu
http://www.csh.rit.edu/~shaggy/software.html
info@emulators.com
http://www.umich.edu/~archive/atari/8bit/Emulators/Peripherals/
http://www.atarimax.com/
http://www.umich.edu/~archive/atari/8bit/Diskutils/Transfer/mule.arc
(Atari)http://www.umich.edu/~archive/atari/8bit/Diskutils/Transfer/mule.exe
(IBM)http://www.umich.edu/~archive/atari/8bit/Diskutils/Transfer/mule.txt
(Documentation)
http://www.umich.edu/~archive/atari/8bit/Diskutils/Transfer/myutil.zip
http://emulation.net/atari800/atarivdedit.sit.hqx
http://www.umich.edu/~archive/atari/8bit/Diskutils/Transfer/dcm2dsk2.zip
(IBM)http://www.umich.edu/~archive/atari/8bit/Diskutils/Transfer/dcm2dsk2.blurb
(Documentation)http://www.insight-media.co.uk/idrun/
http://emulation.net/atari800/
http://www.retrosite.de/emulator/atarixl/atarixl.html
and elsewhere)
http://draco.atari.org/falcon.html
)
Other Atari 8-bit and emulated Atari 8-bit users can be reached on the comp.sys.atari.8bit
and comp.emulators.misc
newsgroups.
bill@newbreedsoftware.com