.define EQU = 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 BAS2L EQU $2A BAS2H EQU $2B H2 EQU $2C V2 EQU $2D MASK EQU $2E LASTIN EQU $3F COLOR EQU $30 MODE EQU $31 INVFLG EQU $32 PROMPT EQU $33 YSAV EQU $34 YSAV1 EQU $35 CSWL EQU $36 ; address of COUT1 routine CSWH EQU $37 KSWL EQU $38 ; key in routine KSWH EQU $39 SEEDL EQU $4E SEEDH EQU $4F ; 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 ;TURNING EQU $60 ;SCREEN_X EQU $61 ; not used? ;SCREEN_Y EQU $62 ;ANGLE EQU $63 ;HORIZ_SCALE_I EQU $64 ;HORIZ_SCALE_F 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 AY_REGISTERS 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 PATTERN_L EQU $80 PATTERN_H EQU $81 ORNAMENT_L EQU $82 ORNAMENT_H EQU $83 SAMPLE_L EQU $84 SAMPLE_H EQU $85 DECODE_ERROR EQU $90 A_COLOR EQU $91 B_COLOR EQU $92 C_COLOR EQU $93 COPY_TIME EQU $94 DECOMPRESS_TIME EQU $95 TIME_TAKEN EQU $96 SCREEN_Y EQU $97 WHICH_FILE EQU $98 COLOR_MASK EQU $99 RASTERBARS_ON EQU $9A RANDOM_POINTER EQU $9B LOOP EQU $9C MB_VALUE EQU $9D ;MB_CHUNK EQU $9E MB_ADDRL EQU $9F MB_ADDRH EQU $A0 DONE_PLAYING EQU $A1 MB_CHUNK_OFFSET EQU $A2 DONE_SONG EQU $A3 FIRE_FB_L EQU $A4 FIRE_FB_H EQU $A5 FIRE_FB2_L EQU $A6 FIRE_FB2_H EQU $A7 FIRE_FB_LINE EQU $A8 FIRE_Q EQU $A9 FIRE_Y EQU $AA FIRE_X EQU $AB ; 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 XPOS EQU $F3 YPOS EQU $F4 namlo = $f6 namhi = $f7 step = $f8 ; state for stepper motor tmptrk = $f9 ; temporary copy of current track phase = $fa ; current phase for /seek TEMP EQU $FA ;RUN EQU $FA ;TEMP2 EQU $FB TEMPY EQU $FB INL EQU $FC INH EQU $FD OUTL EQU $FE OUTH EQU $FF KEYPRESS EQU $C000 KEYRESET EQU $C010 ;; SOFT SWITCHES CLR80COL EQU $C000 ; PAGE0/PAGE1 normal SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead EIGHTYCOL 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 CROUT EQU $FD8E ;; send a RETURN CROUT1 EQU $FD8B ;; send a RETURN and clear end of line PRBYTE EQU $FDDA PRHEX EQU $FDE3 ;; Applesoft routines HCLR EQU $F3F2 ;HGR_PAGE EQU $E6 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