1KB Low Memory

From DenialWIKI
Jump to navigation Jump to search

HEX DECIMAL DESCRIPTION

  0000      0       Jump for USR
  0001      1       Vector for USR
  0002      2       Vector for USR
  0003      3       Float-Fixed vector
  0004      4       Float-Fixed vector
  0005      5       Fixed-Float vector
  0006      6       Fixed-Float vector
  0007      7       Search character
  0008      8       Scan-quotes flag
  0009      9       TAB column save
  000A     10       0=LOAD, 1=VERIFY
  000B     11       Input buffer pointer/# subscript
  000C     12       Default DIM flag
  000D     13       Type: FF=string, 00=numeric
  000E     14       Type: 80=integer, 00=floating point
  000F     15       DATA scan/LlST quote/memory flag
  0010     16       Subscript/FNx flag
  0011     17       0 = INPUT;$40 = GET;$98 = READ
  0012     18       ATN sign/Comparison eval flag
  0013     19       Current l/O prompt flag
  0014
  0015  20-21    Integer value
  0016     22       Pointer: temporary string stack

0017-0018 23-24 Last temp string vector 0019-0021 25-33 Stack for temporary strings 0022-0025 34-37 Utility pointer area 0026-002A 38-42 Product area for multiplication

  • 002B-002C 43-44 Pointer: Start of Basic
  • 002D-002E 45-46 Pointer: Start of Variables
  • 002F-0030 47-48 Pointer: Start of Arrays
  • 0031-0032 49-50 Pointer: End of Arrays
  • 0033-0034 51-52 Pointer: String storage (moving down)

0035-0036 53-54 Utility string pointer

  • 0037-0038 55-56 Pointer: Limit of memory

0039-003A 57-58 Current Basic line number 003B-003C 59-60 Previous Basic line number 003D-003E 61-62 Pointer: Basic statement for CONT 003F-0040 63-64 Current DATA line number 0041-0042 65-66 Current DATA address

  • 0043-0044 67-68 Input vector
  • Useful memory location
                       170


  HEX      DECIMAL  DESCRIPTION

0045-0046 69-70 Current variable name 0047-0048 71-72 Current variable address 0049-004A 73-74 Variable pointer for FOR/NEXT 004B-004C 75-76 Y-save; op-save; Basic pointer save

  004D     77       Comparison symbol accumulator

004E-0053 78-83 Misc work area, pointers, etc 0054-0056 84-86 Jump vector for functions 0057-0060 87-96 Misc numeric work area

 *0061     97       Accum#1: Exponent
  • 0062-0065 98-101 Accum#1: Mantissa
 *0066     102      Accum#1: Sign
  0067     103      Series evaluation constant pointer
  0068     104      Accum#1 hi-order (overflow)
  • 0069-006E 105-110 Accum#2: Exponent, etc.
  006F     111      Sign comparison, Acc#1 vs #2
  0070     112      Accum#1 lo-order (rounding)

0071-0072 113-114 Cassette buffer length/Series pointer

  • 0073-008A 115-138 CHRGET subroutine (get BASIC char)

007A-007B 122-123 Basic pointer (within subroutine) 008B-008F 139-143 RND seed value

 *0090     144      Status word ST
  0091     145      Keyswitch PIA: STOP and RVS flags
  0092     146      Timing constant for tape
  0093     147      Load=0, Verify=1
  0094     148      Serial output: deferred char flag
  0095     149      Serial deferred character
  0096     150      Tape EOT received
  0097     151      Register save
 *0098     152      How many open files
 *0099     153      Input device (normally 0)
 *009A     154      Output (CMD) device, normally 3
  009B     155      Tape character parity
  009C     156      Byte-received flag
  009D     157      Direct=$80/RUN=0 output control
  009E     158      Tape Pass 1 error log/char buffer
  009F     159      Tape Pass 2 error log corrected
  • 00A0-00A2 160-162 Jiffy Clock (HML)
  00A3     163      Serial bit count/EOI flag
  00A4     164      Cycle count
  00A5     165      Countdown, tape write/bit count
  00A6     166      Pointer: tape buffer
  00A7     167      Tape Write ldr count/Read pass/inbit
  00A8     168      Tape Write new byte/Read error/inbit
                    cnt
  00A9     169      Write start bit/Read bit err/stbit
  • Useful memory location
                       171


  HEX      DECIMAL  DESCRIPTION
  00AA     170      Tape Scan;Cnt;Ld;End/byte assy
  00AB     171      Write lead length/Rd checksum/parity

