71 lines
1.4 KiB
Plaintext
71 lines
1.4 KiB
Plaintext
;********************************************************************************
|
|
; @module system
|
|
; @type header
|
|
; @details
|
|
; Variable definitions for the current hardware setup
|
|
;********************************************************************************
|
|
|
|
.ifndef INCLUDE_SYSTEM
|
|
INCLUDE_SYSTEM = 1
|
|
; reserved RAM addresses
|
|
; 00-0f - free use (Z0-Z15)
|
|
; 10-1f - arguments / return values (ARG0-ARG15)
|
|
; 20-ff - free
|
|
; 0100 - 01FF Stack
|
|
; 0200,0201 keybuffer write/read pointer
|
|
; 0202-02ff keybuffer
|
|
; 0300 lcd character counter
|
|
|
|
|
|
.include "io_W65C22.h65"
|
|
.include "utility.h65"
|
|
.importzp Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,Z10,Z11,Z12,Z13,Z14,Z15
|
|
.importzp ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8,ARG9,ARG10,ARG11,ARG12,ARG13,ARG14,ARG15
|
|
|
|
; Z0 = $0
|
|
; Z1 = $1
|
|
; Z2 = $2
|
|
; Z3 = $3
|
|
; Z4 = $4
|
|
; Z5 = $5
|
|
; Z6 = $6
|
|
; Z7 = $7
|
|
; Z8 = $8
|
|
; Z9 = $9
|
|
; Z10 = $a
|
|
; Z11 = $b
|
|
; Z12 = $c
|
|
; Z13 = $d
|
|
; Z14 = $e
|
|
; Z15 = $f
|
|
; ; ARGUMENTS
|
|
; ; a,x,y can also be used
|
|
; ARG0 = $10
|
|
; ARG1 = $11
|
|
; ARG2 = $12
|
|
; ARG3 = $13
|
|
; ARG4 = $14
|
|
; ARG5 = $15
|
|
; ARG6 = $16
|
|
; ARG7 = $17
|
|
; ARG8 = $18
|
|
; ARG9 = $19
|
|
; ARG10 = $1a
|
|
; ARG11 = $1b
|
|
; ARG12 = $1c
|
|
; ARG13 = $1d
|
|
; ARG14 = $1e
|
|
; ARG15 = $1f
|
|
|
|
|
|
; RETURN VALUE
|
|
.segment "VIA1"
|
|
; IO1: .res 16
|
|
IO1 = $6000
|
|
|
|
.segment "VIA2"
|
|
; IO2: .res 16
|
|
IO2 = $7000
|
|
|
|
.endif ; include guard
|