mirror of
https://github.com/uffejakobsen/acme.git
synced 2024-11-29 04:49:20 +00:00
e8df8af5c7
git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@324 4df02467-bbd4-4a76-a152-e7ce94205b78
638 lines
12 KiB
Plaintext
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
|
|
;}
|
|
}
|