00AC-00AD 172-173 Pointer: tape buffer, scrolling 00AE-00AF 174-175 Tape end addresses/End of program 00B0-00B1 176-177 Tape timing constants

  • 00B2-00B3 178-179 Pointer: start of tape buffer
  00B4     180      Tape timer (1 =enable); bit cnt
  00B5     181      Tape EOT/RS-232 next bit to send
  00B6     182      Read character error/outbyte buffer
 *00B7     183      # characters in file name
 *00B8     184      Current logical file
 *00B9     185      Current secondary address
 *00BA     186      Current device
  • 00BB-00BC 187-188 Pointer: to file name
  00BD     189      Write shift word/Read input char
  00BE     190      # blocks remaining to Write/Read
  00BF     191      Serial word buffer
  00C0     192      Tape motor interlock

00C1-00C2 193-194 I/O start addresses 00C3-00C4 195-196 KERNAL setup pointer

 *00C5     197      Current key pressed
 *00C6     198      # chars in keyboard buffer
 *00C7     199      Screen reverse flag
  00C8     200      Pointer: End-of-line for input

00C9-00CA 201-202 Input cursor log (row, column)

 *00CB     203      Which key: 64 if no key
  00CC     204      cursor enable (0=flash cursor)
  00CD     205      Cursor timing countdown
  00CE     206      Character under cursor
  00CF     207      Cursor in blink phase
  00D0     208      Input from screen/from keyboard
  • 00D1-00D2 209-210 Pointer to screen line
 *00D3     211      Position of cursor on above line
  00D4     212      0=direct cursor, else programmed
 *00D5     213      Current screen line length
 *00D6     214      Row where cursor lives
  00D7     215      Last inkey/checksum/buffer
 *00D8     216      # of INSERTs outstanding
  • 00D9-00F0 217-240 Screen line link table
  00F1     241      Dummy screen link
  00F2     242      Screen row marker
  • 00F3-00F4 243-244 Screen color pointer

00F5-00F6 245-246 Keyboard pointer 00F7-00F8 247-248 RS-232 Rcv pointer 00F9-00FA 249-250 RS-232 Tx pointer

  • Useful memory location
                       172


HEX DECIMAL DESCRIPTION

  • 00FB-00FE 251-254 Operating system free zero page space

00FF 255 Basic storage

0100-010A 256-266 Floating to ASCII work area 0100-013E 256-318 Tape error log 0100-01FF 256-511 Processor stack area

  • 0200-0258 512-600 Basic input buffer
  • 0259-0262 601-610 Logical file table
  • 0263-026C 611-620 Device # table
  • 026D-0276 621-630 Secondary Address table
  • 0277-0280 631-640 Keyboard buffer
  • 0281-0282 641-642 Start of memory for op system
  • 0283-0284 643-644 Top of memory for op system

0285 645 Serial bus timeout flag

  • 0286 646 Current color code

0287 647 Color under cursor

  • 0288 648 Screen memory page
  • 0289 649 Max size of keyboard buffer
  • 028A 650 Key repeat (128=repeat all keys)
  • 028B 651 Repeat speed counter

028C 652 Repeat delay counter

  • 028D 653 Keyboard Shift/Control flag

028E 654 Last keyboard shift pattern 028F-0290 655-656 Pointer: decode logic

  • 0291 657 Shift mode switch (0 = enabled, 128 = locked)

0292 658 Autoscrolldownflag (0=on, <>0=off) 0293 659 RS-232 control register 0294 660 RS-232 command register 0295-0296 661-662 Nonstandard (Bit time/2-100) 0297 663 RS-232 status register 0298 664 Number of bits to send 0299-029A 665-666 Baud rate (full) bit time 029B 667 RS-232 receive pointer 029C 668 RS-232 input pointer 029D 669 RS-232 transmit pointer 029E 670 RS-232 output pointer 029F-02A0 671-672 Holds IRQ during tape operations 02A1-02FF 673-767 Program indirects

  • 0300-0301 768-769 Error message link

0302-0303 770-771 Basic warm start link 0304-0305 772-773 Crunch Basic tokens link 0306-0307 774-775 Print tokens link 0308-0309 776-777 Start new Basic code link