1;ACME 0.97 2 3!ifdef lib_cbm_c128_zeropage_a !eof 4lib_cbm_c128_zeropage_a = 1 5 6; These labels and their values are given in the C128 manual. 7; Label names were converted to lower case and prefixed by "z_", however. 8; The following labels appear twice, only their first appearance is active: 9; z_verck, given as $0c and $93 10; z_count, given as $0d and $a5 11; z_keysiz, given as $78 and $da 12; z_keynum, given as $77 and $dc 13; z_xcnt, given as $0110 and $0a80 14; z_hulp, given as $78 and $0aa0 15; z_keynxt, given as $dd and $1152 16; z_xsave , given as $0ab2 and $115d 17; z_bitmsk, given as $da and $116d 18; z_dejavu, given as $0a02 and $1221 19 20!address { 21 z_d8502 = $00 22 z_d6510 = $00 23 z_r8502 = $01 24 z_r6510 = $01 25 z_bank = $02 26 z_pc_hi = $03 27 z_pc_lo = $04 28 z_s_reg = $05 29 z_a_reg = $06 30 z_x_reg = $07 31 z_y_reg = $08 32 z_stkptr = $09 33 z_integr = $09 34 z_charac = $09 35; labels from MONITOR { 36 z_pcb = $02 37 z_pch = $03 38 z_pcl = $04 39 z_flgs = $05 40 z_acc = $06 41 z_xr = $07 42 z_yr = $08 43 z_sp = $09 44;} 45 z_endchr = $0a 46 z_trmpos = $0b 47 z_verck = $0c 48 z_count = $0d 49 z_dimflg = $0e 50 z_valtyp = $0f 51 z_intflg = $10 52 z_garbfl = $11 53 z_dores = $11 54 z_subflg = $12 55 z_inpflg = $13 56 z_domask = $14 57 z_tansgn = $14 58 z_channl = $15 59 z_poker = $15 60 z_linnum = $16 61 z_temppt = $18 62 z_lastpt = $19 63 z_tempst = $1b 64 z_index = $24 65 z_index1 = $24 66 z_index2 = $26 ; given as $24 in german manual, which is probably wrong 67 z_resho = $28 68 z_resmoh = $29 69 z_addend = $2a 70 z_resmo = $2a 71 z_reslo = $2b 72 z_txttab = $2d 73 z_vartab = $2f 74 z_arytab = $31 75 z_strend = $33 76 z_fretop = $35 77 z_frespc = $37 78 z_max_mem_1 = $39 79 z_curlin = $3b 80 z_txtptr = $3d 81 z_form = $3f 82 z_fndpnt = $3f 83 z_datlin = $41 84 z_datptr = $43 85 z_inpptr = $45 86 z_varnam = $47 87 z_fdecpt = $49 88 z_varpnt = $49 89 z_lstpnt = $4b 90 z_andmsk = $4b 91 z_forpnt = $4b 92 z_eormsk = $4c 93 z_vartxt = $4d 94 z_opptr = $4d 95 z_opmask = $4f 96 z_grbpnt = $50 97 z_tempf3 = $50 98 z_defpnt = $50 99 z_dscpnt = $52 100 z_helper = $55 101 z_jmper = $56 102 z_oldov = $58 103 z_tempf1 = $59 104 z_arypnt = $5a 105 z_highds = $5a 106 z_hightr = $5c 107 z_tempf2 = $5e 108 z_deccnt = $5f 109 z_grbtop = $61 110 z_dptflg = $61 111 z_lowtr = $61 112 z_expsgn = $62 113 z_fac1 = $63 114 z_degree = $69 115 z_sgnflg = $69 116 z_argexp = $6a 117 z_strng1 = $70 118 z_arisgn = $70 119 z_facov = $71 120 z_strng2 = $72 121 z_polypt = $72 122 z_curtol = $72 123 z_fbufpt = $72 124 z_autinc = $74 125 z_mvdflg = $76 126 z_noze = $77 127 z_sprnum = $77 128 z_keynum = $77 129 z_hulp = $78 130 z_keysiz = $78 131 z_syntmp = $79 132 z_dsdesc = $7a 133 z_tos = $7d 134 z_runmod = $7f 135 z_parsts = $80 136 z_point = $80 137 z_parstx = $81 138 z_oldstk = $82 139 z_colsel = $83 140 z_multicolor_1 = $84 141 z_multicolor_2 = $85 142 z_foreground = $86 143 z_scale_x = $87 144 z_scale_y = $89 145 z_stopnb = $8b 146 z_grapnt = $8c 147 z_vtemp1 = $8e 148 z_vtemp2 = $8f 149 z_status = $90 150 z_stkey = $91 151 z_svxt = $92 152 ;z_verck = $93 ; already given as $0c! 153 z_c3po = $94 154 z_bsour = $95 155 z_syno = $96 156 z_xsav = $97 157 z_ldtnd = $98 158 z_dfltn = $99 159 z_dflto = $9a 160 z_prty = $9b 161 z_dpsw = $9c 162 z_msgflg = $9d 163 z_ptr1 = $9e 164 z_t1 = $9e 165 z_ptr2 = $9f 166 z_t2 = $9f 167 z_time = $a0 168 z_r2d2 = $a3 169 z_pcntr = $a3 170 z_bsour1 = $a4 171 ;z_count = $a5 ; already given as $0d! 172 z_cntdn = $a5 173 z_bufpt = $a6 174 z_inbit = $a7 175 z_bitci = $a8 176 z_rinone = $a9 177 z_ridata = $aa 178 z_riprty = $ab 179 z_sal = $ac 180 z_sah = $ad 181 z_eal = $ae 182 z_eah = $af 183 z_cmpo = $b0 184 z_tape1 = $b2 185 z_bitts = $b4 186 z_nxtbit = $b5 187 z_rodata = $b6 188 z_fnlen = $b7 189 z_la = $b8 190 z_sa = $b9 191 z_fa = $ba 192 z_fnadr = $bb 193 z_roprty = $bd 194 z_fsblk = $be 195 z_drive = $bf 196 z_cas1 = $c0 197 z_stal = $c1 198 z_stah = $c2 199 z_memuss = $c3 200 z_data = $c5 201 z_ba = $c6 202 z_fnbank = $c7 203 z_ribuf = $c8 204 z_robuf = $ca 205 z_keytab = $cc 206 z_imparm = $ce 207 z_ndx = $d0 208 z_kyndx = $d1 209 z_keyidx = $d2 210 z_shflag = $d3 211 z_sfdx = $d4 212 z_lstx = $d5 213 z_crsw = $d6 214 z_mode = $d7 215 z_graphm = $d8 216 z_charen = $d9 217 z_sedsal = $da 218 z_sedeal = $dc 219 z_sedt1 = $de 220 z_sedt2 = $df 221 222 ;z_keysiz = $da ; already given as $78! 223 z_keylen = $db 224 ;z_keynum = $dc ; already given as $77! 225 z_keynxt = $dd 226 z_keybnk = $de 227 z_keytmp = $df 228 229 z_bitmsk = $da 230 z_saver = $db 231 232; these vars are for the currently active screen (vic/vdc) { 233 ; the values for the other screen are at $a40..$a5a, 234 ; and the contents are exchanged when changing screens. 235 ; there is a second pair of screen-specific blocks at $354 and $a60. 236 z_pnt = $e0 237 z_user = $e2 238 z_scbot = $e4 239 z_sctop = $e5 240 z_sclf = $e6 241 z_scrt = $e7 242 z_lsxp = $e8 243 z_lstp = $e9 244 z_indx = $ea 245 z_tblx = $eb 246 z_pntr = $ec 247 z_lines = $ed 248 z_columns = $ee 249 z_datax = $ef 250 z_lstchr = $f0 251 z_color = $f1 252 z_tcolor = $f2 253 z_rvs = $f3 254 z_qtsw = $f4 255 z_insrt = $f5 256 z_insflg = $f6 257 z_locks = $f7 258 z_scroll = $f8 259 z_beeper = $f9 260 ;z_frekzp = $fa ; ROM does not use this, but it does get swapped out when screen changes! 261;} 262 ; $fb/$fc/$fd/$fe are unused 263 z_lofbuf = $ff ; overwritten when outputting line numbers or ti$ 264 z_fbuffr = $0100 ; buffer for number strings 265 z_xcnt = $0110 266 z_dosf1l = $0111 267 z_dosds1 = $0112 268 z_dosf2l = $0113 269 z_dosds2 = $0114 270 z_dosf2a = $0115 271 z_dosofl = $0117 272 z_dosofh = $0119 273 z_dosla = $011b 274 z_dosfa = $011c 275 z_dossa = $011d 276 z_dosrcl = $011e 277 z_dosbnk = $011f 278 z_dosdid = $0120 279 z_didchk = $0122 280 z_bnr = $0123 281 z_enr = $0124 282 z_dolr = $0125 283 z_flag = $0126 284 z_swe = $0127 285 z_usgn = $0128 286 z_uexp = $0129 287 z_vn = $012a 288 z_chsn = $012b 289 z_vf = $012c 290 z_nf = $012d 291 z_posp = $012e 292 z_fesp = $012f 293 z_etof = $0130 294 z_cform = $0131 295 z_sno = $0132 296 z_blfd = $0133 297 z_begfd = $0134 298 z_lfor = $0135 299 z_endfd = $0136 300 z_sysstk = $0137 301 z_buf = $0200 302; this block is not in the german C128 manual { 303 z_fetch = $02a2 304 z_fetchvec = $02aa 305 z_stash = $02af 306 z_stavec = $02b9 307 z_cmpare = $02c8 308 z_cmpvec = $02c8 309 z_jsrfar = $02cd 310 z_jmpfar = $02e3 311;} 312 z_esc_fn_vec = $02fc 313 z_bnkvec = $02fe 314 z_ierror = $0300 315 z_icrnch = $0304 316 z_iqplop = $0306 317 z_igone = $0308 318 z_ieval = $030a 319 z_iesclk = $030c 320 z_iescpr = $030e 321 z_iescex = $0310 322 z_itime = $0312 323 z_iirq = $0314 324 z_ibrk = $0316 325 z_inmi = $0318 326 z_iopen = $031a 327 z_iclose = $031c 328 z_ichkin = $031e 329 z_ichkout = $0320 330 z_iclrch = $0322 331 z_ibasin = $0324 332 z_ibasout = $0326 333 z_istop = $0328 334 z_igetin = $032a 335 z_iclall = $032c 336 z_exmon = $032e 337 z_iload = $0330 338 z_isave = $0332 339; this block is not in the german C128 manual { 340 z_ctlvec = $0334 341 z_shfvec = $0336 342 z_escvec = $0338 343 z_keyvec = $033a 344 z_keychk = $033c 345 z_decode = $033e 346 z_decode_shift = $0340 347 z_decode_cbm = $0342 348 z_decode_ctrl = $0344 349 z_decode_alt = $0346 350 z_decode_caps = $0348 351 z_keyd = $034a 352 ; these vars are for the currently active screen (vic/vdc) { 353 ; the values for the other screen are at $a60..$a6d, 354 ; and the contents are exchanged when changing screens. 355 ; there is a second pair of screen-specific blocks at $e0 and $a40. 356 z_tabmap = $0354 357 z_bitabl = $035e 358 ;} 359 z_lat = $0362 360 z_fat = $036c 361 z_sat = $0376 362 z_chrget = $0380 363 z_chrgot = $0386 364 z_qnum = $0390 365;} 366 z_ind_sub_ram0 = $039f 367 z_ind_sub_ram1 = $03ab 368 z_indin1_ram1 = $03b7 369 z_indin2 = $03c0 370 z_indtxt = $03c9 371 z_zero = $03d2 372 z_current_bank = $03d5 373 z_tmpdes = $03d6 374 z_fin_bank = $03da 375 z_savsiz = $03db 376 z_bits = $03df 377 z_sprtmp_1 = $03e0 378 z_sprtmp_2 = $03e1 379 z_fg_bg = $03e2 380 z_fg_mc1 = $03e3 381 z_vicscn = $0400 382 z_system = $0a00 383 z_dejavu = $0a02 384 z_palnts = $0a03 385 z_init_status = $0a04 386 z_memstr = $0a05 387 z_memsiz = $0a07 388 z_irqtmp = $0a09 389 z_caston = $0a0b 390 z_kika26 = $0a0c 391 z_stupid = $0a0d 392 z_timout = $0a0e 393 z_enabl = $0a0f 394 z_m51ctr = $0a10 395 z_m51cdr = $0a11 396 z_m51ajb = $0a12 397 z_rsstat = $0a14 398 z_bitnum = $0a15 399 z_baudof = $0a16 400 z_ridbe = $0a18 401 z_ridbs = $0a19 402 z_rodbs = $0a1a 403 z_rodbe = $0a1b 404 z_serial = $0a1c 405 z_timer = $0a1d 406 z_xmax = $0a20 407 z_pause = $0a21 408 z_rptflg = $0a22 409 z_kount = $0a23 410 z_delay = $0a24 411 z_lstshf = $0a25 412 z_blnon = $0a26 413 z_blnsw = $0a27 414 z_blnct = $0a28 415 z_gdbln = $0a29 416 z_gdcol = $0a2a 417 418 z_curmod = $0a2b 419 z_vm1 = $0a2c 420 z_vm2 = $0a2d 421 z_vm3 = $0a2e 422 z_vm4 = $0a2f 423 z_lintmp = $0a30 424 z_sav80a = $0a31 425 z_sav80b = $0a32 426 z_curcol = $0a33 427 z_split = $0a34 428 z_fnadrx = $0a35 429 z_palcnt = $0a36 430 z_speed = $0a37 431 z_sprites = $0a38 432 z_blanking = $0a39 433; this block is not in the german C128 manual { 434 z_hold_off = $0a3a 435 z_ldtbi_sa = $0a3b 436 z_clr_ea_lo = $0a3c 437 z_clr_ea_hi = $0a3d 438;} 439 440; $a40 - $a5a: data of currently inactive screen (vic/vdc). 441; the values for the active screen are at $e0..$fa. 442 443 ; $a5b - $a5f: unused? 444 445; $a60 - $a6d: data of currently inactive screen (vic/vdc). 446; the values for the active screen are at $354..$361. 447 448 ; $a6e - $a7f: unused? 449 450 ;z_xcnt = $0a80 ; already given as $0110! 451 ;z_hulp = $0aa0 ; already given as $78! 452 z_format = $0aaa 453 z_length = $0aab 454 z_msal = $0aac 455 z_sxreg = $0aaf 456 z_syreg = $0ab0 457 z_wrap = $0ab1 458 z_xsave = $0ab2 459 z_direction = $0ab3 460 z_temps = $0ab4 461 z_curbnk = $0ac0 462 z_pat = $0ac1 463 z_tbuffr = $0b00 464 z_rs232i = $0c00 465 z_rs232o = $0d00 466 467 z_pkybuf = $1000 468 z_pkydef = $100a 469 z_dosstr = $1100 470 z_vwork = $1131 471 z_xypos = $1131 472 z_xpos = $1131 473 z_ypos = $1133 474 z_xdest = $1135 475 z_ydest = $1137 476 z_xyabs = $1139 477 z_xabs = $1139 478 z_yabs = $113b 479 z_xysgn = $113d 480 z_xsgn = $113d 481 z_ysgn = $113f 482 z_fct = $1141 483 z_errval = $1145 484 z_lesser = $1147 485 z_greatr = $1148 486 z_angsgn = $1149 487 z_sinval = $114a 488 z_cosval = $114c 489 z_angcnt = $114e 490 z_xcircl = $1150 491 z_ycircl = $1152 492 z_xradus = $1154 493 z_yradus = $1156 494 z_rotang = $1158 495 z_angbeg = $115c 496 z_angend = $115e 497 z_xrcos = $1160 498 z_yrsin = $1162 499 z_xrsin = $1164 500 z_yrcos = $1166 501 z_xcentr = $1150 502 z_ycentr = $1152 503 z_xdist1 = $1154 504 z_ydist1 = $1156 505 z_xdist2 = $1158 506 z_ydist2 = $115a 507 z_disend = $115c 508 z_colcnt = $115e 509 z_rowcnt = $115f 510 z_strcnt = $1160 511 z_xcord1 = $1150 512 z_ycord1 = $1152 513 z_boxang = $1154 514 z_xcount = $1156 515 z_ycount = $1158 516 z_bxleng = $115a 517 z_xcord2 = $115c 518 z_ycord2 = $115e 519 z_leylen = $1151 520 ;z_keynxt = $1152 ; already given as $dd! 521 z_strsz = $1153 522 z_gettyp = $1154 523 z_strptr = $1155 524 z_oldbyt = $1156 525 z_newbyt = $1157 526 z_xsize = $1159 527 z_ysize = $115b 528 ;z_xsave = $115d ; already given as $0ab2! 529 z_stradr = $115f 530 z_bitidx = $1161 531 z_chrpag = $1168 532 z_bitcnt = $1169 533 z_scalem = $116a 534 z_width = $116b 535 z_filflg = $116c 536 ;z_bitmsk = $116d ; already given as $da! 537 z_numcnt = $116e 538 z_trcflg = $116f 539 z_renum_tmp_1 = $1170 540 z_renum_tmp_2 = $1172 541 z_t3 = $1174 542 z_t4 = $1175 543 z_vtemp3 = $1177 544 z_vtemp4 = $1178 545 z_vtemp5 = $1179 546 z_adray1 = $117a 547 z_adray2 = $117c 548 z_sprite_data = $117e 549 z_vic_save = $11d6 550; this block is not in the german C128 manual { 551 z_upper_lower = $11eb 552 z_upper_graphic = $11ec 553;} 554 z_oldlin = $1200 555 z_oldtxt = $1202 556 z_puchrs = $1204 557 z_pufill = $1204 558 z_pucoma = $1205 559 z_pudot = $1206 560 z_pumony = $1207 561 z_errnum = $1208 562 z_errlin = $1209 563 z_trapno = $120b 564 z_tmptrp = $120d 565 z_errtxt = $120e 566 z_text_top = $1210 567 z_max_mem_0 = $1212 568 z_tmptxt = $1214 569 z_tmplin = $1216 570 z_usrpok = $1218 571 z_rndx = $121b 572 z_circle_segment = $1220 573 ;z_dejavu = $1221 ; already given as $0a02! 574 z_tempo_rate = $1222 575 z_voices = $1223 576 z_ntime = $1229 577 z_octave = $122b 578 z_sharp = $122c 579 z_pitch = $122d 580 z_voice = $122f 581 z_wave0 = $1230 582 z_dnote = $1233 583 z_fltsav = $1234 584 z_fltflg = $1238 585 z_nibble = $1239 586 z_tonnum = $123a 587 z_tonval = $123b 588 z_parcnt = $123e 589 z_atktab = $123f 590 z_sustab = $1249 591 z_wavtab = $1253 592 z_pulslw = $125d 593 z_pulshi = $1267 594 z_filters = $1271 595 z_int_trip_flag = $1276 596 z_int_adr_lo = $1279 597 z_int_adr_hi = $127c 598 z_intval = $127f 599 z_coltyp = $1280 600 z_sound_voice = $1281 601 z_sound_time_lo = $1282 602 z_sound_time_hi = $1285 603 z_sound_max_lo = $1288 604 z_sound_max_hi = $128b 605 z_sound_min_lo = $128e 606 z_sound_min_hi = $1291 607 z_sound_direction = $1294 608 z_sound_step_lo = $1297 609 z_sound_step_hi = $129a 610 z_sound_freq_lo = $129d 611 z_sound_freq_hi = $12a0 612 z_temp_time_lo = $12a3 613 z_temp_time_hi = $12a4 614 z_temp_max_lo = $12a5 615 z_temp_max_hi = $12a6 616 z_temp_min_lo = $12a7 617 z_temp_min_hi = $12a8 618 z_temp_direction = $12a9 619 z_temp_step_lo = $12aa 620 z_temp_step_hi = $12ab 621 z_temp_freq_lo = $12ac 622 z_temp_freq_hi = $12ad 623 z_temp_pulse_lo = $12ae 624 z_temp_pulse_hi = $12af 625 z_temp_waveform = $12b0 626 z_pot_temp_1 = $12b1 627 z_pot_temp_2 = $12b2 628 z_window_temp = $12b3 629 z_savram = $12b7 630 z_defmod = $12fa 631 z_lincnt = $12fb 632 z_sprite_number = $12fc 633; this block is not in the german C128 manual { 634 z_irq_wrap_flag = $12fd 635 z_rambot = $1c00 636;} 637} 638