1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-05 08:05:51 +00:00
cc65/asminc/atmos.inc

82 lines
2.2 KiB
PHP

;
; Oric Atmos definitions
; BASIC 1.1 addresses
;
; ---------------------------------------------------------------------------
; Constants
FNAME_LEN = 16 ; maximum length of file-name
; ---------------------------------------------------------------------------
; Zero page
BASIC_BUF := $35
; ---------------------------------------------------------------------------
; Low memory
CAPSLOCK := $20C
PATTERN := $213
IRQVec := $245
CURS_Y := $268
CURS_X := $269
STATUS := $26A
TIMER3 := $276
CFOUND_NAME := $293
KEYBUF := $2DF
PARAM1 := $2E1 ; & $2E2
PARAM2 := $2E3 ; & $2E4
PARAM3 := $2E5 ; & $2E6
; ---------------------------------------------------------------------------
; I/O locations
; 6522
.struct VIA ; Versatile Interface Adapter
.res $0300
PRB .byte ; Port Register B
PRA .byte ; Port Register A
DDRB .byte ; Data Direction Register B
DDRA .byte ; Data Direction Register A
T1 .word ; Timer 1
T1L .word ; Timer 1 Latch
T2 .word ; Timer 2
SR .byte ; Shift Register
ACR .byte ; Auxiliary Control Register
PCR .byte ; Peripheral Control Register
IFR .byte ; Interrupt Flags Register
IER .byte ; Interrupt Enable Register
PRA2 .byte ; Port Register A without handshaking
.endstruct
; 6551
.struct ACIA ; Asynchronous Communications Interface Adapter
.res $031C
DATA .byte
STATUS .byte
CMD .byte ; Command register
CTRL .byte ; Control register
.endstruct
SCREEN := $BB80
; ---------------------------------------------------------------------------
; ROM entries
TEXT := $EC21
HIRES := $EC33
CURSET := $F0C8
CURMOV := $F0FD
DRAW := $F110
CHAR := $F12D
POINT := $F1C8
PAPER := $F204
INK := $F210
PRINT := $F77C