.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