;; Zero page monitor routines addresses ;; LZSA addresses NIBCOUNT = $00 WNDLFT = $20 WNDWDTH = $21 WNDTOP = $22 WNDBTM = $23 CH = $24 CV = $25 GBASL = $26 GBASH = $27 BASL = $28 BASH = $29 H2 = $2C V2 = $2D MASK = $2E COLOR = $30 INVFLG = $32 ; More zero-page addresses ; we try not to conflict with anything DOS, MONITOR or BASIC related COLOR1 = $E0 COLOR2 = $E1 MATCH = $E2 XX = $E3 YY = $E4 YADD = $E5 LOOP = $E6 MEMPTRL = $E7 MEMPTRH = $E8 NAMEL = $E9 NAMEH = $EA NAMEX = $EB CHAR = $EC DISP_PAGE = $ED DRAW_PAGE = $EE FIRST = $F0 LASTKEY = $F1 PADDLE_STATUS = $F2 XPOS = $F3 YPOS = $F4 TEMP = $FA RUN = $FA TEMP2 = $FB TEMPY = $FB INL = $FC INH = $FD OUTL = $FE OUTH = $FF ;; Flying Routine Only TURNING = $60 ;SCREEN_X = $61 ; not used? SCREEN_Y = $62 ANGLE = $63 HORIZ_SCALE_I = $64 HORIZ_SCALE_F = $65 FACTOR_I = $66 FACTOR_F = $67 DX_I = $68 DX_F = $69 SPACEX_I = $6A SPACEX_F = $6B CX_I = $6C CX_F = $6D DY_I = $6E DY_F = $6F SPACEY_I = $70 SPACEY_F = $71 CY_I = $72 CY_F = $73 TEMP_I = $74 TEMP_F = $75 DISTANCE_I = $76 DISTANCE_F = $77 SPACEZ_I = $78 SPACEZ_F = $79 DRAW_SPLASH = $7A SPEED = $7B SPLASH_COUNT = $7C OVER_LAND = $7D NUM1L = $7E NUM1H = $7F NUM2L = $80 NUM2H = $81 RESULT = $82 ; 83,84,85 NEGATE = $86 ; UNUSED? LAST_SPACEX_I = $87 LAST_SPACEY_I = $88 LAST_MAP_COLOR = $89 DRAW_SKY = $8A COLOR_MASK = $8B SHIPY = $E4 ;; World Map Only ODD = $7B DIRECTION = $7C REFRESH = $7D ON_BIRD = $7E MOVED = $7F STEPS = $80 TFV_X = $81 TFV_Y = $82 NEWX = $83 NEWY = $84 MAP_X = $85 GROUND_COLOR = $86 .if 0 KEYPRESS = $C000 KEYRESET = $C010 ;; SOFT SWITCHES SET_GR = $C050 SET_TEXT = $C051 FULLGR = $C052 TEXTGR = $C053 PAGE0 = $C054 PAGE1 = $C055 LORES = $C056 HIRES = $C057 PADDLE_BUTTON0 = $C061 PADDL0 = $C064 PTRIG = $C070 ;; BASIC ROUTINES NORMAL = $F273 ;; MONITOR ROUTINES HLINE = $F819 ;; HLINE Y,$2C at A VLINE = $F828 ;; VLINE A,$2D at Y CLRSCR = $F832 ;; Clear low-res screen CLRTOP = $F836 ;; clear only top of low-res screen SETCOL = $F864 ;; COLOR=A TEXT = $FB36 TABV = $FB5B ;; VTAB to A BASCALC = $FBC1 ;; VTAB = $FC22 ;; VTAB to CV HOME = $FC58 ;; Clear the text screen WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us SETINV = $FE80 ;; INVERSE SETNORM = $FE84 ;; NORMAL COUT = $FDED ;; output A to screen COUT1 = $FDF0 ;; output A to screen COLOR_BLACK = 0 COLOR_RED = 1 COLOR_DARKBLUE = 2 COLOR_PURPLE = 3 COLOR_DARKGREEN = 4 COLOR_GREY = 5 COLOR_MEDIUMBLUE = 6 COLOR_LIGHTBLUE = 7 COLOR_BROWN = 8 COLOR_ORANGE = 9 COLOR_GREY2 = 10 COLOR_PINK = 11 COLOR_LIGHTGREEN = 12 COLOR_YELLOW = 13 COLOR_AQUA = 14 COLOR_WHITE = 15 COLOR_BOTH_RED = $11 COLOR_BOTH_DARKBLUE = $22 COLOR_BOTH_DARKGREEN = $44 COLOR_BOTH_GREY = $55 COLOR_BOTH_MEDIUMBLUE = $66 COLOR_BOTH_LIGHTBLUE = $77 COLOR_BOTH_BROWN = $88 COLOR_BOTH_ORANGE = $99 COLOR_BOTH_LIGHTGREEN = $CC COLOR_BOTH_YELLOW = $DD COLOR_BOTH_WHITE = $FF .endif