2000-05-28 13:40:48 +00:00
|
|
|
;
|
2013-08-27 02:02:00 +00:00
|
|
|
; Zero page variables and I/O definitions for the CBM 610
|
2000-05-28 13:40:48 +00:00
|
|
|
;
|
2002-05-26 09:08:52 +00:00
|
|
|
; Taken from a kernal disassembly done by myself in 1987.
|
|
|
|
;
|
2013-08-27 02:02:00 +00:00
|
|
|
; 1998-09-28, Ullrich von Bassewitz
|
2014-04-03 12:23:28 +00:00
|
|
|
; 2014-04-02, Greg King
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
2010-02-14 23:12:54 +00:00
|
|
|
; Zeropage stuff
|
2002-05-26 09:08:52 +00:00
|
|
|
|
2013-08-27 02:02:00 +00:00
|
|
|
ExecReg := $00 ; Controls execution memory bank
|
|
|
|
IndReg := $01 ; Controls indirect indexed load-store bank
|
2013-08-25 04:43:23 +00:00
|
|
|
|
|
|
|
TXTPTR := $85 ; Far pointer into BASIC source code
|
2014-04-03 12:23:28 +00:00
|
|
|
FNAM := $90 ; Far pointer to LOAD/SAVE file-name
|
|
|
|
FNAM_LEN := $9D ; Holds length of file-name
|
2002-05-26 09:08:52 +00:00
|
|
|
|
2003-04-09 19:34:57 +00:00
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
; Screen size
|
|
|
|
|
|
|
|
XSIZE = 80
|
|
|
|
YSIZE = 25
|
|
|
|
|
2002-05-26 09:08:52 +00:00
|
|
|
; ---------------------------------------------------------------------------
|
|
|
|
; I/O definitions
|
|
|
|
|
|
|
|
|
|
|
|
; I/O $d800: CRTC 6545
|
2000-05-28 13:40:48 +00:00
|
|
|
|
2003-12-20 23:38:42 +00:00
|
|
|
.struct CRTC
|
2013-05-09 11:56:54 +00:00
|
|
|
ADDR .byte
|
|
|
|
DATA .byte
|
2003-12-20 23:38:42 +00:00
|
|
|
.endstruct
|
2002-05-26 09:08:52 +00:00
|
|
|
|
2013-08-25 04:43:23 +00:00
|
|
|
|
|
|
|
; I/O $db00: CIA 6526, Inter Process Communication
|
2003-12-19 23:04:30 +00:00
|
|
|
;
|
2013-05-09 11:56:54 +00:00
|
|
|
; IPCcia = $db00
|
2002-05-26 09:08:52 +00:00
|
|
|
|
2003-12-19 23:04:30 +00:00
|
|
|
.struct CIA
|
|
|
|
PRA .byte
|
|
|
|
PRB .byte
|
|
|
|
DDRA .byte
|
|
|
|
DDRB .byte
|
|
|
|
.union
|
|
|
|
.struct
|
|
|
|
TALO .byte
|
|
|
|
TAHI .byte
|
|
|
|
.endstruct
|
|
|
|
TA .word
|
|
|
|
.endunion
|
|
|
|
.union
|
|
|
|
.struct
|
|
|
|
TBLO .byte
|
|
|
|
TBHI .byte
|
|
|
|
.endstruct
|
|
|
|
TB .word
|
|
|
|
.endunion
|
|
|
|
TOD10 .byte
|
|
|
|
TODSEC .byte
|
|
|
|
TODMIN .byte
|
|
|
|
TODHR .byte
|
|
|
|
SDR .byte
|
|
|
|
ICR .byte
|
|
|
|
CRA .byte
|
|
|
|
CRB .byte
|
|
|
|
.endstruct
|
2002-05-26 09:08:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
; I/O $dc00: CIA 6526
|
2003-12-20 23:38:42 +00:00
|
|
|
;
|
2013-05-09 11:56:54 +00:00
|
|
|
; cia = $dc00
|
2002-05-26 09:08:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
; I/O $dd00: ACIA 6551
|
2003-12-20 23:38:42 +00:00
|
|
|
;
|
2013-05-09 11:56:54 +00:00
|
|
|
; acia = $dd00
|
2002-05-26 09:08:52 +00:00
|
|
|
|
2003-12-20 23:13:26 +00:00
|
|
|
.struct ACIA
|
|
|
|
DATA .byte
|
|
|
|
STATUS .byte
|
|
|
|
CMD .byte
|
|
|
|
CTRL .BYTE
|
|
|
|
.endstruct
|
2002-05-26 09:08:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
; I/O $de00: Triport #1 6525
|
2003-12-20 23:38:42 +00:00
|
|
|
;
|
2013-05-09 11:56:54 +00:00
|
|
|
; tpi1 = $de00
|
2003-12-19 23:04:30 +00:00
|
|
|
|
|
|
|
.struct TPI
|
|
|
|
PRA .byte
|
|
|
|
PRB .byte
|
|
|
|
.union
|
|
|
|
PRC .byte
|
|
|
|
INT .byte
|
|
|
|
.endunion
|
|
|
|
DDRA .byte
|
|
|
|
DDRB .byte
|
|
|
|
.union
|
|
|
|
DDRC .byte
|
|
|
|
IMR .byte
|
|
|
|
.endunion
|
|
|
|
CR .byte
|
|
|
|
AIR .byte
|
|
|
|
.endstruct
|
2002-05-26 09:08:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
; I/O $df00: Triport #2 6525
|
|
|
|
|
2013-05-09 11:56:54 +00:00
|
|
|
; tpi2 = $df00
|
2002-05-26 09:08:52 +00:00
|
|
|
|
|
|
|
|
2013-08-25 04:43:23 +00:00
|
|
|
;-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
BASIC_BUF := $FA5E ; Bank 1 location of command-line
|
|
|
|
BASIC_BUF_LEN = 162 ; Maximum length of command-line
|