pt3: start prepping updated zp file

This commit is contained in:
Vince Weaver 2019-06-09 00:58:00 -04:00
parent efc2a5a684
commit 285c1946b5
6 changed files with 221 additions and 232 deletions

View File

@ -18,7 +18,7 @@
; to be sure status flag and accumulator set properly ; to be sure status flag and accumulator set properly
TIME_OFFSET EQU 13 TIME_OFFSET = 13
interrupt_handler: interrupt_handler:
php php

View File

@ -19,24 +19,24 @@
; left speaker ; left speaker
MOCK_6522_ORB1 EQU $C400 ; 6522 #1 port b data MOCK_6522_ORB1 = $C400 ; 6522 #1 port b data
MOCK_6522_ORA1 EQU $C401 ; 6522 #1 port a data MOCK_6522_ORA1 = $C401 ; 6522 #1 port a data
MOCK_6522_DDRB1 EQU $C402 ; 6522 #1 data direction port B MOCK_6522_DDRB1 = $C402 ; 6522 #1 data direction port B
MOCK_6522_DDRA1 EQU $C403 ; 6522 #1 data direction port A MOCK_6522_DDRA1 = $C403 ; 6522 #1 data direction port A
; right speaker ; right speaker
MOCK_6522_ORB2 EQU $C480 ; 6522 #2 port b data MOCK_6522_ORB2 = $C480 ; 6522 #2 port b data
MOCK_6522_ORA2 EQU $C481 ; 6522 #2 port a data MOCK_6522_ORA2 = $C481 ; 6522 #2 port a data
MOCK_6522_DDRB2 EQU $C482 ; 6522 #2 data direction port B MOCK_6522_DDRB2 = $C482 ; 6522 #2 data direction port B
MOCK_6522_DDRA2 EQU $C483 ; 6522 #2 data direction port A MOCK_6522_DDRA2 = $C483 ; 6522 #2 data direction port A
; AY-3-8910 commands on port B ; AY-3-8910 commands on port B
; RESET BDIR BC1 ; RESET BDIR BC1
MOCK_AY_RESET EQU $0 ; 0 0 0 MOCK_AY_RESET = $0 ; 0 0 0
MOCK_AY_INACTIVE EQU $4 ; 1 0 0 MOCK_AY_INACTIVE = $4 ; 1 0 0
MOCK_AY_READ EQU $5 ; 1 0 1 MOCK_AY_READ = $5 ; 1 0 1
MOCK_AY_WRITE EQU $6 ; 1 1 0 MOCK_AY_WRITE = $6 ; 1 1 0
MOCK_AY_LATCH_ADDR EQU $7 ; 1 1 1 MOCK_AY_LATCH_ADDR = $7 ; 1 1 1
;======================== ;========================

View File

@ -7,7 +7,7 @@
PT3_LOC = $4000 PT3_LOC = $4000
NUM_FILES EQU 15 NUM_FILES = 15
;============================= ;=============================
@ -422,7 +422,8 @@ FRAMEH: .byte $00
song_list: song_list:
; .asciiz "CR.PT3" ; .asciiz "CR.PT3"
.asciiz "EA.PT3" ; .asciiz "EA.PT3"
.asciiz "RI.PT3"
;========= ;=========
;routines ;routines

View File

@ -10,7 +10,7 @@
PT3_LOC = $4000 PT3_LOC = $4000
; Number of files. Should probably detect this automatically ; Number of files. Should probably detect this automatically
NUM_FILES EQU 18 NUM_FILES = 18
;============================= ;=============================

View File

@ -4,8 +4,7 @@
PT3_LOC = $4000 PT3_LOC = $4000
NUM_FILES EQU 15 NUM_FILES = 15
;============================= ;=============================
; Setup ; Setup
@ -283,9 +282,6 @@ song_list:
TIME_OFFSET EQU 13
timer_fractions: .byte $0 timer_fractions: .byte $0
timer_seconds_l: .byte $0 timer_seconds_l: .byte $0

