? 2600/7800 DEVELOPMENT KIT
CARE AND FEEDING INSTRUCTIONS
A full, complete 2600/7800 development system includes the following:
520ST or 1040ST COMPUTER or 520STFM (w/ built-in drive)
SH204 HARD DISK
SF354 or SF314 FLOPPY DISK (not incl. w/ 520STFM or 1040ST)
SM124 or SC1224 MONITOR
7800 GAME MACHINE - O.S. ROM REPLACED BY TRANSFER ROM ASSEMBLY
EPROM CARTRIDGE (FOR APPROPRIATE GAME SYSTEM)
DEVELOPMENT KIT DISK:
Also included: *
(various "readme" files)
(MADMAC "EXAMPLES" folder)
HARD DISK BOOT DISK (COMES WITH HARD DISK DRIVE)
DOCUMENTATION FOR 2600 DEVELOPMENT:
STELLA (2600) PROGRAMMER'S GUIDE
2600 GAME STANDARDS AND PROCEDURES
7800 SUPER CART SPEC
"USING THE SUPERCART... FOR DEVELOPMENT"
DOCUMENTATION FOR 7800 DEVELOPMENT:
7800 PROGRAMMING GUIDE
MARIA DIGEST (SHORT AND SUPERSHORT VERSIONS)
STELLA (2600) PROGRAMMER'S GUIDE
7800 GAME STANDARDS AND PROCEDURES
7800 SUPER CART SPEC
"USING THE SUPERCART... FOR DEVELOPMENT"
Set up the ST computer per its instructions.
If your 7800 has not been equipped with transfer ROM assembly,
you must install it according to the following instructions:
To open up the 7800, unscrew the bottom. Lift the shielded
PCB from the plastic housing. Remove RF shield by twisting
tabs. Refer to attached sketch of PCB for position of OS
rom. Remove OS rom in easiest manner. If you have older
7800, simply pull rom from its socket. If you have newer
7800, clip the rom pins and remove solder from PCB holes.
Install transfer rom, noting correct pin 1 position on
attached sketch. Put 7800 back together if desired and/or
possible. Note that it will be easier to remember which
buttons are Pause, Reset, and Select if plastic housing is
Connect 7800 to power supply, attach 7800 to TV set.
Attach custom transfer cable to printer port of ST and to the
joystick ports of 7800. You will probably want to make a
switchbox for the cable, so that you won't have to
constantly remove the cable to plug in a joystick, and vice
If your supercart RAM card has not been equipped with a Write-Enable
switch, you will need to do that. See supercart schematic
(if you do not have one and need one, call Tom Sloper).
Put as much RAM as you will need on the 1-meg ROM emulator.
It is set up for (4) 256K bits RAM chips.
Put the RAM card in the cartridge port (chips to the rear).
And off you go!
The 6502 cross-assembler is proprietary. Your serial number is
registered in your name. Pirating is a no-no!
If there are any questions regarding the use of the software or
hardware, call John Feagans at Atari. (408) 745-4923
With any other problems, call Tom Sloper. (408) 745-4874
*.PRG files may be run by themselves if they have been INSTALLed
as "Tos-Takes-Parameters" programs. Find INSTALL in one of the
options at the top of the desktop screen.
Feel free to telephone John Feagans at Atari (U.S.) at area code
(408) 745-4923 any time you have a question about using the
software. He wrote the download program and the transfer rom
code. He's the one who did not write any support documentation
to go with his software.
An explanation as to what all the programs on this disk do:
40COL.S Source code for a short 7800 program
ASM.BAT Submit file for the batch utility
BATCH.TTP Batch utility: executes programs in submit file
CONV65.PRG Converts memory image to "S Records"
DOWNLOAD.PRG Downloads code to the 7800
K.TTP "Kermit" - for communication between computers
MARIA.S Recommended 7800 equates file
WAIT.PRG Allows messages to remain on screen until
MAC.PRG Assembler (serialized in your name)
ME.TTP MicroEmacs editor
FILES ON THE DISTRIBUTION DISK
README Distribution disk documentation
MAC.PRG Macro assembler
ALN.PRG New linker [significantly faster]
DOINDEX.PRG Library index file constructor (for ALN)
CONV65.PRG 6502 object file converter
M.PRG "Quick" MAC.PRG invoker
ATARI.S Preliminary Atari ST equates and macros
INSTMAC.PRG Executable version of INSTMAC.S
EXAMPLES\ Example programs
ATARI.S Copy of ATARI.S
EXAMPLE1.S ->- Silly example programs
CODE.S 68000 opcodes (examples)
CODE65.S 6502 opcodes (examples)
SHIFT.S ->- another silly example program
INSTMAC.S Sample MAC installer (silly example)
In addition to the distribution disk, you should also have two
documents: a typeset assembler reference manual and a man page
for the linker.
MAC and ALN *love* to eat memory. You may have to remove or
shrink your massive ramdisks and desk accessories.
The example programs in the EXAMPLES directory were assembled
with the following commandlines:
mac -p example ==> example.prg
mac -p example1 ==> example1.prg
mac -p example2 ==> example2.prg
mac -p bugs shift images ==> bugs.prg
mac -p instmac ==> instmac.prg
mac code ==> code.o
mac code65 ==> code65.o
Some notes on the programs contained on this disk...
This is a version of our favorite ST graphics program with a new
feature added. In addition to the "Screen" (320x200), a new graphics
region known as the "Canvas" (640x400) is now available for use. By using
the grabber hand, one can position any portion of the canvas to appear on
the screen. Since the canvas is twice as wide & twice as high as the
screen, four times the previous picture area may be used for graphics
generation. This feature was requested by some of the coin-op game artists
working at Atari Games at the time. It should be noted that when saving a
picture, you will be asked to specify "Screen" or "Canvas". Now you'll
know what is meant.
Another feature present in version 1.0 (as well as this version) which
was hidden & undocumented, is "Animate". This feature was hidden because I
wasn't able to finish it to my satisfaction and hence it is somewhat of a
kludge. However, you may find it useful so I will reveal how to invoke
"animate": Get into grabber hand mode to make the word GRABBER appear on
the right side. Position the mouse pointer so that it points to the
"armpit" of the second "R" in "GRABBER". It should be exactly within the
inside portion of the top/left vertex, then click with the right mouse
button. The "Animate" icon will appear in the tool grid on the left side.
Click on this icon, and NEOchrome will enter animate mode.
Once in this mode, begin by creating a box in the drawing area
somewhat like you would if using "COPYBOX". This "box" defines the cell
size desired. Note that the width is forced to 16-pixel multiples and the
left origin is similiarly constrained. Now click "ADD" once for each cell
desired in the animate sequence. The current cell number is indicated in
the center rectangle. Click on the right arrow-box to step once forward,
and click on the left arrow-box to step once backward. Now, to load
graphics from the NEOchrome screen "underneath" to the current cell, click
with the right button when the mouse is anywhere on the drawing area and
"drag" the graphics until positioned as desired. Then step to the next
cell to record these graphics to this cell number. Load up the cells with
graphics in this manner until all the cells have graphics. Click the right
arrow-box with the right mouse button to start animate. Speed up and slow
down the rate by right or left clicks on the arrow-box in a way similiar to
how color scroll animation is controlled. To stop, click on the opposite
Be careful when animating at full speed (60 hz) not to move the mouse
off the arrow-box (since the mouse disappears). Slow down before moving
the mouse to the opposite arrow-box to stop animation. Once a cell is
loaded with graphics, fine positioning within the cell is accomplished with
the left mouse button when the cursor is anywhere on the drawing area. The
right mouse button reloads from the NEOchrome picture underneath as
described above. Click on the small "Copybox" icon in the lower right part
of the animate controller area to copy all graphics contained in the
current cell to the Copybox cut buffer (accessable from Copybox or
The animate feature is not polished and has a few bugs to watch out
for. Do not use UNDO or FULL SCREEN while in animate and be sure to "step
off" a cell after loading it with graphics to record the graphics to that
cell. "Load", "Save", and "New" are straightforward file functions.
Animate files are given the .ani extension. It is useful to create
NEOchrome screens with cell grids containing animation graphics. When it
becomes necessary to change graphics for a cell, the changes can be made
within the cell grid and "re-loaded" into the animate cell. Please do
not distribute this version of NEOchrome as it is copyrighted and
This is a NEOchrome picture file with the template used for 4k
graphics editting. The program NEO2S.TTP described below expects as input
a NEOchrome format picture file with this template filled with graphics.
The graphics to be used here are for 160x2 mode on the 7800. Other less
widely used modes will be supported at a later date. Only the first 4
colors of the NEOchrome color palette are used and each 7800 pixel is
represented by 2 NEOchrome pixels aligned horizontally with the leftmost
NEO pixel on an even x-postion. One can think of the 4k graphics block
edittable with this system as a horizontal strip of graphics 1024 pixels
wide by 16 pixels high. Since each 160x2 mode graphics byte contains 4
pixels, 1024 pixels are found in each page of 6502 memory which make up one
horizontal line of graphics on the NEOchrome template. 16 pages (4k) are
required for the 16 horizontal lines represented on this template. Byte
boundaries are indicated by the vertical blue lines. Only 32 bytes of 7800
style graphics can conveniently fit within the horizontal confines of the
NEOchrome screen, so 8 such strips were used to represent what should be
thought of as a single very wide strip 1024 pixels wide by 16 lines high.
Each graphics object needs a label for referencing within a
developers' program. Since objects can vary in width from 1 to 32 bytes
(always assuming 16 lines high), a method is needed to indicate where one
object ends and another begins. Use the right-most color (color 15,
usually white) on the NEOchrome palette to draw with the pencil tool a
single pixel on top of the blue byte boundary immediately above the
enclosed graphics strip. An example of this dot placement is found on the
template. The dot should be placed on the byte boundary between any two
graphics objects to delimit them. This will tell NEO2S.TTP where the label
breaks should be. The left-most byte is assumed to be the start of a
graphics object and needn't have such a pixel indicator.
Once you have completed your graphics creation on this template, save
it (as a screen, not a canvas) being careful that the screen is zero-
origined within the canvas. This means that the top/left corner of the
screen is exactly the top/left corner of the canvas. Now you are ready to
create a graphics source file using the next utility described below...
This program is pretty simple; just give it the name of an input .NEO
file on its command line, enter the name of an output .S file when prompted
for it (or just if the input file name with .S appended should be
used), and voila!--you have a graphics source file. Only graphics found
within the bounds of the template are used with the 4-color/2 pixel
restrictions applying as described above. The source file is MADMAC
compatible and generates 4k of graphics in 7800 160x2 mode with labels
provided to delimit each graphics object.
Other programs and files may be found on this disk which should have
accompanying README type documents describing their use.
If there are any questions, you may call Dave Staugas at  745-2267