acme/ACME_Lib/cbm/c128/zeropage.a
2023-03-05 23:34:35 +00:00

638 lines
12 KiB
Plaintext

;ACME 0.97
!ifdef lib_cbm_c128_zeropage_a !eof
lib_cbm_c128_zeropage_a = 1
; These labels and their values are given in the C128 manual.
; Label names were converted to lower case and prefixed by "z_", however.
; The following labels appear twice, only their first appearance is active:
; z_verck, given as $0c and $93
; z_count, given as $0d and $a5
; z_keysiz, given as $78 and $da
; z_keynum, given as $77 and $dc
; z_xcnt, given as $0110 and $0a80
; z_hulp, given as $78 and $0aa0
; z_keynxt, given as $dd and $1152
; z_xsave , given as $0ab2 and $115d
; z_bitmsk, given as $da and $116d
; z_dejavu, given as $0a02 and $1221
!address {
z_d8502 = $00
z_d6510 = $00
z_r8502 = $01
z_r6510 = $01
z_bank = $02
z_pc_hi = $03
z_pc_lo = $04
z_s_reg = $05
z_a_reg = $06
z_x_reg = $07
z_y_reg = $08
z_stkptr = $09
z_integr = $09
z_charac = $09
; labels from MONITOR {
z_pcb = $02
z_pch = $03
z_pcl = $04
z_flgs = $05
z_acc = $06
z_xr = $07
z_yr = $08
z_sp = $09
;}
z_endchr = $0a
z_trmpos = $0b
z_verck = $0c
z_count = $0d
z_dimflg = $0e
z_valtyp = $0f
z_intflg = $10
z_garbfl = $11
z_dores = $11
z_subflg = $12
z_inpflg = $13
z_domask = $14
z_tansgn = $14
z_channl = $15
z_poker = $15
z_linnum = $16
z_temppt = $18
z_lastpt = $19
z_tempst = $1b
z_index = $24
z_index1 = $24
z_index2 = $26 ; given as $24 in german manual, which is probably wrong
z_resho = $28
z_resmoh = $29
z_addend = $2a
z_resmo = $2a
z_reslo = $2b
z_txttab = $2d
z_vartab = $2f
z_arytab = $31
z_strend = $33
z_fretop = $35
z_frespc = $37
z_max_mem_1 = $39
z_curlin = $3b
z_txtptr = $3d
z_form = $3f
z_fndpnt = $3f
z_datlin = $41
z_datptr = $43
z_inpptr = $45
z_varnam = $47
z_fdecpt = $49
z_varpnt = $49
z_lstpnt = $4b
z_andmsk = $4b
z_forpnt = $4b
z_eormsk = $4c
z_vartxt = $4d
z_opptr = $4d
z_opmask = $4f
z_grbpnt = $50
z_tempf3 = $50
z_defpnt = $50
z_dscpnt = $52
z_helper = $55
z_jmper = $56
z_oldov = $58
z_tempf1 = $59
z_arypnt = $5a
z_highds = $5a
z_hightr = $5c
z_tempf2 = $5e
z_deccnt = $5f
z_grbtop = $61
z_dptflg = $61
z_lowtr = $61
z_expsgn = $62
z_fac1 = $63
z_degree = $69
z_sgnflg = $69
z_argexp = $6a
z_strng1 = $70
z_arisgn = $70
z_facov = $71
z_strng2 = $72
z_polypt = $72
z_curtol = $72
z_fbufpt = $72
z_autinc = $74
z_mvdflg = $76
z_noze = $77
z_sprnum = $77
z_keynum = $77
z_hulp = $78
z_keysiz = $78
z_syntmp = $79
z_dsdesc = $7a
z_tos = $7d
z_runmod = $7f
z_parsts = $80
z_point = $80
z_parstx = $81
z_oldstk = $82
z_colsel = $83
z_multicolor_1 = $84
z_multicolor_2 = $85
z_foreground = $86
z_scale_x = $87
z_scale_y = $89
z_stopnb = $8b
z_grapnt = $8c
z_vtemp1 = $8e
z_vtemp2 = $8f
z_status = $90
z_stkey = $91
z_svxt = $92
;z_verck = $93 ; already given as $0c!
z_c3po = $94
z_bsour = $95
z_syno = $96
z_xsav = $97
z_ldtnd = $98
z_dfltn = $99
z_dflto = $9a
z_prty = $9b
z_dpsw = $9c
z_msgflg = $9d
z_ptr1 = $9e
z_t1 = $9e
z_ptr2 = $9f
z_t2 = $9f
z_time = $a0
z_r2d2 = $a3
z_pcntr = $a3
z_bsour1 = $a4
;z_count = $a5 ; already given as $0d!
z_cntdn = $a5
z_bufpt = $a6
z_inbit = $a7
z_bitci = $a8
z_rinone = $a9
z_ridata = $aa
z_riprty = $ab
z_sal = $ac
z_sah = $ad
z_eal = $ae
z_eah = $af
z_cmpo = $b0
z_tape1 = $b2
z_bitts = $b4
z_nxtbit = $b5
z_rodata = $b6
z_fnlen = $b7
z_la = $b8
z_sa = $b9
z_fa = $ba
z_fnadr = $bb
z_roprty = $bd
z_fsblk = $be
z_drive = $bf
z_cas1 = $c0
z_stal = $c1
z_stah = $c2
z_memuss = $c3
z_data = $c5
z_ba = $c6
z_fnbank = $c7
z_ribuf = $c8
z_robuf = $ca
z_keytab = $cc
z_imparm = $ce
z_ndx = $d0
z_kyndx = $d1
z_keyidx = $d2
z_shflag = $d3
z_sfdx = $d4
z_lstx = $d5
z_crsw = $d6
z_mode = $d7
z_graphm = $d8
z_charen = $d9
z_sedsal = $da
z_sedeal = $dc
z_sedt1 = $de
z_sedt2 = $df
;z_keysiz = $da ; already given as $78!
z_keylen = $db
;z_keynum = $dc ; already given as $77!
z_keynxt = $dd
z_keybnk = $de
z_keytmp = $df
z_bitmsk = $da
z_saver = $db
; these vars are for the currently active screen (vic/vdc) {
; the values for the other screen are at $a40..$a5a,
; and the contents are exchanged when changing screens.
; there is a second pair of screen-specific blocks at $354 and $a60.
z_pnt = $e0
z_user = $e2
z_scbot = $e4
z_sctop = $e5
z_sclf = $e6
z_scrt = $e7
z_lsxp = $e8
z_lstp = $e9
z_indx = $ea
z_tblx = $eb
z_pntr = $ec
z_lines = $ed
z_columns = $ee
z_datax = $ef
z_lstchr = $f0
z_color = $f1
z_tcolor = $f2
z_rvs = $f3
z_qtsw = $f4
z_insrt = $f5
z_insflg = $f6
z_locks = $f7
z_scroll = $f8
z_beeper = $f9
;z_frekzp = $fa ; ROM does not use this, but it does get swapped out when screen changes!
;}
; $fb/$fc/$fd/$fe are unused
z_lofbuf = $ff ; overwritten when outputting line numbers or ti$
z_fbuffr = $0100 ; buffer for number strings
z_xcnt = $0110
z_dosf1l = $0111
z_dosds1 = $0112
z_dosf2l = $0113
z_dosds2 = $0114
z_dosf2a = $0115
z_dosofl = $0117
z_dosofh = $0119
z_dosla = $011b
z_dosfa = $011c
z_dossa = $011d
z_dosrcl = $011e
z_dosbnk = $011f
z_dosdid = $0120
z_didchk = $0122
z_bnr = $0123
z_enr = $0124
z_dolr = $0125
z_flag = $0126
z_swe = $0127
z_usgn = $0128
z_uexp = $0129
z_vn = $012a
z_chsn = $012b
z_vf = $012c
z_nf = $012d
z_posp = $012e
z_fesp = $012f
z_etof = $0130
z_cform = $0131
z_sno = $0132
z_blfd = $0133
z_begfd = $0134
z_lfor = $0135
z_endfd = $0136
z_sysstk = $0137
z_buf = $0200
; this block is not in the german C128 manual {
z_fetch = $02a2
z_fetchvec = $02aa
z_stash = $02af
z_stavec = $02b9
z_cmpare = $02c8
z_cmpvec = $02c8
z_jsrfar = $02cd
z_jmpfar = $02e3
;}
z_esc_fn_vec = $02fc
z_bnkvec = $02fe
z_ierror = $0300
z_icrnch = $0304
z_iqplop = $0306
z_igone = $0308
z_ieval = $030a
z_iesclk = $030c
z_iescpr = $030e
z_iescex = $0310
z_itime = $0312
z_iirq = $0314
z_ibrk = $0316
z_inmi = $0318
z_iopen = $031a
z_iclose = $031c
z_ichkin = $031e
z_ichkout = $0320
z_iclrch = $0322
z_ibasin = $0324
z_ibasout = $0326
z_istop = $0328
z_igetin = $032a
z_iclall = $032c
z_exmon = $032e
z_iload = $0330
z_isave = $0332
; this block is not in the german C128 manual {
z_ctlvec = $0334
z_shfvec = $0336
z_escvec = $0338
z_keyvec = $033a
z_keychk = $033c
z_decode = $033e
z_decode_shift = $0340
z_decode_cbm = $0342
z_decode_ctrl = $0344
z_decode_alt = $0346
z_decode_caps = $0348
z_keyd = $034a
; these vars are for the currently active screen (vic/vdc) {
; the values for the other screen are at $a60..$a6d,
; and the contents are exchanged when changing screens.
; there is a second pair of screen-specific blocks at $e0 and $a40.
z_tabmap = $0354
z_bitabl = $035e
;}
z_lat = $0362
z_fat = $036c
z_sat = $0376
z_chrget = $0380
z_chrgot = $0386
z_qnum = $0390
;}
z_ind_sub_ram0 = $039f
z_ind_sub_ram1 = $03ab
z_indin1_ram1 = $03b7
z_indin2 = $03c0
z_indtxt = $03c9
z_zero = $03d2
z_current_bank = $03d5
z_tmpdes = $03d6
z_fin_bank = $03da
z_savsiz = $03db
z_bits = $03df
z_sprtmp_1 = $03e0
z_sprtmp_2 = $03e1
z_fg_bg = $03e2
z_fg_mc1 = $03e3
z_vicscn = $0400
z_system = $0a00
z_dejavu = $0a02
z_palnts = $0a03 ; bit7 set means PAL
z_init_status = $0a04
z_memstr = $0a05
z_memsiz = $0a07
z_irqtmp = $0a09
z_caston = $0a0b
z_kika26 = $0a0c
z_stupid = $0a0d
z_timout = $0a0e
z_enabl = $0a0f
z_m51ctr = $0a10
z_m51cdr = $0a11
z_m51ajb = $0a12
z_rsstat = $0a14
z_bitnum = $0a15
z_baudof = $0a16
z_ridbe = $0a18
z_ridbs = $0a19
z_rodbs = $0a1a
z_rodbe = $0a1b
z_serial = $0a1c
z_timer = $0a1d ; decrementing counter for SLEEP (low/medium/high)
z_xmax = $0a20
z_pause = $0a21
z_rptflg = $0a22
z_kount = $0a23
z_delay = $0a24
z_lstshf = $0a25
z_blnon = $0a26
z_blnsw = $0a27
z_blnct = $0a28
z_gdbln = $0a29
z_gdcol = $0a2a
z_curmod = $0a2b
z_vm1 = $0a2c
z_vm2 = $0a2d
z_vm3 = $0a2e
z_vm4 = $0a2f
z_lintmp = $0a30
z_sav80a = $0a31
z_sav80b = $0a32
z_curcol = $0a33
z_split = $0a34
z_fnadrx = $0a35
z_palcnt = $0a36 ; countdown timer for TI's PAL adjustment (every fifth PAL irq, have an additional TI tick)
z_speed = $0a37
z_sprites = $0a38
z_blanking = $0a39
; this block is not in the german C128 manual {
z_hold_off = $0a3a
z_ldtbi_sa = $0a3b
z_clr_ea_lo = $0a3c
z_clr_ea_hi = $0a3d
;}
; $a40 - $a5a: data of currently inactive screen (vic/vdc).
; the values for the active screen are at $e0..$fa.
; $a5b - $a5f: unused?
; $a60 - $a6d: data of currently inactive screen (vic/vdc).
; the values for the active screen are at $354..$361.
; $a6e - $a7f: unused?
;z_xcnt = $0a80 ; already given as $0110!
;z_hulp = $0aa0 ; already given as $78!
z_format = $0aaa
z_length = $0aab
z_msal = $0aac
z_sxreg = $0aaf
z_syreg = $0ab0
z_wrap = $0ab1
z_xsave = $0ab2
z_direction = $0ab3
z_temps = $0ab4
z_curbnk = $0ac0
z_pat = $0ac1
z_tbuffr = $0b00
z_rs232i = $0c00
z_rs232o = $0d00
z_pkybuf = $1000
z_pkydef = $100a
z_dosstr = $1100
z_vwork = $1131
z_xypos = $1131
z_xpos = $1131
z_ypos = $1133
z_xdest = $1135
z_ydest = $1137
z_xyabs = $1139
z_xabs = $1139
z_yabs = $113b
z_xysgn = $113d
z_xsgn = $113d
z_ysgn = $113f
z_fct = $1141
z_errval = $1145
z_lesser = $1147
z_greatr = $1148
z_angsgn = $1149
z_sinval = $114a
z_cosval = $114c
z_angcnt = $114e
z_xcircl = $1150
z_ycircl = $1152
z_xradus = $1154
z_yradus = $1156
z_rotang = $1158
z_angbeg = $115c
z_angend = $115e
z_xrcos = $1160
z_yrsin = $1162
z_xrsin = $1164
z_yrcos = $1166
z_xcentr = $1150
z_ycentr = $1152
z_xdist1 = $1154
z_ydist1 = $1156
z_xdist2 = $1158
z_ydist2 = $115a
z_disend = $115c
z_colcnt = $115e
z_rowcnt = $115f
z_strcnt = $1160
z_xcord1 = $1150
z_ycord1 = $1152
z_boxang = $1154
z_xcount = $1156
z_ycount = $1158
z_bxleng = $115a
z_xcord2 = $115c
z_ycord2 = $115e
z_leylen = $1151
;z_keynxt = $1152 ; already given as $dd!
z_strsz = $1153
z_gettyp = $1154
z_strptr = $1155
z_oldbyt = $1156
z_newbyt = $1157
z_xsize = $1159
z_ysize = $115b
;z_xsave = $115d ; already given as $0ab2!
z_stradr = $115f
z_bitidx = $1161
z_chrpag = $1168
z_bitcnt = $1169
z_scalem = $116a
z_width = $116b
z_filflg = $116c
;z_bitmsk = $116d ; already given as $da!
z_numcnt = $116e
z_trcflg = $116f
z_renum_tmp_1 = $1170
z_renum_tmp_2 = $1172
z_t3 = $1174
z_t4 = $1175
z_vtemp3 = $1177
z_vtemp4 = $1178
z_vtemp5 = $1179
z_adray1 = $117a
z_adray2 = $117c
z_sprite_data = $117e
z_vic_save = $11d6
; this block is not in the german C128 manual {
z_upper_lower = $11eb
z_upper_graphic = $11ec
;}
z_oldlin = $1200
z_oldtxt = $1202
z_puchrs = $1204
z_pufill = $1204
z_pucoma = $1205
z_pudot = $1206
z_pumony = $1207
z_errnum = $1208
z_errlin = $1209
z_trapno = $120b
z_tmptrp = $120d
z_errtxt = $120e
z_text_top = $1210
z_max_mem_0 = $1212
z_tmptxt = $1214
z_tmplin = $1216
z_usrpok = $1218
z_rndx = $121b
z_circle_segment = $1220
;z_dejavu = $1221 ; already given as $0a02!
z_tempo_rate = $1222
z_voices = $1223
z_ntime = $1229
z_octave = $122b
z_sharp = $122c
z_pitch = $122d
z_voice = $122f
z_wave0 = $1230
z_dnote = $1233
z_fltsav = $1234
z_fltflg = $1238
z_nibble = $1239
z_tonnum = $123a
z_tonval = $123b
z_parcnt = $123e
z_atktab = $123f
z_sustab = $1249
z_wavtab = $1253
z_pulslw = $125d
z_pulshi = $1267
z_filters = $1271
z_int_trip_flag = $1276
z_int_adr_lo = $1279
z_int_adr_hi = $127c
z_intval = $127f
z_coltyp = $1280
z_sound_voice = $1281
z_sound_time_lo = $1282
z_sound_time_hi = $1285
z_sound_max_lo = $1288
z_sound_max_hi = $128b
z_sound_min_lo = $128e
z_sound_min_hi = $1291
z_sound_direction = $1294
z_sound_step_lo = $1297
z_sound_step_hi = $129a
z_sound_freq_lo = $129d
z_sound_freq_hi = $12a0
z_temp_time_lo = $12a3
z_temp_time_hi = $12a4
z_temp_max_lo = $12a5
z_temp_max_hi = $12a6
z_temp_min_lo = $12a7
z_temp_min_hi = $12a8
z_temp_direction = $12a9
z_temp_step_lo = $12aa
z_temp_step_hi = $12ab
z_temp_freq_lo = $12ac
z_temp_freq_hi = $12ad
z_temp_pulse_lo = $12ae
z_temp_pulse_hi = $12af
z_temp_waveform = $12b0
z_pot_temp_1 = $12b1
z_pot_temp_2 = $12b2
z_window_temp = $12b3
z_savram = $12b7
z_defmod = $12fa
z_lincnt = $12fb
z_sprite_number = $12fc
; this block is not in the german C128 manual {
z_irq_wrap_flag = $12fd
z_rambot = $1c00
;}
}