Atari F030 and CT60 Hardware Register Listing V1.0: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
mNo edit summary
(begin converting to wiki tables, some wikification)
Line 1: Line 1:
  +
==[[CPU Reset Vectors]]==
<pre>
 
  +
{| border="1" class="wikitable" style="text-align:left"
.------------------------------------------------.
 
  +
|-
|Atari F030 + CT60 Hardware Register Listing V1.0|
 
  +
|+
`------------------------------------------------'
 
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#e0ffef;" width="400" | Description
  +
! style="background:#8dffef;" width="80" | Space
  +
|-
  +
|$000000||Reset : Initial SSP||SP
  +
|-
  +
|$000004||Reset : Initial PC||SP
  +
|-
  +
|}
   
  +
==[[CPU Exception Vectors]]==
Address Description Space
 
  +
{| border="1" class="wikitable" style="text-align:left"
-------+----------------------------------------------------------------+-----
 
  +
|-
########CPU Reset Vectors ######
 
  +
|+
-------+----------------------------------------------------------------+-----
 
  +
|-
$000000|Reset : Initial SSP |SP
 
  +
! style="background:#d8ffef;" width="80" | Address
$000004|Reset : Initial PC |SP
 
  +
! style="background:#e0ffef;" width="400" | Description
-------+----------------------------------------------------------------+-----
 
  +
! style="background:#8dffef;" width="80" | Space
########CPU Exception Vectors ######
 
  +
|-
-------+----------------------------------------------------------------+-----
 
$000008|Bus Error |SD
+
|$000008||[[Bus Error]]||SD
  +
|-
$00000C|Address Error |SD
 
  +
|$00000C||[[Address Error]]||SD
$000010|Illegal Instruction |SD
 
  +
|-
$000014|Zero Divide |SD
 
$000018|CHK, CHK2 Instruction |SD
+
|$000010||[[Illegal Instruction]]||SD
  +
|-
$00001C|cpTRAPcc, TRAPcc, TRAPV |SD
 
  +
|$000014||[[Zero Divide]]||SD
$000020|Privilege Violation |SD
 
  +
|-
$000024|Trace |SD
 
  +
|$000018||[[CHK]], [[CHK2]] Instruction||SD
$000028|Line 1010 Emulator (LineA) |SD
 
  +
|-
$00002C|Line 1111 Emulator (LineF) |SD
 
  +
|$00001C||[[cpTRAPcc]], [[TRAPcc]], [[TRAPV]]||SD
$000030|(Unassigned, Reserved) |SD
 
  +
|-
$000034|Coprocessor Protocol Violation (68030) |SD
 
  +
|$000020||[[Privilege Violation]]||SD
$000038|Format Error (68010) |SD
 
  +
|-
$00003C|Uninitialized Interrupt Vector |SD
 
  +
|$000024||[[Trace]]||SD
$000040|(Unassigned, Reserved) |SD
 
  +
|-
: | : : | :
 
  +
|$000028||Line 1010 Emulator ([[LineA]])||SD
$00005F|(Unassigned, Reserved) |SD
 
  +
|-
$000060|Spurious Interrupt (Bus error during interrupt) |SD
 
  +
|$00002C||Line 1111 Emulator ([[LineF]])||SD
-------+----------------------------------------------------------------+-----
 
  +
|-
########Auto-Vector Interrupts ######
 
  +
|$000030||(Unassigned, Reserved)||SD
-------+----------------------------------------------------------------+-----
 
  +
|-
$000064|Level 1 Int Autovector (NOT USED) |SD
 
  +
|$000034||[[Coprocessor Protocol]] Violation (68030)||SD
$000068|Level 2 Int Autovector (HBL) |SD
 
  +
|-
$00006C|Level 3 Int Autovector (NOT USED) |SD
 
  +
|$000038||Format Error (68010)||SD
$000070|Level 4 Int Autovector (VBL) |SD
 
  +
|-
$000074|Level 5 Int Autovector (NOT USED) |SD
 
  +
|$00003C||Uninitialized [[Interrupt Vector]]||SD
$000078|Level 6 Int Autovector (NOT USED) |SD
 
  +
|-
$00007C|Level 7 Int Autovector (NOT USED) |SD
 
  +
|$000040||(Unassigned, Reserved)||SD
-------+----------------------------------------------------------------+-----
 
  +
|-
########Trap Instruction Vectors (Trap #n = Vector number + 32 + n) ######
 
  +
| :|| : :|| :
-------+----------------------------------------------------------------+-----
 
  +
|-
$000080|Trap #0 |SD
 
  +
|$00005F||(Unassigned, Reserved)||SD
$000084|Trap #1 (GemDOS) |SD
 
  +
|-
$000088|Trap #2 (AES/VDI) |SD
 
$00008C|Trap #3 |SD
+
|$000060||Spurious Interrupt (Bus error during interrupt)||SD
  +
|-
$000090|Trap #4 |SD
 
  +
|}
$000094|Trap #5 |SD
 
$000098|Trap #6 |SD
 
$00009C|Trap #7 |SD
 
$0000A0|Trap #8 |SD
 
$0000A4|Trap #9 |SD
 
$0000A8|Trap #10 |SD
 
$0000AC|Trap #11 |SD
 
$0000B0|Trap #12 |
 
$0000B4|Trap #13 (BIOS) |SD
 
$0000B8|Trap #14 (XBIOS) |SD
 
-------+----------------------------------------------------------------+-----
 
########FPU Vectors (68881/68882/Internal) ######
 
-------+----------------------------------------------------------------+-----
 
$0000C0|FFCP Branch or Set on Unordered Condition |SD
 
$0000C4|FFCP Inexact Result |SD
 
$0000C8|FFCP Divide by Zero |SD
 
$0000CC|FFCP Underflow |SD
 
$0000D0|FFCP Operand Error |SD
 
$0000D4|FFCP Overflow |SD
 
$0000D8|FFCP Signaling NAN |SD
 
$0000DC|(Unassigned, Reserved) |SD
 
-------+----------------------------------------------------------------+-----
 
########PMMU (68851/Internal(68030)) ######
 
-------+----------------------------------------------------------------+-----
 
$0000E0|MMU Configuration Error |SD
 
$0000E4|MC68851, not used by MC68030 |SD
 
$0000E8|MC68851, not used by MC68030 |SD
 
-------+----------------------------------------------------------------+-----
 
########Miscellaneous Vectors ######
 
-------+----------------------------------------------------------------+-----
 
$0000EC|(Unassigned, Reserved) |SD
 
: | : : | :
 
$0000FC|(Unassigned, Reserved) |SD
 
-------+----------------------------------------------------------------+-----
 
########User Assigned Interrupt Vectors ######
 
-------+----------------------------------------------------------------+-----
 
$000100|ST-MFP-0 - IO0 - Centronics BUSY vector (#)64 |SD
 
$000104|ST-MFP-1 - IO1 - Centronics ACK |SD
 
$000108|ST-MFP-2 - IO2 - MIDI ACIA INT |SD
 
$00010C|ST-MFP-3 - IO3 - DSP Connector INT |SD
 
$000110|ST-MFP-4 - Timer D (USART timer) |SD
 
$000114|ST-MFP-5 - Timer C (200hz Clock) |SD
 
$000118|ST-MFP-6 - IO4 - Keyboard & MIDI ACIA INT |SD
 
$00011C|ST-MFP-7 - IO5 - FDC & HDC & IDE INT |SD
 
$000120|ST-MFP-8 - Timer B (HBL) |SD
 
$000124|ST-MFP-9 - Send Error |SD
 
$000128|ST-MFP-10 - Send buffer empty |SD
 
$00012C|ST-MFP-11 - Receive error |SD
 
$000130|ST-MFP-12 - Receive buffer full |SD
 
$000134|ST-MFP-13 - Timer A (STE sound) |SD
 
$000138|ST-MFP-14 - IO6 - RS-232 RING Indicator |SD
 
$00013C|ST-MFP-15 - IO7 - SND INT |SD
 
$000180|SCC Interrupt 96 |SD
 
: | : : |SD
 
$0001BC|SCC Interrupt 111 |SD
 
-------+----------------------------------------------------------------+-----
 
$0001C0|User Defined, Unused 112 |SD
 
: | : : : : | :
 
$0003FC|User Defined, Unused 256 |SD
 
-------+----------------------------------------------------------------+-----
 
   
  +
==[[Auto-Vector Interrupts]]==
Address Size Description Name
 
  +
{| border="1" class="wikitable" style="text-align:left"
-------+-----+-----------------------------------------------------+----------
 
  +
|-
##############System Crash Page ###########
 
  +
|+
-------+-----+-----------------------------------------------------+----------
 
  +
|-
$000380|long |Validates System Crash Page if $12345678 |proc_lives
 
  +
! style="background:#d8ffef;" width="80" | Address
$000384|.....|Saved registers D0-D7 |proc_dregs
 
  +
! style="background:#e0ffef;" width="400" | Description
$0003A4|.....|Saved registers A0-A7 |proc_aregs
 
  +
! style="background:#8dffef;" width="80" | Space
$0003C4|long |Vector number of crash exception |proc_enum
 
  +
|-
$0003C8|long |Saved USP |proc_usp
 
  +
|$000064||Level 1 Int Autovector (NOT USED) ||SD
$0003CC|.....|Saved 16 words from exception stack |proc_stk
 
  +
|-
-------+-----+-----------------------------------------------------+----------
 
  +
|$000068||Level 2 Int Autovector (HBL)||SD
##############System Variables ###########
 
  +
|-
-------+-----+-----------------------------------------------------+----------
 
  +
|$00006C||Level 3 Int Autovector (NOT USED) ||SD
$000400|long |GEM Event timer vector |etv_timer
 
  +
|-
$000404|long |GEM Critical error handler |etv_critic
 
  +
|$000070||Level 4 Int Autovector (VBL)||SD
$000408|long |GEM Program termination vector |etv_term
 
  +
|-
$00040C|long |GEM Additional vector #1 (Unused) |etv_xtra
 
  +
|$000074||Level 5 Int Autovector (NOT USED) ||SD
: | : | : : : : : | :
 
  +
|-
$00041C|long |GEM Additional vector #5 (Unused) |etv_xtra
 
  +
|$000078||Level 6 Int Autovector (NOT USED) ||SD
$000420|long |Validates memory configuration if $752019F3 |memvalid
 
  +
|-
$000424|word |Copy of contents of $FF8001 |memctrl
 
  +
|$00007C||Level 7 Int Autovector (NOT USED) ||SD
$000426|long |Validates resvector if $31415926 |resvalid
 
  +
|-
$00042A|long |Reset vector |resvector
 
  +
|}
$00042E|long |Physical top of RAM |phystop
 
  +
==[[Trap Instruction Vectors]] (Trap #n = Vector number + 32 + n)==
$000432|long |Start of TPA (user memory) |_membot
 
  +
{| border="1" class="wikitable" style="text-align:left"
$000436|long |End of TPA (user memory) |_memtop
 
  +
|-
$00043A|long |Validates memcntrl and memconf if $237698AA |memval2
 
  +
|+
$00043E|word |If nonzero, floppy disk VBL routine is disabled |flock
 
  +
|-
$000440|word |Floppy Seek rate - 0:6ms, 1:12ms, 2:2ms, 3:3ms |seekrate
 
  +
! style="background:#d8ffef;" width="80" | Address
$000442|word |Time between two timer calls (in milliseconds) |_timer_ms
 
  +
! style="background:#e0ffef;" width="400" | Description
$000444|word |If not zero, verify floppy disk writes |_fverify
 
  +
! style="background:#8dffef;" width="80" | Space
$000446|word |Default boot device |_bootdev
 
  +
|-
$000448|word |0 - NTSC (60hz), <>0 - PAL (50hz) |palmode
 
  +
|$000080||[[Trap0]]||SD
$00044A|word |Default video resolution |defshiftmod
 
  +
|-
$00044C|word |Copy of contents of $FF8260 |sshiftmod
 
  +
|$000084||[[Trap1]] (GemDOS)||SD
$00044E|long |Pointer to video RAM (logical screen base) |_v_bas_ad
 
  +
|-
$000452|word |If not zero, VBL routine is not executed |vblsem
 
  +
|$000088||[[Trap2]] (AES/VDI)||SD
$000454|word |Number of vertical blank routines |nvbls
 
  +
|-
$000456|long |Pointer to list of vertical blank routines |_vblqueue
 
  +
|$00008C||[[Trap3]]||SD
$00045A|long |If not zero, points to color palette to be loaded |colorptr
 
  +
|-
$00045E|long |If not zero, points to video ram for next VBL |screenpt
 
  +
|$000090||[[Trap4]]||SD
$000462|long |Counter for number of VBLs |_vbclock
 
  +
|-
$000466|long |Number of VBL routines executed |_frclock
 
  +
|$000094||[[Trap5]]||SD
$00046A|long |Vector for hard disk initialization |hdv_init
 
  +
|-
$00046E|long |Vector for resolution change |swv_vec
 
  +
|$000098||[[Trap6]]||SD
$000472|long |Vector for getbpb for hard disk |hdv_bpb
 
  +
|-
$000476|long |Vector for read/write routine for hard disk |hdv_rw
 
  +
|$00009C||[[Trap7]]||SD
$00047A|long |Vector for hard disk boot |hdv_boot
 
  +
|-
$00047E|long |Vector for hard disk media change |hdv_mediach
 
  +
|$0000A0||[[Trap8]]||SD
$000482|word |If not zero, attempt to load "COMMAND.PRG" on boot |_comload
 
  +
|-
$000484|byte |Attribute vector for console output BIT 3 2 1 0|conterm
 
  +
|$0000A4||[[Trap9]]||SD
| |Return "kbshift" for BIOS conin --------------' | | ||
 
  +
|-
| |System bell (1 - on) ---------------------------' | ||
 
  +
|$0000A8||[[Trap10]]||SD
| |Key repeat (1 - on) ------------------------------' ||
 
  +
|-
| |Key click (1 - on) ---------------------------------'|
 
  +
|$0000AC||[[Trap11]]||SD
$000486|long |Return address for TRAP #14 (unused)|trp14ret
 
  +
|-
$00048A|long |Return address for critical error handler (unused)|criticret
 
  +
|$0000B0||[[Trap12]]||
$00048E|long |Memory descriptor block |themd
 
  +
|-
$00049E|long |Space for additional memory descriptors |themdmd
 
  +
|$0000B4||Trap13 ([[BIOS]])||SD
$0004A2|long |Pointer to BIOS save registers block |savptr
 
  +
|-
$0004A6|word |Number of connected floppy drives |_nflops
 
  +
|$0000B8||Trap14 ([[XBIOS]])||SD
$0004A8|long |Vector for screen output |con_state
 
  +
|}
$0004AC|word |Temporary storage for cursor line position |save_row
 
$0004AE|long |Pointer to save area for exception processing |sav_context
 
$0004B2|long |Pointer to buffer control block for GEMDOS data |_bufl
 
$0004B6|long |Pointer to buffer control block for GEMDOS fat/dir |_bufl
 
$0004BA|long |Counter for 200hz system clock |_hz_200
 
$0004BC|long |Pointer to default environment string |the_env
 
$0004C2|long |Bit allocation for physical drives (bit 0=A, 1=B..) |_drvbits
 
$0004C6|long |Pointer to 1024-byte disk buffer |_dskbufp
 
$0004CA|long |Pointer to autoexecute path |_autopath
 
$0004CE|long |Pointer to VBL routine #1 |_vbl_lis
 
: | : | : : : : : | :
 
$0004EA|long |Pointer to VBL routine #8 |_vbl_lis
 
$0004EE|word |Flag for screen -> printer dump |_dumpflg
 
$0004F0|word |Printer abort flag |_prtabt
 
$0004F2|long |Pointer to start of OS |_sysbase
 
$0004F6|long |Global shell pointer |_shell_p
 
$0004FA|long |Pointer to end of OS |end_os
 
$0004FE|long |Pointer to entry point of OS |exec_os
 
$000502|long |Pointer to screen dump routine |scr_dump
 
$000506|long |Pointer to _lstostat() |prv_lsto
 
$00050A|long |Pointer to _lstout() |prv_lst
 
$00050E|long |Pointer to _auxostat() |prv_auxo
 
$000512|long |Pointer to _auxout() |prv_aux
 
$000516|long |If AHDI, pointer to pun_info |pun_ptr
 
$00051A|long |If $5555AAAA, reset |memval3
 
$00051E|long |8 Pointers to input-status routines |xconstat
 
$00053E|long |8 Pointers to input routines |xconin
 
$00055E|long |8 Pointers to output-status routines |xcostat
 
$00057E|long |8 Pointers to output routines |xconout
 
$00059E|word |If not 0, then not 68000 - use long stack frames |_longframe
 
$0005A0|long |Pointer to cookie jar |_p_cookies
 
$0005A4|long |Pointer to end of FastRam |ramtop
 
$0005A8|long |Validates ramtop if $1357BD13 |ramvalid
 
$0005AC|long |Pointer to routine for system bell |bell_hook
 
$0005B0|long |Pointer to routine for system keyclick |kcl_hook
 
-------+-----+-----------------------------------------------------+----------
 
   
  +
==[[FPU]] [[Vectors]] ([[68881]]/[[68882]]/Internal)==
  +
{| border="1" class="wikitable" style="text-align:left"
  +
|-
  +
|+
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#e0ffef;" width="400" | Description
  +
! style="background:#8dffef;" width="80" | Space
  +
|-
  +
|$0000C0||FFCP Branch or Set on Unordered Condition ||SD
  +
|-
  +
|$0000C4||FFCP Inexact Result ||SD
  +
|-
  +
|$0000C8||FFCP Divide by Zero ||SD
  +
|-
  +
|$0000CC||FFCP Underflow||SD
  +
|-
  +
|$0000D0||FFCP Operand Error||SD
  +
|-
  +
|$0000D4||FFCP Overflow ||SD
  +
|-
  +
|$0000D8||FFCP Signaling NAN||SD
  +
|-
  +
|$0000DC||(Unassigned, Reserved)||SD
  +
|-
  +
|}
  +
==[[PMMU]] ([[68851]]/Internal([[68030]]))==
  +
{| border="1" class="wikitable" style="text-align:left"
  +
|-
  +
|+
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#e0ffef;" width="400" | Description
  +
! style="background:#8dffef;" width="80" | Space
  +
|-
  +
|$0000E0||[[MMU]] Configuration Error ||SD
  +
|-
  +
|$0000E4||[[MC68851]], not used by [[MC68030]]||SD
  +
|-
  +
|$0000E8||[[MC68851]], not used by [[MC68030]]||SD
  +
|-
  +
|}
   
  +
==Miscellaneous [[Vector|Vectors]]==
  +
{| border="1" class="wikitable" style="text-align:left"
  +
|-
  +
|+
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#e0ffef;" width="400" | Description
  +
! style="background:#8dffef;" width="80" | Space
  +
|-
  +
|$0000EC||(Unassigned, Reserved)||SD
  +
|-
  +
| :|| : :|| :
  +
|-
  +
|$0000FC||(Unassigned, Reserved)||SD
  +
|-
  +
|}
  +
==User Assigned Interrupt Vectors==
  +
{| border="1" class="wikitable" style="text-align:left"
  +
|-
  +
|+
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#e0ffef;" width="400" | Description
  +
! style="background:#8dffef;" width="80" | Space
  +
|-
  +
|$000100||ST-MFP-0 - IO0 - Centronics BUSY vector (#)64||SD
  +
|-
  +
|$000104||ST-MFP-1 - IO1 - Centronics ACK ||SD
  +
|-
  +
|$000108||ST-MFP-2 - IO2 - [[MIDI]] ACIA INT ||SD
  +
|-
  +
|$00010C||ST-MFP-3 - IO3 - [[DSP]] Connector INT ||SD
  +
|-
  +
|$000110||ST-MFP-4 - [[Timer D]] ([[USART]] timer)||SD
  +
|-
  +
|$000114||ST-MFP-5 - [[Timer C]] (200hz Clock)||SD
  +
|-
  +
|$000118||ST-MFP-6 - IO4 - Keyboard & MIDI ACIA INT||SD
  +
|-
  +
|$00011C||ST-MFP-7 - IO5 - [[FDC]] & [[HDC]] & [[IDE]] INT ||SD
  +
|-
  +
|$000120||ST-MFP-8 - [[Timer B]] ([[HBL]])||SD
  +
|-
  +
|$000124||ST-MFP-9 - Send Error||SD
  +
|-
  +
|$000128||ST-MFP-10 - Send buffer empty||SD
  +
|-
  +
|$00012C||ST-MFP-11 - Receive error||SD
  +
|-
  +
|$000130||ST-MFP-12 - Receive buffer full||SD
  +
|-
  +
|$000134||ST-MFP-13 - [[Timer A]] ([[STE sound]])||SD
  +
|-
  +
|$000138||ST-MFP-14 - IO6 - [[RS-232]] RING Indicator||SD
  +
|-
  +
|$00013C||ST-MFP-15 - IO7 - SND INT ||SD
  +
|-
  +
|$000180||SCC Interrupt 96||SD
  +
|-
  +
| :|| : :||SD
  +
|-
  +
|$0001BC||SCC Interrupt 111||SD
  +
|-
  +
| ------||---------------------------------------------------||-----
  +
|-
  +
|$0001C0||User Defined, Unused 112||SD
  +
|- :|| : : : :|| :
  +
|$0003FC||User Defined, Unused 256||SD
  +
|-
  +
|}
  +
===System Crash Page===
  +
{| border="1" class="wikitable" style="text-align:left"
  +
|-
  +
|+
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#d8ffef;" width="60" | Size
  +
! style="background:#e0ffef;" width="340" | Description
  +
! style="background:#8dffef;" width="70" | Space
  +
|-
  +
|$000380||long||Validates System Crash Page if $12345678||proc_lives
  +
|-
  +
|$000384||.....||Saved registers [[Data_registers|D0-D7]]||proc_dregs
  +
|-
  +
|$0003A4||.....||Saved registers [[Address_registers|A0-A7]]||proc_aregs
  +
|-
  +
|$0003C4||long||Vector number of crash exception||proc_enum
  +
|-
  +
|$0003C8||long||Saved [[USP]]||proc_usp
  +
|-
  +
|$0003CC||.....||Saved 16 words from exception stack||proc_stk
  +
|-
  +
|}
  +
===System Variables===
  +
{| border="1" class="wikitable" style="text-align:left"
  +
|-
  +
|+
  +
|-
  +
! style="background:#d8ffef;" width="80" | Address
  +
! style="background:#d8ffef;" width="60" | Size
  +
! style="background:#e0ffef;" width="340" | Description
  +
! style="background:#8dffef;" width="70" | Space
  +
|-
  +
|$000400||long||[[GEM]] Event timer vector||etv_timer
  +
|-
  +
|$000404||long||[[GEM]] Critical error handler||etv_critic
  +
|-
  +
|$000408||long||[[GEM]] Program termination vector||etv_term
  +
|-
  +
|$00040C||long||[[GEM]] Additional vector #1 (Unused)||etv_xtra
  +
|-
  +
| :|| :|| : : : : :|| :
  +
|-
  +
|$00041C||long||GEM Additional vector #5 (Unused)||etv_xtra
  +
|-
  +
|$000420||long||Validates memory configuration if $752019F3||memvalid
  +
|-
  +
|$000424||word||Copy of contents of $FF8001||memctrl
  +
|-
  +
|$000426||long||Validates resvector if $31415926||resvalid
  +
|-
  +
|$00042A||long||Reset vector||resvector
  +
|-
  +
|$00042E||long||Physical top of RAM||phystop
  +
|-
  +
|$000432||long||Start of [[TPA]] (user memory)||_membot
  +
|-
  +
|$000436||long||End of [[TPA]] (user memory)||_memtop
  +
|-
  +
|$00043A||long||Validates memcntrl and memconf if $237698AA||memval2
  +
|-
  +
|$00043E||word||If nonzero, floppy disk VBL routine is disabled||flock
  +
|-
  +
|$000440||word||Floppy Seek rate - 0:6ms, 1:12ms, 2:2ms, 3:3ms||seekrate
  +
|-
  +
|$000442||word||Time between two timer calls (in milliseconds)||_timer_ms
  +
|-
  +
|$000444||word||If not zero, verify floppy disk writes||_fverify
  +
|-
  +
|$000446||word||Default boot device||_bootdev
  +
|-
  +
|$000448||word||0 - [[NTSC]] (60hz), <>0 - [[PAL]] (50hz)||palmode
  +
|-
  +
|$00044A||word||Default video resolution||defshiftmod
  +
|-
  +
|$00044C||word||Copy of contents of $FF8260||sshiftmod
  +
|-
  +
|$00044E||long||Pointer to video [[RAM]] (logical screen base)||_v_bas_ad
  +
|-
  +
|$000452||word||If not zero, VBL routine is not executed||vblsem
  +
|-
  +
|$000454||word||Number of vertical blank routines||nvbls
  +
|-
  +
|$000456||long||Pointer to list of vertical blank routines||_vblqueue
  +
|-
  +
|$00045A||long||If not zero, points to color palette to be loaded||colorptr
  +
|-
  +
|$00045E||long||If not zero, points to video ram for next VBL||screenpt
  +
|-
  +
|$000462||long||Counter for number of VBLs||_vbclock
  +
|-
  +
|$000466||long||Number of VBL routines executed||_frclock
  +
|-
  +
|$00046A||long||Vector for hard disk initialization||hdv_init
  +
|-
  +
|$00046E||long||Vector for resolution change||swv_vec
  +
|-
  +
|$000472||long||Vector for getbpb for hard disk||hdv_bpb
  +
|-
  +
|$000476||long||Vector for read/write routine for hard disk||hdv_rw
  +
|-
  +
|$00047A||long||Vector for hard disk boot||hdv_boot
  +
|-
  +
|$00047E||long||Vector for hard disk media change||hdv_mediach
  +
|-
  +
|$000482||word||If not zero, attempt to load "COMMAND.PRG" on boot||_comload
  +
|-
  +
|$000484||byte||Attribute vector for console output BIT 3 2 1 0||conterm
  +
|-
  +
|$000486||long||Return address for [[TRAP #14]] (unused)||trp14ret
  +
|-
  +
|$00048A||long||Return address for critical error handler (unused)||criticret
  +
|-
  +
|$00048E||long||Memory descriptor block||themd
  +
|-
  +
|$00049E||long||Space for additional memory descriptors||themdmd
  +
|-
  +
|$0004A2||long||Pointer to [[BIOS]] save registers block||savptr
  +
|-
  +
|$0004A6||word||Number of connected floppy drives||_nflops
  +
|-
  +
|$0004A8||long||Vector for screen output||con_state
  +
|-
  +
|$0004AC||word||Temporary storage for cursor line position||save_row
  +
|-
  +
|$0004AE||long||Pointer to save area for exception processing||sav_context
  +
|-
  +
|$0004B2||long||Pointer to buffer control block for [[GEMDOS]] data||_bufl
  +
|-
  +
|$0004B6||long||Pointer to buffer control block for [[GEMDOS]] fat/dir||_bufl
  +
|-
  +
|$0004BA||long||Counter for 200hz system clock||_hz_200
  +
|-
  +
|$0004BC||long||Pointer to default environment string||the_env
  +
|-
  +
|$0004C2||long||Bit allocation for physical drives (bit 0=A, 1=B..)||_drvbits
  +
|-
  +
|$0004C6||long||Pointer to 1024-byte disk buffer||_dskbufp
  +
|-
  +
|$0004CA||long||Pointer to autoexecute path||_autopath
  +
|-
  +
|$0004CE||long||Pointer to [[VBL]] routine #1||_vbl_lis
  +
|-
  +
| :|| :|| : : : : :|| :
  +
|-
  +
|$0004EA||long||Pointer to VBL routine #8||_vbl_lis
  +
|-
  +
|$0004EE||word||Flag for screen -> printer dump||_dumpflg
  +
|-
  +
|$0004F0||word||Printer abort flag||_prtabt
  +
|-
  +
|$0004F2||long||Pointer to start of OS||_sysbase
  +
|-
  +
|$0004F6||long||Global shell pointer||_shell_p
  +
|-
  +
|$0004FA||long||Pointer to end of OS||end_os
  +
|-
  +
|$0004FE||long||Pointer to entry point of OS||exec_os
  +
|-
  +
|$000502||long||Pointer to screen dump routine||scr_dump
  +
|-
  +
|$000506||long||Pointer to _lstostat()||prv_lsto
  +
|-
  +
|$00050A||long||Pointer to _lstout()||prv_lst
  +
|-
  +
|$00050E||long||Pointer to _auxostat()||prv_auxo
  +
|-
  +
|$000512||long||Pointer to _auxout()||prv_aux
  +
|-
  +
|$000516||long||If [[AHDI]], pointer to pun_info||pun_ptr
  +
|-
  +
|$00051A||long||If $5555AAAA, reset||memval3
  +
|-
  +
|$00051E||long||8 Pointers to input-status routines||xconstat
  +
|-
  +
|$00053E||long||8 Pointers to input routines||xconin
  +
|-
  +
|$00055E||long||8 Pointers to output-status routines||xcostat
  +
|-
  +
|$00057E||long||8 Pointers to output routines||xconout
  +
|-
  +
|$00059E||word||If not 0, then not [[68000]] - use long stack frames||_longframe
  +
|-
  +
|$0005A0||long||Pointer to cookie jar||_p_cookies
  +
|-
  +
|$0005A4||long||Pointer to end of FastRam||ramtop
  +
|-
  +
|$0005A8||long||Validates ramtop if $1357BD13||ramvalid
  +
|-
  +
|$0005AC||long||Pointer to routine for system bell||bell_hook
  +
|-
  +
|$0005B0||long||Pointer to routine for system keyclick||kcl_hook
  +
|-
  +
|}
  +
  +
  +
  +
  +
''This portion of the document and onward yet to be converted to wiki tables. Arduous task! But worth it, I think''
  +
  +
  +
  +
  +
<pre>
 
Address Size Description Bits used Read/Write
 
Address Size Description Bits used Read/Write
 
------------------------------------------------------------------------------
 
------------------------------------------------------------------------------
##############F030 OS ROMs ###########
+
===F030 OS ROMs ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$E00000|byte | |R
 
$E00000|byte | |R
Line 221: Line 453:
 
$EFFFFF|byte | |
 
$EFFFFF|byte | |
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############IDE Controller ###########
+
===IDE Controller ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$F00000|long |Data Register |R/W
 
$F00000|long |Data Register |R/W
Line 243: Line 475:
 
$F00039|byte |Data Output Register |W
 
$F00039|byte |Data Output Register |W
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Falcon030 BUS Expansion Space ###########
+
===Falcon030 BUS Expansion Space ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$F10000|word | |R/W
 
$F10000|word | |R/W
Line 249: Line 481:
 
$F9FFFF|word | |R/W
 
$F9FFFF|word | |R/W
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############ROM ###########
+
===ROM ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FA0000| | |
 
$FA0000| | |
Line 255: Line 487:
 
$FBFFFF| | |
 
$FBFFFF| | |
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Falcon030 Memory Controller ###########
+
===Falcon030 Memory Controller ===
 
------------------------------------------------------------------------------
 
------------------------------------------------------------------------------
 
$FF8006|byte | BIT 5 4|R/Write in
 
$FF8006|byte | BIT 5 4|R/Write in
Line 263: Line 495:
 
| |11 - no boot ! |
 
| |11 - no boot ! |
 
------------------------------------------------------------------------------
 
------------------------------------------------------------------------------
##############Falcon030 Processor Control ###########
+
===Falcon030 Processor Control ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8007|byte |Falcon Bus Control BIT 6 5 . . 2 . 0|R/W
 
$FF8007|byte |Falcon Bus Control BIT 6 5 . . 2 . 0|R/W
Line 271: Line 503:
 
| |68030 (0=8mhz, 1=16mhz) -------------------------'|
 
| |68030 (0=8mhz, 1=16mhz) -------------------------'|
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############SHIFTER Video Controller ###########
+
===SHIFTER Video Controller ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8201|byte |Video screen memory position (High byte) |R/W
 
$FF8201|byte |Video screen memory position (High byte) |R/W
Line 304: Line 536:
 
| |ST Palette Bank BIT 3 2 1 0|
 
| |ST Palette Bank BIT 3 2 1 0|
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Falcon030 VIDEL Video Controller ###########
+
===Falcon030 VIDEL Video Controller ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8006|byte |Monitor Type BIT 7 6|R
 
$FF8006|byte |Monitor Type BIT 7 6|R
Line 351: Line 583:
 
| |Line doubling --------------------------------------'|
 
| |Line doubling --------------------------------------'|
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############DMA/WD1772 Disk controller ###########
+
===DMA/WD1772 Disk controller ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8600| |Reserved |
 
$FF8600| |Reserved |
Line 376: Line 608:
 
| | FCCLK (0=8MHz, 1=16MHz) ------------------------' |
 
| | FCCLK (0=8MHz, 1=16MHz) ------------------------' |
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############YM2149 Sound Chip ###########
+
===YM2149 Sound Chip ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8800|byte |Read data/Register select |R/W
 
$FF8800|byte |Read data/Register select |R/W
Line 438: Line 670:
 
| |bus errors. Game/Demo coders beware! |
 
| |bus errors. Game/Demo coders beware! |
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############DMA Sound System ###########
+
===DMA Sound System ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8900|byte |Buffer interrupts BIT 3 2 1 0|R/W
 
$FF8900|byte |Buffer interrupts BIT 3 2 1 0|R/W
Line 491: Line 723:
 
| |2 track 16 bit stereo : LLRRllrrLLRRllrr |
 
| |2 track 16 bit stereo : LLRRllrrLLRRllrr |
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Falcon030 DMA/DSP Controllers ###########
+
===Falcon030 DMA/DSP Controllers ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8930|word |Crossbar Source Controller |R/W
 
$FF8930|word |Crossbar Source Controller |R/W
Line 607: Line 839:
 
$FF8943|byte |GPx Data Port BIT 2 1 0|R/W
 
$FF8943|byte |GPx Data Port BIT 2 1 0|R/W
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############F030 RTC Chip (DS1287) ###########
+
===F030 RTC Chip (DS1287) ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8961|byte |Register select |W
 
$FF8961|byte |Register select |W
Line 639: Line 871:
 
$FF8963|byte |Register data |R/W
 
$FF8963|byte |Register data |R/W
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Blitter ###########
+
===Blitter ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8A00|word |Halftone-RAM, Word 0 |R/W
 
$FF8A00|word |Halftone-RAM, Word 0 |R/W
Line 687: Line 919:
 
| |Source skew ----------------------------------+-+-+-'|
 
| |Source skew ----------------------------------+-+-+-'|
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Zilog 8530 SCC ###########
+
===Zilog 8530 SCC ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF8C81|byte |Channel A - Control Register |R/W
 
$FF8C81|byte |Channel A - Control Register |R/W
Line 694: Line 926:
 
$FF8C87|byte |Channel B - Data Register |R/W
 
$FF8C87|byte |Channel B - Data Register |R/W
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############F030 Extended Joystick/Lightpen Ports ###########
+
===F030 Extended Joystick/Lightpen Ports ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FF9200|word |Fire buttons 1-4 Bit 3 2 1 0|R
 
$FF9200|word |Fire buttons 1-4 Bit 3 2 1 0|R
Line 727: Line 959:
 
$FF9222|word |Lightpen Y-Position BIT 9 8 7 6 5 4 3 2 1 0|R
 
$FF9222|word |Lightpen Y-Position BIT 9 8 7 6 5 4 3 2 1 0|R
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Falcon VIDEL Palette Registers ###########
+
===Falcon VIDEL Palette Registers ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
| | BIT 33222222 22221111 11111198 76543210|
 
| | BIT 33222222 22221111 11111198 76543210|
Line 736: Line 968:
 
$FF9BFC|long |Palette Register 255 |R/W
 
$FF9BFC|long |Palette Register 255 |R/W
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############Falcon DSP Host Interface ###########
+
===Falcon DSP Host Interface ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FFA200|byte |Interrupt Ctrl Register BIT 7 6 5 4 3 . 1 0|R/W
 
$FFA200|byte |Interrupt Ctrl Register BIT 7 6 5 4 3 . 1 0|R/W
Line 777: Line 1,009:
 
X:$FFEB| | |
 
X:$FFEB| | |
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############MFP 68901 - Multi Function Peripheral Chip ###########
+
===MFP 68901 - Multi Function Peripheral Chip ===
 
| | |
 
| | |
 
| | MFP Master Clock is 2,457,600 cycles/second |
 
| | MFP Master Clock is 2,457,600 cycles/second |
Line 906: Line 1,138:
 
$FFFA2F|byte |USART data |R/W/
 
$FFFA2F|byte |USART data |R/W/
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
##############6850 ACIA I/O Chips ###########
+
===6850 ACIA I/O Chips ===
 
-------+-----+-----------------------------------------------------+----------
 
-------+-----+-----------------------------------------------------+----------
 
$FFFC00|byte |Keyboard ACIA control BIT 7 6 5 4 3 2 1 0|W
 
$FFFC00|byte |Keyboard ACIA control BIT 7 6 5 4 3 2 1 0|W
Line 1,087: Line 1,319:
 
-------+----------------------------------------------------------------------
 
-------+----------------------------------------------------------------------
 
</pre>
 
</pre>
  +
  +
 
Back to [[Programming]]
 
Back to [[Programming]]

Revision as of 14:50, 12 September 2006

CPU Reset Vectors

Address Description Space
$000000 Reset : Initial SSP SP
$000004 Reset : Initial PC SP

CPU Exception Vectors

Address Description Space
$000008 Bus Error SD
$00000C Address Error SD
$000010 Illegal Instruction SD
$000014 Zero Divide SD
$000018 CHK, CHK2 Instruction SD
$00001C cpTRAPcc, TRAPcc, TRAPV SD
$000020 Privilege Violation SD
$000024 Trace SD
$000028 Line 1010 Emulator (LineA) SD
$00002C Line 1111 Emulator (LineF) SD
$000030 (Unassigned, Reserved) SD
$000034 Coprocessor Protocol Violation (68030) SD
$000038 Format Error (68010) SD
$00003C Uninitialized Interrupt Vector SD
$000040 (Unassigned, Reserved) SD
: :  : :
$00005F (Unassigned, Reserved) SD
$000060 Spurious Interrupt (Bus error during interrupt) SD

Auto-Vector Interrupts

Address Description Space
$000064 Level 1 Int Autovector (NOT USED) SD
$000068 Level 2 Int Autovector (HBL) SD
$00006C Level 3 Int Autovector (NOT USED) SD
$000070 Level 4 Int Autovector (VBL) SD
$000074 Level 5 Int Autovector (NOT USED) SD
$000078 Level 6 Int Autovector (NOT USED) SD
$00007C Level 7 Int Autovector (NOT USED) SD

Trap Instruction Vectors (Trap #n = Vector number + 32 + n)

Address Description Space
$000080 Trap0 SD
$000084 Trap1 (GemDOS) SD
$000088 Trap2 (AES/VDI) SD
$00008C Trap3 SD
$000090 Trap4 SD
$000094 Trap5 SD
$000098 Trap6 SD
$00009C Trap7 SD
$0000A0 Trap8 SD
$0000A4 Trap9 SD
$0000A8 Trap10 SD
$0000AC Trap11 SD
$0000B0 Trap12
$0000B4 Trap13 (BIOS) SD
$0000B8 Trap14 (XBIOS) SD

FPU Vectors (68881/68882/Internal)

Address Description Space
$0000C0 FFCP Branch or Set on Unordered Condition SD
$0000C4 FFCP Inexact Result SD
$0000C8 FFCP Divide by Zero SD
$0000CC FFCP Underflow SD
$0000D0 FFCP Operand Error SD
$0000D4 FFCP Overflow SD
$0000D8 FFCP Signaling NAN SD
$0000DC (Unassigned, Reserved) SD

PMMU (68851/Internal(68030))

Address Description Space
$0000E0 MMU Configuration Error SD
$0000E4 MC68851, not used by MC68030 SD
$0000E8 MC68851, not used by MC68030 SD

Miscellaneous Vectors

Address Description Space
$0000EC (Unassigned, Reserved) SD
: :  : :
$0000FC (Unassigned, Reserved) SD

User Assigned Interrupt Vectors

Address Description Space
$000100 ST-MFP-0 - IO0 - Centronics BUSY vector (#)64 SD
$000104 ST-MFP-1 - IO1 - Centronics ACK SD
$000108 ST-MFP-2 - IO2 - MIDI ACIA INT SD
$00010C ST-MFP-3 - IO3 - DSP Connector INT SD
$000110 ST-MFP-4 - Timer D (USART timer) SD
$000114 ST-MFP-5 - Timer C (200hz Clock) SD
$000118 ST-MFP-6 - IO4 - Keyboard & MIDI ACIA INT SD
$00011C ST-MFP-7 - IO5 - FDC & HDC & IDE INT SD
$000120 ST-MFP-8 - Timer B (HBL) SD
$000124 ST-MFP-9 - Send Error SD
$000128 ST-MFP-10 - Send buffer empty SD
$00012C ST-MFP-11 - Receive error SD
$000130 ST-MFP-12 - Receive buffer full SD
$000134 ST-MFP-13 - Timer A (STE sound) SD
$000138 ST-MFP-14 - IO6 - RS-232 RING Indicator SD
$00013C ST-MFP-15 - IO7 - SND INT SD
$000180 SCC Interrupt 96 SD
: :  : SD
$0001BC SCC Interrupt 111 SD
------ --------------------------------------------------- -----
$0001C0 User Defined, Unused 112 SD
$0003FC User Defined, Unused 256 SD

System Crash Page

Address Size Description Space
$000380 long Validates System Crash Page if $12345678 proc_lives
$000384 ..... Saved registers D0-D7 proc_dregs
$0003A4 ..... Saved registers A0-A7 proc_aregs
$0003C4 long Vector number of crash exception proc_enum
$0003C8 long Saved USP proc_usp
$0003CC ..... Saved 16 words from exception stack proc_stk

System Variables

Address Size Description Space
$000400 long GEM Event timer vector etv_timer
$000404 long GEM Critical error handler etv_critic
$000408 long GEM Program termination vector etv_term
$00040C long GEM Additional vector #1 (Unused) etv_xtra
: : :  :  :  :  : :
$00041C long GEM Additional vector #5 (Unused) etv_xtra
$000420 long Validates memory configuration if $752019F3 memvalid
$000424 word Copy of contents of $FF8001 memctrl
$000426 long Validates resvector if $31415926 resvalid
$00042A long Reset vector resvector
$00042E long Physical top of RAM phystop
$000432 long Start of TPA (user memory) _membot
$000436 long End of TPA (user memory) _memtop
$00043A long Validates memcntrl and memconf if $237698AA memval2
$00043E word If nonzero, floppy disk VBL routine is disabled flock
$000440 word Floppy Seek rate - 0:6ms, 1:12ms, 2:2ms, 3:3ms seekrate
$000442 word Time between two timer calls (in milliseconds) _timer_ms
$000444 word If not zero, verify floppy disk writes _fverify
$000446 word Default boot device _bootdev
$000448 word 0 - NTSC (60hz), <>0 - PAL (50hz) palmode
$00044A word Default video resolution defshiftmod
$00044C word Copy of contents of $FF8260 sshiftmod
$00044E long Pointer to video RAM (logical screen base) _v_bas_ad
$000452 word If not zero, VBL routine is not executed vblsem
$000454 word Number of vertical blank routines nvbls
$000456 long Pointer to list of vertical blank routines _vblqueue
$00045A long If not zero, points to color palette to be loaded colorptr
$00045E long If not zero, points to video ram for next VBL screenpt
$000462 long Counter for number of VBLs _vbclock
$000466 long Number of VBL routines executed _frclock
$00046A long Vector for hard disk initialization hdv_init
$00046E long Vector for resolution change swv_vec
$000472 long Vector for getbpb for hard disk hdv_bpb
$000476 long Vector for read/write routine for hard disk hdv_rw
$00047A long Vector for hard disk boot hdv_boot
$00047E long Vector for hard disk media change hdv_mediach
$000482 word If not zero, attempt to load "COMMAND.PRG" on boot _comload
$000484 byte Attribute vector for console output BIT 3 2 1 0 conterm
$000486 long Return address for TRAP #14 (unused) trp14ret
$00048A long Return address for critical error handler (unused) criticret
$00048E long Memory descriptor block themd
$00049E long Space for additional memory descriptors themdmd
$0004A2 long Pointer to BIOS save registers block savptr
$0004A6 word Number of connected floppy drives _nflops
$0004A8 long Vector for screen output con_state
$0004AC word Temporary storage for cursor line position save_row
$0004AE long Pointer to save area for exception processing sav_context
$0004B2 long Pointer to buffer control block for GEMDOS data _bufl
$0004B6 long Pointer to buffer control block for GEMDOS fat/dir _bufl
$0004BA long Counter for 200hz system clock _hz_200
$0004BC long Pointer to default environment string the_env
$0004C2 long Bit allocation for physical drives (bit 0=A, 1=B..) _drvbits
$0004C6 long Pointer to 1024-byte disk buffer _dskbufp
$0004CA long Pointer to autoexecute path _autopath
$0004CE long Pointer to VBL routine #1 _vbl_lis
: : :  :  :  :  : :
$0004EA long Pointer to VBL routine #8 _vbl_lis
$0004EE word Flag for screen -> printer dump _dumpflg
$0004F0 word Printer abort flag _prtabt
$0004F2 long Pointer to start of OS _sysbase
$0004F6 long Global shell pointer _shell_p
$0004FA long Pointer to end of OS end_os
$0004FE long Pointer to entry point of OS exec_os
$000502 long Pointer to screen dump routine scr_dump
$000506 long Pointer to _lstostat() prv_lsto
$00050A long Pointer to _lstout() prv_lst
$00050E long Pointer to _auxostat() prv_auxo
$000512 long Pointer to _auxout() prv_aux
$000516 long If AHDI, pointer to pun_info pun_ptr
$00051A long If $5555AAAA, reset memval3
$00051E long 8 Pointers to input-status routines xconstat
$00053E long 8 Pointers to input routines xconin
$00055E long 8 Pointers to output-status routines xcostat
$00057E long 8 Pointers to output routines xconout
$00059E word If not 0, then not 68000 - use long stack frames _longframe
$0005A0 long Pointer to cookie jar _p_cookies
$0005A4 long Pointer to end of FastRam ramtop
$0005A8 long Validates ramtop if $1357BD13 ramvalid
$0005AC long Pointer to routine for system bell bell_hook
$0005B0 long Pointer to routine for system keyclick kcl_hook



This portion of the document and onward yet to be converted to wiki tables. Arduous task! But worth it, I think



Address Size  Description                                 Bits used Read/Write
------------------------------------------------------------------------------
===F030 OS ROMs    		                         ===
-------+-----+-----------------------------------------------------+----------
$E00000|byte |                                                     |R
   :   |     |TOS 512K ROMs                                        |
$E7FFFF|byte |                                                     |
$E80000|byte |                                                     |R
   :   |  :  |Image of TOS 512K ROMs 					 |               
$EFFFFF|byte |                                                     |
-------+-----+-----------------------------------------------------+----------
===IDE Controller 							 ===
-------+-----+-----------------------------------------------------+----------
$F00000|long |Data Register                                        |R/W
$F00005|byte |Error Register                    BIT 7 6 5 4 3 2 1 0|R
       |     |Bad block mark -----------------------' | | | | | | ||
       |     |Uncorrectable error --------------------' | | | | | ||
       |     |Media change -----------------------------' | | | | ||
       |     |ID-Field not found -------------------------' | | | ||
       |     |Media change requested -----------------------' | | ||
       |     |Command aborted --------------------------------' | ||
       |     |Track 0 not found --------------------------------' ||
       |     |DAM not found --------------------------------------'|
$F00009|byte |Sector Count Register                                |W
$F0000D|byte |Sector Number Register                               |W
$F00011|byte |Cylinder Low Register                                |W
$F00015|byte |Cylinder High Register                               |W
$F00019|byte |Drive Head Register                                  |W
$F0001D|byte |Status Register                                      |R
$F0001D|byte |Command Register                                     |W
$F00039|byte |Alternate Status Register                            |R
$F00039|byte |Data Output Register                                 |W
-------+-----+-----------------------------------------------------+----------
===Falcon030 BUS Expansion Space                        ===
-------+-----+-----------------------------------------------------+----------
$F10000|word |                                                     |R/W
   .   |     |576K A24/D16 Space                                   | .
$F9FFFF|word |                                                     |R/W
-------+-----+-----------------------------------------------------+----------  
===ROM                                                  ===
-------+-----+-----------------------------------------------------+----------
$FA0000|     |                                                     |
    :  |     |128K ROM expansion cartridge port                    |R
$FBFFFF|     |                                                     |
-------+-----+-----------------------------------------------------+----------
===Falcon030 Memory Controller                          ===
------------------------------------------------------------------------------
$FF8006|byte |                                              BIT 5 4|R/Write in
       |     |00 -  1Mb						  		 |  Combel
       |     |01 -  4Mb            				   		 |  during 	 
       |     |10 - 14Mb                                            |  Read.
       |     |11 - no boot !                                       |
------------------------------------------------------------------------------
===Falcon030 Processor Control                          ===
-------+-----+-----------------------------------------------------+----------
$FF8007|byte |Falcon Bus Control                  BIT 6 5 . . 2 . 0|R/W
	 |     |F30 Start (0=Cold, 1=Warm) -------------' |     |   ||
       |     |STe Bus Emulation (0=on)   ---------------'     |   ||
       |     |Blitter (0=8mhz, 1=16mhz)  ---------------------'   ||
       |     |68030 (0=8mhz, 1=16mhz)    -------------------------'|
-------+-----+-----------------------------------------------------+----------
===SHIFTER Video Controller                             ===
-------+-----+-----------------------------------------------------+----------
$FF8201|byte |Video screen memory position (High byte)             |R/W
$FF8203|byte |Video screen memory position (Mid byte)              |R/W
$FF820D|byte |Video screen memory position (Low byte)              |R/W  
$FF8205|byte |Video address pointer (High byte)                    |R
$FF8207|byte |Video address pointer (Mid byte)                     |R
$FF8209|byte |Video address pointer (Low byte)                     |R
$FF820E|word |Offset to next line                                  |R/W 
$FF820F|byte |Width of a scanline (width in words-1)               |R/W  
$FF8210|word |Width of a scanline (width in words)                 |R/W 
$FF8265|byte |Horizontal scroll register (0-15)                    |R/W  
-------+-----+-----------------------------------------------------+----------
$FF820A|byte |Video synchronization mode                    BIT 1 0|R/W
       |     |0 - 60hz, 1 - 50hz -------------------------------+ ||
       |     |0 - internal, 1 - external sync --------------------'|     
-------+-----+-----------------------------------------------------+----------
$FF8260|byte |Shifter resolution                            BIT 1 0|R/W
       |     |00 320x200x4 bitplanes (16 colors) ---------------+-+|
       |     |01 640x200x2 bitplanes (4 colors) ----------------+-+|
       |     |10 640x400x1 bitplane  (1 colors) ----------------+-'|
$FF8262|word |TT Shifter resolution                   BIT 15 . . 12|R/W   
       |     |Sample/Hold mode ----------------------------'      ||
       |     |Hypermono mode -------------------------------------'|
       |     |Video Mode                                 BIT 10 9 8|
       |     |000  320x200x4 bitplanes (16 colors) -----------+-+-+|
       |     |001  640x200x2 bitplanes (4 colors) ------------+-+-+|
       |     |010  640x400x1 bitplane  (2 colors)(Duochrome) -+-+-+|
       |     |100  640x480x4 bitplanes (16 colors) -----------+-+-+|
       |     |110 1280x960x1 bitplane  (2 colors) ------------+-+-+|
       |     |111  320x480x8 bitplanes (256 colors) ----------+-+-'|
       |     |ST Palette Bank                           BIT 3 2 1 0|
-------+-----+-----------------------------------------------------+----------
===Falcon030 VIDEL Video Controller                     ===
-------+-----+-----------------------------------------------------+----------
$FF8006|byte |Monitor Type                                  BIT 7 6|R   
       |     |00 - Monochrome (SM124) --------------------------+-+|
       |     |01 - Color (SC1224) ------------------------------+-+|
       |     |10 - VGA Color -----------------------------------+-+|
       |     |11 - Television ----------------------------------+-'|
$FF820E|word |Offset to next line                                  |R/W 
$FF8210|word |VWRAP - Linewidth in words                           |R/W 
$FF8266|word |SPSHIFT                    BIT 10 . 8 . 6 5 4 3 2 1 0|R/W 
       |     |2-colour mode ------------------'   |   | | | | | | ||
       |     |Truecolour mode --------------------'   | | | | | | ||
       |     |Use external hsync ---------------------' | | | | | ||
       |     |Use external vsync -----------------------' | | | | ||
       |     |8 Bitplane mode ----------------------------' | | | ||
       |     |? Bitplane mode ------------------------------' | | ||
       |     |? Bitplane mode --------------------------------' | ||
       |     |? Bitplane mode ----------------------------------' ||
       |     |? Bitplane mode ------------------------------------'|
       |     +-----------------------------------------------------+
       |     |      Horizontal Control Registers             (9bit)|
$FF8280|word |HHC - Horizontal Hold Counter                        |R   
$FF8282|word |HHT - Horizontal Hold Timer                          |R/W 
$FF8284|word |HBB - Horizontal Border Begin                        |R/W 
$FF8286|word |HBE - Horizontal Border End                          |R/W 
$FF8288|word |HDB - Horizontal Display Begin                       |R/W 
$FF828A|word |HDE - Horizontal Display End                         |R/W 
$FF828C|word |HSS - Horizontal SS                                  |R/W 
$FF828E|word |HFS - Horizontal FS                                  |R/W 
$FF8290|word |HEE - Horizontal EE                                  |R/W 
       |     +-----------------------------------------------------+
       |     |      Vertical Control Registers              (10bit)|
$FF82A0|word |VFC - Vertcial Frequency Counter                     |R   
$FF82A2|word |VFT - Vertical Frequency Timer                       |R/W 
$FF82A4|word |VBB - Vertical Border Begin      (count in 1/2 lines)|R/W 
$FF82A6|word |VBE - Vertical Border End        (count in 1/2 lines)|R/W 
$FF82A8|word |VDB - Vertical Display Begin                         |R/W 
$FF82AA|word |VDE - Vertical Display End                           |R/W 
$FF82AC|word |VSS - Vertical SS                                    |R/W 
       |     +-----------------------------------------------------+
$FF82C0|word |??? - Video Clock (?) (Super78 puts $182 here)       |R/W 
$FF82C2|word |VCO - Video Control                       BIT 3 2 1 0|R/W 
       |     |Quarter pixel width (quadruple pixels) -------' | | ||
       |     |Half pixel width (double pixels) ---------------' | ||
       |     |Skip line (interlace) ----------------------------' ||
       |     |Line doubling --------------------------------------'|
-------+-----+-----------------------------------------------------+----------
===DMA/WD1772 Disk controller                           ===
-------+-----+-----------------------------------------------------+----------
$FF8600|     |Reserved                                             |
$FF8602|     |Reserved                                             |
$FF8604|word |FDC access/sector count                              |R/W
$FF8606|word |DMA mode/status                             BIT 2 1 0|R
       |     |Condition of FDC DATA REQUEST signal -----------' | ||
       |     |0 - sector count null,1 - not null ---------------' ||
       |     |0 - no error, 1 - DMA error ------------------------'|
$FF8606|word |DMA mode/status                 BIT 8 7 6 . 4 3 2 1 .|W
       |     |0 - read FDC/HDC,1 - write ---------' | | | | | | |  |
       |     |0 - HDC access,1 - FDC access --------' | | | | | |  |
       |     |0 - DMA on,1 - no DMA ------------------' | | | | |  |
       |     |Reserved ---------------------------------' | | | |  |
       |     |0 - FDC reg,1 - sector count reg -----------' | | |  |
       |     |0 - FDC access,1 - HDC access ----------------' | |  |
       |     |0 - pin A1 low, 1 - pin A1 high ----------------' |  |
       |     |0 - pin A0 low, 1 - pin A0 high ------------------'  |
$FF8609|byte |DMA base and counter (High byte)                     |R/W
$FF860B|byte |DMA base and counter (Mid byte)                      |R/W
$FF860D|byte |DMA base and counter (Low byte)                      |R/W
$FF86OE|byte |High Density Drive                           BIT 1 0 |R/W
       |     |  FDDS  (0=DD, 1=HD)  ---------------------------' | |
       |     |  FCCLK (0=8MHz, 1=16MHz)  ------------------------' |
-------+-----+-----------------------------------------------------+----------
===YM2149 Sound Chip                                    ===
-------+-----+-----------------------------------------------------+----------
$FF8800|byte |Read data/Register select                            |R/W
       |     |0 Channel A Freq Low              BIT 7 6 5 4 3 2 1 0|
       |     |1 Channel A Freq High                     BIT 3 2 1 0|
       |     |2 Channel B Freq Low              BIT 7 6 5 4 3 2 1 0|
       |     |3 Channel B Freq High                     BIT 3 2 1 0|
       |     |4 Channel C Freq Low              BIT 7 6 5 4 3 2 1 0|
       |     |5 Channel C Freq High                     BIT 3 2 1 0|
       |     |6 Noise Freq                          BIT 5 4 3 2 1 0|
       |     |7 Mixer Control                   BIT 7 6 5 4 3 2 1 0|
       |     |  Port B IN/OUT (1=Output) -----------' | | | | | | ||
       |     |  Port A IN/OUT ------------------------' | | | | | ||
       |     |  Channel C Noise (1=Off) ----------------' | | | | ||
       |     |  Channel B Noise --------------------------' | | | ||
       |     |  Channel A Noise ----------------------------' | | ||
       |     |  Channel C Tone (0=On) ------------------------' | ||
       |     |  Channel B Tone ---------------------------------' ||
       |     |  Channel A Tone -----------------------------------'|
       |     |8 Channel A Amplitude Control           BIT 4 3 2 1 0|
       |     |  Fixed/Variable Level (0=Fixed) -----------' | | | ||
       |     |  Amplitude level control --------------------+-+-+-'|
       |     |9 Channel B Amplitude Control           BIT 4 3 2 1 0|
       |     |  Fixed/Variable Level ---------------------' | | | ||
       |     |  Amplitude level control --------------------+-+-+-'|
       |     |10 Channel C Amplitude Control          BIT 4 3 2 1 0|
       |     |  Fixed/Variable Level ---------------------' | | | ||
       |     |  Amplitude level control --------------------+-+-+-'|
       |     |11 Envelope Period High           BIT 7 6 5 4 3 2 1 0|
       |     |12 Envelope Period Low            BIT 7 6 5 4 3 2 1 0|
       |     |13 Envelope Shape                         BIT 3 2 1 0|
       |     |  Continue -----------------------------------' | | ||
       |     |  Attack ---------------------------------------' | ||
       |     |  Alternate --------------------------------------' ||
       |     |  Hold ---------------------------------------------'|
       |     |   00xx - \____________________________________      |
       |     |   01xx - /|___________________________________      |
       |     |   1000 - \|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\      |
       |     |   1001 - \____________________________________      |
       |     |   1010 - \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\      |
       |     |   1011 - \|-----------------------------------      |
       |     |   1100 - /|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/      |
       |     |   1101 - /------------------------------------      |
       |     |   1110 - /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/      |
       |     |   1111 - /|___________________________________      |
       |     |14 Port A                         BIT 7 6 5 4 3 2 1 0|
       |     |  IDE Drive On/OFF -------------------+ | | | | | | ||    
       |     |  Internal Speaker On/Off --------------' | | | | | || 
       |     |  Centronics STROBE ----------------------' | | | | ||
       |     |  DSP RESET --------------------------------' | | | ||    
       |     |  Centronics SELECT IN -----------------------' | | ||    
       |     |  Drive SELECT B -------------------------------' | ||
       |     |  Drive SELECT A ---------------------------------' ||
       |     |  Drive SIDE SELECT --------------------------------'|
       |     |15 Port B (Parallel port)                            |
$FF8802|byte |Write data                                           |W
       |     +-----------------------------------------------------+
       |     |Note: PSG Registers are now fixed at these addresses.|
       |     |All other addresses are masked out on the Falcon. Any|
       |     |writes to the shadow registers $8804-$88FF will cause|
       |     |bus errors. Game/Demo coders beware!                 |
-------+-----+-----------------------------------------------------+----------
===DMA Sound System                                     ===
-------+-----+-----------------------------------------------------+----------
$FF8900|byte |Buffer interrupts                         BIT 3 2 1 0|R/W 
       |     |TimerA-Int at end of record buffer -----------' | | ||
       |     |TimerA-Int at end of replay buffer -------------' | ||
       |     |MFP-15-Int (I7) at end of record buffer ----------' ||
       |     |MFP-15-Int (I7) at end of replay buffer ------------'|
-------+-----+-----------------------------------------------------+----------
$FF8901|byte |DMA Control Register              BIT 7 . 5 4 . . 1 0|R/W
       |     |1 - select record register -----------+   | |     | ||    
       |     |0 - select replay register -----------'   | |     | ||    
       |     |Loop record buffer -----------------------' |     | ||    
       |     |DMA Record on ------------------------------'     | ||    
       |     |Loop replay buffer -------------------------------' ||     
       |     |DMA Replay on --------------------------------------'|     
-------+-----+-----------------------------------------------------+----------
$FF8903|byte |Frame start address (high byte)                      |R/W  
$FF8905|byte |Frame start address (mid byte)                       |R/W  
$FF8907|byte |Frame start address (low byte)                       |R/W  
$FF8909|byte |Frame address counter (high byte)                    |R    
$FF890B|byte |Frame address counter (mid byte)                     |R    
$FF890D|byte |Frame address counter (low byte)                     |R    
$FF890F|byte |Frame end address (high byte)                        |R/W  
$FF8911|byte |Frame end address (mid byte)                         |R/W  
$FF8913|byte |Frame end address (low byte)                         |R/W  
-------+-----+-----------------------------------------------------+----------
$FF8920|byte |DMA Track Control                     BIT 5 4 . . 1 0|R/W 
       |     |00 - Set DAC to Track 0 ------------------+-+     | ||
       |     |01 - Set DAC to Track 1 ------------------+-+     | ||
       |     |10 - Set DAC to Track 2 ------------------+-+     | ||
       |     |11 - Set DAC to Track 3 ------------------+-'     | ||
       |     |00 - Play 1 Track --------------------------------+-+|
       |     |01 - Play 2 Tracks -------------------------------+-+|
       |     |10 - Play 3 Tracks -------------------------------+-+|
       |     |11 - Play 4 Tracks -------------------------------+-'|
-------+-----+-----------------------------------------------------+----------
$FF8921|byte |Sound mode control                BIT 7 6 . . . . 1 0|R/W  
       |     |0 - Stereo, 1 - Mono -----------------' |         | ||
       |     |0 - 8bit -------------------------------+         | ||
       |     |1 - 16bit ------------------------------'         | ||    
       |     |Frequency control bits                            | ||
       |     |00 - Off -----------------------------------------+-+|    
       |     |01 - 12517hz frequency ---------------------------+-+|
       |     |10 - 25033hz frequency ---------------------------+-+|
       |     |11 - 50066hz frequency ---------------------------+-'|
       |     |Samples are always signed. In stereo mode, data is   |
       |     |arranged in pairs with high pair the left channel,low|
       |     |pair right channel. Sample length MUST be even in    |
       |     |either mono or stereo mode.                          |
       |     |Example: 8 bit Stereo : LRLRLRLRLRLRLRLR             |
       |     |        16 bit Stereo : LLRRLLRRLLRRLLRR 		 |
       |     |2 track 16 bit stereo : LLRRllrrLLRRllrr 	       |
-------+-----+-----------------------------------------------------+----------
===Falcon030 DMA/DSP Controllers                        ===
-------+-----+-----------------------------------------------------+----------
$FF8930|word |Crossbar Source Controller                           |R/W 
       |     +-----------------------------------------------------+
       |     |Source: A/D Convertor                 BIT 15 14 13 12|
       |     |1 - Connect, 0 - disconnect ---------------'  |  |  ||
       |     |00 - 25.175Mhz clock -------------------------+--+  ||
       |     |01 - External clock --------------------------+--+  ||
       |     |10 - 32Mhz clock (Don't use) -----------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
       |     +-----------------------------------------------------+
       |     |Source: External Input                BIT 11 10  9  8|
       |     |0 - DSP IN, 1 - All others ----------------'  |  |  ||
       |     |00 - 25.175Mhz clock -------------------------+--+  ||
       |     |01 - External clock --------------------------+--+  ||
       |     |10 - 32Mhz clock -----------------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
       |     +-----------------------------------------------------+
       |     |Source: DSP-XMIT                      BIT  7  6  5  4|
       |     |0 - Tristate and disconnect DSP -----------+  |  |  ||
       |     |    (Only for external SSI use)            |  |  |  ||
       |     |1 - Connect DSP to multiplexer ------------'  |  |  ||
       |     |00 - 25.175Mhz clock -------------------------+--+  ||
       |     |01 - External clock --------------------------+--+  ||
       |     |10 - 32Mhz clock -----------------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
       |     +-----------------------------------------------------+
       |     |Source: DMA-PLAYBACK                  BIT  3  2  1  0|
       |     |0 - Handshaking on, dest DSP-REC ----------+  |  |  ||
       |     |1 - Destination is not DSP-REC ------------'  |  |  ||
       |     |00 - 25.175Mhz clock -------------------------+--+  ||
       |     |01 - External clock --------------------------+--+  ||
       |     |10 - 32Mhz clock -----------------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
-------+-----+-----------------------------------------------------+----------
$FF8932|word |Crossbar Destination Controller                      |R/W 
       |     +-----------------------------------------------------+
       |     |Destination: D/A Convertor            BIT 15 14 13 12|
       |     |1 - Connect, 0 - Disconnect ---------------'  |  |  ||
       |     |00 - Source DMA-PLAYBACK ---------------------+--+  ||
       |     |01 - Source DSP-XMIT -------------------------+--+  ||
       |     |10 - Source External Input -------------------+--+  ||
       |     |11 - Source A/D Convertor --------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
       |     +-----------------------------------------------------+
       |     |Destination: External Output          BIT 11 10  9  8|
       |     |0 - DSP out, 1 - All others ---------------'  |  |  ||
       |     |00 - Source DMA-PLAYBACK ---------------------+--+  ||
       |     |01 - Source DSP-XMIT -------------------------+--+  ||
       |     |10 - Source External Input -------------------+--+  ||
       |     |11 - Source A/D Convertor --------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
       |     +-----------------------------------------------------+
       |     |Destination: DSP-RECORD               BIT  7  6  5  4|
       |     |0 - Tristate and disconnect DSP -----------+  |  |  ||
       |     |    (Only for external SSI use)            |  |  |  ||
       |     |1 - Connect DSP to multiplexer ------------'  |  |  ||
       |     |00 - Source DMA-PLAYBACK ---------------------+--+  ||
       |     |01 - Source DSP-XMIT -------------------------+--+  ||
       |     |10 - Source External Input -------------------+--+  ||
       |     |11 - Source A/D Convertor --------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
       |     +-----------------------------------------------------+
       |     |Destination: DMA-RECORD               BIT  3  2  1  0|
       |     |0 - Handshaking on, src DSP-XMIT ----------+  |  |  ||
       |     |1 - Source is not DSP-XMIT ----------------'  |  |  ||
       |     |00 - Source DMA-PLAYBACK ---------------------+--+  ||
       |     |01 - Source DSP-XMIT -------------------------+--+  ||
       |     |10 - Source External Input -------------------+--+  ||
       |     |11 - Source A/D Convertor --------------------+--'  ||
       |     |0 - Handshake on, 1 - Handshake off ----------------'|
-------+-----+-----------------------------------------------------+----------
$FF8934|byte |Frequency Divider External Clock          BIT 3 2 1 0|R/W 
       |     |0000 - STe-Compatible mode                           |
       |     |0001 - 1111  Divide by 256 and then number           |
-------+-----+-----------------------------------------------------+----------
$FF8935|byte |Frequency Divider Internal Sync           BIT 3 2 1 0|R/W 
       |     |0000 - STe-Compatible mode   1000 - 10927Hz*         |
       |     |0001 - 49170Hz               1001 -  9834Hz          |
       |     |0010 - 32780Hz               1010 -  8940Hz*         |
       |     |0011 - 24585Hz               1011 -  8195Hz          |
       |     |0100 - 19668Hz               1100 -  7565Hz*         |
       |     |0101 - 16390Hz               1101 -  7024Hz*         |
       |     |0110 - 14049Hz*              1110 -  6556Hz*         |
       |     |0111 - 12292Hz               1111 -  6146Hz*         |
       |     |               * - Invalid for CODEC                 |
-------+-----+-----------------------------------------------------+----------
$FF8936|byte |Record Tracks Select                          BIT 1 0|R/W 
       |     |00 - Record 1 Track ------------------------------+-+|
       |     |01 - Record 2 Tracks -----------------------------+-+|
       |     |10 - Record 3 Tracks -----------------------------+-+|
       |     |11 - Record 4 Tracks -----------------------------+-'|
-------+-----+-----------------------------------------------------+----------
$FF8937|byte |CODEC Input Source from 16bit adder           BIT 1 0|R/W 
       |     |Source: Multiplexer ------------------------------' ||
       |     |Source: A/D Convertor ------------------------------'|
-------+-----+-----------------------------------------------------+----------
$FF8938|byte |CODEC ADC-Input for L+R Channel               BIT 1 0|R/W 
       |     |0 - Microphone, 1 - Soundchip                     L R|
-------+-----+-----------------------------------------------------+----------
$FF8939|byte |Channel amplification                   BIT LLLL RRRR|R/W 
       |     |          Amplification is in +1.5dB steps           |
-------+-----+-----------------------------------------------------+----------
$FF893A|word |Channel attenuation                     BIT LLLL RRRR|R/W 
       |     |           Attenuation is in -1.5dB steps            |
-------+-----+-----------------------------------------------------+----------
$FF893C|byte |CODEC-Status                                  BIT 1 0|R/W 
       |     |Left Channel Overflow ----------------------------' ||
       |     |Right Channel Overflow -----------------------------'|
-------+-----+-----------------------------------------------------+----------
$FF8941|byte |GPx Data Direction                          BIT 2 1 0|R/W 
       |     |0 - In, 1 - Out --------------------------------+-+-'|
       |     | For the GP0-GP2 pins on the DSP connector           |
-------+-----+-----------------------------------------------------+----------
$FF8943|byte |GPx Data Port                               BIT 2 1 0|R/W 
-------+-----+-----------------------------------------------------+----------
===F030 RTC Chip (DS1287)       		             ===
-------+-----+-----------------------------------------------------+----------
$FF8961|byte |Register select                                      |W     
       |     |0 - Current Second                                   |
       |     |1 - Second for alarm                                 |
       |     |2 - Current Minute                                   |
       |     |3 - Minute for alarm                                 |
       |     |4 - Current Hour                                     |
       |     |5 - Hour for alarm                                   |
       |     |6 - Day of week (1=Sunday, 2=Monday, 3=...)          |
       |     |7 - Day of Month                                     |
       |     |8 - Month                                            |
       |     |9 - Year (example : '93' for this year)              |
       |     |A                                               BIT 7|
       |     |    If set, update time in progress ----------------'|
       |     |    don't read time & date registers                 |
       |     |B                                 BIT 7 6 5 4 3 2 1 0|
       |     |1 = Write Protect time & date --------'   | |   | | ||
       |     |1 = Enable alarm interrupt ---------------' |   | | ||
       |     |1 = Interrupt after time updated -----------'   | | ||
       |     |1 = Format Binary, 0 = Format BCD --------------' | ||
       |     |1 = 24hr format, 0 = 12hr format -----------------' ||
       |     |1 = Summer hours, 0 = Winter hours -----------------'|
       |     |C                                           BIT 6 5 4|
       |     | ??? -------------------------------------------' | ||
       |     |1 = alarm is ringing -----------------------------' ||
       |     |1 = date is updated --------------------------------'|
       |     |On interrupt, read this register to determine source.|
       |     |D                                               BIT 7|
       |     |1 = Battery dead -----------------------------------'|
$FF8963|byte |Register data                                        |R/W   
-------+-----+-----------------------------------------------------+----------
===Blitter 								 ===
-------+-----+-----------------------------------------------------+----------
$FF8A00|word |Halftone-RAM, Word 0                                 |R/W 
    :  |  :  |    :     :     :  :                                 | :     
$FF8A1E|word |Halftone-RAM, Word 15                                |R/W 
$FF8A20|word |Source X Increment                      (signed,even)|R/W 
$FF8A22|word |Source Y Increment                      (signed,even)|R/W 
$FF8A24|long |Source Address Register                 (24 bit,even)|R/W 
$FF8A28|word |Endmask 1                     (First write of a line)|R/W 
$FF8A2A|word |Endmask 2                     (All other line writes)|R/W 
$FF8A2C|word |Endmask 3                      (Last write of a line)|R/W 
$FF8A2E|word |Destination X Increment                 (signed,even)|R/W 
$FF8A30|word |Destination Y Increment                 (signed,even)|R/W 
$FF8A32|long |Destination Address Register            (24 bit,even)|R/W 
$FF8A36|word |Words per Line in Bit-Block                 (0=65536)|R/W 
$FF8A38|word |Lines per Bit-Block                         (0=65536)|R/W 
$FF8A3A|byte |Halftone Operation Register                   BIT 1 0|R/W 
       |     |00 - All ones ------------------------------------+-+|
       |     |01 - Halftone ------------------------------------+-+|
       |     |10 - Source --------------------------------------+-+|
       |     |11 - Source AND Halftone -------------------------+-'|
$FF8A3B|byte |Logical Operation Register                BIT 3 2 1 0|R/W 
       |     |0000 All zeros -------------------------------+-+-+-+|
       |     |0001 Source AND destination ------------------+-+-+-+|
       |     |0010 Source AND NOT destination --------------+-+-+-+|
       |     |0011 Source ----------------------------------+-+-+-+|
       |     |0100 NOT source AND destination --------------+-+-+-+|
       |     |0101 Destination -----------------------------+-+-+-+|
       |     |0110 Source XOR destination ------------------+-+-+-+|
       |     |0111 Source OR destination -------------------+-+-+-+|
       |     |1000 NOT source AND NOT destination ----------+-+-+-+|
       |     |1001 NOT source XOR destination --------------+-+-+-+|
       |     |1010 NOT destination -------------------------+-+-+-+|
       |     |1011 Source OR NOT destination ---------------+-+-+-+|
       |     |1100 NOT source ------------------------------+-+-+-+|
       |     |1101 NOT source OR destination ---------------+-+-+-+|
       |     |1110 NOT source OR NOT destination -----------+-+-+-+|
       |     |1111 All ones --------------------------------+-+-+-'|
$FF8A3C|byte |Line Number Register              BIT 7 6 5 . 3 2 1 0|R/W 
       |     |BUSY ---------------------------------' | |   | | | ||
       |     |0 - Share bus, 1 - Hog bus -------------' |   | | | ||
       |     |SMUDGE mode ------------------------------'   | | | ||
       |     |Halftone line number -------------------------+-+-+-'|
$FF8A3D|byte |SKEW Register                     BIT 7 6 . . 3 2 1 0|R/W 
       |     |Force eXtra Source Read --------------' |     | | | ||
       |     |No Final Source Read -------------------'     | | | ||
       |     |Source skew ----------------------------------+-+-+-'|
-------+-----+-----------------------------------------------------+----------
===Zilog 8530 SCC 				                   ===
-------+-----+-----------------------------------------------------+----------
$FF8C81|byte |Channel A - Control Register                         |R/W  
$FF8C83|byte |Channel A - Data Register                            |R/W  
$FF8C85|byte |Channel B - Control Register                         |R/W  
$FF8C87|byte |Channel B - Data Register                            |R/W  
-------+-----+-----------------------------------------------------+----------
===F030 Extended Joystick/Lightpen Ports                ===
-------+-----+-----------------------------------------------------+----------
$FF9200|word |Fire buttons 1-4                          Bit 3 2 1 0|R    
       |     |Pause/F0 -------------------------------------' | | ||
       |     |F1 ---------------------------------------------' | ||
       |     |F2 -----------------------------------------------' ||
       |     |Option/F3 ------------------------------------------'|
$FF9202|word |Read Mask (0 - pin read)                             |W    
$FF9202|word |Joystick Inputs                   BIT 7 6 5 4 3 2 1 0|R    
       |     |Controller 1 pin 4 -------------------' | | | | | | ||
       |     |Controller 1 pin 3 ---------------------' | | | | | ||
       |     |Controller 1 pin 2 -----------------------' | | | | ||
       |     |Controller 1 pin 1 -------------------------' | | | ||
       |     |Controller 0 pin 4 ---------------------------' | | ||
       |     |Controller 0 pin 3/Paddle 1 Trigger ------------' | ||
       |     |Controller 0 pin 2/Paddle 0 Trigger --------------' ||
       |     |Controller 0 pin 1 ---------------------------------'|
       |     |                            BIT 15 14 13 12 11 10 9 8|
       |     |Controller 1 pin 14 ------------'   |  |  |  |  | | ||
       |     |Controller 1 pin 13 ----------------'  |  |  |  | | ||
       |     |Controller 1 pin 12 -------------------'  |  |  | | ||
       |     |Controller 1 pin 11 ----------------------'  |  | | ||
       |     |Controller 0 pin 14 -------------------------'  | | ||
       |     |Controller 0 pin 13 ----------------------------' | ||
       |     |Controller 0 pin 12 ------------------------------' ||
       |     |Controller 0 pin 11 --------------------------------'|
$FF9210|word |X Paddle 0 Position               BIT 7 6 5 4 3 2 1 0|R    
$FF9212|word |Y Paddle 0 Position               BIT 7 6 5 4 3 2 1 0|R    
$FF9214|word |X Paddle 1 Position               BIT 7 6 5 4 3 2 1 0|R    
$FF9216|word |Y Paddle 1 Position               BIT 7 6 5 4 3 2 1 0|R    
$FF9220|word |Lightpen X-Position           BIT 9 8 7 6 5 4 3 2 1 0|R    
$FF9222|word |Lightpen Y-Position           BIT 9 8 7 6 5 4 3 2 1 0|R    
-------+-----+-----------------------------------------------------+----------
===Falcon VIDEL Palette Registers                       ===
-------+-----+-----------------------------------------------------+----------
       |     |              BIT 33222222 22221111 11111198 76543210|
       |     |                  10987654 32109876 543210           |
       |     |                  RRRRRr.. GGGGGg.. ........ BBBBBb..|
$FF9800|long |Palette Register  0                   Lowercase = LSB|R/W 
   :   |  :  |   :        :     :                                  | :     
$FF9BFC|long |Palette Register 255                                 |R/W 
-------+-----+-----------------------------------------------------+----------
===Falcon DSP Host Interface                            ===
-------+-----+-----------------------------------------------------+----------
$FFA200|byte |Interrupt Ctrl Register           BIT 7 6 5 4 3 . 1 0|R/W 
X:$FFE9|     |INIT bit -----------------------------' | | | |   | ||
       |     |00 - Interupt mode (DMA off) -----------+-+ | |   | ||
       |     |01 - 24-bit DMA mode -------------------+-+ | |   | ||
       |     |10 - 16-bit DMA mode -------------------+-+ | |   | ||
       |     |11 - 8-bit DMA mode --------------------+-' | |   | ||
       |     |Host Flag 1 --------------------------------' |   | ||
       |     |Host Flag 0 ----------------------------------'   | ||
       |     |         Host mode Data transfers:                | ||
       |     |              Interrupt mode                      | ||
       |     |00 - No interrupts (Polling) ---------------------+-+|
       |     |01 - RXDF Request (Interrupt) --------------------+-+|
       |     |10 - TXDE Request (Interrupt) --------------------+-+|
       |     |11 - RXDF and TXDE Request (Interrupts) ----------+-+|
       |     |                 DMA Mode                         | ||
       |     |00 - No DMA --------------------------------------+-+|
       |     |01 - DSP to Host Request (RX) --------------------+-+|
       |     |10 - Host to DSP Request (TX) --------------------+-+|
       |     |11 - Undefined (Illegal) -------------------------+-'|
$FFA201|byte |Command Vector Register           BIT 7 . . 4 3 2 1 0|R/W 
X:$FFE9|     |Host Command Bit (Handshake)----------'     | | | | ||
       |     |Host Vector (0-31) -------------------------+-+-+-+-'|
$FFA202|byte |Interrupt Status Reg              BIT 7 6 . 4 3 2 1 0|R   
X:$FFE8|     |ISR Host Request ---------------------' |   | | | | ||
       |     |ISR DMA Status -------------------------'   | | | | ||
       |     |Host Flag 3 --------------------------------' | | | ||
       |     |Host Flag 2 ----------------------------------' | | ||
       |     |ISR Transmitter Ready (TRDY) -------------------' | ||
       |     |ISR Transmit Data Register Empty (TXDE) ----------' ||
       |     |ISR Receive Data Register Full (RXDF) --------------'|
$FFA203|byte |Interrupt Vector Register                            |R/W 
$FFA204|byte |Unused                                               |    
$FFA205|byte |DSP-Word High                                        |R/W 
X:$FFEB|     |                                                     |
$FFA206|byte |DSP-Word Mid                                         |R/W 
X:$FFEB|     |                                                     |
$FFA207|byte |DSP-Word Low                                         |R/W 
X:$FFEB|     |                                                     |
-------+-----+-----------------------------------------------------+----------
===MFP 68901 - Multi Function Peripheral Chip           ===
       |     |                                                     |
       |     |     MFP Master Clock is 2,457,600 cycles/second     |
-------+-----+-----------------------------------------------------+----------
$FFFA01|byte |Parallel Port Data Register                          |R/W
-------+-----+-----------------------------------------------------+----------
$FFFA03|byte |Active Edge Register              BIT 7 6 5 4 3 2 1 0|R/W
       |     |                                      | | | | | | | ||
       |     |IO7 - SND INT ------------------------' | | | | | | ||
       |     |IO6 - RS-232 RING Indicator ------------' | | | | | ||
       |     |IO5 - FDC & HDC & IDE INT ----------------' | | | | ||    
       |     |IO4 - Keyboard & MIDI INT ------------------' | | | ||
       |     |IO3 - DSP INT --------------------------------' | | ||    
       |     |IO2 - MIDI INT ---------------------------------' | ||    
       |     |IO1 - Centronics ACK -----------------------------' ||    
       |     |IO0 - Centronics BUSY ------------------------------'|
       |     +-----------------------------------------------------+
       |     |       When port bits are used for input only:       |
       |     |0 - Interrupt on pin high-low conversion             |
       |     |1 - Interrupt on pin low-high conversion             |
-------+-----+-----------------------------------------------------+----------
$FFFA05|byte |Data Direction                    BIT 7 6 5 4 3 2 1 0|R/W
       |     |0 - In, 1 - Out ----------------------+-+-+-+-+-+-+-'|
-------+-----+-----------------------------------------------------+----------
$FFFA07|byte |Interrupt Enable A                BIT 7 6 5 4 3 2 1 0|R/W
$FFFA0B|byte |Interrupt Pending A               BIT 7 6 5 4 3 2 1 0|R/W
$FFFA0F|byte |Interrupt In-service A            BIT 7 6 5 4 3 2 1 0|R/W
$FFFA13|byte |Interrupt Mask A                  BIT 7 6 5 4 3 2 1 0|R/W
       |     |MFP Address                           | | | | | | | ||
       |     |$13C   SND INT -----------------------' | | | | | | ||
       |     |$138   RS-232 Ring Detector ------------' | | | | | ||
       |     |$134   (STE sound)  Timer A --------------' | | | | ||
       |     |$130    Receive buffer full ----------------' | | | ||
       |     |$12C          Receive error ------------------' | | ||
       |     |$128      Send buffer empty --------------------' | ||
       |     |$124             Send error ----------------------' ||
       |     |$120   (HBL)        Timer B ------------------------'|
       |     |1 - Enable Interrupt            0 - Disable Interrupt|
-------+-----+-----------------------------------------------------+----------
$FFFA09|byte |Interrupt Enable B                BIT 7 6 5 4 3 2 1 0|R/W
$FFFA0D|byte |Interrupt Pending B               BIT 7 6 5 4 3 2 1 0|R/W
$FFFA11|byte |Interrupt In-service B            BIT 7 6 5 4 3 2 1 0|R/W
$FFFA15|byte |Interrupt Mask B                  BIT 7 6 5 4 3 2 1 0|R/W
       |     |MFP Address                           | | | | | | | ||
       |     |$11C        FDC/HDC/IDE INT ----------' | | | | | | ||
       |     |$118      Keyboard/MIDI INT ------------' | | | | | ||
       |     |$114 (200hz clock)  Timer C --------------' | | | | ||
       |     |$110 (USART timer)  Timer D ----------------' | | | ||
       |     |$10C      DSP Connector INT ------------------' | | ||
       |     |$108               MIDI INT --------------------' | ||
       |     |$104        Centronics  ACK ----------------------' ||
       |     |$100        Centronics BUSY ------------------------'|
       |     |1 - Enable Interrupt            0 - Disable Interrupt|
-------+-----+-----------------------------------------------------+----------
$FFFA17|byte |Vector Register                   BIT 7 6 5 4 3 . . .|R/W
       |     |Vector Base Offset -------------------+-+-+-' |      |
       |     |1 - *Software End-interrupt mode -------------+      |
       |     |0 - Automatic End-interrupt mode -------------'      |
       |     |* - Default operating mode                           |
-------+-----+-----------------------------------------------------+----------
$FFFA19|byte |Timer A Control                         BIT 4 3 2 1 0|R/W
$FFFA1B|byte |Timer B Control                         BIT 4 3 2 1 0|R/W
       |     |Reset (force output low) -------------------' | | | ||
       |     +----------------------------------------------+-+-+-++
       |     |0000 - Timer stop, no function executed              |
       |     |0001 - Delay mode, divide by 4                       |
       |     |0010 -     :           :     10                      |
       |     |0011 -     :           :     16                      |
       |     |0100 -     :           :     50                      |
       |     |0101 -     :           :     64                      |
       |     |0110 -     :           :     100                     |
       |     |0111 - Delay mode, divide by 200                     |
       |     |1000 - Event count mode                              |
       |     |1xxx - Pulse extension mode, divide as above         |
       |     +-----------------------------------------------------+
$FFFA1F|byte |Timer A Data                                         |R/W
$FFFA21|byte |Timer B Data                                         |R/W
-------+-----+-----------------------------------------------------+----------
$FFFA1D|byte |Timer C & D Control                 BIT 6 5 4 . 2 1 0|R/W
       |     |                                        Timer   Timer|
       |     |                                          C       D  |
       |     +-----------------------------------------------------+
       |     |000 - Timer stop                                     |
       |     |001 - Delay mode, divide by 4                        |
       |     |010 -      :           :    10                       |
       |     |011 -      :           :    16                       |
       |     |100 -      :           :    50                       |
       |     |101 -      :           :    64                       |
       |     |110 -      :           :    100                      |
       |     |111 - Delay mode, divide by 200                      |
       |     +-----------------------------------------------------+
$FFFA23|byte |Timer C Data                                         |R/W
$FFFA25|byte |Timer D Data                                         |R/W
-------+-----+-----------------------------------------------------+----------
$FFFA27|byte |Sync Character                                       |R/W
$FFFA29|byte |USART Control                     BIT 7 6 5 4 3 2 1 .|R/W
       |     |Clock divide (1 - div by 16) ---------' | | | | | | ||
       |     |Word Length 00 - 8 bits ----------------+-+ | | | | ||
       |     |            01 - 7 bits ----------------+-+ | | | | ||
       |     |            10 - 6 bits ----------------+-+ | | | | ||
       |     |            11 - 5 bits ----------------+-' | | | | ||
       |     |Bits Stop Start Format                      | | | | ||
       |     |00     0    0   Synchronous ----------------+-+ | | ||
       |     |01     1    1   Asynchronous ---------------+-+ | | ||
       |     |10     1    1.5 Asynchronous ---------------+-+ | | ||
       |     |11     1    2   Asynchronous ---------------+-' | | ||
       |     |Parity (0 - ignore parity bit) -----------------' | ||
       |     |Parity (0 - odd parity,1 - even) -----------------' ||
       |     |Unused ---------------------------------------------'|
$FFFA2B|byte |Receiver Status                   BIT 7 6 5 4 3 2 1 0|R/W
       |     |Buffer full --------------------------' | | | | | | ||
       |     |Overrun error --------------------------' | | | | | ||
       |     |Parity error -----------------------------' | | | | ||
       |     |Frame error --------------------------------' | | | ||
       |     |Found - Search/Break detected ----------------' | | ||
       |     |Match/Character in progress --------------------' | ||
       |     |Synchronous strip enable -------------------------' ||
       |     |Receiver enable bit --------------------------------'|
$FFFA2D|byte |Transmitter Status                BIT 7 6 5 4 3 2 1 0|R/W
       |     |Buffer empty -------------------------' | | | | | | ||
       |     |Underrun error -------------------------' | | | | | ||
       |     |Auto turnaround --------------------------' | | | | ||
       |     |End of transmission ------------------------' | | | ||
       |     |Break ----------------------------------------' | | ||
       |     |High bit ---------------------------------------' | ||
       |     |Low bit ------------------------------------------' ||
       |     |Transmitter enable ---------------------------------'|
$FFFA2F|byte |USART data                                           |R/W/
-------+-----+-----------------------------------------------------+----------
===6850 ACIA I/O Chips                                  ===
-------+-----+-----------------------------------------------------+----------
$FFFC00|byte |Keyboard ACIA control             BIT 7 6 5 4 3 2 1 0|W
       |     |Rx Int enable (1 - enable) -----------' | | | | | | ||
       |     |Tx Interrupts                           | | | | | | ||
       |     |00 - RTS low, Tx int disable -----------+-+ | | | | ||
       |     |01 - RTS low, Tx int enable ------------+-+ | | | | ||
       |     |10 - RTS high, Tx int disable ----------+-+ | | | | ||
       |     |11 - RTS low, Tx int disable,           | | | | | | ||
       |     |     Tx a break onto data out ----------+-' | | | | ||
       |     |Settings                                    | | | | ||
       |     |000 - 7 bit, even, 2 stop bit --------------+-+-+ | ||
       |     |001 - 7 bit, odd, 2 stop bit ---------------+-+-+ | ||
       |     |010 - 7 bit, even, 1 stop bit --------------+-+-+ | ||
       |     |011 - 7 bit, odd, 1 stop bit ---------------+-+-+ | ||
       |     |100 - 8 bit, 2 stop bit --------------------+-+-+ | ||
       |     |101 - 8 bit, 1 stop bit --------------------+-+-+ | ||
       |     |110 - 8 bit, even, 1 stop bit --------------+-+-+ | ||
       |     |111 - 8 bit, odd, 1 stop bit ---------------+-+-' | ||
       |     |Clock divide                                      | ||
       |     |00 - Normal --------------------------------------+-+|
       |     |01 - Div by 16 -----------------------------------+-+|
       |     |10 - Div by 64 -----------------------------------+-+|
       |     |11 - Master reset --------------------------------+-'|
$FFFC00|byte |Keyboard ACIA control             BIT 7 6 5 4 3 2 1 0|R
       |     |Interrupt request --------------------' | | | | | | ||
       |     |Parity error ---------------------------' | | | | | ||
       |     |Rx overrun -------------------------------' | | | | ||
       |     |Framing error ------------------------------' | | | ||
       |     |CTS ------------------------------------------' | | ||
       |     |DCD --------------------------------------------' | ||
       |     |Tx data register empty ---------------------------' ||
       |     |Rx data register full ------------------------------'|
$FFFC02|byte |Keyboard ACIA data                                   |R/W
$FFFC04|byte |MIDI ACIA control                 BIT 7 6 5 4 3 2 1 0|W
       |     |Rx Int enable (1 - enable) -----------' | | | | | | ||
       |     |Tx Interrupts                           | | | | | | ||
       |     |00 - RTS low, Tx int disable -----------+-+ | | | | ||
       |     |01 - RTS low, Tx int enable ------------+-+ | | | | ||
       |     |10 - RTS high, Tx int disable ----------+-+ | | | | ||
       |     |11 - RTS low, Tx int disable,           | | | | | | ||
       |     |     Tx a break onto data out ----------+-' | | | | ||
       |     |Settings                                    | | | | ||
       |     |000 - 7 bit, even, 2 stop bit --------------+-+-+ | ||
       |     |001 - 7 bit, odd, 2 stop bit ---------------+-+-+ | ||
       |     |010 - 7 bit, even, 1 stop bit --------------+-+-+ | ||
       |     |011 - 7 bit, odd, 1 stop bit ---------------+-+-+ | ||
       |     |100 - 8 bit, 2 stop bit --------------------+-+-+ | ||
       |     |101 - 8 bit, 1 stop bit --------------------+-+-+ | ||
       |     |110 - 8 bit, even, 1 stop bit --------------+-+-+ | ||
       |     |111 - 8 bit, odd, 1 stop bit ---------------+-+-' | ||
       |     |Clock divide                                      | ||
       |     |00 - Normal --------------------------------------+-+|
       |     |01 - Div by 16 -----------------------------------+-+|
       |     |10 - Div by 64 -----------------------------------+-+|
       |     |11 - Master reset --------------------------------+-'|
$FFFC04|byte |MIDI ACIA control                 BIT 7 6 5 4 3 2 1 0|R
       |     |Interrupt request --------------------' | | | | | | ||
       |     |Parity error ---------------------------' | | | | | ||
       |     |Rx overrun -------------------------------' | | | | ||
       |     |Framing error ------------------------------' | | | ||
       |     |CTS ------------------------------------------' | | ||
       |     |DCD --------------------------------------------' | ||
       |     |Tx data register empty ---------------------------' ||
       |     |Rx data register full ------------------------------'|
$FFFC06|byte |MIDI ACIA data                                       |R/W
-------+-----+-----------------------------------------------------+----------
$FFF00000	 |CT60 Registers (SEE CHG for details)			 |W
    :		 |									 |	
$FFFBFFFF	 |									 |	
-------+-----+-----------------------------------------------------+----------


                                  Cookie Jar
                              Atari CT60 Cookies
Cookie  Description
-------+----------------------------------------------------------------------
_CPU   | CPU Type                                          Bit 7 6 5 4 3 2 1 0
       | Processor type is represented in decimal in the lowest byte.
       | (0 = 68000, 40 = 68040, 60 = 68060)
-------+----------------------------------------------------------------------
_VDO   | Video Type                                                  BIT 17 16
       | Shifter Type                                                     |  |
       | 00 - ST ---------------------------------------------------------+--+
       | 01 - STe --------------------------------------------------------+--+
       | 10 - TT ---------------------------------------------------------+--+
       | 11 - Falcon030 --------------------------------------------------+--'
-------+----------------------------------------------------------------------
_FDC   | Floppy Drive Controller                              BIT 25 24 . 23-0
       | Floppy Format                                             |  |      |
       | 00 - DD (Normal floppy interface) ------------------------+--+      |
       | 01 - HD (1.44 MB with 3.5") ------------------------------+--+      |
       | 10 - ED (2.88 MB with 3.5") ------------------------------+--'      |
       | Controller ID                                                       |
       | 0 - No information available                                        |
       | 'ATC' - Fully compatible interface built in a way that -------------+
       |         behaves like part of the system.                            |
       | 'DP1' - "DreamPark Development", all ID's beginning with -----------'
       |         "DP" are reserved for Dreampark.
-------+----------------------------------------------------------------------
_SND   | Sound Hardware                                        BIT 5 4 3 2 1 0
       | CodeC (??) -----------------------------------------------' | | | | |
       | Connection Matrix ------------------------------------------' | | | |
       | DSP56001 -----------------------------------------------------' | | |
       | 16 Bit DMA Sound -----------------------------------------------' | |
       | 8 Bit DMA Sound --------------------------------------------------' |
       | YM2149 -------------------------------------------------------------'
-------+----------------------------------------------------------------------
_MCH   | Machine Type                                                BIT 17 16
       | 00 - ST/Mega ST -------------------------------------------------+--+
       | 01 - STe & Compatible Machines (See Below) ----------------------+--+
       | 10 - TT ---------------------------------------------------------+--+
       | 11 - Falcon030 --------------------------------------------------+--'
       | STe & Compatible Machines                             BIT 5 4 3 2 1 0
       | 00000 - STe ----------------------------------------------+-+-+-+-+-+
       | 00001 - ST Book ------------------------------------------+-+-+-+-+-+
       | 10000 - Mega STe -----------------------------------------+-+-+-+-+-'
-------+----------------------------------------------------------------------
_SWI   | Configuration Switches
       | State of configuration switches
-------+----------------------------------------------------------------------
_FRB   | Fast Ram Buffer
       | 64k buffer for SDMA transfers to FAST-RAM (32-bit address space)
       | 0 - no buffers assigned    Not 0 - address of FastRam buffer
-------+----------------------------------------------------------------------
XFRB   | Xentended Fast Ram Buffer
       | Buffer for DMA transfers to FAST-RAM (32-bit address space)
       | Address of a pointer to an XFRB structure :
       | WORD version : BCD format (0101 for example)
       | BYTE *xflock : semaphore
       | BYTE *buffer : pointer to the buffer
       | LONG size    : size (64KB for example)
       | XFRB *next   : pointeur to the next structure (0 for example)
-------+----------------------------------------------------------------------
_FPU   | FPU Type
       | Software FPU                                BIT 20 19 18 17 16
       | 68060's internal FPU ----------------------------'  |  |  |  |
       | 68040's internal FPU -------------------------------'  |  |  |
       | 01 - 6888x present ------------------------------------+--+  |
       | 10 - 68881 for sure -----------------------------------+--+  |
       | 11 - 68882 for sure -----------------------------------+--'  |
       | SFP004 present ----------------------------------------------' 
       |
       | Hardware FPU                                   BIT 27 26 25 24
       | 68040's internal FPU -------------------------------'  |  |  |
       | 01 - 6888x present ------------------------------------+--+  |
       | 10 - 68881 for sure -----------------------------------+--+  |
       | 11 - 68882 for sure -----------------------------------+--'  |
       | SFP004 present ----------------------------------------------' 
       | 
-------+----------------------------------------------------------------------
_AKP   | Keyboard/Language Configuration
       | Keyboard Configuration                                       Bit 15-8
       | 1 - German   5 - Italian -------------------------------------------+
       | 2 - French   7 - Swiss French --------------------------------------+
       | 4 - Spanish  8 - Swiss German --------------------------------------+
       | All others - English -----------------------------------------------'
       | Language Configuration                                        BIT 7-0
       | 1 - German   5 - Italian -------------------------------------------+
       | 2 - French   7 - Swiss French --------------------------------------+
       | 4 - Spanish  8 - Swiss German --------------------------------------+
       | All others - English -----------------------------------------------'
-------+----------------------------------------------------------------------
_IDT   | International Date/Time Format
       | Time Format                                                    BIT 12
       | 0 - AM/PM, 1 - 24 hours --------------------------------------------+
       | Date Format                                                   BIT 9 8
       | 00 - MMDDYY ------------------------------------------------------+-+
       | 01 - DDMMYY ------------------------------------------------------+-+
       | 10 - YYMMDD ------------------------------------------------------+-+
       | 11 - YYDDMM ------------------------------------------------------+-'
       | Separator for date                                            BIT 7-0
       | ASCII Value (i.e. "." or "/") --------------------------------------'
-------+----------------------------------------------------------------------
MiNT   | MiNT
       | Present if MiNT/MultiTOS is active. Value represents the version
       | number of the MiNT kernel in hex (0x104 = 1.04)
-------+----------------------------------------------------------------------
CT60   | CT60. Value is 0.
-------+----------------------------------------------------------------------


Back to Programming