ANTIC VOL. 1, NO. 6 / FEBRUARY 1983 / PAGE 96
SYSTEMS GUIDE
Memory Map: Page 2 Continued
by James Capparell
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]
- 708 $2C4 5 COLOR0-COLOR3
- Playfield color registers and shadows.
COLOR0 = COLPF0 [$D016]
COLOR1 = COLPF1 [$D017]
COLOR2 = COLPF2 [$D018]
COLOR3 = COLPF3 [$D019]
COLOR4 = COLBK [$D01A]
- 713 $2C9 23 SPARE
- **
- 736 $2E0 2 GLBABS
- Contains entry address of code for auto-boot/run.
- 738 $2E1 2 SPARE
- **
- 740 $2E4 1 RAMSIZ
- 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.
To be continued in another issue