diff --git a/bot_demo/hardware.inc b/bot_demo/hardware.inc new file mode 100644 index 00000000..8d203e23 --- /dev/null +++ b/bot_demo/hardware.inc @@ -0,0 +1,86 @@ +;; HARDWARE LOCATIONS + +KEYPRESS = $C000 +KEYRESET = $C010 + +;; SOFT SWITCHES +CLR80COL = $C000 ; PAGE0/PAGE1 normal +SET80COL = $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead +EIGHTYCOLOFF = $C00C +EIGHTYCOLON = $C00D +SPEAKER = $C030 +SET_GR = $C050 +SET_TEXT = $C051 +FULLGR = $C052 +TEXTGR = $C053 +PAGE0 = $C054 +PAGE1 = $C055 +LORES = $C056 ; Enable LORES graphics +HIRES = $C057 ; Enable HIRES graphics +AN3 = $C05E ; Annunciator 3 + +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 +BELL = $FBDD ;; ring the bell +BASCALC = $FBC1 ;; +VTAB = $FC22 ;; VTAB to CV +HOME = $FC58 ;; Clear the text screen +WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us +CROUT1 = $FD8B +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_BLACK = $00 +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_PINK = $BB +COLOR_BOTH_LIGHTGREEN = $CC +COLOR_BOTH_YELLOW = $DD +COLOR_BOTH_AQUA = $EE +COLOR_BOTH_WHITE = $FF + diff --git a/bot_demo/oldzp.inc b/bot_demo/oldzp.inc new file mode 100644 index 00000000..efee5db9 --- /dev/null +++ b/bot_demo/oldzp.inc @@ -0,0 +1,87 @@ +;; Zero Page + +;; LZ4 addresses + +LZ4_SRC = $00 +LZ4_DST = $02 +LZ4_END = $04 +WHICH_LOAD = $05 +COUNT = $06 +MENU_BASE = $06 +MENU_HIGHLIGHT = $07 +DELTA = $08 + + +;; Zero page monitor routines addresses + +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_MASK = $2F +COLOR = $30 + + +SEEDL = $4e +SEEDH = $4f + +AY_REGISTERS = $70 +A_FINE_TONE = $70 +A_COARSE_TONE = $71 +B_FINE_TONE = $72 +B_COARSE_TONE = $73 +C_FINE_TONE = $74 +C_COARSE_TONE = $75 +NOISE = $76 +ENABLE = $77 +PT3_MIXER_VAL = $77 +A_VOLUME = $78 +B_VOLUME = $79 +C_VOLUME = $7A +ENVELOPE_FINE = $7B +ENVELOPE_COARSE = $7C +ENVELOPE_SHAPE = $7D + +PATTERN_L = $7E +PATTERN_H = $7F +ORNAMENT_L = $80 +ORNAMENT_H = $81 +SAMPLE_L = $82 +SAMPLE_H = $83 + +LOOP = $84 +MB_VALUE = $85 +MB_ADDR_L = $86 +MB_ADDR_H = $87 +DONE_PLAYING = $88 +DONE_SONG = $89 +PT3_TEMP = $8A + + + +DISP_PAGE = $ED ; ALL +DRAW_PAGE = $EE ; ALL + + +TINL = $F0 +TINH = $F1 +BINL = $F2 +BINH = $F3 + + +SCROLL_COUNT = $F9 +TEMP = $FA +TEMPY = $FB +INL = $FC +INH = $FD +OUTL = $FE +OUTH = $FF diff --git a/bot_demo/zp.inc b/bot_demo/zp.inc new file mode 100644 index 00000000..0eccc9cd --- /dev/null +++ b/bot_demo/zp.inc @@ -0,0 +1,28 @@ +; these need to be in zero page +; can we find a location that works? + +PATTERN_L = $06 +PATTERN_H = $07 +ORNAMENT_L = $08 +ORNAMENT_H = $09 +SAMPLE_L = $0A +SAMPLE_H = $0B +MB_ADDR_L = $0C +MB_ADDR_H = $0D + + +TEMP = $FA +TEMPY = $FB +INL = $FC +INH = $FD +OUTL = $FE +OUTH = $FF + +; pre-defined applesoft vars + +CH = $24 +CV = $25 +GBASL = $26 +GBASH = $27 +BASL = $28 +BASH = $29