
                       ATARI 520 ST MEMORY MAP
 
 FF8000-FFFFFF                         I/O ASSIGNMENTS

 FFFC06                            6580 ACIA #2 (MIDI)
 FFFC00                            MFP 68901 Peripheral Controller
 FF8800                            YM2149 (AY-3-8910) Sound
 FF8600                            3H-2130 DMA/FDC
 FF8400                            RESERVED
 FF8200                            2H-2123 Video Controller
 FF8000                            Data Configuration

 FF0000-FF7FFF                     UNUSED
 FC0000-FEFFFF                     192K System Rom
 FA0000-FBFFFF                     128K Expansion Cartridge
 080000-F9FFFF                     UNUSED
 000000-07FFFF                     512K RAM
 078300-07FFFF                     32K Video Memory




 00242eW                           YX Postion of mouse
 00241eW                           Y position of mouse
 00241cW                           X position of mouse
 002418B                           Left/Right mouse buttons

                                   SYSTEM VARIABLES

 0004c4                            _drvbits = 3 if floppies
 0004bc                            _hz_200 = 200 Hz timer tick
 0004b4                            buf1 (2 buffer-list pointers)
 0004a6W                           _nflops = 0,1, or 2 floppies
 0004a2                            savptr
 00049ew                           _____md  (for GEMDOS)
 00048e                            themd
 000484B                           conterm  attribute bits
                                   # 0 enable keyclick
                                   # 1 enable key-repeat
                                   # 2 enable bell on ^G
 000482W                           _cadload
 00047e                            hdv_mediach (h.disk media cha)
 00047a                            hdv_boot (to boot from h.disk)
 000476                            hdv_rw (h.disk read/write)
 000472                            hdv_bpb (h.disk bios param bl)
 00046e                            hdv_dsb (h.disk state block)
 00046a                            hdv_init (h.disk initialize)
 000466                            _frclock (vert. blank count)
 000462                            _vbclock (vert/bl/int/count)
 00045e                            screenpt nextptr b/screen mem
 00045a                            colorptr pointer to pallette
 000456                            _vblqueue pointer to vblank
 000454W                           nvbls number of pointers " "
 000452W                           vblsem vert/blank semaphore
 00044e                            _v_bas_ad  ptr base screen mem
 00044cW                           sshiftmd  shadow for shiftmd
                                   =0 320x200x4 (low res)
                                   =1 640x200x2 (med res)
                                   =2 640x400x1 (hi res mono)
 00044aB                           defshiftmd default video res
 000448W                           palmode=0 NTSC, =1 PAL video
 000446W                           _bootdev  device # booted from
 000444W                           _fverify  floppy verify flag
 000442W                           _timr_ms  =$14=20d (50Hz)
 000440W                           seekrate default floppy seek
                                   =0 6ms, =1 12ms,
                                   =2 2ms, =3  3ms (default)
 00043a                            memval2 = $237698aa
 000436                            _memtop top of available mem
 000432                            _membot bottom of "       "
 00043a                            memval2 = $237698aa
 000436                            _memtop top of available mem
 000432                            _membot bottom of "       "
 00042e                            phystop physical top of RAM
 00042a                            resvector reset bailout vector
 000426                            resvalid = $31415926
 000424B                           memcntlr memory configuration
                                   =0 256K, =4 512K
                                   =5 1024K (2 banks)
 000420                            memvalid = $752019f3
 00040c                            etv_xtra log.vectors $103-107
 000408                            etv_term process/term $102
 000404                            etv_critic critcal/err $101
 000400                            etv_timer timer handoff $100

All addresses are for longwords (32 bits)
unless suffixed with W (word=16bits) or
B (byte=8bits).

                                   VECTORS
  000000-00003ff                   Exception Vectors
  000100-0003ff                    192 User-Defined Vectors
  0000c0-0000ff                    Unassigned, Reserved
  000080-0000bf                    Trap #0-15 Instr Vectors
  000064-00007f                    Level 1-7 Interr Vectors
  000060                           Spurious Interrupt
  000030-00005f                    Unassigned, Reserved
  00002c                           Opcode 1111 Emulation
  000028                           Opcode 1010 Emulation
  000024                           Vector 9 - Trace
  000020                           Vector 8 - Privilege Violation
  00001c                           Vector 7 - TRAPV instruction
  000018                           Vector 6 - CHK instruction
  000014                           Vector 5 - Divide by Zero
  000010                           Vector 4 - Illegal Instruction
  00000c                           Vector 3 - Address Error
  000008                           Vector 2 - Bus Error
  000004                           Reset-Initial Program Counter
  000000                           Reset-Initial Stack Pointer


  Comment.........

    Note that ROM Addresses are at TOP of 68000 Memory to allow 
    user RAM of approx 15.75 Meg.

    Note screen RAM (32K) resides at 480K to 512K in memory. Right
    smack in the middle of RAM huh !

    Note I/O & Devices are also at TOP of Memory.

    ABUSE ST BBS 817 634-7480 300/1200/2400 60+ megs



E