mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-08-19 14:29:25 +00:00
244 lines
4.4 KiB
PHP
244 lines
4.4 KiB
PHP
.define EQU =
|
|
|
|
;; Electric Duet addresses
|
|
|
|
; These are all "Free" zero page locations
|
|
FREQ1 EQU $06
|
|
FREQ2 EQU $07
|
|
DURATION EQU $08
|
|
INSTRUMENT1 EQU $09
|
|
INSTRUMENT2 EQU $1D
|
|
MADDRL EQU $1E
|
|
MADDRH EQU $1F
|
|
LOC4E EQU $4E
|
|
COUNT256 EQU $4F
|
|
|
|
|
|
;; LZ4 addresses
|
|
|
|
LZ4_SRC EQU $00
|
|
LZ4_DST EQU $02
|
|
LZ4_END EQU $04
|
|
COUNT EQU $06
|
|
DELTA EQU $08
|
|
|
|
;; Zero page monitor routines addresses
|
|
|
|
WNDLFT EQU $20
|
|
WNDWDTH EQU $21
|
|
WNDTOP EQU $22
|
|
WNDBTM EQU $23
|
|
CH EQU $24
|
|
CV EQU $25
|
|
GBASL EQU $26
|
|
GBASH EQU $27
|
|
BASL EQU $28
|
|
BASH EQU $29
|
|
H2 EQU $2C
|
|
V2 EQU $2D
|
|
MASK EQU $2E
|
|
COLOR EQU $30
|
|
;INVFLG EQU $32
|
|
|
|
; dos33 zero page = 26-2f, 35-38, 3e 3f 40-4d
|
|
; overlap applesoft 67-6a,6f,70,af,b0,ca-cd,d8
|
|
|
|
|
|
; DOS33: Confirmed kills $68
|
|
|
|
RWTSL EQU $60
|
|
RWTSH EQU $61
|
|
DOSBUFL EQU $62
|
|
DOSBUFH EQU $63
|
|
FILEML EQU $64
|
|
FILEMH EQU $65
|
|
|
|
;FACTOR_I EQU $66
|
|
;FACTOR_F EQU $67
|
|
;DX_I EQU $68
|
|
;DX_F EQU $69
|
|
;SPACEX_I EQU $6A
|
|
;SPACEX_F EQU $6B
|
|
;CX_I EQU $6C
|
|
;CX_F EQU $6D
|
|
;DY_I EQU $6E
|
|
;DY_F EQU $6F
|
|
|
|
REGISTER_DUMP EQU $70
|
|
A_FINE_TONE EQU $70
|
|
A_COARSE_TONE EQU $71
|
|
B_FINE_TONE EQU $72
|
|
B_COARSE_TONE EQU $73
|
|
C_FINE_TONE EQU $74
|
|
C_COARSE_TONE EQU $75
|
|
NOISE EQU $76
|
|
ENABLE EQU $77
|
|
A_VOLUME EQU $78
|
|
B_VOLUME EQU $79
|
|
C_VOLUME EQU $7A
|
|
ENVELOPE_FINE EQU $7B
|
|
ENVELOPE_COARSE EQU $7C
|
|
ENVELOPE_SHAPE EQU $7D
|
|
|
|
|
|
COPY_OFFSET EQU $7E
|
|
DECODER_STATE EQU $7F
|
|
|
|
|
|
REGISTER_DUMP2 EQU $80
|
|
A_FINE_TONE2 EQU $80
|
|
A_COARSE_TONE2 EQU $81
|
|
B_FINE_TONE2 EQU $82
|
|
B_COARSE_TONE2 EQU $83
|
|
C_FINE_TONE2 EQU $84
|
|
C_COARSE_TONE2 EQU $85
|
|
NOISE2 EQU $86
|
|
ENABLE2 EQU $87
|
|
A_VOLUME2 EQU $88
|
|
B_VOLUME2 EQU $89
|
|
C_VOLUME2 EQU $8A
|
|
ENVELOPE_FINE2 EQU $8B
|
|
ENVELOPE_COARS2 EQU $8C
|
|
ENVELOPE_SHAPE2 EQU $8D
|
|
LYRICSL EQU $8E
|
|
LYRICSH EQU $8F
|
|
|
|
FRAME_COUNT EQU $90
|
|
MB_VALUE EQU $91
|
|
MB_ADDRL EQU $91
|
|
MB_ADDRH EQU $92
|
|
DONE_PLAYING EQU $93
|
|
MB_CHUNK_OFFSET EQU $94
|
|
CHUNKSIZE EQU $95
|
|
LZ4_DONE EQU $96
|
|
DECODE_ERROR EQU $97
|
|
COPY_TIME EQU $98
|
|
DECOMPRESS_TIME EQU $99
|
|
TIME_TAKEN EQU $9A
|
|
LYRICS_ACTIVE EQU $9B
|
|
;FORTYCOL EQU $9C
|
|
CURSOR EQU $9D
|
|
|
|
; More zero-page addresses
|
|
; we try not to conflict with anything DOS, MONITOR or BASIC related
|
|
|
|
;COLOR1 EQU $E0
|
|
;COLOR2 EQU $E1
|
|
;MATCH EQU $E2
|
|
;XX EQU $E3
|
|
YY EQU $E4
|
|
;SHIPY EQU $E4
|
|
;YADD EQU $E5
|
|
;LOOP EQU $E6
|
|
;MEMPTRL EQU $E7
|
|
;MEMPTRH EQU $E8
|
|
;NAMEL EQU $E9
|
|
;NAMEH EQU $EA
|
|
;NAMEX EQU $EB
|
|
;CHAR EQU $EC
|
|
DISP_PAGE EQU $ED
|
|
DRAW_PAGE EQU $EE
|
|
|
|
;FIRST EQU $F0
|
|
;LASTKEY EQU $F1
|
|
;PADDLE_STATUS EQU $F2
|
|
SPRITETEMP EQU $F2
|
|
XPOS EQU $F3
|
|
YPOS EQU $F4
|
|
TEMP EQU $FA
|
|
TEMPY EQU $FB
|
|
INL EQU $FC
|
|
INH EQU $FD
|
|
OUTL EQU $FE
|
|
OUTH EQU $FF
|
|
|
|
|
|
FORTYCOL EQU $300
|
|
USEMB EQU $301
|
|
|
|
|
|
KEYPRESS EQU $C000
|
|
KEYRESET EQU $C010
|
|
|
|
;; SOFT SWITCHES
|
|
CLR80COL EQU $C000 ; PAGE0/PAGE1 normal
|
|
SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead
|
|
EIGHTYCOLOFF EQU $C00C
|
|
EIGHTYCOLON EQU $C00D
|
|
SPEAKER EQU $C030
|
|
SET_GR EQU $C050
|
|
SET_TEXT EQU $C051
|
|
FULLGR EQU $C052
|
|
TEXTGR EQU $C053
|
|
PAGE0 EQU $C054
|
|
PAGE1 EQU $C055
|
|
LORES EQU $C056 ; Enable LORES graphics
|
|
HIRES EQU $C057 ; Enable HIRES graphics
|
|
AN3 EQU $C05E ; Annunciator 3
|
|
|
|
PADDLE_BUTTON0 EQU $C061
|
|
PADDL0 EQU $C064
|
|
PTRIG EQU $C070
|
|
|
|
;; BASIC ROUTINES
|
|
|
|
NORMAL EQU $F273
|
|
|
|
;; MONITOR ROUTINES
|
|
|
|
HLINE EQU $F819 ;; HLINE Y,$2C at A
|
|
VLINE EQU $F828 ;; VLINE A,$2D at Y
|
|
CLRSCR EQU $F832 ;; Clear low-res screen
|
|
CLRTOP EQU $F836 ;; clear only top of low-res screen
|
|
SETCOL EQU $F864 ;; COLOR=A
|
|
TEXT EQU $FB36
|
|
TABV EQU $FB5B ;; VTAB to A
|
|
BASCALC EQU $FBC1 ;;
|
|
VTAB EQU $FC22 ;; VTAB to CV
|
|
HOME EQU $FC58 ;; Clear the text screen
|
|
WAIT EQU $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
|
SETINV EQU $FE80 ;; INVERSE
|
|
SETNORM EQU $FE84 ;; NORMAL
|
|
COUT EQU $FDED ;; output A to screen
|
|
COUT1 EQU $FDF0 ;; output A to screen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COLOR_BLACK EQU 0
|
|
COLOR_RED EQU 1
|
|
COLOR_DARKBLUE EQU 2
|
|
COLOR_PURPLE EQU 3
|
|
COLOR_DARKGREEN EQU 4
|
|
COLOR_GREY EQU 5
|
|
COLOR_MEDIUMBLUE EQU 6
|
|
COLOR_LIGHTBLUE EQU 7
|
|
COLOR_BROWN EQU 8
|
|
COLOR_ORANGE EQU 9
|
|
COLOR_GREY2 EQU 10
|
|
COLOR_PINK EQU 11
|
|
COLOR_LIGHTGREEN EQU 12
|
|
COLOR_YELLOW EQU 13
|
|
COLOR_AQUA EQU 14
|
|
COLOR_WHITE EQU 15
|
|
|
|
COLOR_BOTH_BLACK EQU $00
|
|
COLOR_BOTH_RED EQU $11
|
|
COLOR_BOTH_DARKBLUE EQU $22
|
|
COLOR_BOTH_DARKGREEN EQU $44
|
|
COLOR_BOTH_GREY EQU $55
|
|
COLOR_BOTH_MEDIUMBLUE EQU $66
|
|
COLOR_BOTH_LIGHTBLUE EQU $77
|
|
COLOR_BOTH_BROWN EQU $88
|
|
COLOR_BOTH_ORANGE EQU $99
|
|
COLOR_BOTH_PINK EQU $BB
|
|
COLOR_BOTH_LIGHTGREEN EQU $CC
|
|
COLOR_BOTH_YELLOW EQU $DD
|
|
COLOR_BOTH_AQUA EQU $EE
|
|
COLOR_BOTH_WHITE EQU $FF
|
|
|
|
AUX_BOTH_MEDIUMBLUE EQU $33 ; 0011 0011
|
|
AUX_BOTH_GREY EQU $AA ; 1010 1010
|