dos33fsprogs/demos/xmas_2023/zp.inc

252 lines
4.3 KiB
PHP

;==================
;==================
; Zero Page Usage
;==================
;==================
; ZX0 decompression addresses
ZX0_src = $00
ZX0_dst = $02
offset = $04
bitr = $06
pntr = $07
WHICH_LOAD = $09
CURRENT_DISK = $0A
; Zero page monitor routines addresses
; We don't use the monitor but we use some of these anyway
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
;==========================
; $60-$6F unused currently
;==========================
;==========================
; $70-$7F for PT3 Player
;==========================
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
;============================
; $80-$8D rest of pt3_player
;============================
PT3_TEMP = $80
ORNAMENT_L = $81
ORNAMENT_H = $82
SAMPLE_L = $83
SAMPLE_H = $84
LOOP = $85
MB_VALUE = $86
MB_ADDR_L = $87
MB_ADDR_H = $88
DONE_PLAYING = $89
DONE_SONG = $8A
APPLEII_MODEL = $8B
SOUND_STATUS = $8C
SOUND_DISABLED = $80
SOUND_IN_LC = $01 ; $01 sound effects in language card
SOUND_MOCKINGBOARD = $02 ; mockingboard detected
;=============================
; not sure why these are here
;=============================
DISP_PAGE = $8D
DRAW_PAGE = $8E
TOTAL_RAM = $8F
;=============================
; $90-$CF currently free
;=============================
;=============================
; $D0-$D9 = hgr move
;=============================
HGR_X1 = $D0
HGR_X2 = $D1
HGR_Y1 = $D2
HGR_Y2 = $D3
HGR_DEST= $D4
BOARD_COUNT = $D5
WHICH_SLOT = $DA ; from boot sector
;==============================================
; $E0-$EF use for common things, don't re-use
;==============================================
IRQ_COUNTDOWN = $E0
SECOND_COUNTDOWN= $E1
COUNT = $E2
XSAVE = $E3
TEMPY = $E4
XPOS = $E5 ; gr_plot
YPOS = $E6 ; gr_plot
COLOR_MASK = $E7 ; gr_plot
FRAMEL = $E8
FRAMEH = $E9
BTC_L = $EA ; audio
BTC_H = $EB ; audio
MASKL = $EC ; gr_putsprite_mask
MASKH = $ED
FRAME = $EE
;==============================================
; $F0-$FB can re-use in each file
;==============================================
; tunnel
XX = $F2
MINUSXX = $F3
YY = $F4
MINUSYY = $F5
D = $F6
R = $F7
CX = $F8
CY = $F9
RR = $FA
; Credits
BACKUP_OUTL = $F2
BACKUP_OUTH = $F3
; Nuts/ opener
SPRITE_Y = $F2
SPRITE_X = $F3
CURRENT_ROW = $F4
; PLASMACUBE
OUT1 = $F0
OUT1H = $F1
OUT2 = $F2
OUT2H = $F3
COMPT1 = $F4
COMPT2 = $F5
PARAM1 = $F6
PARAM2 = $F7
PARAM3 = $F8
PARAM4 = $F9
GRLINE = $FA
GRLINEH = $FB
; PLASMA
; CUBE
SAVEX = $F3
SAVEY = $F4
SUM = $F5
; CIRCLES/DRAW_BOXES
COLOR2 = $F3
X1 = $F4
X2 = $F5
Y1 = $F6
Y2 = $F7
SCENE_COUNT = $F8
LAST_TYPE = $F9
; lens
LENS_X = $F0
LENS_Y = $F1
XADD = $F2
YADD = $F3
; rotozoom
NUM1L = $F0
NUM1H = $F1
NUM2L = $F2
NUM2H = $F3
RESULT = $F4 ; F5,F6,F7
SCALE_I = $F8
SCALE_F = $F9
ANGLE = $FA
; credits
SCROLL_X = $F0
; polar
SCROLL_START = $F0
YDEST = $F1
; hgr_copy
HGR_COPY_Y1 = $F1
HGR_COPY_Y2 = $F2
FIRE_COLOR = $F3
SCROLL_LENGTH = $F4
OFFSET = $F5
TREE_COUNT = $F6
;==============================================
; $FC-$FF we use for in/out pointers
;==============================================
INL = $FC
INH = $FD
OUTL = $FE
OUTH = $FF
; read any file slot 6 version
; based on FASTLD6 and RTS copyright (c) Peter Ferrie 2011-2013,2018
; modified to assembled with ca64 -- vmw
; added code to patch it to run from current disk slot -- vmw
adrlo = $26 ; constant from boot prom
adrhi = $27 ; constant from boot prom
tmpsec = $3c ; constant from boot prom
reqsec = $3d ; constant from boot prom
sizelo = $44
sizehi = $45
secsize = $46
ldsizel = $f0
ldsizeh = $f1
namlo = $fb
namhi = $fc
step = $fd ; state for stepper motor
tmptrk = $fe ; temporary copy of current track
phase = $ff ; current phase for /seek