View File

@ -1,42 +1,34 @@
.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 ;; Zero page monitor routines addresses
WNDLFT EQU $20 WNDLFT = $20
WNDWDTH EQU $21 WNDWDTH = $21
WNDTOP EQU $22 WNDTOP = $22
WNDBTM EQU $23 WNDBTM = $23
CH EQU $24 CH = $24
CV EQU $25 CV = $25
GBASL EQU $26 GBASL = $26
GBASH EQU $27 GBASH = $27
BASL EQU $28 BASL = $28
BASH EQU $29 BASH = $29
BAS2L EQU $2A BAS2L = $2A
BAS2H EQU $2B BAS2H = $2B
H2 EQU $2C H2 = $2C
V2 EQU $2D V2 = $2D
MASK EQU $2E MASK = $2E
LASTIN EQU $3F LASTIN = $3F
COLOR EQU $30 COLOR = $30
MODE EQU $31 MODE = $31
INVFLG EQU $32 INVFLG = $32
PROMPT EQU $33 PROMPT = $33
YSAV EQU $34 YSAV = $34
YSAV1 EQU $35 YSAV1 = $35
CSWL EQU $36 ; address of COUT1 routine CSWL = $36 ; address of COUT1 routine
CSWH EQU $37 CSWH = $37
KSWL EQU $38 ; key in routine KSWL = $38 ; key in routine
KSWH EQU $39 KSWH = $39
SEEDL EQU $4E SEEDL = $4E
SEEDH EQU $4F SEEDH = $4F
; dos33 zero page = 26-2f, 35-38, 3e 3f 40-4d ; dos33 zero page = 26-2f, 35-38, 3e 3f 40-4d
@ -45,113 +37,113 @@ SEEDH EQU $4F
; DOS33: Confirmed kills $68 ; DOS33: Confirmed kills $68
RWTSL EQU $60 RWTSL = $60
RWTSH EQU $61 RWTSH = $61
DOSBUFL EQU $62 DOSBUFL = $62
DOSBUFH EQU $63 DOSBUFH = $63
FILEML EQU $64 FILEML = $64
FILEMH EQU $65 FILEMH = $65
;TURNING EQU $60 ;TURNING = $60
;SCREEN_X EQU $61 ; not used? ;SCREEN_X = $61 ; not used?
;SCREEN_Y EQU $62 ;SCREEN_Y = $62
;ANGLE EQU $63 ;ANGLE = $63
;HORIZ_SCALE_I EQU $64 ;HORIZ_SCALE_I = $64
;HORIZ_SCALE_F EQU $65 ;HORIZ_SCALE_F = $65
;FACTOR_I EQU $66 ;FACTOR_I = $66
;FACTOR_F EQU $67 ;FACTOR_F = $67
;DX_I EQU $68 ;DX_I = $68
;DX_F EQU $69 ;DX_F = $69
;SPACEX_I EQU $6A ;SPACEX_I = $6A
;SPACEX_F EQU $6B ;SPACEX_F = $6B
;CX_I EQU $6C ;CX_I = $6C
;CX_F EQU $6D ;CX_F = $6D
;DY_I EQU $6E ;DY_I = $6E
;DY_F EQU $6F ;DY_F = $6F
AY_REGISTERS EQU $70 AY_REGISTERS = $70
A_FINE_TONE EQU $70 A_FINE_TONE = $70
A_COARSE_TONE EQU $71 A_COARSE_TONE = $71
B_FINE_TONE EQU $72 B_FINE_TONE = $72
B_COARSE_TONE EQU $73 B_COARSE_TONE = $73
C_FINE_TONE EQU $74 C_FINE_TONE = $74
C_COARSE_TONE EQU $75 C_COARSE_TONE = $75
NOISE EQU $76 NOISE = $76
ENABLE EQU $77 ENABLE = $77
A_VOLUME EQU $78 A_VOLUME = $78
B_VOLUME EQU $79 B_VOLUME = $79
C_VOLUME EQU $7A C_VOLUME = $7A
ENVELOPE_FINE EQU $7B ENVELOPE_FINE = $7B
ENVELOPE_COARSE EQU $7C ENVELOPE_COARSE = $7C
ENVELOPE_SHAPE EQU $7D ENVELOPE_SHAPE = $7D
COPY_OFFSET EQU $7E COPY_OFFSET = $7E
DECODER_STATE EQU $7F DECODER_STATE = $7F
PATTERN_L EQU $80 PATTERN_L = $80
PATTERN_H EQU $81 PATTERN_H = $81
ORNAMENT_L EQU $82 ORNAMENT_L = $82
ORNAMENT_H EQU $83 ORNAMENT_H = $83
SAMPLE_L EQU $84 SAMPLE_L = $84
SAMPLE_H EQU $85 SAMPLE_H = $85
DECODE_ERROR EQU $90 DECODE_ERROR = $90
A_COLOR EQU $91 A_COLOR = $91
B_COLOR EQU $92 B_COLOR = $92
C_COLOR EQU $93 C_COLOR = $93
COPY_TIME EQU $94 COPY_TIME = $94
DECOMPRESS_TIME EQU $95 DECOMPRESS_TIME = $95
TIME_TAKEN EQU $96 TIME_TAKEN = $96
SCREEN_Y EQU $97 SCREEN_Y = $97
WHICH_FILE EQU $98 WHICH_FILE = $98
COLOR_MASK EQU $99 COLOR_MASK = $99
RASTERBARS_ON EQU $9A RASTERBARS_ON = $9A
RANDOM_POINTER EQU $9B RANDOM_POINTER = $9B
LOOP EQU $9C LOOP = $9C
MB_VALUE EQU $9D MB_VALUE = $9D
;MB_CHUNK EQU $9E ;MB_CHUNK = $9E
MB_ADDRL EQU $9F MB_ADDRL = $9F
MB_ADDRH EQU $A0 MB_ADDRH = $A0
DONE_PLAYING EQU $A1 DONE_PLAYING = $A1
MB_CHUNK_OFFSET EQU $A2 MB_CHUNK_OFFSET = $A2
DONE_SONG EQU $A3 DONE_SONG = $A3
FIRE_FB_L EQU $A4 FIRE_FB_L = $A4
FIRE_FB_H EQU $A5 FIRE_FB_H = $A5
FIRE_FB2_L EQU $A6 FIRE_FB2_L = $A6
FIRE_FB2_H EQU $A7 FIRE_FB2_H = $A7
FIRE_FB_LINE EQU $A8 FIRE_FB_LINE = $A8
FIRE_Q EQU $A9 FIRE_Q = $A9
FIRE_Y EQU $AA FIRE_Y = $AA
FIRE_X EQU $AB FIRE_X = $AB
; More zero-page addresses ; More zero-page addresses
; we try not to conflict with anything DOS, MONITOR or BASIC related ; we try not to conflict with anything DOS, MONITOR or BASIC related
;COLOR1 EQU $E0 ;COLOR1 = $E0
COLOR2 EQU $E1 COLOR2 = $E1
;MATCH EQU $E2 ;MATCH = $E2
XX EQU $E3 XX = $E3
;YY EQU $E4 ;YY = $E4
;SHIPY EQU $E4 ;SHIPY = $E4
;YADD EQU $E5 ;YADD = $E5
;LOOP EQU $E6 ;LOOP = $E6
;MEMPTRL EQU $E7 ;MEMPTRL = $E7
;MEMPTRH EQU $E8 ;MEMPTRH = $E8
;NAMEL EQU $E9 ;NAMEL = $E9
;NAMEH EQU $EA ;NAMEH = $EA
;NAMEX EQU $EB ;NAMEX = $EB
;CHAR EQU $EC ;CHAR = $EC
DISP_PAGE EQU $ED DISP_PAGE = $ED
DRAW_PAGE EQU $EE DRAW_PAGE = $EE
;FIRST EQU $F0 ;FIRST = $F0
LASTKEY EQU $F1 LASTKEY = $F1
;PADDLE_STATUS EQU $F2 ;PADDLE_STATUS = $F2
XPOS EQU $F3 XPOS = $F3
YPOS EQU $F4 YPOS = $F4
namlo = $f6 namlo = $f6
@ -162,102 +154,102 @@ YPOS EQU $F4
TEMP EQU $FA TEMP = $FA
;RUN EQU $FA ;RUN = $FA
;TEMP2 EQU $FB ;TEMP2 = $FB
TEMPY EQU $FB TEMPY = $FB
INL EQU $FC INL = $FC
INH EQU $FD INH = $FD
OUTL EQU $FE OUTL = $FE
OUTH EQU $FF OUTH = $FF
KEYPRESS EQU $C000 KEYPRESS = $C000
KEYRESET EQU $C010 KEYRESET = $C010
;; SOFT SWITCHES ;; SOFT SWITCHES
CLR80COL EQU $C000 ; PAGE0/PAGE1 normal CLR80COL = $C000 ; PAGE0/PAGE1 normal
SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead SET80COL = $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead
EIGHTYCOL EQU $C00D EIGHTYCOL = $C00D
SPEAKER EQU $C030 SPEAKER = $C030
SET_GR EQU $C050 SET_GR = $C050
SET_TEXT EQU $C051 SET_TEXT = $C051
FULLGR EQU $C052 FULLGR = $C052
TEXTGR EQU $C053 TEXTGR = $C053
PAGE0 EQU $C054 PAGE0 = $C054
PAGE1 EQU $C055 PAGE1 = $C055
LORES EQU $C056 ; Enable LORES graphics LORES = $C056 ; Enable LORES graphics
HIRES EQU $C057 ; Enable HIRES graphics HIRES = $C057 ; Enable HIRES graphics
AN3 EQU $C05E ; Annunciator 3 AN3 = $C05E ; Annunciator 3
PADDLE_BUTTON0 EQU $C061 PADDLE_BUTTON0 = $C061
PADDL0 EQU $C064 PADDL0 = $C064
PTRIG EQU $C070 PTRIG = $C070
;; BASIC ROUTINES ;; BASIC ROUTINES
NORMAL EQU $F273 NORMAL = $F273
;; MONITOR ROUTINES ;; MONITOR ROUTINES
HLINE EQU $F819 ;; HLINE Y,$2C at A HLINE = $F819 ;; HLINE Y,$2C at A
VLINE EQU $F828 ;; VLINE A,$2D at Y VLINE = $F828 ;; VLINE A,$2D at Y
CLRSCR EQU $F832 ;; Clear low-res screen CLRSCR = $F832 ;; Clear low-res screen
CLRTOP EQU $F836 ;; clear only top of low-res screen CLRTOP = $F836 ;; clear only top of low-res screen
SETCOL EQU $F864 ;; COLOR=A SETCOL = $F864 ;; COLOR=A
TEXT EQU $FB36 TEXT = $FB36
TABV EQU $FB5B ;; VTAB to A TABV = $FB5B ;; VTAB to A
BASCALC EQU $FBC1 ;; BASCALC = $FBC1 ;;
VTAB EQU $FC22 ;; VTAB to CV VTAB = $FC22 ;; VTAB to CV
HOME EQU $FC58 ;; Clear the text screen HOME = $FC58 ;; Clear the text screen
WAIT EQU $FCA8 ;; delay 1/2(26+27A+5A^2) us WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
SETINV EQU $FE80 ;; INVERSE SETINV = $FE80 ;; INVERSE
SETNORM EQU $FE84 ;; NORMAL SETNORM = $FE84 ;; NORMAL
COUT EQU $FDED ;; output A to screen COUT = $FDED ;; output A to screen
COUT1 EQU $FDF0 ;; output A to screen COUT1 = $FDF0 ;; output A to screen
CROUT EQU $FD8E ;; send a RETURN CROUT = $FD8E ;; send a RETURN
CROUT1 EQU $FD8B ;; send a RETURN and clear end of line CROUT1 = $FD8B ;; send a RETURN and clear end of line
PRBYTE EQU $FDDA PRBYTE = $FDDA
PRHEX EQU $FDE3 PRHEX = $FDE3
;; Applesoft routines ;; Applesoft routines
HCLR EQU $F3F2 HCLR = $F3F2
;HGR_PAGE EQU $E6 ;HGR_PAGE = $E6
COLOR_BLACK EQU 0 COLOR_BLACK = 0
COLOR_RED EQU 1 COLOR_RED = 1
COLOR_DARKBLUE EQU 2 COLOR_DARKBLUE = 2
COLOR_PURPLE EQU 3 COLOR_PURPLE = 3
COLOR_DARKGREEN EQU 4 COLOR_DARKGREEN = 4
COLOR_GREY EQU 5 COLOR_GREY = 5
COLOR_MEDIUMBLUE EQU 6 COLOR_MEDIUMBLUE = 6
COLOR_LIGHTBLUE EQU 7 COLOR_LIGHTBLUE = 7
COLOR_BROWN EQU 8 COLOR_BROWN = 8
COLOR_ORANGE EQU 9 COLOR_ORANGE = 9
COLOR_GREY2 EQU 10 COLOR_GREY2 = 10
COLOR_PINK EQU 11 COLOR_PINK = 11
COLOR_LIGHTGREEN EQU 12 COLOR_LIGHTGREEN = 12
COLOR_YELLOW EQU 13 COLOR_YELLOW = 13
COLOR_AQUA EQU 14 COLOR_AQUA = 14
COLOR_WHITE EQU 15 COLOR_WHITE = 15
COLOR_BOTH_BLACK EQU $00 COLOR_BOTH_BLACK = $00
COLOR_BOTH_RED EQU $11 COLOR_BOTH_RED = $11
COLOR_BOTH_DARKBLUE EQU $22 COLOR_BOTH_DARKBLUE = $22
COLOR_BOTH_DARKGREEN EQU $44 COLOR_BOTH_DARKGREEN = $44
COLOR_BOTH_GREY EQU $55 COLOR_BOTH_GREY = $55
COLOR_BOTH_MEDIUMBLUE EQU $66 COLOR_BOTH_MEDIUMBLUE = $66
COLOR_BOTH_LIGHTBLUE EQU $77 COLOR_BOTH_LIGHTBLUE = $77
COLOR_BOTH_BROWN EQU $88 COLOR_BOTH_BROWN = $88
COLOR_BOTH_ORANGE EQU $99 COLOR_BOTH_ORANGE = $99
COLOR_BOTH_PINK EQU $BB COLOR_BOTH_PINK = $BB
COLOR_BOTH_LIGHTGREEN EQU $CC COLOR_BOTH_LIGHTGREEN = $CC
COLOR_BOTH_YELLOW EQU $DD COLOR_BOTH_YELLOW = $DD
COLOR_BOTH_AQUA EQU $EE COLOR_BOTH_AQUA = $EE
COLOR_BOTH_WHITE EQU $FF COLOR_BOTH_WHITE = $FF
AUX_BOTH_MEDIUMBLUE EQU $33 ; 0011 0011 AUX_BOTH_MEDIUMBLUE = $33 ; 0011 0011
AUX_BOTH_GREY EQU $AA ; 1010 1010 AUX_BOTH_GREY = $AA ; 1010 1010