Memory Map is an on-going feature of ANTIC. See issue #1, 2, and 3 for
previous installments. We intend to publish the function of all the low
memory RAM locations. The format for our description is:
12 $C 2 DOSINI
The Operating System variable called DOSINI uses 2 continguous
locations starting at address 12 (decimal) or C (hexidecimal).
Page 2 continued
673 $2A1 1 TMPLBT
??
674 $2A2 1 ESCFLG
Used by screen editor. Flag set to $80 when ESC [$1B] character
detected. Reset to 0 following output of next character. Causes character
following ESC to be displayed. Only exception is EOL [$9B].
675 $2A3 15 TABMAP
Logical Line start.
690 $2B2 4 LOGMAP
Logical line bitmap. When a bit is set then a logical line starts
at the corresponding physical row number. All bits set to 1 when text screen
is opened or cleared.
694 $2B6 1 INVFLG
Inverse video flag toggled by ATARI logo key sets bit 7 = 1.
695 $2B7 1 FILFLG
Indicates to display handler whether current operation is fill
<> 0 or draw = 0.
696 $2B9 1 TMPROW
??
697 $2B9 2 TMPCOL
??
699 $2BB 1 SCRFLG
Scroll flag set to number of physical lines - 1 that were deleted
from top of screen. Since logical lines range from 1-3 physical lines then
this variable ranges from 0-2.
700 $2BC 1 HOLD4
Used to save and restore value in ATACHR [$2FB] during fill process
when ATACHR is temporarily set to value in FILDAT [$2FD].
701 $2BD 1 HOLD5
Temporary used by draw.
702 $2BE 1 SHFLOK
Shift/control lock flag initialized to $40 at powerup.
$00 = normal mode lowercase alpha $61-$7A
$40 = caps lock upper case $41-$5A
$80 = control lock $01-$1A
703 $2BF 1 BOTSCR
Bottom of screen = 4 then mixed mode, = 24 then normal.
704 $2C0 4 PCOLR0-PCOLR3
Player color registers and shadows.
PCOLR0 = COLPM0 [$D012]
PCOLR1 = COLPM1 [$D013]
PCOLR2 = COLPM2 [$D014]
PCOLR3 = COLPM3 [$D015]
Size in pages of available RAM permanently retains RAM top address
contained in TRAMSZ [$6] with BASIC and 48k the = $160 = 40960.
741 $2E5 2 MEMTOP
Top of available user memory RAMSIZ less display list and display
memory (first nonuseable address). This value established by powerup logic
and reset re-established when screen display is opened.
743 $2E7 2 MEMLO
Bottom of available user memory established at powerup and reset,
not altered after that.
745 $2E9 1 SPARE
**
746 $2EA 4 DVSTAT
Device status buffer. Get status command puts information in these
bytes.
750 $2EE 1 CBAUDL
Cassette baud rate low byte.
751 $2EF 1 CBAUDH
Cassette baud rate high byte.
752 $2F0 1 CRSINH
Cursor inhibit flag. If = 0 then cursor on. If > 0 then no visible
cursor.
753 $2F1 1 KEYDEL
Key delay set to 3 whenever key code acepted. Decremented every
1/60 sec by stage 2 VBLANK process until it reaches 0.
754 $2F2 1 CHI
Prior key code read and acepted. Current key pressed compared with
contents of CH1 if same then debounce time checked. If OK then accepted.
If current key not same as CH1 then accepted. When accepted stored in CH
[$2FC].
755 $2F3 1 CHACT
Shadow for CHACTL [$D401] char control register.
bit 2 = 1 causes current character line to invert sampled at every char.
line.
bit 1 = 2 in 40 char. mode if bit 7 of current char. code = 1 then char
is blue on white
bit 0 = 1 in 40 char. mode if bit 7 of current char. code = 1 then car.
will be black blinking char produced by setting bit 7 of char. and periodically
changing bit 0 here.
756 $2F4 1 CHBAS
Vector to page address of character set init's to E0 (upper case
and punctuation) char set in ROM is $E000-E3FF shadow for CHBASE [$D409].
757 $2F5 5 SPARE
**
762 $2FA 1 CHAR
Contains internal code corresponding to what is in ATACHR [$2FB].
This will be converted to ATASCII.
763 $2FB 1 ATACHR
ATASCII character for most recent char read or written or value
of the graphics point. This value also determines color of line in draw
and fill commands.
764 $2FC 1 CH
Holds keyboard code for a character (not ATASCII). Keyboard handler
gets all data from here when it gets a character. It writes $FF here to
indicate code read. This location loaded when a key is pressed causing
an IRQ interrupt which vectors at $208. This interrupt service routine
loads the code into $2FC for processing at VBLANK stage 2.
765 $2FD 1 FILDAT
Right fill data for draw.
766 $2FE 1 DSPFLG
Display flag will allow control codes other than EOL [$98] to be
displayed if flag <> 0. If flag = 0 then control codes processed
normally.
767 $2FF 1 SSFLAG
Start/stop flag toggled by control-1 keys cleared by break key,
reset key, or powerup.
Page 3
DCB--Device Control Block
Used for hanler/SIO communication and between user and disk handler.
768 $300 1 DDEVIC
Peripheral unit 1 bus I.D. number.
769 $301 1 DUNIT
Unit number.
770 $302 1 DCOMND
Bus command.
771 $303 1 DSTATS
Command type status return.
772 $304 2 DBUFLO
Data buffer pointer. Set by handler to indicate source or destination
data buffer.