From 1c8e2c28d7715aa71bb3bbc518e4889e01f4fd51 Mon Sep 17 00:00:00 2001 From: Brendan Robert Date: Sat, 24 Jan 2026 21:11:15 -0600 Subject: [PATCH] Remove binary artifacts --- src/dhgr.tk/libs/DHGRLIB.REL | Bin 8513 -> 0 bytes src/dhgr.tk/libs/DHGRUTILS.REL | Bin 3095 -> 0 bytes src/dhgr.tk/libs/dhgrlib.a | 8812 ----------------------- src/dhgr.tk/libs/dhgrutils.a | 3080 -------- src/libsrc/apple/conio.a | 5069 ------------- src/libsrc/apple/dgrlib.a | 1924 ----- src/libsrc/apple/fileio.a | 2845 -------- src/libsrc/apple/grafix.a | 1401 ---- src/libsrc/apple/grlib.a | 1592 ----- src/libsrc/apple/hgrfont.a | 2423 ------- src/libsrc/apple/hgrlib.a | 4099 ----------- src/libsrc/apple/hgrsprite.a | 2364 ------ src/libsrc/apple/hgrtile.a | 1360 ---- src/libsrc/apple/jit.a | 7090 ------------------ src/libsrc/apple/jit16.a | 5455 -------------- src/libsrc/apple/joybuzz.a | 299 - src/libsrc/apple/matchfiles.a | 1067 --- src/libsrc/apple/mouse.a | 1245 ---- src/libsrc/apple/portio.a | 472 -- src/libsrc/apple/sdfat.a | 961 --- src/libsrc/apple/sndseq.a | 4197 ----------- src/libsrc/apple/spiport.a | 1367 ---- src/libsrc/apple/uthernet.a | 1205 ---- src/libsrc/apple/uthernet2.a | 3889 ---------- src/libsrc/apple/vblank.a | 461 -- src/libsrc/args.a | 335 - src/libsrc/dhcp.a | 1271 ---- src/libsrc/etherip.a | 2497 ------- src/libsrc/fiber.a | 1247 ---- src/libsrc/fpstr.a | 1611 ----- src/libsrc/fpu.a | 3892 ---------- src/libsrc/fpu_mf.a | 8113 --------------------- src/libsrc/inet.a | 1104 --- src/libsrc/int32.a | 1713 ----- src/libsrc/lines.a | 1959 ----- src/libsrc/longjmp.a | 175 - src/libsrc/lz4.a | 991 --- src/libsrc/memmgr.a | 4077 ----------- src/libsrc/sane.a | 2852 -------- src/libsrc/sincos.a | 640 -- src/libsrc/turtle.a | 1419 ---- src/lisp/drawl.a | 2651 ------- src/lisp/s-expr.a | 10254 --------------------------- src/lisp/s-math.a | 5546 --------------- src/plvm | Bin 125032 -> 0 bytes src/rel/ARGS#FE1000 | Bin 199 -> 0 bytes src/rel/CODEOPT#FE1000 | Bin 3101 -> 0 bytes src/rel/DHCP#FE1000 | Bin 1308 -> 0 bytes src/rel/DRAWL#FE1000 | Bin 2939 -> 0 bytes src/rel/ED#FE1000 | Bin 11581 -> 0 bytes src/rel/ETHERIP#FE1000 | Bin 2379 -> 0 bytes src/rel/FIBER#FE1000 | Bin 1254 -> 0 bytes src/rel/FIBERTEST#FE1000 | Bin 212 -> 0 bytes src/rel/FPSTR#FE1000 | Bin 1227 -> 0 bytes src/rel/FPU#FE1000 | Bin 8272 -> 0 bytes src/rel/HR2FORTH#FE1000 | Bin 49 -> 0 bytes src/rel/HRFORTH#FE1000 | Bin 49 -> 0 bytes src/rel/HTTPD#FE1000 | Bin 2019 -> 0 bytes src/rel/INET#FE1000 | Bin 1001 -> 0 bytes src/rel/INT32#FE1000 | Bin 1533 -> 0 bytes src/rel/INT32TEST#FE1000 | Bin 769 -> 0 bytes src/rel/LINES#FE1000 | Bin 1921 -> 0 bytes src/rel/LONGJMP#FE1000 | Bin 135 -> 0 bytes src/rel/LZ4#FE1000 | Bin 735 -> 0 bytes src/rel/LZ4CAT#FE1000 | Bin 1460 -> 0 bytes src/rel/MEMMGR#FE1000 | Bin 4199 -> 0 bytes src/rel/MEMTEST#FE1000 | Bin 1079 -> 0 bytes src/rel/PLASM#FE1000 | Bin 24612 -> 0 bytes src/rel/PLFORTH#FE1000 | Bin 15216 -> 0 bytes src/rel/PRIMEGAP#FE1000 | Bin 629 -> 0 bytes src/rel/ROGUE#FE1000 | Bin 4161 -> 0 bytes src/rel/ROGUECOMBAT#FE1000 | Bin 1529 -> 0 bytes src/rel/ROGUEMAP#FE1000 | Bin 7964 -> 0 bytes src/rel/RPNCALC#FE1000 | Bin 3481 -> 0 bytes src/rel/RPNCALC_MF#FE1000 | Bin 3481 -> 0 bytes src/rel/SANE#FE1000 | Bin 2529 -> 0 bytes src/rel/SANITY#FE1000 | Bin 2638 -> 0 bytes src/rel/SEXPR#FE1000 | Bin 11563 -> 0 bytes src/rel/SIEVE#FE1000 | Bin 412 -> 0 bytes src/rel/SINCOS#FE1000 | Bin 572 -> 0 bytes src/rel/SMATH#FE1000 | Bin 5916 -> 0 bytes src/rel/TFTPD#FE1000 | Bin 3162 -> 0 bytes src/rel/TURTLE#FE1000 | Bin 1479 -> 0 bytes src/rel/TX2FORTH#FE1000 | Bin 49 -> 0 bytes src/rel/apple/A1PLASMA#060280 | Bin 5230 -> 0 bytes src/rel/apple/CAT#FE1000 | Bin 1396 -> 0 bytes src/rel/apple/CMD#061000 | Bin 3961 -> 0 bytes src/rel/apple/CMD.128#061000 | Bin 4292 -> 0 bytes src/rel/apple/CONIO#FE1000 | Bin 5046 -> 0 bytes src/rel/apple/CONIOTEST#FE1000 | Bin 1394 -> 0 bytes src/rel/apple/COPY#FE1000 | Bin 2811 -> 0 bytes src/rel/apple/DEL#FE1000 | Bin 1408 -> 0 bytes src/rel/apple/DGRLIB#FE1000 | Bin 1832 -> 0 bytes src/rel/apple/DGRTEST#FE1000 | Bin 565 -> 0 bytes src/rel/apple/FATCAT#FE1000 | Bin 705 -> 0 bytes src/rel/apple/FATGET#FE1000 | Bin 1472 -> 0 bytes src/rel/apple/FATPUT#FE1000 | Bin 1109 -> 0 bytes src/rel/apple/FATREADDSK#FE1000 | Bin 1475 -> 0 bytes src/rel/apple/FATWRITEDSK#FE1000 | Bin 1477 -> 0 bytes src/rel/apple/FILEIO#FE1000 | Bin 2727 -> 0 bytes src/rel/apple/GFXDEMO#FE1000 | Bin 389 -> 0 bytes src/rel/apple/GRAFIX#FE1000 | Bin 1562 -> 0 bytes src/rel/apple/GRLIB#FE1000 | Bin 1464 -> 0 bytes src/rel/apple/GRTEST#FE1000 | Bin 555 -> 0 bytes src/rel/apple/HGRFONT#FE1000 | Bin 2140 -> 0 bytes src/rel/apple/HGRLIB#FE1000 | Bin 3826 -> 0 bytes src/rel/apple/HGRSPRITE#FE1000 | Bin 2587 -> 0 bytes src/rel/apple/HGRTEST#FE1000 | Bin 891 -> 0 bytes src/rel/apple/HGRTILE#FE1000 | Bin 1210 -> 0 bytes src/rel/apple/INITSLOT#FE1000 | Bin 610 -> 0 bytes src/rel/apple/JIT#FE1000 | Bin 8411 -> 0 bytes src/rel/apple/JIT16#FE1000 | Bin 6130 -> 0 bytes src/rel/apple/JITUNE#FE1000 | Bin 496 -> 0 bytes src/rel/apple/JOYBUZZ#FE1000 | Bin 117 -> 0 bytes src/rel/apple/MATCHFILES#FE1000 | Bin 1014 -> 0 bytes src/rel/apple/MAZE#FE1000 | Bin 3881 -> 0 bytes src/rel/apple/MON#FE1000 | Bin 87 -> 0 bytes src/rel/apple/MOUSE#FE1000 | Bin 1225 -> 0 bytes src/rel/apple/NEWDIR#FE1000 | Bin 402 -> 0 bytes src/rel/apple/PLASMA.SYSTEM#FF2000 | Bin 2671 -> 0 bytes src/rel/apple/PLAYPCM#FE1000 | Bin 1007 -> 0 bytes src/rel/apple/PLAYSEQ#FE1000 | Bin 421 -> 0 bytes src/rel/apple/PLVM.128#FF2000 | Bin 4515 -> 0 bytes src/rel/apple/PLVM16#FF2000 | Bin 3241 -> 0 bytes src/rel/apple/PORTIO#FE1000 | Bin 292 -> 0 bytes src/rel/apple/REN#FE1000 | Bin 553 -> 0 bytes src/rel/apple/ROD#FE1000 | Bin 368 -> 0 bytes src/rel/apple/SDFAT#FE1000 | Bin 796 -> 0 bytes src/rel/apple/SFM#FE1000 | Bin 4538 -> 0 bytes src/rel/apple/SFMSPRT#FE1000 | Bin 2125 -> 0 bytes src/rel/apple/SNDSEQ#FE1000 | Bin 4130 -> 0 bytes src/rel/apple/SOS#FE1000 | Bin 777 -> 0 bytes src/rel/apple/SOS.CMD#FE1000 | Bin 1400 -> 0 bytes src/rel/apple/SOS.CMDJIT#FE1000 | Bin 9769 -> 0 bytes src/rel/apple/SOS.INTERP#050000 | Bin 5987 -> 0 bytes src/rel/apple/SOS.INTERPJIT#050000 | Bin 6183 -> 0 bytes src/rel/apple/SPIPORT#FE1000 | Bin 1325 -> 0 bytes src/rel/apple/TILETEST#FE1000 | Bin 202 -> 0 bytes src/rel/apple/TYPE#FE1000 | Bin 911 -> 0 bytes src/rel/apple/UTHERNET#FE1000 | Bin 1145 -> 0 bytes src/rel/apple/UTHERNET2#FE1000 | Bin 3767 -> 0 bytes src/rel/apple/VBLANK#FE1000 | Bin 337 -> 0 bytes src/rel/apple/ZIPCHIP#FE1000 | Bin 539 -> 0 bytes src/samplesrc/coniotest.a | 592 -- src/samplesrc/dgrtest.a | 673 -- src/samplesrc/fatcat.a | 700 -- src/samplesrc/fatget.a | 1485 ---- src/samplesrc/fatput.a | 1218 ---- src/samplesrc/fatreaddsk.a | 1449 ---- src/samplesrc/fatwritedsk.a | 1452 ---- src/samplesrc/fibertest.a | 339 - src/samplesrc/gfxdemo.a | 613 -- src/samplesrc/grtest.a | 673 -- src/samplesrc/hello.a | 195 - src/samplesrc/hgrtest.a | 899 --- src/samplesrc/httpd.a | 1782 ----- src/samplesrc/int32test.a | 757 -- src/samplesrc/maze.a | 3671 ---------- src/samplesrc/memtest.a | 969 --- src/samplesrc/playpcm.a | 1159 --- src/samplesrc/playseq.a | 602 -- src/samplesrc/primegap.a | 620 -- src/samplesrc/rod.a | 621 -- src/samplesrc/rogue.a | 4001 ----------- src/samplesrc/rogue.combat.a | 1385 ---- src/samplesrc/rogue.map.a | 6329 ----------------- src/samplesrc/rpncalc.a | 3391 --------- src/samplesrc/sanity.a | 2584 ------- src/samplesrc/sfm.a | 3933 ---------- src/samplesrc/sfmsprt.a | 2300 ------ src/samplesrc/sieve.a | 497 -- src/samplesrc/test.a | 2799 -------- src/samplesrc/testlib.a | 351 - src/samplesrc/tiletest.a | 354 - src/test | Bin 3693 -> 0 bytes src/testlib | Bin 246 -> 0 bytes src/utilsrc/apple/cat.a | 1356 ---- src/utilsrc/apple/copy.a | 2371 ------- src/utilsrc/apple/del.a | 1368 ---- src/utilsrc/apple/initslot.a | 608 -- src/utilsrc/apple/jitune.a | 521 -- src/utilsrc/apple/mon.a | 237 - src/utilsrc/apple/newdir.a | 518 -- src/utilsrc/apple/ren.a | 591 -- src/utilsrc/apple/sos.a | 930 --- src/utilsrc/apple/type.a | 916 --- src/utilsrc/apple/zipchip.a | 559 -- src/vmsrc/apple/a1cmd.a | 3426 --------- src/vmsrc/apple/cmd.a | 4078 ----------- src/vmsrc/apple/cmd.sym | 636 -- src/vmsrc/apple/cmdjit.a | 4377 ------------ src/vmsrc/apple/cmdjit.sym | 696 -- src/vmsrc/apple/plvm01.sym | 660 -- src/vmsrc/apple/plvm02.sym | 177 - src/vmsrc/apple/plvm03.sym | 681 -- src/vmsrc/apple/plvm802.sym | 230 - src/vmsrc/apple/plvmjit02.sym | 264 - src/vmsrc/apple/plvmjit03.sym | 690 -- src/vmsrc/apple/soscmd.a | 1418 ---- src/vmsrc/apple/soscmdjit.a | 8365 ---------------------- src/vmsrc/apple/sossys.a | 3555 ---------- src/vmsrc/apple/sossysjit.a | 3635 ---------- src/vmsrc/lib6502/lib6502.a | Bin 90968 -> 0 bytes src/vmsrc/lib6502/lib6502.o | Bin 90624 -> 0 bytes src/vmsrc/lib6502/run6502 | Bin 88504 -> 0 bytes src/vmsrc/lib6502/run6502.o | Bin 37424 -> 0 bytes src/xplasm | Bin 126136 -> 0 bytes 207 files changed, 206280 deletions(-) delete mode 100644 src/dhgr.tk/libs/DHGRLIB.REL delete mode 100644 src/dhgr.tk/libs/DHGRUTILS.REL delete mode 100644 src/dhgr.tk/libs/dhgrlib.a delete mode 100644 src/dhgr.tk/libs/dhgrutils.a delete mode 100644 src/libsrc/apple/conio.a delete mode 100644 src/libsrc/apple/dgrlib.a delete mode 100644 src/libsrc/apple/fileio.a delete mode 100644 src/libsrc/apple/grafix.a delete mode 100644 src/libsrc/apple/grlib.a delete mode 100644 src/libsrc/apple/hgrfont.a delete mode 100644 src/libsrc/apple/hgrlib.a delete mode 100644 src/libsrc/apple/hgrsprite.a delete mode 100644 src/libsrc/apple/hgrtile.a delete mode 100644 src/libsrc/apple/jit.a delete mode 100644 src/libsrc/apple/jit16.a delete mode 100644 src/libsrc/apple/joybuzz.a delete mode 100644 src/libsrc/apple/matchfiles.a delete mode 100644 src/libsrc/apple/mouse.a delete mode 100644 src/libsrc/apple/portio.a delete mode 100644 src/libsrc/apple/sdfat.a delete mode 100644 src/libsrc/apple/sndseq.a delete mode 100644 src/libsrc/apple/spiport.a delete mode 100644 src/libsrc/apple/uthernet.a delete mode 100644 src/libsrc/apple/uthernet2.a delete mode 100644 src/libsrc/apple/vblank.a delete mode 100644 src/libsrc/args.a delete mode 100644 src/libsrc/dhcp.a delete mode 100644 src/libsrc/etherip.a delete mode 100644 src/libsrc/fiber.a delete mode 100644 src/libsrc/fpstr.a delete mode 100644 src/libsrc/fpu.a delete mode 100644 src/libsrc/fpu_mf.a delete mode 100644 src/libsrc/inet.a delete mode 100644 src/libsrc/int32.a delete mode 100644 src/libsrc/lines.a delete mode 100644 src/libsrc/longjmp.a delete mode 100644 src/libsrc/lz4.a delete mode 100644 src/libsrc/memmgr.a delete mode 100644 src/libsrc/sane.a delete mode 100644 src/libsrc/sincos.a delete mode 100644 src/libsrc/turtle.a delete mode 100644 src/lisp/drawl.a delete mode 100644 src/lisp/s-expr.a delete mode 100644 src/lisp/s-math.a delete mode 100755 src/plvm delete mode 100644 src/rel/ARGS#FE1000 delete mode 100644 src/rel/CODEOPT#FE1000 delete mode 100644 src/rel/DHCP#FE1000 delete mode 100644 src/rel/DRAWL#FE1000 delete mode 100644 src/rel/ED#FE1000 delete mode 100644 src/rel/ETHERIP#FE1000 delete mode 100644 src/rel/FIBER#FE1000 delete mode 100644 src/rel/FIBERTEST#FE1000 delete mode 100644 src/rel/FPSTR#FE1000 delete mode 100644 src/rel/FPU#FE1000 delete mode 100644 src/rel/HR2FORTH#FE1000 delete mode 100644 src/rel/HRFORTH#FE1000 delete mode 100644 src/rel/HTTPD#FE1000 delete mode 100644 src/rel/INET#FE1000 delete mode 100644 src/rel/INT32#FE1000 delete mode 100644 src/rel/INT32TEST#FE1000 delete mode 100644 src/rel/LINES#FE1000 delete mode 100644 src/rel/LONGJMP#FE1000 delete mode 100644 src/rel/LZ4#FE1000 delete mode 100644 src/rel/LZ4CAT#FE1000 delete mode 100644 src/rel/MEMMGR#FE1000 delete mode 100644 src/rel/MEMTEST#FE1000 delete mode 100644 src/rel/PLASM#FE1000 delete mode 100644 src/rel/PLFORTH#FE1000 delete mode 100644 src/rel/PRIMEGAP#FE1000 delete mode 100644 src/rel/ROGUE#FE1000 delete mode 100644 src/rel/ROGUECOMBAT#FE1000 delete mode 100644 src/rel/ROGUEMAP#FE1000 delete mode 100644 src/rel/RPNCALC#FE1000 delete mode 100644 src/rel/RPNCALC_MF#FE1000 delete mode 100644 src/rel/SANE#FE1000 delete mode 100644 src/rel/SANITY#FE1000 delete mode 100644 src/rel/SEXPR#FE1000 delete mode 100644 src/rel/SIEVE#FE1000 delete mode 100644 src/rel/SINCOS#FE1000 delete mode 100644 src/rel/SMATH#FE1000 delete mode 100644 src/rel/TFTPD#FE1000 delete mode 100644 src/rel/TURTLE#FE1000 delete mode 100644 src/rel/TX2FORTH#FE1000 delete mode 100644 src/rel/apple/A1PLASMA#060280 delete mode 100644 src/rel/apple/CAT#FE1000 delete mode 100644 src/rel/apple/CMD#061000 delete mode 100644 src/rel/apple/CMD.128#061000 delete mode 100644 src/rel/apple/CONIO#FE1000 delete mode 100644 src/rel/apple/CONIOTEST#FE1000 delete mode 100644 src/rel/apple/COPY#FE1000 delete mode 100644 src/rel/apple/DEL#FE1000 delete mode 100644 src/rel/apple/DGRLIB#FE1000 delete mode 100644 src/rel/apple/DGRTEST#FE1000 delete mode 100644 src/rel/apple/FATCAT#FE1000 delete mode 100644 src/rel/apple/FATGET#FE1000 delete mode 100644 src/rel/apple/FATPUT#FE1000 delete mode 100644 src/rel/apple/FATREADDSK#FE1000 delete mode 100644 src/rel/apple/FATWRITEDSK#FE1000 delete mode 100644 src/rel/apple/FILEIO#FE1000 delete mode 100644 src/rel/apple/GFXDEMO#FE1000 delete mode 100644 src/rel/apple/GRAFIX#FE1000 delete mode 100644 src/rel/apple/GRLIB#FE1000 delete mode 100644 src/rel/apple/GRTEST#FE1000 delete mode 100644 src/rel/apple/HGRFONT#FE1000 delete mode 100644 src/rel/apple/HGRLIB#FE1000 delete mode 100644 src/rel/apple/HGRSPRITE#FE1000 delete mode 100644 src/rel/apple/HGRTEST#FE1000 delete mode 100644 src/rel/apple/HGRTILE#FE1000 delete mode 100644 src/rel/apple/INITSLOT#FE1000 delete mode 100644 src/rel/apple/JIT#FE1000 delete mode 100644 src/rel/apple/JIT16#FE1000 delete mode 100644 src/rel/apple/JITUNE#FE1000 delete mode 100644 src/rel/apple/JOYBUZZ#FE1000 delete mode 100644 src/rel/apple/MATCHFILES#FE1000 delete mode 100644 src/rel/apple/MAZE#FE1000 delete mode 100644 src/rel/apple/MON#FE1000 delete mode 100644 src/rel/apple/MOUSE#FE1000 delete mode 100644 src/rel/apple/NEWDIR#FE1000 delete mode 100644 src/rel/apple/PLASMA.SYSTEM#FF2000 delete mode 100644 src/rel/apple/PLAYPCM#FE1000 delete mode 100644 src/rel/apple/PLAYSEQ#FE1000 delete mode 100644 src/rel/apple/PLVM.128#FF2000 delete mode 100644 src/rel/apple/PLVM16#FF2000 delete mode 100644 src/rel/apple/PORTIO#FE1000 delete mode 100644 src/rel/apple/REN#FE1000 delete mode 100644 src/rel/apple/ROD#FE1000 delete mode 100644 src/rel/apple/SDFAT#FE1000 delete mode 100644 src/rel/apple/SFM#FE1000 delete mode 100644 src/rel/apple/SFMSPRT#FE1000 delete mode 100644 src/rel/apple/SNDSEQ#FE1000 delete mode 100644 src/rel/apple/SOS#FE1000 delete mode 100644 src/rel/apple/SOS.CMD#FE1000 delete mode 100644 src/rel/apple/SOS.CMDJIT#FE1000 delete mode 100644 src/rel/apple/SOS.INTERP#050000 delete mode 100644 src/rel/apple/SOS.INTERPJIT#050000 delete mode 100644 src/rel/apple/SPIPORT#FE1000 delete mode 100644 src/rel/apple/TILETEST#FE1000 delete mode 100644 src/rel/apple/TYPE#FE1000 delete mode 100644 src/rel/apple/UTHERNET#FE1000 delete mode 100644 src/rel/apple/UTHERNET2#FE1000 delete mode 100644 src/rel/apple/VBLANK#FE1000 delete mode 100644 src/rel/apple/ZIPCHIP#FE1000 delete mode 100644 src/samplesrc/coniotest.a delete mode 100644 src/samplesrc/dgrtest.a delete mode 100644 src/samplesrc/fatcat.a delete mode 100644 src/samplesrc/fatget.a delete mode 100644 src/samplesrc/fatput.a delete mode 100644 src/samplesrc/fatreaddsk.a delete mode 100644 src/samplesrc/fatwritedsk.a delete mode 100644 src/samplesrc/fibertest.a delete mode 100644 src/samplesrc/gfxdemo.a delete mode 100644 src/samplesrc/grtest.a delete mode 100644 src/samplesrc/hello.a delete mode 100644 src/samplesrc/hgrtest.a delete mode 100644 src/samplesrc/httpd.a delete mode 100644 src/samplesrc/int32test.a delete mode 100644 src/samplesrc/maze.a delete mode 100644 src/samplesrc/memtest.a delete mode 100644 src/samplesrc/playpcm.a delete mode 100644 src/samplesrc/playseq.a delete mode 100644 src/samplesrc/primegap.a delete mode 100644 src/samplesrc/rod.a delete mode 100644 src/samplesrc/rogue.a delete mode 100644 src/samplesrc/rogue.combat.a delete mode 100644 src/samplesrc/rogue.map.a delete mode 100644 src/samplesrc/rpncalc.a delete mode 100644 src/samplesrc/sanity.a delete mode 100644 src/samplesrc/sfm.a delete mode 100644 src/samplesrc/sfmsprt.a delete mode 100644 src/samplesrc/sieve.a delete mode 100644 src/samplesrc/test.a delete mode 100644 src/samplesrc/testlib.a delete mode 100644 src/samplesrc/tiletest.a delete mode 100644 src/test delete mode 100644 src/testlib delete mode 100644 src/utilsrc/apple/cat.a delete mode 100644 src/utilsrc/apple/copy.a delete mode 100644 src/utilsrc/apple/del.a delete mode 100644 src/utilsrc/apple/initslot.a delete mode 100644 src/utilsrc/apple/jitune.a delete mode 100644 src/utilsrc/apple/mon.a delete mode 100644 src/utilsrc/apple/newdir.a delete mode 100644 src/utilsrc/apple/ren.a delete mode 100644 src/utilsrc/apple/sos.a delete mode 100644 src/utilsrc/apple/type.a delete mode 100644 src/utilsrc/apple/zipchip.a delete mode 100644 src/vmsrc/apple/a1cmd.a delete mode 100644 src/vmsrc/apple/cmd.a delete mode 100644 src/vmsrc/apple/cmd.sym delete mode 100644 src/vmsrc/apple/cmdjit.a delete mode 100644 src/vmsrc/apple/cmdjit.sym delete mode 100644 src/vmsrc/apple/plvm01.sym delete mode 100644 src/vmsrc/apple/plvm02.sym delete mode 100644 src/vmsrc/apple/plvm03.sym delete mode 100644 src/vmsrc/apple/plvm802.sym delete mode 100644 src/vmsrc/apple/plvmjit02.sym delete mode 100644 src/vmsrc/apple/plvmjit03.sym delete mode 100644 src/vmsrc/apple/soscmd.a delete mode 100644 src/vmsrc/apple/soscmdjit.a delete mode 100644 src/vmsrc/apple/sossys.a delete mode 100644 src/vmsrc/apple/sossysjit.a delete mode 100644 src/vmsrc/lib6502/lib6502.a delete mode 100644 src/vmsrc/lib6502/lib6502.o delete mode 100755 src/vmsrc/lib6502/run6502 delete mode 100644 src/vmsrc/lib6502/run6502.o delete mode 100755 src/xplasm diff --git a/src/dhgr.tk/libs/DHGRLIB.REL b/src/dhgr.tk/libs/DHGRLIB.REL deleted file mode 100644 index e86cd6dceee145ae832bde538bc5f9864a524d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8513 zcmdtoeOy#k!Uym(mvQDYyba6@3j$Sikc3bh?7IS987Ys z$RSYl}chp}=PFNa&@kSvGW<&YwW$#NhHCP+C*_5b$5C|N~V zs5-pgw?{+(E$YN)a!ya7Y za<6q{r<00$VnwzpCz_p3LS)*CXK){81b{K3tmX_dvSR9gqFO*5L-R?O0hM$?LZ0XfAQHHdb^R=c&`u(v11FCACG& zrH!3+{`)W0d%R+;T_tX`t3_A7)9$OOzeFc2rLRU2U#)_D!COIgs=8Djrb}H@o>ml$ zSsav#wrrQmYswG${Hi9e$LH_ttn<|MYgQ*Z)A}`d8V!Ea*C19)$)?^GbNaVvM{6x> z9lD*W5fLqe{2^5qV%h3NYZau+Tj@Qv$)AANhMg)5DD4^<AiNZ6urF~+2r#( zuh+9cCRLNqv)5mGsUCe>A=Pip^V;d4zAjqP`@x)cR@{WeTJP5y#kxG!&Q_DWV0-Wy zk6)~-abfwU*?s+1n&rPO-}QOED!PPC|8@NitT_7G>vz4ex4sXqzk;QeSBHU=*@H!= zKeEaw)(#j+jca|XSWDMXRr9fW&v#e9Q*WUf7aje8GTk*!slHpQp8R;w$E`FUH{c=$!2LGc;%HPmf!6y(j43G zP*sV0=!Pp7%klkGotr&f{&r*kdhwCPejU5!hUn`O#yg--{=PoR%T?~wBXrqT5Oe^0 zK-wZ(YTsPg z@?H4ZLl3h2*Ki>0)0C8IN_LBT=@hl3{&tRR`8fQl#N7k7C??KHr_FzLEF4CVCXHo0 zQge_ht(bz;<8Y1HDhfh3F(72Z)gd*x z8>uhkCZ+iaOq2h&)diZpZa(xPthbBr(x$gd2cx{ao{-nnd^!!$u4-cUf^P?7t(aEq z-4SH1$ijtKEAGKXVWrCmOY2T_Z1#1&ay7w1mm=*2=>zwFfW>`SUfj`6(M4A_{d^mH zPfuxY1b#1dSF+eX!A-2VKMk`>*LpB^K)()7kUKb0?%-6pgXlFnc#AZf_o15)08_0f zW~-TE)tc%cB$P;azQ&})$&=!slS4mICtYzL(iu7@|LVYDi5*UV+u#q(P4tf$boy!f z*WpKnq_dD5D#& zH564AwP0`ie4h6XYs>M6V74ZRAq!MI<4_f_;beiDCk}Nk&o1WKUCIJ>>$g2i)mEM) zvjt@9@t&nBE6?ysrfgLK^ZSbBXtKlAJd++ycn!~}Ht?Y@t}4(VO~$W6B4aS&Szei| z*{}-FLNgbbdF9#yC9it9K*g(Ooa)I5&ki4i@}Y!Rq6;dNRw5;pR-!8!Ug^*jgkl6C zd?@xH>XpdLP4bHfeFtok(7TVsM7TVrB7O6c8 zZLi5f+v~K@_PQ*>Pdd(Tp{=Ti&{nTliaJBQ6yGF*p_Cn-Uzax+Wys?6sTd7>=i znM|K9M@ip))c02TtG5vhr;FM}a+$KFN;^&^tD>HjX<_ zOD!G5HAFfF783e;S)^e#+(7bd+6$YYvDDO^MarcZLdq@sr!@rE%X2AoH;kJ@x&$-F6Ft_btnpU_878=3Iq92iD z?o1?@Z$gsvN$yOd&zM4_@-qYFLfy7M(=>69y6GqSA6U?+b$$#PMc8%eYLXO%`%&3H z2j1}L047A(q~{`{gbF>TMcAU}v{Aw~J!V9x)^m|j!aI7dCsKG<&qYNEyY$>0TEVU7 z6p=!s9-l<$(BpFooqBv0;bWP5Ff%ajAbOhlz!jp38$=1NpgeTq7lS_eP z3Qr!3rloArT$x^25jePzej{*vAOBaHR>$ zUZb(LY}v*H+TZd7I7(;7lmC_%^(3(G$(kEkRJ?Er)x~2RVrFwprYG94Dtiedj#v5s=8>PeU zR|g-)v?Xx-A>9->1d)D5Is|bPBK>CIK%8J&mTclCm@w896Yc3#6RrCXCOU!{CfZt- ziH`N-I6Br7aU5of8%$>^c`$u045rVQOX<^6`s`qu=jM2t=fQX`QY+M&xRGX|-o)K( z78=l+SvY9oCYgmpChjh?aM;A%V;0&>+)}m!2X;df zbV3*S;R>jS5GE3^Cz;GeJu z_Jb4LZ~zX$VQ2#nbihaOF?_JOVuY1s1{+Pyo-s%TNsK;5FC)o1g-=z&5Ccci>&v z1tRQ)TBwHx_&1z{Q{aWO@D2FkJY0ew;b-UpCW@>a1T2Jr77P#vW=Mn^APH`Q@o*cY z!+kIdvLG8Cgooh~m(Ijn|P;5FC)Z^Cxi0eheh8sHGT4Xj>l3}mGmLLdTk5N{yGcNjFq({Y_?V2U3! zXjVRk=RC}V1+WN~Kt3#kXW%(l2`|8EcnJ!j2>uSG@H&)1IlKv#Pz7(pKVT=+z#iBS zPH@8kXo41Kg(J`o$KYS^3H%#Q!YS~=S@;J0a2_tfkMJ|}027Th4lIN~I7EUTVjvC@ zzyd>ogAp(aZi2CJ3nartm<)HoH24Fg!5<+5X2bpPCzu0&hDRX}Z15LY2v5LLcnSpg z8?1om;YIi#SPQSft55>#VIypYH()Eg1@FMSunR=k3$;)W4R8<+!C`0v4|G5$9EVTg z1bhLf!3ST#Ip~H9@I73HD?nnfk3a>%5DF0x1qLv}U@*ZD7zQ^&5{w2bjDuU@Hb{Xf za3@TMRJa#rz)Z-52OtL?f?RkEc$fzZU=b{Vd{_q0z;mz?UVzo`5)?ua{2kWAM%WB* zz*cw*w!;o^z&~L(?1MUR!F$jM&G0^a03X6p_y|6R&){?T61w0Fd=1~icW@DYfS=$O zP#Ez$2h^Z}FwlYyq9GRI!3>FT0}O|eFa~ah@h|~yhe0OSwviC| ze-6+R($;XGxn-JGK|IHf-lb*eWwusH4m7l;Yc=HHfkW+{mVY&-vpyY7H@CLTV84=* zoiuq)O1{@}w5=h7?Urtko!(rKZrWQL>CN}LgUyH9I}WtJ*E)f{EZwvnahx=j+Ze~F?F15N2qYvBjQuhGfbhHT z*`?JGTBP4Q=bn4d$36F)6FY$o3WkCZe(=BK)WpY8=Qf7;wp`1_WgKl|A zZ<#k0LrSs2$0_46q-&m3#;ePxR@|g}b@zxCA%hI2x6J8WZ!vuK304}PS$<~Cw5r9$;z~eZS4U#V9$o4f#880k(QyHJG*uH$aXG9w$L)Iag``%=Z z!yKQSm6i-<@If{?i?5Wzr&)a5wr?{LPI>+@Uzmby+O0kpT&XihYg<~T9q3#eyL%79OTdi@_EQwpa*KhTD%Uk9Dij=<+*zCXX)ve$Q+{YDK;oLJ@mOB{AMa zxu8KS%_4g3`%MO={WP9YVoy;|IL*ZIXivCLHa?p*U-*c#vW-AmKY8?lld5y_+{{d7 z>UbX(j*d8MD!QV5s;M^wQ7)(}MzA-O4$^qk2%^66QB!lK#|Vl{zfHPlKon*!Bm^fk z4>41f%s`xz-&9pIpnF*14U~Yc^vKLHBa8Dg1iUWbLck&LIRbG0dt7Us^IcQ*z(w6Z zpOv%;B;2XV(0L;?nPn>hLZEEWjhrJ?Lpq^#qrePy-rx|k^STd2n$i6r%`iOO7WLJXh=(r90KwLF!ZP%lVbyi=C>FyG7w76|gyqqZ5fm`YGL|#vZ0VzoTGI zKby553QAq7*lQ?t38j80Ns*(Jj;OIt>hqjC{zB&2=LZ`a5mjt7G$PP|L(%kKa$2TC ztepq!E~+m+qT&I&hXZwHNJtEhLX=%JHWi8@P|XLAqDDo9B6CSO(QG#)W*>73-xQ-s zl*w_sFVLxILR~twf<)PpKx#w_+gxZ;?4VQ8bJCK@bf&wK&9?gAo=$k6w<;}~c*|9J zQFKs2rHldzvwfzWXSe}<~fYoMKq$kn3bt8NEysiD)fqS^sbWb zTV+rd>_VOAm%e2vGlsH|Q>5445*4sq-ZOns+#PcchD6F1F;&@OmQi5}LxfDPK~xw* zJi2#9jDnQzJE1ACyI^|bhd{LuJ_ED5Plb7ol0<=V20bZdBBF(yB)zsSZt(t7%P-r* zha2)7BJeelDI8J`v&iXd?F%Tv571hkdky8SbDrLw5&PdxZ*)X^6pf6;>E1?lYaf1~ zxV!LVB3Wn^)~IdS;JQcmVix-n0ojm6;`w|I=|~?CwNGA3hcTtp*fZk2#lZ4wG1C1# zjHN?30ZzKdVLH@h7z={?uR(OJVt8%gG?A(5e!IEiZgQ4tGLUdJW+Kxbq3Nf78P(aN z)Hz^JoawO#mO8W5p__CiB%xOi7YcU3uGq;&z)Tys-x}h=p-6!4Gbv&fak%Ps>tVT2 zz*2YrK6DOLo@Pf>VnaX?7!DA76POMXy8=vwi1qIy76S^vWuO8a3lqBvoZe6D2EY!G z^*H(SPY~r}z&P*>fC99xQY60xeh0XX_0guo`O{65e-fBzBJ0(rNPZ3cHt;LpE#MQ3 z@@Ii_z(q#Zci6%FGU(4(yR`*+gSA5R%3~6QBZrlxY z0+3#Ht;&|19yk@6VP?g3h3LwJHS7Ie?!K3yVV9f1oQ*LzzFZKo&=rX z9r;O4`6*81{9;v!u9wy-YvuCJCsn`AS4-v6+U~I0O1rgcu`+?*w}M$4Q$w^{x-+JR z$@!hDwo|249aTGMqqtQq?v!^%)q^&_RjO6C@02w4kiEQK-j1nVHoLxEySWxuBlZGk z#NsfCU(6ze;(Gawo24`Sh$<}Z)<$`EovW7a)JnH%XZf1}v9-Qa-Voc(Z^F6BR!e k-mO%(YbD#_)%xN#B*Xml{@r4=RJvtv-KZ~|Ep*s_01PZ#P5=M^ diff --git a/src/dhgr.tk/libs/dhgrlib.a b/src/dhgr.tk/libs/dhgrlib.a deleted file mode 100644 index 11e716e..0000000 --- a/src/dhgr.tk/libs/dhgrlib.a +++ /dev/null @@ -1,8812 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; dhgr.tk/libs/dhgrlib.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; dhgr.tk/libs/dhgrlib.pla: 0001: -; dhgr.tk/libs/dhgrlib.pla: 0002: -; dhgr.tk/libs/dhgrlib.pla: 0003: const OP_SRC = 0 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; OP_SRC = 0 -; dhgr.tk/libs/dhgrlib.pla: 0004: const OP_XOR = 1 - ; OP_XOR = 1 -; dhgr.tk/libs/dhgrlib.pla: 0005: const OP_AND = 2 - ; OP_AND = 2 -; dhgr.tk/libs/dhgrlib.pla: 0006: const OP_OR = 3 - ; OP_OR = 3 -; dhgr.tk/libs/dhgrlib.pla: 0007: // -; dhgr.tk/libs/dhgrlib.pla: 0008: // Apple II graphics soft switches -; dhgr.tk/libs/dhgrlib.pla: 0009: // -; dhgr.tk/libs/dhgrlib.pla: 0010: const store80dis = $C000 - ; store80dis = 49152 -; dhgr.tk/libs/dhgrlib.pla: 0011: const store80ena = $C001 - ; store80ena = 49153 -; dhgr.tk/libs/dhgrlib.pla: 0012: const show40col = $C00C - ; show40col = 49164 -; dhgr.tk/libs/dhgrlib.pla: 0013: const show80col = $C00D - ; show80col = 49165 -; dhgr.tk/libs/dhgrlib.pla: 0014: const showgraphics = $C050 - ; showgraphics = 49232 -; dhgr.tk/libs/dhgrlib.pla: 0015: const showtext = $C051 - ; showtext = 49233 -; dhgr.tk/libs/dhgrlib.pla: 0016: const showfull = $C052 - ; showfull = 49234 -; dhgr.tk/libs/dhgrlib.pla: 0017: const showmix = $C053 - ; showmix = 49235 -; dhgr.tk/libs/dhgrlib.pla: 0018: const page1m = $C054 - ; page1m = 49236 -; dhgr.tk/libs/dhgrlib.pla: 0019: const page1x = $C055 - ; page1x = 49237 -; dhgr.tk/libs/dhgrlib.pla: 0020: const showhires = $C057 - ; showhires = 49239 -; dhgr.tk/libs/dhgrlib.pla: 0021: const dhresena = $C05E - ; dhresena = 49246 -; dhgr.tk/libs/dhgrlib.pla: 0022: const dhresdis = $C05F - ; dhresdis = 49247 -; dhgr.tk/libs/dhgrlib.pla: 0023: const IOUdis = $C07E - ; IOUdis = 49278 -; dhgr.tk/libs/dhgrlib.pla: 0024: const IOUena = $C07F - ; IOUena = 49279 -; dhgr.tk/libs/dhgrlib.pla: 0025: // -; dhgr.tk/libs/dhgrlib.pla: 0026: // Tile screen addresses -; dhgr.tk/libs/dhgrlib.pla: 0027: // -; dhgr.tk/libs/dhgrlib.pla: 0028: byte[] tilebttml = $00,$80,$00,$80,$00,$80,$00,$80 -_D028 ; tilebttml = $00,$80,$00,$80,$00,$80,$00,$80 - !BYTE $00 - !BYTE $80 - !BYTE $00 - !BYTE $80 - !BYTE $00 - !BYTE $80 - !BYTE $00 - !BYTE $80 -; dhgr.tk/libs/dhgrlib.pla: 0029: byte = $28,$A8,$28,$A8,$28,$A8,$28,$A8 - !BYTE $28 - !BYTE $A8 - !BYTE $28 - !BYTE $A8 - !BYTE $28 - !BYTE $A8 - !BYTE $28 - !BYTE $A8 -; dhgr.tk/libs/dhgrlib.pla: 0030: byte = $50,$D0,$50,$D0,$50,$D0,$50,$D0 - !BYTE $50 - !BYTE $D0 - !BYTE $50 - !BYTE $D0 - !BYTE $50 - !BYTE $D0 - !BYTE $50 - !BYTE $D0 -; dhgr.tk/libs/dhgrlib.pla: 0031: byte[] tilebttmh = $3C,$3C,$3D,$3D,$3E,$3E,$3F,$3F -_D029 ; tilebttmh = $3C,$3C,$3D,$3D,$3E,$3E,$3F,$3F - !BYTE $3C - !BYTE $3C - !BYTE $3D - !BYTE $3D - !BYTE $3E - !BYTE $3E - !BYTE $3F - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0032: byte = $3C,$3C,$3D,$3D,$3E,$3E,$3F,$3F - !BYTE $3C - !BYTE $3C - !BYTE $3D - !BYTE $3D - !BYTE $3E - !BYTE $3E - !BYTE $3F - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0033: byte = $3C,$3C,$3D,$3D,$3E,$3E,$3F,$3F - !BYTE $3C - !BYTE $3C - !BYTE $3D - !BYTE $3D - !BYTE $3E - !BYTE $3E - !BYTE $3F - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0034: // -; dhgr.tk/libs/dhgrlib.pla: 0035: // HiRes scanline addresses -; dhgr.tk/libs/dhgrlib.pla: 0036: // -; dhgr.tk/libs/dhgrlib.pla: 0037: byte hgrscanl[]= $00,$00,$00,$00,$00,$00,$00,$00 -_D030 ; hgrscanl[]= $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0038: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; dhgr.tk/libs/dhgrlib.pla: 0039: byte = $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0040: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; dhgr.tk/libs/dhgrlib.pla: 0041: byte = $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0042: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; dhgr.tk/libs/dhgrlib.pla: 0043: byte = $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0044: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; dhgr.tk/libs/dhgrlib.pla: 0045: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; dhgr.tk/libs/dhgrlib.pla: 0046: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; dhgr.tk/libs/dhgrlib.pla: 0047: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; dhgr.tk/libs/dhgrlib.pla: 0048: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; dhgr.tk/libs/dhgrlib.pla: 0049: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; dhgr.tk/libs/dhgrlib.pla: 0050: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; dhgr.tk/libs/dhgrlib.pla: 0051: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; dhgr.tk/libs/dhgrlib.pla: 0052: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; dhgr.tk/libs/dhgrlib.pla: 0053: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; dhgr.tk/libs/dhgrlib.pla: 0054: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; dhgr.tk/libs/dhgrlib.pla: 0055: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; dhgr.tk/libs/dhgrlib.pla: 0056: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; dhgr.tk/libs/dhgrlib.pla: 0057: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; dhgr.tk/libs/dhgrlib.pla: 0058: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; dhgr.tk/libs/dhgrlib.pla: 0059: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; dhgr.tk/libs/dhgrlib.pla: 0060: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; dhgr.tk/libs/dhgrlib.pla: 0061: byte hgrscanh[]= $20,$24,$28,$2C,$30,$34,$38,$3C -_D031 ; hgrscanh[]= $20,$24,$28,$2C,$30,$34,$38,$3C - !BYTE $20 - !BYTE $24 - !BYTE $28 - !BYTE $2C - !BYTE $30 - !BYTE $34 - !BYTE $38 - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0062: byte = $20,$24,$28,$2C,$30,$34,$38,$3C - !BYTE $20 - !BYTE $24 - !BYTE $28 - !BYTE $2C - !BYTE $30 - !BYTE $34 - !BYTE $38 - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0063: byte = $21,$25,$29,$2D,$31,$35,$39,$3D - !BYTE $21 - !BYTE $25 - !BYTE $29 - !BYTE $2D - !BYTE $31 - !BYTE $35 - !BYTE $39 - !BYTE $3D -; dhgr.tk/libs/dhgrlib.pla: 0064: byte = $21,$25,$29,$2D,$31,$35,$39,$3D - !BYTE $21 - !BYTE $25 - !BYTE $29 - !BYTE $2D - !BYTE $31 - !BYTE $35 - !BYTE $39 - !BYTE $3D -; dhgr.tk/libs/dhgrlib.pla: 0065: byte = $22,$26,$2A,$2E,$32,$36,$3A,$3E - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $2E - !BYTE $32 - !BYTE $36 - !BYTE $3A - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0066: byte = $22,$26,$2A,$2E,$32,$36,$3A,$3E - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $2E - !BYTE $32 - !BYTE $36 - !BYTE $3A - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0067: byte = $23,$27,$2B,$2F,$33,$37,$3B,$3F - !BYTE $23 - !BYTE $27 - !BYTE $2B - !BYTE $2F - !BYTE $33 - !BYTE $37 - !BYTE $3B - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0068: byte = $23,$27,$2B,$2F,$33,$37,$3B,$3F - !BYTE $23 - !BYTE $27 - !BYTE $2B - !BYTE $2F - !BYTE $33 - !BYTE $37 - !BYTE $3B - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0069: byte = $20,$24,$28,$2C,$30,$34,$38,$3C - !BYTE $20 - !BYTE $24 - !BYTE $28 - !BYTE $2C - !BYTE $30 - !BYTE $34 - !BYTE $38 - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0070: byte = $20,$24,$28,$2C,$30,$34,$38,$3C - !BYTE $20 - !BYTE $24 - !BYTE $28 - !BYTE $2C - !BYTE $30 - !BYTE $34 - !BYTE $38 - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0071: byte = $21,$25,$29,$2D,$31,$35,$39,$3D - !BYTE $21 - !BYTE $25 - !BYTE $29 - !BYTE $2D - !BYTE $31 - !BYTE $35 - !BYTE $39 - !BYTE $3D -; dhgr.tk/libs/dhgrlib.pla: 0072: byte = $21,$25,$29,$2D,$31,$35,$39,$3D - !BYTE $21 - !BYTE $25 - !BYTE $29 - !BYTE $2D - !BYTE $31 - !BYTE $35 - !BYTE $39 - !BYTE $3D -; dhgr.tk/libs/dhgrlib.pla: 0073: byte = $22,$26,$2A,$2E,$32,$36,$3A,$3E - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $2E - !BYTE $32 - !BYTE $36 - !BYTE $3A - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0074: byte = $22,$26,$2A,$2E,$32,$36,$3A,$3E - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $2E - !BYTE $32 - !BYTE $36 - !BYTE $3A - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0075: byte = $23,$27,$2B,$2F,$33,$37,$3B,$3F - !BYTE $23 - !BYTE $27 - !BYTE $2B - !BYTE $2F - !BYTE $33 - !BYTE $37 - !BYTE $3B - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0076: byte = $23,$27,$2B,$2F,$33,$37,$3B,$3F - !BYTE $23 - !BYTE $27 - !BYTE $2B - !BYTE $2F - !BYTE $33 - !BYTE $37 - !BYTE $3B - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0077: byte = $20,$24,$28,$2C,$30,$34,$38,$3C - !BYTE $20 - !BYTE $24 - !BYTE $28 - !BYTE $2C - !BYTE $30 - !BYTE $34 - !BYTE $38 - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0078: byte = $20,$24,$28,$2C,$30,$34,$38,$3C - !BYTE $20 - !BYTE $24 - !BYTE $28 - !BYTE $2C - !BYTE $30 - !BYTE $34 - !BYTE $38 - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0079: byte = $21,$25,$29,$2D,$31,$35,$39,$3D - !BYTE $21 - !BYTE $25 - !BYTE $29 - !BYTE $2D - !BYTE $31 - !BYTE $35 - !BYTE $39 - !BYTE $3D -; dhgr.tk/libs/dhgrlib.pla: 0080: byte = $21,$25,$29,$2D,$31,$35,$39,$3D - !BYTE $21 - !BYTE $25 - !BYTE $29 - !BYTE $2D - !BYTE $31 - !BYTE $35 - !BYTE $39 - !BYTE $3D -; dhgr.tk/libs/dhgrlib.pla: 0081: byte = $22,$26,$2A,$2E,$32,$36,$3A,$3E - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $2E - !BYTE $32 - !BYTE $36 - !BYTE $3A - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0082: byte = $22,$26,$2A,$2E,$32,$36,$3A,$3E - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $2E - !BYTE $32 - !BYTE $36 - !BYTE $3A - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0083: byte = $23,$27,$2B,$2F,$33,$37,$3B,$3F - !BYTE $23 - !BYTE $27 - !BYTE $2B - !BYTE $2F - !BYTE $33 - !BYTE $37 - !BYTE $3B - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0084: byte = $23,$27,$2B,$2F,$33,$37,$3B,$3F - !BYTE $23 - !BYTE $27 - !BYTE $2B - !BYTE $2F - !BYTE $33 - !BYTE $37 - !BYTE $3B - !BYTE $3F -; dhgr.tk/libs/dhgrlib.pla: 0085: // -; dhgr.tk/libs/dhgrlib.pla: 0086: // Pixel masks for 7 contiguous pixels -; dhgr.tk/libs/dhgrlib.pla: 0087: // -; dhgr.tk/libs/dhgrlib.pla: 0088: byte auxclrmsk[] = $0F -_D032 ; auxclrmsk[] = $0F - !BYTE $0F -; dhgr.tk/libs/dhgrlib.pla: 0089: byte = $70 - !BYTE $70 -; dhgr.tk/libs/dhgrlib.pla: 0090: byte = $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0091: byte = $03|$80 - !BYTE $83 -; dhgr.tk/libs/dhgrlib.pla: 0092: byte = $3C|$80 - !BYTE $BC -; dhgr.tk/libs/dhgrlib.pla: 0093: byte = $40|$80 - !BYTE $C0 -; dhgr.tk/libs/dhgrlib.pla: 0094: byte = $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0095: byte memclrmsk[] = $00 -_D033 ; memclrmsk[] = $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0096: byte = $01 - !BYTE $01 -; dhgr.tk/libs/dhgrlib.pla: 0097: byte = $1E - !BYTE $1E -; dhgr.tk/libs/dhgrlib.pla: 0098: byte = $60 - !BYTE $60 -; dhgr.tk/libs/dhgrlib.pla: 0099: byte = $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0100: byte = $07|$80 - !BYTE $87 -; dhgr.tk/libs/dhgrlib.pla: 0101: byte = $78|$80 - !BYTE $F8 -; dhgr.tk/libs/dhgrlib.pla: 0102: // -; dhgr.tk/libs/dhgrlib.pla: 0103: // Solid colors -; dhgr.tk/libs/dhgrlib.pla: 0104: // -; dhgr.tk/libs/dhgrlib.pla: 0105: byte auxclrsl[] = $00 // black -_D034 ; auxclrsl[] = $00 // black - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0106: byte = $08 // magenta - !BYTE $08 -; dhgr.tk/libs/dhgrlib.pla: 0107: byte = $11 // dark blue - !BYTE $11 -; dhgr.tk/libs/dhgrlib.pla: 0108: byte = $19 // purple - !BYTE $19 -; dhgr.tk/libs/dhgrlib.pla: 0109: byte = $22 // dark green - !BYTE $22 -; dhgr.tk/libs/dhgrlib.pla: 0110: byte = $2A // gray 1 - !BYTE $2A -; dhgr.tk/libs/dhgrlib.pla: 0111: byte = $33 // medium blue - !BYTE $33 -; dhgr.tk/libs/dhgrlib.pla: 0112: byte = $3B // light blue - !BYTE $3B -; dhgr.tk/libs/dhgrlib.pla: 0113: byte = $44 // brown - !BYTE $44 -; dhgr.tk/libs/dhgrlib.pla: 0114: byte = $4C // orange - !BYTE $4C -; dhgr.tk/libs/dhgrlib.pla: 0115: byte = $55 // gray 2 - !BYTE $55 -; dhgr.tk/libs/dhgrlib.pla: 0116: byte = $5D // pink - !BYTE $5D -; dhgr.tk/libs/dhgrlib.pla: 0117: byte = $66 // green - !BYTE $66 -; dhgr.tk/libs/dhgrlib.pla: 0118: byte = $6E // yellow - !BYTE $6E -; dhgr.tk/libs/dhgrlib.pla: 0119: byte = $77 // aqua - !BYTE $77 -; dhgr.tk/libs/dhgrlib.pla: 0120: byte = $7F // white - !BYTE $7F -; dhgr.tk/libs/dhgrlib.pla: 0121: byte auxclrsh[] = $00 // black -_D035 ; auxclrsh[] = $00 // black - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0122: byte = $22 // magenta - !BYTE $22 -; dhgr.tk/libs/dhgrlib.pla: 0123: byte = $44 // dark blue - !BYTE $44 -; dhgr.tk/libs/dhgrlib.pla: 0124: byte = $66 // purple - !BYTE $66 -; dhgr.tk/libs/dhgrlib.pla: 0125: byte = $08 // dark green - !BYTE $08 -; dhgr.tk/libs/dhgrlib.pla: 0126: byte = $2A // gray 1 - !BYTE $2A -; dhgr.tk/libs/dhgrlib.pla: 0127: byte = $4C // medium blue - !BYTE $4C -; dhgr.tk/libs/dhgrlib.pla: 0128: byte = $6E // light blue - !BYTE $6E -; dhgr.tk/libs/dhgrlib.pla: 0129: byte = $11 // brown - !BYTE $11 -; dhgr.tk/libs/dhgrlib.pla: 0130: byte = $33 // orange - !BYTE $33 -; dhgr.tk/libs/dhgrlib.pla: 0131: byte = $55 // gray 2 - !BYTE $55 -; dhgr.tk/libs/dhgrlib.pla: 0132: byte = $77 // pink - !BYTE $77 -; dhgr.tk/libs/dhgrlib.pla: 0133: byte = $19 // green - !BYTE $19 -; dhgr.tk/libs/dhgrlib.pla: 0134: byte = $3B // yellow - !BYTE $3B -; dhgr.tk/libs/dhgrlib.pla: 0135: byte = $5D // aqua - !BYTE $5D -; dhgr.tk/libs/dhgrlib.pla: 0136: byte = $7F // white - !BYTE $7F -; dhgr.tk/libs/dhgrlib.pla: 0137: byte memclrsl[] = $00 // black -_D036 ; memclrsl[] = $00 // black - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0138: byte = $11 // magenta - !BYTE $11 -; dhgr.tk/libs/dhgrlib.pla: 0139: byte = $22 // dark blue - !BYTE $22 -; dhgr.tk/libs/dhgrlib.pla: 0140: byte = $33 // purple - !BYTE $33 -; dhgr.tk/libs/dhgrlib.pla: 0141: byte = $44 // dark green - !BYTE $44 -; dhgr.tk/libs/dhgrlib.pla: 0142: byte = $55 // gray 1 - !BYTE $55 -; dhgr.tk/libs/dhgrlib.pla: 0143: byte = $66 // medium blue - !BYTE $66 -; dhgr.tk/libs/dhgrlib.pla: 0144: byte = $77 // light blue - !BYTE $77 -; dhgr.tk/libs/dhgrlib.pla: 0145: byte = $08 // brown - !BYTE $08 -; dhgr.tk/libs/dhgrlib.pla: 0146: byte = $19 // orange - !BYTE $19 -; dhgr.tk/libs/dhgrlib.pla: 0147: byte = $2A // gray 2 - !BYTE $2A -; dhgr.tk/libs/dhgrlib.pla: 0148: byte = $3B // pink - !BYTE $3B -; dhgr.tk/libs/dhgrlib.pla: 0149: byte = $4C // green - !BYTE $4C -; dhgr.tk/libs/dhgrlib.pla: 0150: byte = $5D // yellow - !BYTE $5D -; dhgr.tk/libs/dhgrlib.pla: 0151: byte = $6E // aqua - !BYTE $6E -; dhgr.tk/libs/dhgrlib.pla: 0152: byte = $7F // white - !BYTE $7F -; dhgr.tk/libs/dhgrlib.pla: 0153: byte memclrsh[] = $00 // black -_D037 ; memclrsh[] = $00 // black - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0154: byte = $44 // magenta - !BYTE $44 -; dhgr.tk/libs/dhgrlib.pla: 0155: byte = $08 // dark blue - !BYTE $08 -; dhgr.tk/libs/dhgrlib.pla: 0156: byte = $4C // purple - !BYTE $4C -; dhgr.tk/libs/dhgrlib.pla: 0157: byte = $11 // dark green - !BYTE $11 -; dhgr.tk/libs/dhgrlib.pla: 0158: byte = $55 // gray 1 - !BYTE $55 -; dhgr.tk/libs/dhgrlib.pla: 0159: byte = $19 // medium blue - !BYTE $19 -; dhgr.tk/libs/dhgrlib.pla: 0160: byte = $5D // light blue - !BYTE $5D -; dhgr.tk/libs/dhgrlib.pla: 0161: byte = $22 // brown - !BYTE $22 -; dhgr.tk/libs/dhgrlib.pla: 0162: byte = $66 // orange - !BYTE $66 -; dhgr.tk/libs/dhgrlib.pla: 0163: byte = $2A // gray 2 - !BYTE $2A -; dhgr.tk/libs/dhgrlib.pla: 0164: byte = $6E // pink - !BYTE $6E -; dhgr.tk/libs/dhgrlib.pla: 0165: byte = $33 // green - !BYTE $33 -; dhgr.tk/libs/dhgrlib.pla: 0166: byte = $77 // yellow - !BYTE $77 -; dhgr.tk/libs/dhgrlib.pla: 0167: byte = $3B // aqua - !BYTE $3B -; dhgr.tk/libs/dhgrlib.pla: 0168: byte = $7F // white - !BYTE $7F -; dhgr.tk/libs/dhgrlib.pla: 0169: byte auxclrl, auxclrh, memclrl, memclrh -_D038 !FILL 1 ; auxclrl, auxclrh, memclrl, memclrh -_D039 !FILL 1 ; auxclrh, memclrl, memclrh -_D040 !FILL 1 ; memclrl, memclrh -_D041 !FILL 1 ; memclrh -; dhgr.tk/libs/dhgrlib.pla: 0170: // -; dhgr.tk/libs/dhgrlib.pla: 0171: // Divide 7 combined with Modulo 7 -; dhgr.tk/libs/dhgrlib.pla: 0172: // -; dhgr.tk/libs/dhgrlib.pla: 0173: //byte divmod7[] = 0+0, 0+1, 0+2, 0+3, 0+4, 0+5, 0+6 -; dhgr.tk/libs/dhgrlib.pla: 0174: //byte = 8+0, 8+1, 8+2, 8+3, 8+4, 8+5, 8+6 -; dhgr.tk/libs/dhgrlib.pla: 0175: //byte = 16+0, 16+1, 16+2, 16+3, 16+4, 16+5, 16+6 -; dhgr.tk/libs/dhgrlib.pla: 0176: //byte = 24+0, 24+1, 24+2, 24+3, 24+4, 24+5, 24+6 -; dhgr.tk/libs/dhgrlib.pla: 0177: //byte = 32+0, 32+1, 32+2, 32+3, 32+4, 32+5, 32+6 -; dhgr.tk/libs/dhgrlib.pla: 0178: //byte = 40+0, 40+1, 40+2, 40+3, 40+4, 40+5, 40+6 -; dhgr.tk/libs/dhgrlib.pla: 0179: //byte = 48+0, 48+1, 48+2, 48+3, 48+4, 48+5, 48+6 -; dhgr.tk/libs/dhgrlib.pla: 0180: //byte = 56+0, 56+1, 56+2, 56+3, 56+4, 56+5, 56+6 -; dhgr.tk/libs/dhgrlib.pla: 0181: //byte = 64+0, 64+1, 64+2, 64+3, 64+4, 64+5, 64+6 -; dhgr.tk/libs/dhgrlib.pla: 0182: //byte = 72+0, 72+1, 72+2, 72+3, 72+4, 72+5, 72+6 -; dhgr.tk/libs/dhgrlib.pla: 0183: //byte = 80+0, 80+1, 80+2, 80+3, 80+4, 80+5, 80+6 -; dhgr.tk/libs/dhgrlib.pla: 0184: //byte = 88+0, 88+1, 88+2, 88+3, 88+4, 88+5, 88+6 -; dhgr.tk/libs/dhgrlib.pla: 0185: //byte = 96+0, 96+1, 96+2, 96+3, 96+4, 96+5, 96+6 -; dhgr.tk/libs/dhgrlib.pla: 0186: //byte = 104+0, 104+1, 104+2, 104+3, 104+4, 104+5, 104+6 -; dhgr.tk/libs/dhgrlib.pla: 0187: //byte = 112+0, 112+1, 112+2, 112+3, 112+4, 112+5, 112+6 -; dhgr.tk/libs/dhgrlib.pla: 0188: //byte = 120+0, 120+1, 120+2, 120+3, 120+4, 120+5, 120+6 -; dhgr.tk/libs/dhgrlib.pla: 0189: //byte = 128+0, 128+1, 128+2, 128+3, 128+4, 128+5, 128+6 -; dhgr.tk/libs/dhgrlib.pla: 0190: //byte = 136+0, 136+1, 136+2, 136+3, 136+4, 136+5, 136+6 -; dhgr.tk/libs/dhgrlib.pla: 0191: //byte = 144+0, 144+1, 144+2, 144+3, 144+4, 144+5, 144+6 -; dhgr.tk/libs/dhgrlib.pla: 0192: //byte = 152+0, 152+1, 152+2, 152+3, 152+4, 152+5, 152+6 -; dhgr.tk/libs/dhgrlib.pla: 0193: //byte = 160+0, 160+1, 160+2, 160+3, 160+4, 160+5, 160+6 -; dhgr.tk/libs/dhgrlib.pla: 0194: //byte = 168+0, 168+1, 168+2, 168+3, 168+4, 168+5, 168+6 -; dhgr.tk/libs/dhgrlib.pla: 0195: //byte = 176+0, 176+1, 176+2, 176+3, 176+4, 176+5, 176+6 -; dhgr.tk/libs/dhgrlib.pla: 0196: //byte = 184+0, 184+1, 184+2, 184+3, 184+4, 184+5, 184+6 -; dhgr.tk/libs/dhgrlib.pla: 0197: //byte = 192+0, 192+1, 192+2, 192+3, 192+4, 192+5, 192+6 -; dhgr.tk/libs/dhgrlib.pla: 0198: //byte = 200+0, 200+1, 200+2, 200+3, 200+4, 200+5, 200+6 -; dhgr.tk/libs/dhgrlib.pla: 0199: //byte = 208+0, 208+1, 208+2, 208+3, 208+4, 208+5, 208+6 -; dhgr.tk/libs/dhgrlib.pla: 0200: //byte = 216+0, 216+1, 216+2, 216+3, 216+4, 216+5, 216+6 -; dhgr.tk/libs/dhgrlib.pla: 0201: //byte = 224+0, 224+1, 224+2, 224+3, 224+4, 224+5, 224+6 -; dhgr.tk/libs/dhgrlib.pla: 0202: //byte = 232+0, 232+1, 232+2, 232+3, 232+4, 232+5, 232+6 -; dhgr.tk/libs/dhgrlib.pla: 0203: //byte = 240+0, 240+1, 240+2, 240+3, 240+4, 240+5, 240+6 -; dhgr.tk/libs/dhgrlib.pla: 0204: //byte = 248+0, 248+1, 248+2, 248+3, 248+4, 248+5, 248+6 -; dhgr.tk/libs/dhgrlib.pla: 0205: byte div7[] = 0>>2, 0>>2, 0>>2, 0>>2, 0>>2, 0>>2, 0>>2 -_D042 ; div7[] = 0>>2, 0>>2, 0>>2, 0>>2, 0>>2, 0>>2, 0>>2 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; dhgr.tk/libs/dhgrlib.pla: 0206: byte = 8>>2, 8>>2, 8>>2, 8>>2, 8>>2, 8>>2, 8>>2 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 -; dhgr.tk/libs/dhgrlib.pla: 0207: byte = 16>>2, 16>>2, 16>>2, 16>>2, 16>>2, 16>>2, 16>>2 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $04 -; dhgr.tk/libs/dhgrlib.pla: 0208: byte = 24>>2, 24>>2, 24>>2, 24>>2, 24>>2, 24>>2, 24>>2 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0209: byte = 32>>2, 32>>2, 32>>2, 32>>2, 32>>2, 32>>2, 32>>2 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 -; dhgr.tk/libs/dhgrlib.pla: 0210: byte = 40>>2, 40>>2, 40>>2, 40>>2, 40>>2, 40>>2, 40>>2 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A -; dhgr.tk/libs/dhgrlib.pla: 0211: byte = 48>>2, 48>>2, 48>>2, 48>>2, 48>>2, 48>>2, 48>>2 - !BYTE $0C - !BYTE $0C - !BYTE $0C - !BYTE $0C - !BYTE $0C - !BYTE $0C - !BYTE $0C -; dhgr.tk/libs/dhgrlib.pla: 0212: byte = 56>>2, 56>>2, 56>>2, 56>>2, 56>>2, 56>>2, 56>>2 - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0E -; dhgr.tk/libs/dhgrlib.pla: 0213: byte = 64>>2, 64>>2, 64>>2, 64>>2, 64>>2, 64>>2, 64>>2 - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $10 -; dhgr.tk/libs/dhgrlib.pla: 0214: byte = 72>>2, 72>>2, 72>>2, 72>>2, 72>>2, 72>>2, 72>>2 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $12 -; dhgr.tk/libs/dhgrlib.pla: 0215: byte = 80>>2, 80>>2, 80>>2, 80>>2, 80>>2, 80>>2, 80>>2 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 -; dhgr.tk/libs/dhgrlib.pla: 0216: byte = 88>>2, 88>>2, 88>>2, 88>>2, 88>>2, 88>>2, 88>>2 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 -; dhgr.tk/libs/dhgrlib.pla: 0217: byte = 96>>2, 96>>2, 96>>2, 96>>2, 96>>2, 96>>2, 96>>2 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $18 -; dhgr.tk/libs/dhgrlib.pla: 0218: byte = 104>>2, 104>>2, 104>>2, 104>>2, 104>>2, 104>>2, 104>>2 - !BYTE $1A - !BYTE $1A - !BYTE $1A - !BYTE $1A - !BYTE $1A - !BYTE $1A - !BYTE $1A -; dhgr.tk/libs/dhgrlib.pla: 0219: byte = 112>>2, 112>>2, 112>>2, 112>>2, 112>>2, 112>>2, 112>>2 - !BYTE $1C - !BYTE $1C - !BYTE $1C - !BYTE $1C - !BYTE $1C - !BYTE $1C - !BYTE $1C -; dhgr.tk/libs/dhgrlib.pla: 0220: byte = 120>>2, 120>>2, 120>>2, 120>>2, 120>>2, 120>>2, 120>>2 - !BYTE $1E - !BYTE $1E - !BYTE $1E - !BYTE $1E - !BYTE $1E - !BYTE $1E - !BYTE $1E -; dhgr.tk/libs/dhgrlib.pla: 0221: byte = 128>>2, 128>>2, 128>>2, 128>>2, 128>>2, 128>>2, 128>>2 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 -; dhgr.tk/libs/dhgrlib.pla: 0222: byte = 136>>2, 136>>2, 136>>2, 136>>2, 136>>2, 136>>2, 136>>2 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 -; dhgr.tk/libs/dhgrlib.pla: 0223: byte = 144>>2, 144>>2, 144>>2, 144>>2, 144>>2, 144>>2, 144>>2 - !BYTE $24 - !BYTE $24 - !BYTE $24 - !BYTE $24 - !BYTE $24 - !BYTE $24 - !BYTE $24 -; dhgr.tk/libs/dhgrlib.pla: 0224: byte = 152>>2, 152>>2, 152>>2, 152>>2, 152>>2, 152>>2, 152>>2 - !BYTE $26 - !BYTE $26 - !BYTE $26 - !BYTE $26 - !BYTE $26 - !BYTE $26 - !BYTE $26 -; dhgr.tk/libs/dhgrlib.pla: 0225: byte = 160>>2, 160>>2, 160>>2, 160>>2, 160>>2, 160>>2, 160>>2 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; dhgr.tk/libs/dhgrlib.pla: 0226: byte = 168>>2, 168>>2, 168>>2, 168>>2, 168>>2, 168>>2, 168>>2 - !BYTE $2A - !BYTE $2A - !BYTE $2A - !BYTE $2A - !BYTE $2A - !BYTE $2A - !BYTE $2A -; dhgr.tk/libs/dhgrlib.pla: 0227: byte = 176>>2, 176>>2, 176>>2, 176>>2, 176>>2, 176>>2, 176>>2 - !BYTE $2C - !BYTE $2C - !BYTE $2C - !BYTE $2C - !BYTE $2C - !BYTE $2C - !BYTE $2C -; dhgr.tk/libs/dhgrlib.pla: 0228: byte = 184>>2, 184>>2, 184>>2, 184>>2, 184>>2, 184>>2, 184>>2 - !BYTE $2E - !BYTE $2E - !BYTE $2E - !BYTE $2E - !BYTE $2E - !BYTE $2E - !BYTE $2E -; dhgr.tk/libs/dhgrlib.pla: 0229: byte = 192>>2, 192>>2, 192>>2, 192>>2, 192>>2, 192>>2, 192>>2 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 -; dhgr.tk/libs/dhgrlib.pla: 0230: byte = 200>>2, 200>>2, 200>>2, 200>>2, 200>>2, 200>>2, 200>>2 - !BYTE $32 - !BYTE $32 - !BYTE $32 - !BYTE $32 - !BYTE $32 - !BYTE $32 - !BYTE $32 -; dhgr.tk/libs/dhgrlib.pla: 0231: byte = 208>>2, 208>>2, 208>>2, 208>>2, 208>>2, 208>>2, 208>>2 - !BYTE $34 - !BYTE $34 - !BYTE $34 - !BYTE $34 - !BYTE $34 - !BYTE $34 - !BYTE $34 -; dhgr.tk/libs/dhgrlib.pla: 0232: byte = 216>>2, 216>>2, 216>>2, 216>>2, 216>>2, 216>>2, 216>>2 - !BYTE $36 - !BYTE $36 - !BYTE $36 - !BYTE $36 - !BYTE $36 - !BYTE $36 - !BYTE $36 -; dhgr.tk/libs/dhgrlib.pla: 0233: byte = 224>>2, 224>>2, 224>>2, 224>>2, 224>>2, 224>>2, 224>>2 - !BYTE $38 - !BYTE $38 - !BYTE $38 - !BYTE $38 - !BYTE $38 - !BYTE $38 - !BYTE $38 -; dhgr.tk/libs/dhgrlib.pla: 0234: byte = 232>>2, 232>>2, 232>>2, 232>>2, 232>>2, 232>>2, 232>>2 - !BYTE $3A - !BYTE $3A - !BYTE $3A - !BYTE $3A - !BYTE $3A - !BYTE $3A - !BYTE $3A -; dhgr.tk/libs/dhgrlib.pla: 0235: byte = 240>>2, 240>>2, 240>>2, 240>>2, 240>>2, 240>>2, 240>>2 - !BYTE $3C - !BYTE $3C - !BYTE $3C - !BYTE $3C - !BYTE $3C - !BYTE $3C - !BYTE $3C -; dhgr.tk/libs/dhgrlib.pla: 0236: byte = 248>>2, 248>>2, 248>>2, 248>>2, 248>>2, 248>>2, 248>>2 - !BYTE $3E - !BYTE $3E - !BYTE $3E - !BYTE $3E - !BYTE $3E - !BYTE $3E - !BYTE $3E -; dhgr.tk/libs/dhgrlib.pla: 0237: byte mod7[] = 0, 1, 2, 3, 4, 5, 6 -_D043 ; mod7[] = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0238: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0239: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0240: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0241: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0242: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0243: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0244: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0245: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0246: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0247: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0248: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0249: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0250: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0251: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0252: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0253: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0254: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0255: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0256: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0257: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0258: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0259: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0260: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0261: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0262: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0263: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0264: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0265: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0266: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0267: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0268: byte = 0, 1, 2, 3, 4, 5, 6 - !BYTE $00 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 -; dhgr.tk/libs/dhgrlib.pla: 0269: // -; dhgr.tk/libs/dhgrlib.pla: 0270: // Color -> DHGR pixel -; dhgr.tk/libs/dhgrlib.pla: 0271: // -; dhgr.tk/libs/dhgrlib.pla: 0272: byte[] dhgrPix = 2, 4, 8, 1 -_D044 ; dhgrPix = 2, 4, 8, 1 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $01 -; dhgr.tk/libs/dhgrlib.pla: 0273: byte[] dhgrMask = 13, 12, 7, 14 -_D045 ; dhgrMask = 13, 12, 7, 14 - !BYTE $0D - !BYTE $0C - !BYTE $07 - !BYTE $0E -; dhgr.tk/libs/dhgrlib.pla: 0274: /// -; dhgr.tk/libs/dhgrlib.pla: 0275: // Destination surface values -; dhgr.tk/libs/dhgrlib.pla: 0276: // -; dhgr.tk/libs/dhgrlib.pla: 0277: const DST_SCREEN = 0 - ; DST_SCREEN = 0 -; dhgr.tk/libs/dhgrlib.pla: 0278: const DST_MEMORY = 1 - ; DST_MEMORY = 1 -; dhgr.tk/libs/dhgrlib.pla: 0279: word surfWidth, surfWidth7, surfHeight, surfPtr, surfSpan -_D046 !FILL 2 ; surfWidth, surfWidth7, surfHeight, surfPtr, surfSpan -_D047 !FILL 2 ; surfWidth7, surfHeight, surfPtr, surfSpan -_D048 !FILL 2 ; surfHeight, surfPtr, surfSpan -_D049 !FILL 2 ; surfPtr, surfSpan -_D050 !FILL 2 ; surfSpan -; dhgr.tk/libs/dhgrlib.pla: 0280: byte dhgrSurface, opScr, opMem -_D051 !FILL 1 ; dhgrSurface, opScr, opMem -_D052 !FILL 1 ; opScr, opMem -_D053 !FILL 1 ; opMem -; dhgr.tk/libs/dhgrlib.pla: 0281: // -; dhgr.tk/libs/dhgrlib.pla: 0282: // Surface independent entrypoints -; dhgr.tk/libs/dhgrlib.pla: 0283: // -; dhgr.tk/libs/dhgrlib.pla: 0284: asm plvmzp#0 -_A000 ; plvmzp() -; dhgr.tk/libs/dhgrlib.pla: 0285: !SOURCE "vmsrc/apple/plvmzp.inc" -!SOURCE "vmsrc/apple/plvmzp.inc" -; dhgr.tk/libs/dhgrlib.pla: 0286: end -; dhgr.tk/libs/dhgrlib.pla: 0287: export asm dcgrPixel(x, y)#0 -_A001 ; dcgrPixel() -; dhgr.tk/libs/dhgrlib.pla: 0288: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0289: end -; dhgr.tk/libs/dhgrlib.pla: 0290: export asm dcgrHLin(x1, x2, y)#0 -_A002 ; dcgrHLin() -; dhgr.tk/libs/dhgrlib.pla: 0291: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0292: end -; dhgr.tk/libs/dhgrlib.pla: 0293: export asm dcgrVLin(y1, y2, x)#0 -_A003 ; dcgrVLin() -; dhgr.tk/libs/dhgrlib.pla: 0294: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0295: end -; dhgr.tk/libs/dhgrlib.pla: 0296: export asm dcgrBitMap(x, y, bitw, bith, bitptr)#0 -_A004 ; dcgrBitMap() -; dhgr.tk/libs/dhgrlib.pla: 0297: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0298: end -; dhgr.tk/libs/dhgrlib.pla: 0299: export asm dcgrPixMap(x, y, pixw, pixh, pixptr)#0 -_A005 ; dcgrPixMap() -; dhgr.tk/libs/dhgrlib.pla: 0300: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0301: end -; dhgr.tk/libs/dhgrlib.pla: 0302: export asm dcgrRleMap(x, y, pixw, pixh, pixptr)#0 -_A006 ; dcgrRleMap() -; dhgr.tk/libs/dhgrlib.pla: 0303: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0304: end -; dhgr.tk/libs/dhgrlib.pla: 0305: export asm dhgrScrBl7(x7, y, w7, h)#0 -_A007 ; dhgrScrBl7() -; dhgr.tk/libs/dhgrlib.pla: 0306: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0307: end -; dhgr.tk/libs/dhgrlib.pla: 0308: export asm dhgrMemBl7(x7, y, w7, h, memptr, memspan)#0 -_A008 ; dhgrMemBl7() -; dhgr.tk/libs/dhgrlib.pla: 0309: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0310: end -; dhgr.tk/libs/dhgrlib.pla: 0311: export asm dhgrClearBl7(x7, y, w7, h)#0 -_A009 ; dhgrClearBl7() -; dhgr.tk/libs/dhgrlib.pla: 0312: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0313: end -; dhgr.tk/libs/dhgrlib.pla: 0314: export asm dhgrTiles(x7, y8, strptr, strlen, tileset)#0 -_A010 ; dhgrTiles() -; dhgr.tk/libs/dhgrlib.pla: 0315: JMP $1000 - JMP $1000 -; dhgr.tk/libs/dhgrlib.pla: 0316: end -; dhgr.tk/libs/dhgrlib.pla: 0317: // -; dhgr.tk/libs/dhgrlib.pla: 0318: // Internal routine to clip x7 and width7 to destination width in A REG -; dhgr.tk/libs/dhgrlib.pla: 0319: // -; dhgr.tk/libs/dhgrlib.pla: 0320: asm _clipX#0 -_A011 ; _clipX() -; dhgr.tk/libs/dhgrlib.pla: 0321: STA TMPL ; DST_WIDTH - STA TMPL ; DST_WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0322: LDA ESTKH-1,X ; X COORD - LDA ESTKH-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0323: BMI NEGX ; IS NEG? - BMI NEGX ; IS NEG? -; dhgr.tk/libs/dhgrlib.pla: 0324: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0325: CMP TMPL ; > DST_WIDTH? - CMP TMPL ; > DST_WIDTH? -; dhgr.tk/libs/dhgrlib.pla: 0326: BCS INVISX ; YEP, X OFF RIGHT EDGE - BCS INVISX ; YEP, X OFF RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 0327: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 0328: ADC ESTKL-3,X ; X + WIDTH - ADC ESTKL-3,X ; X + WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0329: CMP TMPL ; >= DST_WIDTH? - CMP TMPL ; >= DST_WIDTH? -; dhgr.tk/libs/dhgrlib.pla: 0330: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 0331: LDA #$00 ; FULLY VISIBLE - LDA #$00 ; FULLY VISIBLE -; dhgr.tk/libs/dhgrlib.pla: 0332: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0333: + LDA TMPL ; CLIP WIDTH TO DST_WIDTH -+ LDA TMPL ; CLIP WIDTH TO DST_WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0334: ;SEC - ;SEC -; dhgr.tk/libs/dhgrlib.pla: 0335: SBC ESTKL-1,X - SBC ESTKL-1,X -; dhgr.tk/libs/dhgrlib.pla: 0336: STA ESTKL-3,X ; WIDTH = DST_WIDTH - X - STA ESTKL-3,X ; WIDTH = DST_WIDTH - X -; dhgr.tk/libs/dhgrlib.pla: 0337: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0338: LDA #$00 ; VISIBLE WITH WIDTH CLIP - LDA #$00 ; VISIBLE WITH WIDTH CLIP -; dhgr.tk/libs/dhgrlib.pla: 0339: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0340: ; X NEGATIVE, CHECK WITH W ADDED -; X NEGATIVE, CHECK WITH W ADDED -; dhgr.tk/libs/dhgrlib.pla: 0341: NEGX LDA ESTKL-1,X ; X COORD -NEGX LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0342: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0343: ADC ESTKL-3,X ; X + WIDTH - ADC ESTKL-3,X ; X + WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0344: PHA - PHA -; dhgr.tk/libs/dhgrlib.pla: 0345: LDA ESTKH-1,X - LDA ESTKH-1,X -; dhgr.tk/libs/dhgrlib.pla: 0346: ADC ESTKH-3,X - ADC ESTKH-3,X -; dhgr.tk/libs/dhgrlib.pla: 0347: BMI ++ ; STILL NEG?, OFF LEFT EDGE - BMI ++ ; STILL NEG?, OFF LEFT EDGE -; dhgr.tk/libs/dhgrlib.pla: 0348: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 0349: BEQ INVISX ; OR ZERO WIDTH? - BEQ INVISX ; OR ZERO WIDTH? -; dhgr.tk/libs/dhgrlib.pla: 0350: CMP TMPL ; > DST_WIDTH? - CMP TMPL ; > DST_WIDTH? -; dhgr.tk/libs/dhgrlib.pla: 0351: BCC + ; YEP, SPANS DST_WIDTH - BCC + ; YEP, SPANS DST_WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0352: LDA TMPL ; WIDTH = DST_WIDTH - LDA TMPL ; WIDTH = DST_WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0353: + STA ESTKL-3,X ; WIDTH = VISIBLE AMOUNT -+ STA ESTKL-3,X ; WIDTH = VISIBLE AMOUNT -; dhgr.tk/libs/dhgrlib.pla: 0354: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 0355: SEC - SEC -; dhgr.tk/libs/dhgrlib.pla: 0356: SBC ESTKL-1,X ; -X COORD - SBC ESTKL-1,X ; -X COORD -; dhgr.tk/libs/dhgrlib.pla: 0357: PHA ; SAVE FOR SRC/DST CLIP OFFSET - PHA ; SAVE FOR SRC/DST CLIP OFFSET -; dhgr.tk/libs/dhgrlib.pla: 0358: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 0359: STA ESTKL-1,X ; CLIP X COORD TO LEFT EDGE - STA ESTKL-1,X ; CLIP X COORD TO LEFT EDGE -; dhgr.tk/libs/dhgrlib.pla: 0360: STA ESTKH-1,X - STA ESTKH-1,X -; dhgr.tk/libs/dhgrlib.pla: 0361: PLA ; VISIBLE WITH X CLIP - PLA ; VISIBLE WITH X CLIP -; dhgr.tk/libs/dhgrlib.pla: 0362: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0363: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0364: ++ PLA -++ PLA -; dhgr.tk/libs/dhgrlib.pla: 0365: INVISX SEC -INVISX SEC -; dhgr.tk/libs/dhgrlib.pla: 0366: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0367: end -; dhgr.tk/libs/dhgrlib.pla: 0368: asm _clipY#0 -_A012 ; _clipY() -; dhgr.tk/libs/dhgrlib.pla: 0369: STA TMPL ; DST_HEIGHT - STA TMPL ; DST_HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0370: LDA ESTKH-2,X ; Y COORD - LDA ESTKH-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0371: BMI NEGY ; IS NEG? - BMI NEGY ; IS NEG? -; dhgr.tk/libs/dhgrlib.pla: 0372: LDA ESTKL-2,X ; Y COORD - LDA ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0373: CMP TMPL ; > DST_HEIGHT? - CMP TMPL ; > DST_HEIGHT? -; dhgr.tk/libs/dhgrlib.pla: 0374: BCS INVISY ; YEP, Y OFF BOTTOM EDGE - BCS INVISY ; YEP, Y OFF BOTTOM EDGE -; dhgr.tk/libs/dhgrlib.pla: 0375: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 0376: ADC ESTKL-4,X ; Y + HEIGHT - ADC ESTKL-4,X ; Y + HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0377: CMP TMPL ; >= DST_HEIGHT - CMP TMPL ; >= DST_HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0378: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 0379: LDA #$00 ; FULLY VISIBLE - LDA #$00 ; FULLY VISIBLE -; dhgr.tk/libs/dhgrlib.pla: 0380: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0381: + LDA TMPL ; CLIP HEIGHT TO DST_HEIGHT -+ LDA TMPL ; CLIP HEIGHT TO DST_HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0382: ;SEC - ;SEC -; dhgr.tk/libs/dhgrlib.pla: 0383: SBC ESTKL-2,X - SBC ESTKL-2,X -; dhgr.tk/libs/dhgrlib.pla: 0384: STA ESTKL-4,X ; HEIGHT = DST_HEIGHT - Y - STA ESTKL-4,X ; HEIGHT = DST_HEIGHT - Y -; dhgr.tk/libs/dhgrlib.pla: 0385: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0386: LDA #$00 ; VISIBLE WITH HEIGHT CLIP - LDA #$00 ; VISIBLE WITH HEIGHT CLIP -; dhgr.tk/libs/dhgrlib.pla: 0387: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0388: ; Y NEGATIVE, CHECK WITH H ADDED -; Y NEGATIVE, CHECK WITH H ADDED -; dhgr.tk/libs/dhgrlib.pla: 0389: NEGY LDA ESTKL-2,X ; Y COORD -NEGY LDA ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0390: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0391: ADC ESTKL-4,X ; Y + HEIGHT - ADC ESTKL-4,X ; Y + HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0392: PHA - PHA -; dhgr.tk/libs/dhgrlib.pla: 0393: LDA ESTKH-2,X - LDA ESTKH-2,X -; dhgr.tk/libs/dhgrlib.pla: 0394: ADC ESTKH-4,X - ADC ESTKH-4,X -; dhgr.tk/libs/dhgrlib.pla: 0395: BMI ++ ; STILL NEG?, OFF TOP EDGE - BMI ++ ; STILL NEG?, OFF TOP EDGE -; dhgr.tk/libs/dhgrlib.pla: 0396: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 0397: BEQ INVISY ; OR ZERO HEIGHT? - BEQ INVISY ; OR ZERO HEIGHT? -; dhgr.tk/libs/dhgrlib.pla: 0398: CMP TMPL ; > DST_HEIGHT? - CMP TMPL ; > DST_HEIGHT? -; dhgr.tk/libs/dhgrlib.pla: 0399: BCC + ; YEP, SPANS DST_HEIGHT - BCC + ; YEP, SPANS DST_HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0400: LDA TMPL ; HEIGHT = DST_HEIGHT - LDA TMPL ; HEIGHT = DST_HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0401: + STA ESTKL-4,X ; HEIGHT = VISIBLE AMOUNT -+ STA ESTKL-4,X ; HEIGHT = VISIBLE AMOUNT -; dhgr.tk/libs/dhgrlib.pla: 0402: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 0403: SEC - SEC -; dhgr.tk/libs/dhgrlib.pla: 0404: SBC ESTKL-2,X ; -Y COORD - SBC ESTKL-2,X ; -Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0405: PHA ; SAVE FOR SRC/DST CLIP OFFSET - PHA ; SAVE FOR SRC/DST CLIP OFFSET -; dhgr.tk/libs/dhgrlib.pla: 0406: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 0407: STA ESTKL-2,X ; CLIP Y COORD TO TOP EDGE - STA ESTKL-2,X ; CLIP Y COORD TO TOP EDGE -; dhgr.tk/libs/dhgrlib.pla: 0408: STA ESTKH-2,X - STA ESTKH-2,X -; dhgr.tk/libs/dhgrlib.pla: 0409: PLA ; VISIBLE WITH Y CLIP - PLA ; VISIBLE WITH Y CLIP -; dhgr.tk/libs/dhgrlib.pla: 0410: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0411: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0412: ++ PLA -++ PLA -; dhgr.tk/libs/dhgrlib.pla: 0413: INVISY SEC -INVISY SEC -; dhgr.tk/libs/dhgrlib.pla: 0414: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0415: end -; dhgr.tk/libs/dhgrlib.pla: 0416: // -; dhgr.tk/libs/dhgrlib.pla: 0417: // Exported assembly routines for double color functions -; dhgr.tk/libs/dhgrlib.pla: 0418: // -; dhgr.tk/libs/dhgrlib.pla: 0419: export asm dcgrColor(c)#0 -_A013 ; dcgrColor() -; dhgr.tk/libs/dhgrlib.pla: 0420: LDA ESTKL,X - LDA ESTKL,X -; dhgr.tk/libs/dhgrlib.pla: 0421: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0422: AND #$0F - AND #$0F -; dhgr.tk/libs/dhgrlib.pla: 0423: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0424: end -; dhgr.tk/libs/dhgrlib.pla: 0425: asm _dcgrColorA -_A014 ; _dcgrColorA() -; dhgr.tk/libs/dhgrlib.pla: 0426: LDA $1000,Y ; AUXCLRSL - LDA $1000,Y ; AUXCLRSL -; dhgr.tk/libs/dhgrlib.pla: 0427: STA $5000 ; AUXCLRL - STA $5000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 0428: LDA $2000,Y ; AUXCLRSH - LDA $2000,Y ; AUXCLRSH -; dhgr.tk/libs/dhgrlib.pla: 0429: STA $5001 ; AUXCLRH - STA $5001 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 0430: LDA $3000,Y ; MEMCLRSL - LDA $3000,Y ; MEMCLRSL -; dhgr.tk/libs/dhgrlib.pla: 0431: STA $5002 ; MEMCLRL - STA $5002 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 0432: LDA $4000,Y ; MEMCLRSH - LDA $4000,Y ; MEMCLRSH -; dhgr.tk/libs/dhgrlib.pla: 0433: STA $5003 ; MEMCLRH - STA $5003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 0434: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0435: end -; dhgr.tk/libs/dhgrlib.pla: 0436: //===============================\\ -; dhgr.tk/libs/dhgrlib.pla: 0437: // \\ -; dhgr.tk/libs/dhgrlib.pla: 0438: // Double Color pixel operations \\ -; dhgr.tk/libs/dhgrlib.pla: 0439: // \\ -; dhgr.tk/libs/dhgrlib.pla: 0440: //===============================\\ -; dhgr.tk/libs/dhgrlib.pla: 0441: // -; dhgr.tk/libs/dhgrlib.pla: 0442: // Screen functions -; dhgr.tk/libs/dhgrlib.pla: 0443: // -; dhgr.tk/libs/dhgrlib.pla: 0444: asm dcgrPlotScr(x, y)#0 -_A015 ; dcgrPlotScr() -; dhgr.tk/libs/dhgrlib.pla: 0445: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0446: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0447: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0448: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0449: CPY #192 - CPY #192 -; dhgr.tk/libs/dhgrlib.pla: 0450: BCS RETPLTS - BCS RETPLTS -; dhgr.tk/libs/dhgrlib.pla: 0451: end -; dhgr.tk/libs/dhgrlib.pla: 0452: asm _dcgrPlotScrA -_A016 ; _dcgrPlotScrA() -; dhgr.tk/libs/dhgrlib.pla: 0453: LDA $1000,Y ; HGRSCANL - LDA $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 0454: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0455: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 0456: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0457: LDY ESTKL-1,X ; X COORD - LDY ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0458: CPY #140 - CPY #140 -; dhgr.tk/libs/dhgrlib.pla: 0459: BCS RETPLTS - BCS RETPLTS -; dhgr.tk/libs/dhgrlib.pla: 0460: end -; dhgr.tk/libs/dhgrlib.pla: 0461: asm _jmpOpPlotScr -_A017 ; _jmpOpPlotScr() -; dhgr.tk/libs/dhgrlib.pla: 0462: JMP $A000 - JMP $A000 -; dhgr.tk/libs/dhgrlib.pla: 0463: end -; dhgr.tk/libs/dhgrlib.pla: 0464: // -; dhgr.tk/libs/dhgrlib.pla: 0465: // Plot OP_SRC -; dhgr.tk/libs/dhgrlib.pla: 0466: // -; dhgr.tk/libs/dhgrlib.pla: 0467: asm _dcgrPlotScrB -_A018 ; _dcgrPlotScrB() -; dhgr.tk/libs/dhgrlib.pla: 0468: LDX $3000,Y ; MOD7 - LDX $3000,Y ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 0469: LDA $4000,Y ; DIV7 - LDA $4000,Y ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 0470: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0471: ; LDA $3000,Y ; DIVMOD7 -; LDA $3000,Y ; DIVMOD7 -; dhgr.tk/libs/dhgrlib.pla: 0472: ; TAX -; TAX -; dhgr.tk/libs/dhgrlib.pla: 0473: ; AND #$F8 -; AND #$F8 -; dhgr.tk/libs/dhgrlib.pla: 0474: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 0475: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 0476: ; TAY ; DIV7 -; TAY ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 0477: ; TXA -; TXA -; dhgr.tk/libs/dhgrlib.pla: 0478: ; AND #$07 -; AND #$07 -; dhgr.tk/libs/dhgrlib.pla: 0479: ; TAX ; MOD7 -; TAX ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 0480: end -; dhgr.tk/libs/dhgrlib.pla: 0481: asm _dcgrPlotScrC -_A019 ; _dcgrPlotScrC() -; dhgr.tk/libs/dhgrlib.pla: 0482: LDA $4000,X ; AUXCLRMSK - LDA $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0483: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0484: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 0485: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 0486: end -; dhgr.tk/libs/dhgrlib.pla: 0487: asm _dcgrPlotScrD -_A020 ; _dcgrPlotScrD() -; dhgr.tk/libs/dhgrlib.pla: 0488: LDA $5000 ; AUXCLRL - LDA $5000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 0489: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0490: AND $4000,X ; AUXCLRMSK - AND $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0491: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0492: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0493: BNE ++ - BNE ++ -; dhgr.tk/libs/dhgrlib.pla: 0494: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0495: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 0496: end -; dhgr.tk/libs/dhgrlib.pla: 0497: asm _dcgrPlotScrE -_A021 ; _dcgrPlotScrE() -; dhgr.tk/libs/dhgrlib.pla: 0498: LDA $5001 ; AUXCLRH - LDA $5001 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 0499: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0500: AND $4000,X ; AUXCLRMSK - AND $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0501: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0502: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0503: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 0504: end -; dhgr.tk/libs/dhgrlib.pla: 0505: asm _dcgrPlotScrF -_A022 ; _dcgrPlotScrF() -; dhgr.tk/libs/dhgrlib.pla: 0506: ++ LDA $4001,X ; MEMCLRMSK -++ LDA $4001,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0507: BEQ RETPLTS - BEQ RETPLTS -; dhgr.tk/libs/dhgrlib.pla: 0508: STA $C054 ; PAGE1M - STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 0509: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 0510: end -; dhgr.tk/libs/dhgrlib.pla: 0511: asm _dcgrPlotScrG -_A023 ; _dcgrPlotScrG() -; dhgr.tk/libs/dhgrlib.pla: 0512: LDA $5002 ; MEMCLRL - LDA $5002 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 0513: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0514: AND $4000,X ; MEMCLRMSK - AND $4000,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0515: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0516: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0517: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 0518: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0519: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 0520: end -; dhgr.tk/libs/dhgrlib.pla: 0521: asm _dcgrPlotScrH -_A024 ; _dcgrPlotScrH() -; dhgr.tk/libs/dhgrlib.pla: 0522: LDA $5003 ; MEMCLRH - LDA $5003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 0523: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0524: AND $4000,X ; MEMCLRMSK - AND $4000,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0525: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0526: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0527: RETPLTS LDX ESP -RETPLTS LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 0528: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0529: end -; dhgr.tk/libs/dhgrlib.pla: 0530: // -; dhgr.tk/libs/dhgrlib.pla: 0531: // Plot OP_XOR,OP_AND,OP_OR -; dhgr.tk/libs/dhgrlib.pla: 0532: // -; dhgr.tk/libs/dhgrlib.pla: 0533: asm _dcgrOpPlotScrB -_A025 ; _dcgrOpPlotScrB() -; dhgr.tk/libs/dhgrlib.pla: 0534: LDX $3000,Y ; MOD7 - LDX $3000,Y ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 0535: LDA $4000,Y ; DIV7 - LDA $4000,Y ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 0536: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0537: ; LDA $3000,Y ; DIVMOD7 -; LDA $3000,Y ; DIVMOD7 -; dhgr.tk/libs/dhgrlib.pla: 0538: ; TAX -; TAX -; dhgr.tk/libs/dhgrlib.pla: 0539: ; AND #$F8 -; AND #$F8 -; dhgr.tk/libs/dhgrlib.pla: 0540: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 0541: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 0542: ; TAY ; DIV7 -; TAY ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 0543: ; TXA -; TXA -; dhgr.tk/libs/dhgrlib.pla: 0544: ; AND #$07 -; AND #$07 -; dhgr.tk/libs/dhgrlib.pla: 0545: ; TAX ; MOD7 -; TAX ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 0546: end -; dhgr.tk/libs/dhgrlib.pla: 0547: asm _dcgrOpPlotScrC -_A026 ; _dcgrOpPlotScrC() -; dhgr.tk/libs/dhgrlib.pla: 0548: LDA $4000,X ; AUXCLRMSK - LDA $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0549: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0550: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 0551: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 0552: end -; dhgr.tk/libs/dhgrlib.pla: 0553: asm _dcgrOpPlotScrD -_A027 ; _dcgrOpPlotScrD() -; dhgr.tk/libs/dhgrlib.pla: 0554: AND $5000 ; AUXCLRL - AND $5000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 0555: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0556: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0557: BNE ++ - BNE ++ -; dhgr.tk/libs/dhgrlib.pla: 0558: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0559: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 0560: end -; dhgr.tk/libs/dhgrlib.pla: 0561: asm _dcgrOpPlotScrE -_A028 ; _dcgrOpPlotScrE() -; dhgr.tk/libs/dhgrlib.pla: 0562: AND $5001 ; AUXCLRH - AND $5001 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 0563: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0564: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0565: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 0566: end -; dhgr.tk/libs/dhgrlib.pla: 0567: asm _dcgrOpPlotScrF -_A029 ; _dcgrOpPlotScrF() -; dhgr.tk/libs/dhgrlib.pla: 0568: ++ LDA $4001,X ; MEMCLRMSK -++ LDA $4001,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0569: BEQ RETPLTS - BEQ RETPLTS -; dhgr.tk/libs/dhgrlib.pla: 0570: STA $C054 ; PAGE1M - STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 0571: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 0572: end -; dhgr.tk/libs/dhgrlib.pla: 0573: asm _dcgrOpPlotScrG -_A030 ; _dcgrOpPlotScrG() -; dhgr.tk/libs/dhgrlib.pla: 0574: AND $5002 ; MEMCLRL - AND $5002 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 0575: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0576: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0577: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 0578: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0579: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 0580: end -; dhgr.tk/libs/dhgrlib.pla: 0581: asm _dcgrOpPlotScrH -_A031 ; _dcgrOpPlotScrH() -; dhgr.tk/libs/dhgrlib.pla: 0582: AND $5003 ; MEMCLRH - AND $5003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 0583: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0584: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0585: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 0586: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0587: end -; dhgr.tk/libs/dhgrlib.pla: 0588: asm dcgrHLinScr(x1, x2, y)#0 -_A032 ; dcgrHLinScr() -; dhgr.tk/libs/dhgrlib.pla: 0589: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0590: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0591: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0592: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0593: LDY ESTKL-2,X ; ADJUST FOR BNE BELOW - LDY ESTKL-2,X ; ADJUST FOR BNE BELOW -; dhgr.tk/libs/dhgrlib.pla: 0594: INY - INY -; dhgr.tk/libs/dhgrlib.pla: 0595: STY TMPH - STY TMPH -; dhgr.tk/libs/dhgrlib.pla: 0596: LDY ESTKL-3,X ; Y COORD - LDY ESTKL-3,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0597: end -; dhgr.tk/libs/dhgrlib.pla: 0598: asm _dcgrHLinScrA -_A033 ; _dcgrHLinScrA() -; dhgr.tk/libs/dhgrlib.pla: 0599: LDA $1000,Y ; HGRSCANL - LDA $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 0600: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0601: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 0602: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0603: LDY ESTKL-1,X ; X1 COORD - LDY ESTKL-1,X ; X1 COORD -; dhgr.tk/libs/dhgrlib.pla: 0604: end -; dhgr.tk/libs/dhgrlib.pla: 0605: asm _dcgrHLinScrB -_A034 ; _dcgrHLinScrB() -; dhgr.tk/libs/dhgrlib.pla: 0606: - JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG -- JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG -; dhgr.tk/libs/dhgrlib.pla: 0607: INC ESTKL-1,X - INC ESTKL-1,X -; dhgr.tk/libs/dhgrlib.pla: 0608: LDY ESTKL-1,X ; X1 COORD - LDY ESTKL-1,X ; X1 COORD -; dhgr.tk/libs/dhgrlib.pla: 0609: CPY TMPH ; X2 COORD - CPY TMPH ; X2 COORD -; dhgr.tk/libs/dhgrlib.pla: 0610: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 0611: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0612: end -; dhgr.tk/libs/dhgrlib.pla: 0613: asm dcgrVLinScr(y1, y2, x)#0 -_A035 ; dcgrVLinScr() -; dhgr.tk/libs/dhgrlib.pla: 0614: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0615: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0616: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0617: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0618: LDY ESTKL-2,X ; ADJUST BNE BELOW - LDY ESTKL-2,X ; ADJUST BNE BELOW -; dhgr.tk/libs/dhgrlib.pla: 0619: INY - INY -; dhgr.tk/libs/dhgrlib.pla: 0620: STY TMPH - STY TMPH -; dhgr.tk/libs/dhgrlib.pla: 0621: LDY ESTKL-1,X ; Y1 COORD - LDY ESTKL-1,X ; Y1 COORD -; dhgr.tk/libs/dhgrlib.pla: 0622: end -; dhgr.tk/libs/dhgrlib.pla: 0623: asm _dcgrVLinScrA -_A036 ; _dcgrVLinScrA() -; dhgr.tk/libs/dhgrlib.pla: 0624: - LDA $1000,Y ; HGRSCANL -- LDA $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 0625: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0626: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 0627: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0628: LDY ESTKL-3,X ; X COORD - LDY ESTKL-3,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0629: end -; dhgr.tk/libs/dhgrlib.pla: 0630: asm _dcgrVLinScrB -_A037 ; _dcgrVLinScrB() -; dhgr.tk/libs/dhgrlib.pla: 0631: JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG - JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG -; dhgr.tk/libs/dhgrlib.pla: 0632: INC ESTKL-1,X - INC ESTKL-1,X -; dhgr.tk/libs/dhgrlib.pla: 0633: LDY ESTKL-1,X ; Y1 COORD - LDY ESTKL-1,X ; Y1 COORD -; dhgr.tk/libs/dhgrlib.pla: 0634: CPY TMPH ; Y2 COORD - CPY TMPH ; Y2 COORD -; dhgr.tk/libs/dhgrlib.pla: 0635: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 0636: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0637: end -; dhgr.tk/libs/dhgrlib.pla: 0638: asm dcgrBitMapScr(x, y, bitw, bith, bitptr)#0 -_A038 ; dcgrBitMapScr() -; dhgr.tk/libs/dhgrlib.pla: 0639: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0640: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0641: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0642: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0643: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0644: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0645: LDA ESTKH-2,X ; MSB YCOORD - LDA ESTKH-2,X ; MSB YCOORD -; dhgr.tk/libs/dhgrlib.pla: 0646: BPL ++ - BPL ++ -; dhgr.tk/libs/dhgrlib.pla: 0647: - LDA ESTKL-3,X ; WIDTH -- LDA ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0648: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0649: ADC #$07 - ADC #$07 -; dhgr.tk/libs/dhgrlib.pla: 0650: LSR ; WIDTH/8 - LSR ; WIDTH/8 -; dhgr.tk/libs/dhgrlib.pla: 0651: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0652: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0653: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0654: ADC ESTKL-5,X ; BITPTR += SPAN - ADC ESTKL-5,X ; BITPTR += SPAN -; dhgr.tk/libs/dhgrlib.pla: 0655: STA ESTKL-5,X - STA ESTKL-5,X -; dhgr.tk/libs/dhgrlib.pla: 0656: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 0657: INC ESTKH-5,X - INC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 0658: + DEC ESTKL-4,X ; HEIGHT -+ DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0659: BEQ RETBITS - BEQ RETBITS -; dhgr.tk/libs/dhgrlib.pla: 0660: INC ESTKL-2,X - INC ESTKL-2,X -; dhgr.tk/libs/dhgrlib.pla: 0661: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 0662: ; INC ESTKH-2,X -; INC ESTKH-2,X -; dhgr.tk/libs/dhgrlib.pla: 0663: ; BMI - -; BMI - -; dhgr.tk/libs/dhgrlib.pla: 0664: ++ LDA ESTKL-5,X ; BITPTR -++ LDA ESTKL-5,X ; BITPTR -; dhgr.tk/libs/dhgrlib.pla: 0665: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 0666: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 0667: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 0668: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0669: ADC ESTKL-3,X ; WIDTH - ADC ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0670: STA TMPH ; RIGHT EDGE - STA TMPH ; RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 0671: YBITS LDY ESTKL-2,X ; Y COORD -YBITS LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0672: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 0673: CPY #192 ; OFF SCREEN? - CPY #192 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0674: BCS RETBITS - BCS RETBITS -; dhgr.tk/libs/dhgrlib.pla: 0675: end -; dhgr.tk/libs/dhgrlib.pla: 0676: asm _dcgrBitmapScrA -_A039 ; _dcgrBitmapScrA() -; dhgr.tk/libs/dhgrlib.pla: 0677: + LDA $1000,Y ; HGRSCANL -+ LDA $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 0678: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0679: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 0680: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0681: LDA ESTKL-1,X ; X1 COORD - LDA ESTKL-1,X ; X1 COORD -; dhgr.tk/libs/dhgrlib.pla: 0682: STA ESTKH-1,X ; CURRENT X COORD - STA ESTKH-1,X ; CURRENT X COORD -; dhgr.tk/libs/dhgrlib.pla: 0683: BITS8 LDY #$08 -BITS8 LDY #$08 -; dhgr.tk/libs/dhgrlib.pla: 0684: STY TMPL ; BIT COUNT - STY TMPL ; BIT COUNT -; dhgr.tk/libs/dhgrlib.pla: 0685: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 0686: LDA (SRC),Y ; SRC BITS - LDA (SRC),Y ; SRC BITS -; dhgr.tk/libs/dhgrlib.pla: 0687: INC SRCL - INC SRCL -; dhgr.tk/libs/dhgrlib.pla: 0688: BNE + - BNE + -; dhgr.tk/libs/dhgrlib.pla: 0689: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 0690: + LDY ESTKH-1,X ; CURRENT X COORD -+ LDY ESTKH-1,X ; CURRENT X COORD -; dhgr.tk/libs/dhgrlib.pla: 0691: BITSCR LSR -BITSCR LSR -; dhgr.tk/libs/dhgrlib.pla: 0692: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 0693: CPY #140 ; OFF SCREEN? - CPY #140 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0694: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 0695: PHA - PHA -; dhgr.tk/libs/dhgrlib.pla: 0696: end -; dhgr.tk/libs/dhgrlib.pla: 0697: asm _dcgrBitmapScrB -_A040 ; _dcgrBitmapScrB() -; dhgr.tk/libs/dhgrlib.pla: 0698: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0699: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 0700: + INC ESTKH-1,X ; X++ -+ INC ESTKH-1,X ; X++ -; dhgr.tk/libs/dhgrlib.pla: 0701: LDY ESTKH-1,X ; CURRENT X COORD - LDY ESTKH-1,X ; CURRENT X COORD -; dhgr.tk/libs/dhgrlib.pla: 0702: CPY TMPH ; AT RIGHT EDGE? - CPY TMPH ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 0703: BEQ NXTBITS - BEQ NXTBITS -; dhgr.tk/libs/dhgrlib.pla: 0704: DEC TMPL ; BIT COUNT - DEC TMPL ; BIT COUNT -; dhgr.tk/libs/dhgrlib.pla: 0705: BNE BITSCR - BNE BITSCR -; dhgr.tk/libs/dhgrlib.pla: 0706: BEQ BITS8 - BEQ BITS8 -; dhgr.tk/libs/dhgrlib.pla: 0707: NXTBITS DEC ESTKL-4,X ; HEIGHT -NXTBITS DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0708: BNE YBITS ; NEXT ROW - BNE YBITS ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 0709: RETBITS RTS -RETBITS RTS -; dhgr.tk/libs/dhgrlib.pla: 0710: end -; dhgr.tk/libs/dhgrlib.pla: 0711: asm dcgrPixMapScr(x, y, pixw, pixh, pixptr)#0 -_A041 ; dcgrPixMapScr() -; dhgr.tk/libs/dhgrlib.pla: 0712: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0713: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0714: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0715: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0716: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0717: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0718: LDA ESTKH-2,X ; MSB YCOORD - LDA ESTKH-2,X ; MSB YCOORD -; dhgr.tk/libs/dhgrlib.pla: 0719: BPL ++ - BPL ++ -; dhgr.tk/libs/dhgrlib.pla: 0720: - LDA ESTKL-3,X ; WIDTH -- LDA ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0721: LSR ; WIDTH/2 - LSR ; WIDTH/2 -; dhgr.tk/libs/dhgrlib.pla: 0722: ADC ESTKL-5,X ; PIXPTR += SPAN - ADC ESTKL-5,X ; PIXPTR += SPAN -; dhgr.tk/libs/dhgrlib.pla: 0723: STA ESTKL-5,X - STA ESTKL-5,X -; dhgr.tk/libs/dhgrlib.pla: 0724: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 0725: INC ESTKH-5,X - INC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 0726: + DEC ESTKL-4,X ; HEIGHT -+ DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0727: BEQ RETBITS - BEQ RETBITS -; dhgr.tk/libs/dhgrlib.pla: 0728: INC ESTKL-2,X - INC ESTKL-2,X -; dhgr.tk/libs/dhgrlib.pla: 0729: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 0730: ; INC ESTKH-2,X -; INC ESTKH-2,X -; dhgr.tk/libs/dhgrlib.pla: 0731: ; BMI - -; BMI - -; dhgr.tk/libs/dhgrlib.pla: 0732: ++ LDA ESTKL-5,X ; PIXPTR -++ LDA ESTKL-5,X ; PIXPTR -; dhgr.tk/libs/dhgrlib.pla: 0733: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 0734: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 0735: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 0736: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0737: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0738: ADC ESTKL-3,X ; WIDTH - ADC ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0739: STA ESTKH-3,X ; -> RIGHT EDGE - STA ESTKH-3,X ; -> RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 0740: YPIXS LDY ESTKL-2,X ; Y COORD -YPIXS LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0741: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 0742: CPY #192 ; OFF SCREEN? - CPY #192 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0743: BCS RETPIXS - BCS RETPIXS -; dhgr.tk/libs/dhgrlib.pla: 0744: end -; dhgr.tk/libs/dhgrlib.pla: 0745: asm _dcgrPixmapScrA -_A042 ; _dcgrPixmapScrA() -; dhgr.tk/libs/dhgrlib.pla: 0746: + LDA $1000,Y ; HGRSCANL -+ LDA $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 0747: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0748: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 0749: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0750: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0751: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0752: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 0753: PIXSCRL CMP #140 ; OFF SCREEN? -PIXSCRL CMP #140 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0754: BCS PIXSCRH - BCS PIXSCRH -; dhgr.tk/libs/dhgrlib.pla: 0755: LDA (SRC),Y ; LO NIBBLE SRC PIXEL - LDA (SRC),Y ; LO NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0756: AND #$0F - AND #$0F -; dhgr.tk/libs/dhgrlib.pla: 0757: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 0758: BEQ PIXSCRH - BEQ PIXSCRH -; dhgr.tk/libs/dhgrlib.pla: 0759: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0760: end -; dhgr.tk/libs/dhgrlib.pla: 0761: asm _dcgrPixmapScrB -_A043 ; _dcgrPixmapScrB() -; dhgr.tk/libs/dhgrlib.pla: 0762: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 0763: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 0764: end -; dhgr.tk/libs/dhgrlib.pla: 0765: asm _dcgrPixmapScrC -_A044 ; _dcgrPixmapScrC() -; dhgr.tk/libs/dhgrlib.pla: 0766: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0767: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 0768: PIXSCRH INC TMPL -PIXSCRH INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 0769: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0770: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 0771: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0772: CMP #140 ; OFF SCREEN? - CMP #140 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0773: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 0774: LDA (SRC),Y ; HI NIBBLE SRC PIXEL - LDA (SRC),Y ; HI NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0775: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0776: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0777: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0778: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0779: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 0780: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 0781: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0782: end -; dhgr.tk/libs/dhgrlib.pla: 0783: asm _dcgrPixmapScrD -_A045 ; _dcgrPixmapScrD() -; dhgr.tk/libs/dhgrlib.pla: 0784: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 0785: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 0786: end -; dhgr.tk/libs/dhgrlib.pla: 0787: asm _dcgrPixmapScrE -_A046 ; _dcgrPixmapScrE() -; dhgr.tk/libs/dhgrlib.pla: 0788: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0789: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 0790: + INC TMPL -+ INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 0791: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0792: ++ INC SRCL -++ INC SRCL -; dhgr.tk/libs/dhgrlib.pla: 0793: BNE + - BNE + -; dhgr.tk/libs/dhgrlib.pla: 0794: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 0795: + CMP ESTKH-3,X ; AT RIGHT EDGE? -+ CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 0796: BNE PIXSCRL - BNE PIXSCRL -; dhgr.tk/libs/dhgrlib.pla: 0797: NXTPIXS DEC ESTKL-4,X ; HEIGHT -NXTPIXS DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0798: BNE YPIXS ; NEXT ROW - BNE YPIXS ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 0799: RETPIXS RTS -RETPIXS RTS -; dhgr.tk/libs/dhgrlib.pla: 0800: end -; dhgr.tk/libs/dhgrlib.pla: 0801: asm dcgrRleMapScr(x, y, pixw, pixh, pixptr)#0 -_A047 ; dcgrRleMapScr() -; dhgr.tk/libs/dhgrlib.pla: 0802: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0803: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0804: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0805: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0806: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0807: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0808: LDA ESTKL-5,X ; PIXPTR - LDA ESTKL-5,X ; PIXPTR -; dhgr.tk/libs/dhgrlib.pla: 0809: SEC - SEC -; dhgr.tk/libs/dhgrlib.pla: 0810: SBC #$02 - SBC #$02 -; dhgr.tk/libs/dhgrlib.pla: 0811: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 0812: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 0813: SBC #$00 - SBC #$00 -; dhgr.tk/libs/dhgrlib.pla: 0814: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 0815: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0816: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0817: ADC ESTKL-3,X ; WIDTH - ADC ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 0818: STA ESTKH-3,X ; -> RIGHT EDGE - STA ESTKH-3,X ; -> RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 0819: YRLES LDA ESTKL-1,X ; X COORD -YRLES LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0820: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0821: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0822: end -; dhgr.tk/libs/dhgrlib.pla: 0823: asm _dcgrRlemapScrA -_A048 ; _dcgrRlemapScrA() -; dhgr.tk/libs/dhgrlib.pla: 0824: LDA $1000,Y ; HGRSCANL - LDA $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 0825: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0826: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 0827: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0828: RUNLENS LDA SRCL ; NEXT RUN -RUNLENS LDA SRCL ; NEXT RUN -; dhgr.tk/libs/dhgrlib.pla: 0829: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0830: ADC #$02 - ADC #$02 -; dhgr.tk/libs/dhgrlib.pla: 0831: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 0832: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 0833: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 0834: + LDA ESTKL-2,X ; Y COORD -+ LDA ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0835: CMP #192 ; OFF SCREEN? - CMP #192 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0836: BCS SKPRUNS - BCS SKPRUNS -; dhgr.tk/libs/dhgrlib.pla: 0837: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 0838: LDA (SRC),Y ; RUN LENGTH - LDA (SRC),Y ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 0839: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 0840: INY - INY -; dhgr.tk/libs/dhgrlib.pla: 0841: LDA (SRC),Y ; SRC PIXELS - LDA (SRC),Y ; SRC PIXELS -; dhgr.tk/libs/dhgrlib.pla: 0842: CMP #$55 ; FULLY XPARENT RUN - CMP #$55 ; FULLY XPARENT RUN -; dhgr.tk/libs/dhgrlib.pla: 0843: BEQ SKPRUNS - BEQ SKPRUNS -; dhgr.tk/libs/dhgrlib.pla: 0844: LDA TMPL ; X COORD - LDA TMPL ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0845: RLESCRL CMP #140 ; OFF SCREEN? -RLESCRL CMP #140 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0846: BCS RLESCRH - BCS RLESCRH -; dhgr.tk/libs/dhgrlib.pla: 0847: LDA (SRC),Y ; LO NIBBLE SRC PIXEL - LDA (SRC),Y ; LO NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0848: AND #$0F - AND #$0F -; dhgr.tk/libs/dhgrlib.pla: 0849: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 0850: BEQ RLESCRH - BEQ RLESCRH -; dhgr.tk/libs/dhgrlib.pla: 0851: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0852: end -; dhgr.tk/libs/dhgrlib.pla: 0853: asm _dcgrRLEmapScrB -_A049 ; _dcgrRLEmapScrB() -; dhgr.tk/libs/dhgrlib.pla: 0854: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 0855: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 0856: end -; dhgr.tk/libs/dhgrlib.pla: 0857: asm _dcgrRlemapScrC -_A050 ; _dcgrRlemapScrC() -; dhgr.tk/libs/dhgrlib.pla: 0858: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0859: LDY #$01 - LDY #$01 -; dhgr.tk/libs/dhgrlib.pla: 0860: RLESCRH INC TMPL -RLESCRH INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 0861: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0862: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 0863: BEQ NXTRLES - BEQ NXTRLES -; dhgr.tk/libs/dhgrlib.pla: 0864: DEC TMPH ; RUN LENGTH - DEC TMPH ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 0865: BEQ RUNLENS - BEQ RUNLENS -; dhgr.tk/libs/dhgrlib.pla: 0866: CMP #140 ; OFF SCREEN? - CMP #140 ; OFF SCREEN? -; dhgr.tk/libs/dhgrlib.pla: 0867: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 0868: LDA (SRC),Y ; HI NIBBLE SRC PIXEL - LDA (SRC),Y ; HI NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0869: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0870: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0871: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0872: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0873: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 0874: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 0875: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0876: end -; dhgr.tk/libs/dhgrlib.pla: 0877: asm _dcgrRlemapScrD -_A051 ; _dcgrRlemapScrD() -; dhgr.tk/libs/dhgrlib.pla: 0878: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 0879: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 0880: end -; dhgr.tk/libs/dhgrlib.pla: 0881: asm _dcgrRlemapScrE -_A052 ; _dcgrRlemapScrE() -; dhgr.tk/libs/dhgrlib.pla: 0882: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 0883: LDY #$01 - LDY #$01 -; dhgr.tk/libs/dhgrlib.pla: 0884: + INC TMPL -+ INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 0885: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0886: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 0887: BEQ NXTRLES - BEQ NXTRLES -; dhgr.tk/libs/dhgrlib.pla: 0888: DEC TMPH ; RUN LENGTH - DEC TMPH ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 0889: BNE RLESCRL - BNE RLESCRL -; dhgr.tk/libs/dhgrlib.pla: 0890: BEQ RUNLENS - BEQ RUNLENS -; dhgr.tk/libs/dhgrlib.pla: 0891: NXTRLES INC ESTKL-2,X ; Y COORD++ -NXTRLES INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 0892: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 0893: BNE YRLES ; NEXT ROW - BNE YRLES ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 0894: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0895: SKPRUNS LDY #$00 -SKPRUNS LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 0896: LDA (SRC),Y ; RUN LENGTH - LDA (SRC),Y ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 0897: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 0898: ADC TMPL - ADC TMPL -; dhgr.tk/libs/dhgrlib.pla: 0899: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 0900: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 0901: BEQ NXTRLES - BEQ NXTRLES -; dhgr.tk/libs/dhgrlib.pla: 0902: BCC RUNLENS - BCC RUNLENS -; dhgr.tk/libs/dhgrlib.pla: 0903: end -; dhgr.tk/libs/dhgrlib.pla: 0904: // -; dhgr.tk/libs/dhgrlib.pla: 0905: // Memory destination functions -; dhgr.tk/libs/dhgrlib.pla: 0906: // Memory Block format: AUX scanline followed by MAIN scanline -; dhgr.tk/libs/dhgrlib.pla: 0907: // -; dhgr.tk/libs/dhgrlib.pla: 0908: asm dcgrPlotMem(x, y, memptr, memspan)#0 -_A053 ; dcgrPlotMem() -; dhgr.tk/libs/dhgrlib.pla: 0909: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0910: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0911: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0912: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 0913: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 0914: LDA ESTKL-3,X ; MEMPTR - LDA ESTKL-3,X ; MEMPTR -; dhgr.tk/libs/dhgrlib.pla: 0915: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0916: LDA ESTKH-3,X - LDA ESTKH-3,X -; dhgr.tk/libs/dhgrlib.pla: 0917: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0918: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 0919: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 0920: - CLC ; ADVANCE TO Y SCANLINE -- CLC ; ADVANCE TO Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 0921: LDA ESTKL-4,X ; SPAN - LDA ESTKL-4,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 0922: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 0923: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 0924: LDA #$00 ; ESTKH-4,X - LDA #$00 ; ESTKH-4,X -; dhgr.tk/libs/dhgrlib.pla: 0925: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 0926: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 0927: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 0928: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 0929: + LDA ESTKL-4,X ; SPAN -+ LDA ESTKL-4,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 0930: LDY ESTKL-1,X ; X COORD - LDY ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 0931: end -; dhgr.tk/libs/dhgrlib.pla: 0932: asm _jmpOpPlotMem -_A054 ; _jmpOpPlotMem() -; dhgr.tk/libs/dhgrlib.pla: 0933: JMP $A000 - JMP $A000 -; dhgr.tk/libs/dhgrlib.pla: 0934: end -; dhgr.tk/libs/dhgrlib.pla: 0935: asm _dcgrPlotMemB -_A055 ; _dcgrPlotMemB() -; dhgr.tk/libs/dhgrlib.pla: 0936: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 0937: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 0938: LDX $3000,Y ; MOD7 - LDX $3000,Y ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 0939: LDA $4000,Y ; DIV7 - LDA $4000,Y ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 0940: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 0941: ; LDA $3000,Y ; DIVMOD7 -; LDA $3000,Y ; DIVMOD7 -; dhgr.tk/libs/dhgrlib.pla: 0942: ; TAX -; TAX -; dhgr.tk/libs/dhgrlib.pla: 0943: ; AND #$F8 -; AND #$F8 -; dhgr.tk/libs/dhgrlib.pla: 0944: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 0945: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 0946: ; TAY ; DIV7 -; TAY ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 0947: ; TXA -; TXA -; dhgr.tk/libs/dhgrlib.pla: 0948: ; AND #$07 -; AND #$07 -; dhgr.tk/libs/dhgrlib.pla: 0949: ; TAX ; MOD7 -; TAX ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 0950: end -; dhgr.tk/libs/dhgrlib.pla: 0951: // -; dhgr.tk/libs/dhgrlib.pla: 0952: // Plot OP_SRC -; dhgr.tk/libs/dhgrlib.pla: 0953: // -; dhgr.tk/libs/dhgrlib.pla: 0954: asm _dcgrPlotMemC -_A056 ; _dcgrPlotMemC() -; dhgr.tk/libs/dhgrlib.pla: 0955: LDA $4000,X ; AUXCLRMSK - LDA $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0956: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0957: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 0958: end -; dhgr.tk/libs/dhgrlib.pla: 0959: asm _dcgrPlotMemD -_A057 ; _dcgrPlotMemD() -; dhgr.tk/libs/dhgrlib.pla: 0960: LDA $5000 ; AUXCLRL - LDA $5000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 0961: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0962: AND $4000,X ; AUXCLRMSK - AND $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0963: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0964: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0965: BNE ++ - BNE ++ -; dhgr.tk/libs/dhgrlib.pla: 0966: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 0967: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 0968: end -; dhgr.tk/libs/dhgrlib.pla: 0969: asm _dcgrPlotMemE -_A058 ; _dcgrPlotMemE() -; dhgr.tk/libs/dhgrlib.pla: 0970: LDA $5001 ; AUXCLRH - LDA $5001 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 0971: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0972: AND $4000,X ; AUXCLRMSK - AND $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0973: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0974: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0975: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 0976: ++ TYA -++ TYA -; dhgr.tk/libs/dhgrlib.pla: 0977: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 0978: ADC TMPH ; ADVANCE TO MEM HALF OF SCANLINE - ADC TMPH ; ADVANCE TO MEM HALF OF SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 0979: TAY ; SPAN / 2 - TAY ; SPAN / 2 -; dhgr.tk/libs/dhgrlib.pla: 0980: end -; dhgr.tk/libs/dhgrlib.pla: 0981: asm _dcgrPlotMemF -_A059 ; _dcgrPlotMemF() -; dhgr.tk/libs/dhgrlib.pla: 0982: LDA $4001,X ; MEMCLRMSK - LDA $4001,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0983: BEQ RETPLTM - BEQ RETPLTM -; dhgr.tk/libs/dhgrlib.pla: 0984: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 0985: end -; dhgr.tk/libs/dhgrlib.pla: 0986: asm _dcgrPlotMemG -_A060 ; _dcgrPlotMemG() -; dhgr.tk/libs/dhgrlib.pla: 0987: LDA $5002 ; MEMCLRL - LDA $5002 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 0988: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0989: AND $4000,X ; MEMCLRMSK - AND $4000,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 0990: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0991: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0992: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 0993: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 0994: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 0995: end -; dhgr.tk/libs/dhgrlib.pla: 0996: asm _dcgrPlotMemH -_A061 ; _dcgrPlotMemH() -; dhgr.tk/libs/dhgrlib.pla: 0997: LDA $5003 ; MEMCLRH - LDA $5003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 0998: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 0999: AND $4000,X ; MEMCLRMSK - AND $4000,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 1000: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1001: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1002: RETPLTM LDX ESP -RETPLTM LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 1003: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 1004: end -; dhgr.tk/libs/dhgrlib.pla: 1005: // -; dhgr.tk/libs/dhgrlib.pla: 1006: // Plot OP_XOR,OP_AND,OP_OR -; dhgr.tk/libs/dhgrlib.pla: 1007: // -; dhgr.tk/libs/dhgrlib.pla: 1008: asm _dcgrOpPlotMemB -_A062 ; _dcgrOpPlotMemB() -; dhgr.tk/libs/dhgrlib.pla: 1009: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1010: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 1011: LDX $3000,Y ; MOD7 - LDX $3000,Y ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 1012: LDA $4000,Y ; DIV7 - LDA $4000,Y ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 1013: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1014: ; LDA $3000,Y ; DIVMOD7 -; LDA $3000,Y ; DIVMOD7 -; dhgr.tk/libs/dhgrlib.pla: 1015: ; TAX -; TAX -; dhgr.tk/libs/dhgrlib.pla: 1016: ; AND #$F8 -; AND #$F8 -; dhgr.tk/libs/dhgrlib.pla: 1017: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 1018: ; LSR -; LSR -; dhgr.tk/libs/dhgrlib.pla: 1019: ; TAY ; DIV7 -; TAY ; DIV7 -; dhgr.tk/libs/dhgrlib.pla: 1020: ; TXA -; TXA -; dhgr.tk/libs/dhgrlib.pla: 1021: ; AND #$07 -; AND #$07 -; dhgr.tk/libs/dhgrlib.pla: 1022: ; TAX ; MOD7 -; TAX ; MOD7 -; dhgr.tk/libs/dhgrlib.pla: 1023: end -; dhgr.tk/libs/dhgrlib.pla: 1024: asm _dcgrOpPlotMemC -_A063 ; _dcgrOpPlotMemC() -; dhgr.tk/libs/dhgrlib.pla: 1025: LDA $4000,X ; AUXCLRMSK - LDA $4000,X ; AUXCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 1026: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 1027: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 1028: end -; dhgr.tk/libs/dhgrlib.pla: 1029: asm _dcgrOpPlotMemD -_A064 ; _dcgrOpPlotMemD() -; dhgr.tk/libs/dhgrlib.pla: 1030: AND $5000 ; AUXCLRL - AND $5000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 1031: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1032: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1033: BNE ++ - BNE ++ -; dhgr.tk/libs/dhgrlib.pla: 1034: BEQ ++ - BEQ ++ -; dhgr.tk/libs/dhgrlib.pla: 1035: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 1036: end -; dhgr.tk/libs/dhgrlib.pla: 1037: asm _dcgrOpPlotMemE -_A065 ; _dcgrOpPlotMemE() -; dhgr.tk/libs/dhgrlib.pla: 1038: AND $5001 ; AUXCLRH - AND $5001 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 1039: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1040: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1041: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1042: ++ TYA -++ TYA -; dhgr.tk/libs/dhgrlib.pla: 1043: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1044: ADC TMPH ; ADVANCE TO MEM HALF OF SCANLINE - ADC TMPH ; ADVANCE TO MEM HALF OF SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1045: TAY ; SPAN / 2 - TAY ; SPAN / 2 -; dhgr.tk/libs/dhgrlib.pla: 1046: end -; dhgr.tk/libs/dhgrlib.pla: 1047: asm _dcgrOpPlotMemF -_A066 ; _dcgrOpPlotMemF() -; dhgr.tk/libs/dhgrlib.pla: 1048: LDA $4001,X ; MEMCLRMSK - LDA $4001,X ; MEMCLRMSK -; dhgr.tk/libs/dhgrlib.pla: 1049: BEQ RETPLTM - BEQ RETPLTM -; dhgr.tk/libs/dhgrlib.pla: 1050: BMI + - BMI + -; dhgr.tk/libs/dhgrlib.pla: 1051: end -; dhgr.tk/libs/dhgrlib.pla: 1052: asm _dcgrOpPlotMemG -_A067 ; _dcgrOpPlotMemG() -; dhgr.tk/libs/dhgrlib.pla: 1053: AND $5002 ; MEMCLRL - AND $5002 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 1054: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1055: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1056: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 1057: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 1058: + INY -+ INY -; dhgr.tk/libs/dhgrlib.pla: 1059: end -; dhgr.tk/libs/dhgrlib.pla: 1060: asm _dcgrOpPlotMemH -_A068 ; _dcgrOpPlotMemH() -; dhgr.tk/libs/dhgrlib.pla: 1061: AND $5003 ; MEMCLRH - AND $5003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 1062: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1063: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1064: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 1065: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 1066: end -; dhgr.tk/libs/dhgrlib.pla: 1067: asm dcgrHLinMem(x1, x2, y, memptr, memspan)#0 -_A069 ; dcgrHLinMem() -; dhgr.tk/libs/dhgrlib.pla: 1068: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1069: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1070: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1071: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1072: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1073: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 1074: LDA ESTKL-4,X ; MEMPTR - LDA ESTKL-4,X ; MEMPTR -; dhgr.tk/libs/dhgrlib.pla: 1075: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1076: LDA ESTKH-4,X - LDA ESTKH-4,X -; dhgr.tk/libs/dhgrlib.pla: 1077: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1078: LDA ESTKL-3,X ; Y COORD - LDA ESTKL-3,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1079: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1080: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1081: - CLC ; ADVANCE TO Y SCANLINE -- CLC ; ADVANCE TO Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1082: LDA ESTKL-5,X ; SPAN - LDA ESTKL-5,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1083: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1084: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1085: LDA #$00 ; ESTKH-5,X - LDA #$00 ; ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1086: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1087: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1088: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1089: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1090: + LDY ESTKL-1,X ; X1 COORD -+ LDY ESTKL-1,X ; X1 COORD -; dhgr.tk/libs/dhgrlib.pla: 1091: - TYA -- TYA -; dhgr.tk/libs/dhgrlib.pla: 1092: PHA - PHA -; dhgr.tk/libs/dhgrlib.pla: 1093: LDA ESTKL-5,X ; SPAN - LDA ESTKL-5,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1094: end -; dhgr.tk/libs/dhgrlib.pla: 1095: asm _dcgrHLinMemB -_A070 ; _dcgrHLinMemB() -; dhgr.tk/libs/dhgrlib.pla: 1096: JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG - JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG -; dhgr.tk/libs/dhgrlib.pla: 1097: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 1098: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1099: INY - INY -; dhgr.tk/libs/dhgrlib.pla: 1100: CMP ESTKL-2,X ; X2 COORD - CMP ESTKL-2,X ; X2 COORD -; dhgr.tk/libs/dhgrlib.pla: 1101: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1102: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 1103: end -; dhgr.tk/libs/dhgrlib.pla: 1104: asm dcgrVLinMem(y1, y2, x, memptr, memspan)#0 -_A071 ; dcgrVLinMem() -; dhgr.tk/libs/dhgrlib.pla: 1105: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1106: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1107: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1108: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1109: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1110: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 1111: LDA ESTKL-4,X ; MEMPTR - LDA ESTKL-4,X ; MEMPTR -; dhgr.tk/libs/dhgrlib.pla: 1112: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1113: LDA ESTKH-4,X - LDA ESTKH-4,X -; dhgr.tk/libs/dhgrlib.pla: 1114: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1115: LDY ESTKL-1,X ; Y1 - LDY ESTKL-1,X ; Y1 -; dhgr.tk/libs/dhgrlib.pla: 1116: BEQ YVM - BEQ YVM -; dhgr.tk/libs/dhgrlib.pla: 1117: CLC ; ADVANCE TO Y SCANLINE - CLC ; ADVANCE TO Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1118: - LDA ESTKL-5,X ; SPAN -- LDA ESTKL-5,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1119: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1120: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1121: LDA #$00 ; ESTKH-5,X - LDA #$00 ; ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1122: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1123: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1124: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1125: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1126: YVM LDY ESTKL-3,X ; X COORD -YVM LDY ESTKL-3,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1127: LDA ESTKL-5,X ; SPAN - LDA ESTKL-5,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1128: end -; dhgr.tk/libs/dhgrlib.pla: 1129: asm _dcgrVLinMemB -_A072 ; _dcgrVLinMemB() -; dhgr.tk/libs/dhgrlib.pla: 1130: JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG - JSR $1000 ; PLOT PIX W/ XCOORD IN Y REG -; dhgr.tk/libs/dhgrlib.pla: 1131: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1132: LDA ESTKL-5,X ; SPAN - LDA ESTKL-5,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1133: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1134: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1135: LDA #$00 ; ESTKH-5,X - LDA #$00 ; ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1136: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1137: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1138: LDA ESTKL-1,X ; Y1 COORD - LDA ESTKL-1,X ; Y1 COORD -; dhgr.tk/libs/dhgrlib.pla: 1139: INC ESTKL-1,X ; Y1++ - INC ESTKL-1,X ; Y1++ -; dhgr.tk/libs/dhgrlib.pla: 1140: CMP ESTKL-2,X ; Y2 COORD - CMP ESTKL-2,X ; Y2 COORD -; dhgr.tk/libs/dhgrlib.pla: 1141: BNE YVM - BNE YVM -; dhgr.tk/libs/dhgrlib.pla: 1142: RETVLM RTS -RETVLM RTS -; dhgr.tk/libs/dhgrlib.pla: 1143: end -; dhgr.tk/libs/dhgrlib.pla: 1144: asm dcgrBitMapMem(x, y, bitw, bith, bitptr, memw, memh, memptr, memspan)#0 -_A073 ; dcgrBitMapMem() -; dhgr.tk/libs/dhgrlib.pla: 1145: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1146: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1147: ADC #9 - ADC #9 -; dhgr.tk/libs/dhgrlib.pla: 1148: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 1149: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 1150: LDA ESTKH-2,X ; MSB YCOORD - LDA ESTKH-2,X ; MSB YCOORD -; dhgr.tk/libs/dhgrlib.pla: 1151: BPL ++ - BPL ++ -; dhgr.tk/libs/dhgrlib.pla: 1152: - LDA ESTKL-3,X ; WIDTH -- LDA ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 1153: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1154: ADC #$07 - ADC #$07 -; dhgr.tk/libs/dhgrlib.pla: 1155: LSR ; WIDTH/8 - LSR ; WIDTH/8 -; dhgr.tk/libs/dhgrlib.pla: 1156: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1157: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1158: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1159: ADC ESTKL-5,X ; BITPTR += SPAN - ADC ESTKL-5,X ; BITPTR += SPAN -; dhgr.tk/libs/dhgrlib.pla: 1160: STA ESTKL-5,X - STA ESTKL-5,X -; dhgr.tk/libs/dhgrlib.pla: 1161: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 1162: INC ESTKH-5,X - INC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1163: + DEC ESTKL-4,X ; HEIGHT -+ DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1164: BEQ RETVLM - BEQ RETVLM -; dhgr.tk/libs/dhgrlib.pla: 1165: INC ESTKL-2,X - INC ESTKL-2,X -; dhgr.tk/libs/dhgrlib.pla: 1166: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1167: ; INC ESTKH-2,X -; INC ESTKH-2,X -; dhgr.tk/libs/dhgrlib.pla: 1168: ; BMI - -; BMI - -; dhgr.tk/libs/dhgrlib.pla: 1169: ++ LDA ESTKL-8,X ; DST PTR -++ LDA ESTKL-8,X ; DST PTR -; dhgr.tk/libs/dhgrlib.pla: 1170: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1171: LDA ESTKH-8,X - LDA ESTKH-8,X -; dhgr.tk/libs/dhgrlib.pla: 1172: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1173: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1174: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1175: ;CLC ; ADVANCE TO Y SCANLINE - ;CLC ; ADVANCE TO Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1176: - LDA ESTKL-9,X ; SPAN -- LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1177: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1178: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1179: LDA #$00 ; ESTKH-9,X - LDA #$00 ; ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1180: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1181: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1182: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1183: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1184: + LDA ESTKL-5,X ; BITPTR -+ LDA ESTKL-5,X ; BITPTR -; dhgr.tk/libs/dhgrlib.pla: 1185: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1186: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1187: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1188: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1189: ADC ESTKL-3,X ; WIDTH - ADC ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 1190: STA ESTKH-3,X ; RIGHT EDGE - STA ESTKH-3,X ; RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 1191: YBITM LDA ESTKL-2,X ; Y COORD -YBITM LDA ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1192: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 1193: CMP ESTKL-7,X ; OUT OF DST BOUNDS? - CMP ESTKL-7,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1194: BCS RETBITM - BCS RETBITM -; dhgr.tk/libs/dhgrlib.pla: 1195: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1196: STA ESTKH-1,X ; CURRENT X COORD - STA ESTKH-1,X ; CURRENT X COORD -; dhgr.tk/libs/dhgrlib.pla: 1197: BITM8 LDA #8 -BITM8 LDA #8 -; dhgr.tk/libs/dhgrlib.pla: 1198: STA ESTKH-2,X ; BIT COUNT - STA ESTKH-2,X ; BIT COUNT -; dhgr.tk/libs/dhgrlib.pla: 1199: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 1200: LDA (SRC),Y ; SRC BITMAP - LDA (SRC),Y ; SRC BITMAP -; dhgr.tk/libs/dhgrlib.pla: 1201: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1202: INC SRCL - INC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1203: BNE + - BNE + -; dhgr.tk/libs/dhgrlib.pla: 1204: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1205: + LDA ESTKH-1,X ; CURRENT X COORD -+ LDA ESTKH-1,X ; CURRENT X COORD -; dhgr.tk/libs/dhgrlib.pla: 1206: BITMEM LSR TMPL -BITMEM LSR TMPL -; dhgr.tk/libs/dhgrlib.pla: 1207: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 1208: CMP ESTKL-6,X ; OUT OF DST BOUNDS? - CMP ESTKL-6,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1209: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 1210: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1211: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1212: end -; dhgr.tk/libs/dhgrlib.pla: 1213: asm _dcgrBitmapMemA -_A074 ; _dcgrBitmapMemA() -; dhgr.tk/libs/dhgrlib.pla: 1214: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1215: + INC ESTKH-1,X ; X++ -+ INC ESTKH-1,X ; X++ -; dhgr.tk/libs/dhgrlib.pla: 1216: LDA ESTKH-1,X ; CURRENT X COORD - LDA ESTKH-1,X ; CURRENT X COORD -; dhgr.tk/libs/dhgrlib.pla: 1217: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 1218: BEQ NXTBITM - BEQ NXTBITM -; dhgr.tk/libs/dhgrlib.pla: 1219: DEC ESTKH-2,X ; BIT COUNT-- - DEC ESTKH-2,X ; BIT COUNT-- -; dhgr.tk/libs/dhgrlib.pla: 1220: BNE BITMEM - BNE BITMEM -; dhgr.tk/libs/dhgrlib.pla: 1221: BEQ BITM8 - BEQ BITM8 -; dhgr.tk/libs/dhgrlib.pla: 1222: NXTBITM CLC -NXTBITM CLC -; dhgr.tk/libs/dhgrlib.pla: 1223: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1224: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1225: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1226: LDA #$00 ; ESTKH-9,X - LDA #$00 ; ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1227: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1228: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1229: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1230: BNE YBITM ; NEXT ROW - BNE YBITM ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 1231: RETBITM RTS -RETBITM RTS -; dhgr.tk/libs/dhgrlib.pla: 1232: end -; dhgr.tk/libs/dhgrlib.pla: 1233: asm dcgrPixMapMem(x, y, pixw, pixh, pixptr, memw, memh, memptr, memspan)#0 -_A075 ; dcgrPixMapMem() -; dhgr.tk/libs/dhgrlib.pla: 1234: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1235: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1236: ADC #9 - ADC #9 -; dhgr.tk/libs/dhgrlib.pla: 1237: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 1238: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 1239: LDA ESTKH-2,X ; MSB YCOORD - LDA ESTKH-2,X ; MSB YCOORD -; dhgr.tk/libs/dhgrlib.pla: 1240: BPL ++ - BPL ++ -; dhgr.tk/libs/dhgrlib.pla: 1241: - LDA ESTKL-3,X ; WIDTH -- LDA ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 1242: LSR ; WIDTH/2 - LSR ; WIDTH/2 -; dhgr.tk/libs/dhgrlib.pla: 1243: ADC ESTKL-5,X ; PIXPTR += SPAN - ADC ESTKL-5,X ; PIXPTR += SPAN -; dhgr.tk/libs/dhgrlib.pla: 1244: STA ESTKL-5,X - STA ESTKL-5,X -; dhgr.tk/libs/dhgrlib.pla: 1245: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 1246: INC ESTKH-5,X - INC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1247: + DEC ESTKL-4,X ; HEIGHT -+ DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1248: BEQ RETBITM - BEQ RETBITM -; dhgr.tk/libs/dhgrlib.pla: 1249: INC ESTKL-2,X - INC ESTKL-2,X -; dhgr.tk/libs/dhgrlib.pla: 1250: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1251: ; INC ESTKH-2,X -; INC ESTKH-2,X -; dhgr.tk/libs/dhgrlib.pla: 1252: ; BMI - -; BMI - -; dhgr.tk/libs/dhgrlib.pla: 1253: ++ LDA ESTKL-8,X ; DST PTR -++ LDA ESTKL-8,X ; DST PTR -; dhgr.tk/libs/dhgrlib.pla: 1254: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1255: LDA ESTKH-8,X - LDA ESTKH-8,X -; dhgr.tk/libs/dhgrlib.pla: 1256: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1257: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1258: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1259: - CLC ; ADVANCE TO Y SCANLINE -- CLC ; ADVANCE TO Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1260: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1261: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1262: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1263: LDA #$00 ; ESTKH-9,X - LDA #$00 ; ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1264: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1265: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1266: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1267: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1268: + LDA ESTKL-5,X ; PIXPTR -+ LDA ESTKL-5,X ; PIXPTR -; dhgr.tk/libs/dhgrlib.pla: 1269: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1270: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1271: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1272: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1273: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1274: ADC ESTKL-3,X ; WIDTH - ADC ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 1275: STA ESTKH-3,X ; -> RIGHT EDGE - STA ESTKH-3,X ; -> RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 1276: YPIXM LDA ESTKL-2,X ; Y COORD -YPIXM LDA ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1277: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 1278: CMP ESTKL-7,X ; OUT OF DST BOUNDS? - CMP ESTKL-7,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1279: BCS RETPIXM - BCS RETPIXM -; dhgr.tk/libs/dhgrlib.pla: 1280: end -; dhgr.tk/libs/dhgrlib.pla: 1281: asm _dcgrPixmapMemA -_A076 ; _dcgrPixmapMemA() -; dhgr.tk/libs/dhgrlib.pla: 1282: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1283: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1284: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 1285: PIXMEML CMP ESTKL-6,X ; OUT OF DST BOUNDS? -PIXMEML CMP ESTKL-6,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1286: BCS PIXMEMH - BCS PIXMEMH -; dhgr.tk/libs/dhgrlib.pla: 1287: LDA (SRC),Y ; LO NIBBLE SRC PIXEL - LDA (SRC),Y ; LO NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1288: AND #$0F - AND #$0F -; dhgr.tk/libs/dhgrlib.pla: 1289: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 1290: BEQ PIXMEMH - BEQ PIXMEMH -; dhgr.tk/libs/dhgrlib.pla: 1291: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1292: end -; dhgr.tk/libs/dhgrlib.pla: 1293: asm _dcgrPixmapMemB -_A077 ; _dcgrPixmapMemB() -; dhgr.tk/libs/dhgrlib.pla: 1294: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 1295: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1296: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 1297: end -; dhgr.tk/libs/dhgrlib.pla: 1298: asm _dcgrPixmapMemC -_A078 ; _dcgrPixmapMemC() -; dhgr.tk/libs/dhgrlib.pla: 1299: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1300: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 1301: PIXMEMH INC TMPL -PIXMEMH INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 1302: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1303: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 1304: BEQ ++ ; NEXT ROW - BEQ ++ ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 1305: CMP ESTKL-6,X ; OUT OF DST BOUNDS? - CMP ESTKL-6,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1306: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 1307: LDA (SRC),Y ; HI NIBBLE SRC PIXEL - LDA (SRC),Y ; HI NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1308: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1309: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1310: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1311: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1312: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 1313: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1314: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1315: end -; dhgr.tk/libs/dhgrlib.pla: 1316: asm _dcgrPixmapMemD -_A079 ; _dcgrPixmapMemD() -; dhgr.tk/libs/dhgrlib.pla: 1317: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 1318: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1319: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 1320: end -; dhgr.tk/libs/dhgrlib.pla: 1321: asm _dcgrPixmapMemE -_A080 ; _dcgrPixmapMemE() -; dhgr.tk/libs/dhgrlib.pla: 1322: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1323: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 1324: + INC TMPL -+ INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 1325: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1326: ++ INC SRCL ; PIXPTR -++ INC SRCL ; PIXPTR -; dhgr.tk/libs/dhgrlib.pla: 1327: BNE + - BNE + -; dhgr.tk/libs/dhgrlib.pla: 1328: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1329: + CMP ESTKH-3,X ; AT RIGHT EDGE? -+ CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 1330: BNE PIXMEML - BNE PIXMEML -; dhgr.tk/libs/dhgrlib.pla: 1331: NXTPIXM CLC -NXTPIXM CLC -; dhgr.tk/libs/dhgrlib.pla: 1332: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1333: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1334: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1335: LDA #$00 ; ESTKH-9,X - LDA #$00 ; ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1336: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1337: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1338: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1339: BNE YPIXM ; NEXT ROW - BNE YPIXM ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 1340: RETPIXM RTS -RETPIXM RTS -; dhgr.tk/libs/dhgrlib.pla: 1341: end -; dhgr.tk/libs/dhgrlib.pla: 1342: asm dcgrRleMapMem(x, y, pixw, pixh, pixptr, memw, memh, memptr, memspan)#0 -_A081 ; dcgrRleMapMem() -; dhgr.tk/libs/dhgrlib.pla: 1343: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1344: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1345: ADC #9 - ADC #9 -; dhgr.tk/libs/dhgrlib.pla: 1346: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 1347: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 1348: LDA ESTKL-8,X ; DST PTR - LDA ESTKL-8,X ; DST PTR -; dhgr.tk/libs/dhgrlib.pla: 1349: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1350: LDA ESTKH-8,X - LDA ESTKH-8,X -; dhgr.tk/libs/dhgrlib.pla: 1351: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1352: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1353: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1354: - CLC ; ADVANCE TO Y SCANLINE -- CLC ; ADVANCE TO Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1355: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1356: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1357: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1358: LDA #$00 ; ESTKH-9,X - LDA #$00 ; ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1359: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1360: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1361: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1362: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1363: + LDA ESTKL-5,X ; PIXPTR -+ LDA ESTKL-5,X ; PIXPTR -; dhgr.tk/libs/dhgrlib.pla: 1364: SEC - SEC -; dhgr.tk/libs/dhgrlib.pla: 1365: SBC #$02 - SBC #$02 -; dhgr.tk/libs/dhgrlib.pla: 1366: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1367: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1368: SBC #$00 - SBC #$00 -; dhgr.tk/libs/dhgrlib.pla: 1369: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1370: LDA ESTKL-1,X ; X COORD - LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1371: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1372: ADC ESTKL-3,X ; WIDTH - ADC ESTKL-3,X ; WIDTH -; dhgr.tk/libs/dhgrlib.pla: 1373: STA ESTKH-3,X ; -> RIGHT EDGE - STA ESTKH-3,X ; -> RIGHT EDGE -; dhgr.tk/libs/dhgrlib.pla: 1374: BNE YRLEM ; BRA - BNE YRLEM ; BRA -; dhgr.tk/libs/dhgrlib.pla: 1375: -; dhgr.tk/libs/dhgrlib.pla: 1376: SKPRUNM LDY #$00 -SKPRUNM LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 1377: LDA (SRC),Y ; RUN LENGTH - LDA (SRC),Y ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 1378: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1379: ADC TMPL - ADC TMPL -; dhgr.tk/libs/dhgrlib.pla: 1380: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1381: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 1382: BNE RUNLENM - BNE RUNLENM -; dhgr.tk/libs/dhgrlib.pla: 1383: ;BCS NXTRLEM - ;BCS NXTRLEM -; dhgr.tk/libs/dhgrlib.pla: 1384: NXTRLEM CLC -NXTRLEM CLC -; dhgr.tk/libs/dhgrlib.pla: 1385: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1386: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1387: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1388: LDA #$00 ; ESTKH-9,X - LDA #$00 ; ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1389: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1390: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1391: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1392: BNE YRLEM ; NEXT ROW - BNE YRLEM ; NEXT ROW -; dhgr.tk/libs/dhgrlib.pla: 1393: RTS - RTS -; dhgr.tk/libs/dhgrlib.pla: 1394: -; dhgr.tk/libs/dhgrlib.pla: 1395: YRLEM LDA ESTKL-1,X ; X COORD -YRLEM LDA ESTKL-1,X ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1396: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1397: RUNLENM LDA SRCL ; NEXT RUN -RUNLENM LDA SRCL ; NEXT RUN -; dhgr.tk/libs/dhgrlib.pla: 1398: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1399: ADC #$02 - ADC #$02 -; dhgr.tk/libs/dhgrlib.pla: 1400: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1401: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 1402: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1403: + LDA ESTKL-2,X ; Y COORD -+ LDA ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1404: CMP ESTKL-7,X ; OUT OF DST BOUNDS? - CMP ESTKL-7,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1405: BCS SKPRUNM - BCS SKPRUNM -; dhgr.tk/libs/dhgrlib.pla: 1406: LDY #$00 - LDY #$00 -; dhgr.tk/libs/dhgrlib.pla: 1407: LDA (SRC),Y ; RUN LENGTH - LDA (SRC),Y ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 1408: STA ESTKH-4,X - STA ESTKH-4,X -; dhgr.tk/libs/dhgrlib.pla: 1409: INY - INY -; dhgr.tk/libs/dhgrlib.pla: 1410: LDA (SRC),Y ; SRC PIXELS - LDA (SRC),Y ; SRC PIXELS -; dhgr.tk/libs/dhgrlib.pla: 1411: CMP #$55 ; FULLY XPARENT RUN - CMP #$55 ; FULLY XPARENT RUN -; dhgr.tk/libs/dhgrlib.pla: 1412: BEQ SKPRUNM - BEQ SKPRUNM -; dhgr.tk/libs/dhgrlib.pla: 1413: LDA TMPL ; X COORD - LDA TMPL ; X COORD -; dhgr.tk/libs/dhgrlib.pla: 1414: RLEMEML CMP ESTKL-6,X ; OUT OF DST BOUNDS? -RLEMEML CMP ESTKL-6,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1415: BCS RLEMEMH - BCS RLEMEMH -; dhgr.tk/libs/dhgrlib.pla: 1416: LDA (SRC),Y ; LO NIBBLE SRC PIXEL - LDA (SRC),Y ; LO NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1417: AND #$0F - AND #$0F -; dhgr.tk/libs/dhgrlib.pla: 1418: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 1419: BEQ RLEMEMH - BEQ RLEMEMH -; dhgr.tk/libs/dhgrlib.pla: 1420: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1421: end -; dhgr.tk/libs/dhgrlib.pla: 1422: asm _dcgrRlemapMemB -_A082 ; _dcgrRlemapMemB() -; dhgr.tk/libs/dhgrlib.pla: 1423: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 1424: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1425: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 1426: end -; dhgr.tk/libs/dhgrlib.pla: 1427: asm _dcgrRlemapMemC -_A083 ; _dcgrRlemapMemC() -; dhgr.tk/libs/dhgrlib.pla: 1428: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1429: LDY #$01 - LDY #$01 -; dhgr.tk/libs/dhgrlib.pla: 1430: RLEMEMH INC TMPL -RLEMEMH INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 1431: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1432: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 1433: BEQ NXTRLEM ; NEXT - BEQ NXTRLEM ; NEXT -; dhgr.tk/libs/dhgrlib.pla: 1434: DEC ESTKH-4,X ; RUN LENGTH - DEC ESTKH-4,X ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 1435: BEQ RUNLENM - BEQ RUNLENM -; dhgr.tk/libs/dhgrlib.pla: 1436: CMP ESTKL-6,X ; OUT OF DST BOUNDS? - CMP ESTKL-6,X ; OUT OF DST BOUNDS? -; dhgr.tk/libs/dhgrlib.pla: 1437: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 1438: LDA (SRC),Y ; HI NIBBLE SRC PIXEL - LDA (SRC),Y ; HI NIBBLE SRC PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1439: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1440: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1441: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1442: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 1443: CMP #$05 ; TRANSPARENT? - CMP #$05 ; TRANSPARENT? -; dhgr.tk/libs/dhgrlib.pla: 1444: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1445: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1446: end -; dhgr.tk/libs/dhgrlib.pla: 1447: asm _dcgrRlemapMemD -_A084 ; _dcgrRlemapMemD() -; dhgr.tk/libs/dhgrlib.pla: 1448: JSR $2000 ; SET COLOR - JSR $2000 ; SET COLOR -; dhgr.tk/libs/dhgrlib.pla: 1449: LDA ESTKL-9,X ; SPAN - LDA ESTKL-9,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1450: LDY TMPL - LDY TMPL -; dhgr.tk/libs/dhgrlib.pla: 1451: end -; dhgr.tk/libs/dhgrlib.pla: 1452: asm _dcgrRlemapMemE -_A085 ; _dcgrRlemapMemE() -; dhgr.tk/libs/dhgrlib.pla: 1453: JSR $1000 ; PLOT PIXEL - JSR $1000 ; PLOT PIXEL -; dhgr.tk/libs/dhgrlib.pla: 1454: LDY #$01 - LDY #$01 -; dhgr.tk/libs/dhgrlib.pla: 1455: + INC TMPL -+ INC TMPL -; dhgr.tk/libs/dhgrlib.pla: 1456: LDA TMPL - LDA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1457: CMP ESTKH-3,X ; AT RIGHT EDGE? - CMP ESTKH-3,X ; AT RIGHT EDGE? -; dhgr.tk/libs/dhgrlib.pla: 1458: BEQ NXTRLEM - BEQ NXTRLEM -; dhgr.tk/libs/dhgrlib.pla: 1459: DEC ESTKH-4,X ; RUN LENGTH - DEC ESTKH-4,X ; RUN LENGTH -; dhgr.tk/libs/dhgrlib.pla: 1460: BNE RLEMEML - BNE RLEMEML -; dhgr.tk/libs/dhgrlib.pla: 1461: BEQ RUNLENM - BEQ RUNLENM -; dhgr.tk/libs/dhgrlib.pla: 1462: end -; dhgr.tk/libs/dhgrlib.pla: 1463: //===================\\ -; dhgr.tk/libs/dhgrlib.pla: 1464: // \\ -; dhgr.tk/libs/dhgrlib.pla: 1465: // Block7 operations \\ -; dhgr.tk/libs/dhgrlib.pla: 1466: // \\ -; dhgr.tk/libs/dhgrlib.pla: 1467: //===================\\ -; dhgr.tk/libs/dhgrlib.pla: 1468: // -; dhgr.tk/libs/dhgrlib.pla: 1469: // Screen -> Memory Block7 Transfer -; dhgr.tk/libs/dhgrlib.pla: 1470: // -; dhgr.tk/libs/dhgrlib.pla: 1471: asm dhgrScrBl7Mem(x7, y, w7, h, memptr, memspan)#0 -_A086 ; dhgrScrBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 1472: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1473: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1474: ADC #6 - ADC #6 -; dhgr.tk/libs/dhgrlib.pla: 1475: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 1476: LDA ESTKL-5,X ; MEMPTR - LDA ESTKL-5,X ; MEMPTR -; dhgr.tk/libs/dhgrlib.pla: 1477: SEC - SEC -; dhgr.tk/libs/dhgrlib.pla: 1478: SBC #$01 - SBC #$01 -; dhgr.tk/libs/dhgrlib.pla: 1479: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1480: LDA ESTKH-5,X - LDA ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1481: SBC #$00 - SBC #$00 -; dhgr.tk/libs/dhgrlib.pla: 1482: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1483: LSR ESTKL-6,X ; SPAN / 2 - LSR ESTKL-6,X ; SPAN / 2 -; dhgr.tk/libs/dhgrlib.pla: 1484: ASL ESTKL-1,X ; X7 COORD * 2 - ASL ESTKL-1,X ; X7 COORD * 2 -; dhgr.tk/libs/dhgrlib.pla: 1485: ASL ESTKL-3,X ; WIDTH7 * 2 - ASL ESTKL-3,X ; WIDTH7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 1486: YS7M LDY ESTKL-2,X ; Y COORD -YS7M LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1487: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 1488: LDA ESTKL-1,X ; X7 COORD - LDA ESTKL-1,X ; X7 COORD -; dhgr.tk/libs/dhgrlib.pla: 1489: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1490: end -; dhgr.tk/libs/dhgrlib.pla: 1491: asm _dcgrScrBl7MemA -_A087 ; _dcgrScrBl7MemA() -; dhgr.tk/libs/dhgrlib.pla: 1492: ADC $2000,Y ; HGRSCANL - ADC $2000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 1493: STA SRCL ; THIS WON'T CARRY OUT - STA SRCL ; THIS WON'T CARRY OUT -; dhgr.tk/libs/dhgrlib.pla: 1494: LDA $3000,Y ; HGRSCANH - LDA $3000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 1495: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1496: LDA SRCL - LDA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1497: BNE + - BNE + -; dhgr.tk/libs/dhgrlib.pla: 1498: DEC SRCH - DEC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1499: + DEC SRCL -+ DEC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1500: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 1501: LDY ESTKL-3,X ; WIDTH7*2 - LDY ESTKL-3,X ; WIDTH7*2 -; dhgr.tk/libs/dhgrlib.pla: 1502: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1503: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1504: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1505: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1506: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1507: LDA ESTKL-6,X ; HALF SPAN - LDA ESTKL-6,X ; HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1508: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1509: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1510: ;LDA ESTKH-6,X - ;LDA ESTKH-6,X -; dhgr.tk/libs/dhgrlib.pla: 1511: TYA ;LDA #$00 - TYA ;LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1512: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1513: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1514: STA $C054 ; PAGE1M - STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 1515: LDY ESTKL-3,X ; WIDTH7*2 - LDY ESTKL-3,X ; WIDTH7*2 -; dhgr.tk/libs/dhgrlib.pla: 1516: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1517: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1518: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1519: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1520: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1521: LDA ESTKL-6,X ; HALF SPAN - LDA ESTKL-6,X ; HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1522: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1523: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1524: ;LDA ESTKH-6,X - ;LDA ESTKH-6,X -; dhgr.tk/libs/dhgrlib.pla: 1525: TYA ;LDA #$00 - TYA ;LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1526: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1527: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1528: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1529: BNE YS7M - BNE YS7M -; dhgr.tk/libs/dhgrlib.pla: 1530: RETS7M RTS -RETS7M RTS -; dhgr.tk/libs/dhgrlib.pla: 1531: end -; dhgr.tk/libs/dhgrlib.pla: 1532: // -; dhgr.tk/libs/dhgrlib.pla: 1533: // Memory -> Screen Block7 Transfer -; dhgr.tk/libs/dhgrlib.pla: 1534: // -; dhgr.tk/libs/dhgrlib.pla: 1535: asm dhgrMemBl7Scr(x7, y, w7, h, memptr, memspan)#0 -_A088 ; dhgrMemBl7Scr() -; dhgr.tk/libs/dhgrlib.pla: 1536: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1537: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1538: ADC #6 - ADC #6 -; dhgr.tk/libs/dhgrlib.pla: 1539: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 1540: LDA #20 - LDA #20 -; dhgr.tk/libs/dhgrlib.pla: 1541: end -; dhgr.tk/libs/dhgrlib.pla: 1542: asm _clipXMemBl7Src -_A089 ; _clipXMemBl7Src() -; dhgr.tk/libs/dhgrlib.pla: 1543: JSR $F000 - JSR $F000 -; dhgr.tk/libs/dhgrlib.pla: 1544: BCS RETS7M - BCS RETS7M -; dhgr.tk/libs/dhgrlib.pla: 1545: ASL - ASL -; dhgr.tk/libs/dhgrlib.pla: 1546: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1547: ADC ESTKL-5,X ; MEMPTR - ADC ESTKL-5,X ; MEMPTR -; dhgr.tk/libs/dhgrlib.pla: 1548: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1549: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1550: ADC ESTKH-5,X - ADC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1551: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1552: LDA #192 - LDA #192 -; dhgr.tk/libs/dhgrlib.pla: 1553: end -; dhgr.tk/libs/dhgrlib.pla: 1554: asm _clipYMemBl7Scr -_A090 ; _clipYMemBl7Scr() -; dhgr.tk/libs/dhgrlib.pla: 1555: JSR $E000 ; CLIPY - JSR $E000 ; CLIPY -; dhgr.tk/libs/dhgrlib.pla: 1556: BCS RETS7M ; CLIPPED AWAY - BCS RETS7M ; CLIPPED AWAY -; dhgr.tk/libs/dhgrlib.pla: 1557: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1558: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1559: - ;CLC ; ADVANCE TO MEM Y SCANLINE -- ;CLC ; ADVANCE TO MEM Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1560: LDA ESTKL-6,X ; SPAN - LDA ESTKL-6,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 1561: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1562: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1563: LDA #$00 ; ESTKH-6,X - LDA #$00 ; ESTKH-6,X -; dhgr.tk/libs/dhgrlib.pla: 1564: ADC SRCH - ADC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1565: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1566: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1567: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1568: + LSR ESTKL-6,X - + LSR ESTKL-6,X -; dhgr.tk/libs/dhgrlib.pla: 1569: ASL ESTKL-1,X ; X7 COORD * 2 - ASL ESTKL-1,X ; X7 COORD * 2 -; dhgr.tk/libs/dhgrlib.pla: 1570: ASL ESTKL-3,X ; WIDTH7 * 2 - ASL ESTKL-3,X ; WIDTH7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 1571: DEC ESTKL-3,X ; WIDTH7 * 2 - 1 - DEC ESTKL-3,X ; WIDTH7 * 2 - 1 -; dhgr.tk/libs/dhgrlib.pla: 1572: end -; dhgr.tk/libs/dhgrlib.pla: 1573: asm _jmpOpMemBl7Scr -_A091 ; _jmpOpMemBl7Scr() -; dhgr.tk/libs/dhgrlib.pla: 1574: JSR $A000 - JSR $A000 -; dhgr.tk/libs/dhgrlib.pla: 1575: end -; dhgr.tk/libs/dhgrlib.pla: 1576: asm _dcgrMemBl7ScrA -_A092 ; _dcgrMemBl7ScrA() -; dhgr.tk/libs/dhgrlib.pla: 1577: YM7S__ PLA ; SELF MODIFYING CODE! -YM7S__ PLA ; SELF MODIFYING CODE! -; dhgr.tk/libs/dhgrlib.pla: 1578: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1579: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 1580: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 1581: LDA ESTKL-3,X ; WIDTH7*2-1 - LDA ESTKL-3,X ; WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1582: LDY #YM7S_A-YM7S__+2 - LDY #YM7S_A-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1583: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1584: LDY #YM7S_C-YM7S__+2 - LDY #YM7S_C-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1585: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1586: LDA ESTKL-6,X ; HALF SPAN - LDA ESTKL-6,X ; HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1587: LDY #YM7S_B-YM7S__+2 - LDY #YM7S_B-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1588: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1589: LDY #YM7S_D-YM7S__+2 - LDY #YM7S_D-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1590: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1591: YM7S LDY ESTKL-2,X ; Y COORD -YM7S LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1592: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 1593: LDA ESTKL-1,X ; X7 COORD - LDA ESTKL-1,X ; X7 COORD -; dhgr.tk/libs/dhgrlib.pla: 1594: end -; dhgr.tk/libs/dhgrlib.pla: 1595: asm _dcgrMemBl7ScrB -_A093 ; _dcgrMemBl7ScrB() -; dhgr.tk/libs/dhgrlib.pla: 1596: ADC $1000,Y ; HGRSCANL - ADC $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 1597: STA DSTL ; THIS WON'T CARRY OUT - STA DSTL ; THIS WON'T CARRY OUT -; dhgr.tk/libs/dhgrlib.pla: 1598: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 1599: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1600: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 1601: YM7S_A LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -YM7S_A LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1602: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1603: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1604: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1605: LDA (SRC),Y - LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1606: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1607: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1608: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1609: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1610: YM7S_B LDA #$01 ; ESTKL-6,X HALF SPAN -YM7S_B LDA #$01 ; ESTKL-6,X HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1611: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1612: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1613: BCS YM7SIH - BCS YM7SIH -; dhgr.tk/libs/dhgrlib.pla: 1614: -- STA $C054 ; PAGE1M --- STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 1615: YM7S_C LDY #$02 ; ESTKL-3,X WIDTH7*2-1 -YM7S_C LDY #$02 ; ESTKL-3,X WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1616: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1617: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1618: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1619: LDA (SRC),Y - LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1620: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1621: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1622: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1623: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1624: BEQ RETM7S - BEQ RETM7S -; dhgr.tk/libs/dhgrlib.pla: 1625: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1626: YM7S_D LDA #$01 ; ESTKL-6,X HALF SPAN -YM7S_D LDA #$01 ; ESTKL-6,X HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1627: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1628: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1629: BCC YM7S - BCC YM7S -; dhgr.tk/libs/dhgrlib.pla: 1630: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1631: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1632: BCC YM7S - BCC YM7S -; dhgr.tk/libs/dhgrlib.pla: 1633: YM7SIH INC SRCH -YM7SIH INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1634: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1635: BCC -- - BCC -- -; dhgr.tk/libs/dhgrlib.pla: 1636: RETM7S RTS -RETM7S RTS -; dhgr.tk/libs/dhgrlib.pla: 1637: end -; dhgr.tk/libs/dhgrlib.pla: 1638: asm _dcgrOpMemBl7ScrA -_A094 ; _dcgrOpMemBl7ScrA() -; dhgr.tk/libs/dhgrlib.pla: 1639: PLA ; SELF MODIFYING CODE! - PLA ; SELF MODIFYING CODE! -; dhgr.tk/libs/dhgrlib.pla: 1640: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1641: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 1642: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 1643: LDA ESTKL-3,X ; WIDTH7*2-1 - LDA ESTKL-3,X ; WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1644: LDY #YOM7S_A-YM7S__+2 - LDY #YOM7S_A-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1645: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1646: LDY #YOM7S_C-YM7S__+2 - LDY #YOM7S_C-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1647: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1648: LDA ESTKL-6,X ; HALF SPAN - LDA ESTKL-6,X ; HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1649: LDY #YOM7S_B-YM7S__+2 - LDY #YOM7S_B-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1650: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1651: LDY #YOM7S_D-YM7S__+2 - LDY #YOM7S_D-YM7S__+2 -; dhgr.tk/libs/dhgrlib.pla: 1652: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1653: YOM7S LDY ESTKL-2,X ; Y COORD -YOM7S LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1654: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 1655: LDA ESTKL-1,X ; X7 COORD - LDA ESTKL-1,X ; X7 COORD -; dhgr.tk/libs/dhgrlib.pla: 1656: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1657: end -; dhgr.tk/libs/dhgrlib.pla: 1658: asm _dcgrOpMemBl7ScrB -_A095 ; _dcgrOpMemBl7ScrB() -; dhgr.tk/libs/dhgrlib.pla: 1659: ADC $1000,Y ; HGRSCANL - ADC $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 1660: STA DSTL ; THIS WON'T CARRY OUT - STA DSTL ; THIS WON'T CARRY OUT -; dhgr.tk/libs/dhgrlib.pla: 1661: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 1662: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1663: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 1664: YOM7S_A LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -YOM7S_A LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1665: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1666: end -; dhgr.tk/libs/dhgrlib.pla: 1667: asm _dcgrOpMemBl7ScrC -_A096 ; _dcgrOpMemBl7ScrC() -; dhgr.tk/libs/dhgrlib.pla: 1668: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1669: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1670: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1671: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1672: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1673: YOM7S_B LDA #$01 ; ESTKL-6,X HALF SPAN -YOM7S_B LDA #$01 ; ESTKL-6,X HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1674: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1675: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1676: BCS YOM7SIH - BCS YOM7SIH -; dhgr.tk/libs/dhgrlib.pla: 1677: -- STA $C054 ; PAGE1M --- STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 1678: YOM7S_C LDY #$01 ; ESTKL-3,X ; WIDTH7*2-1 -YOM7S_C LDY #$01 ; ESTKL-3,X ; WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1679: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1680: end -; dhgr.tk/libs/dhgrlib.pla: 1681: asm _dcgrOpMemBl7ScrD -_A097 ; _dcgrOpMemBl7ScrD() -; dhgr.tk/libs/dhgrlib.pla: 1682: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1683: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1684: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1685: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1686: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1687: BEQ RETOM7S - BEQ RETOM7S -; dhgr.tk/libs/dhgrlib.pla: 1688: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1689: YOM7S_D LDA #$01 ; ESTKL-6,X HALF SPAN -YOM7S_D LDA #$01 ; ESTKL-6,X HALF SPAN -; dhgr.tk/libs/dhgrlib.pla: 1690: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1691: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1692: BCC YOM7S - BCC YOM7S -; dhgr.tk/libs/dhgrlib.pla: 1693: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1694: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1695: BCC YOM7S - BCC YOM7S -; dhgr.tk/libs/dhgrlib.pla: 1696: YOM7SIH INC SRCH -YOM7SIH INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1697: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1698: BCC -- - BCC -- -; dhgr.tk/libs/dhgrlib.pla: 1699: RETOM7S RTS -RETOM7S RTS -; dhgr.tk/libs/dhgrlib.pla: 1700: end -; dhgr.tk/libs/dhgrlib.pla: 1701: // -; dhgr.tk/libs/dhgrlib.pla: 1702: // Memory -> Memory Block7 function -; dhgr.tk/libs/dhgrlib.pla: 1703: // -; dhgr.tk/libs/dhgrlib.pla: 1704: asm dhgrMemBl7Mem(x7, y, srcw7, srch, srcptr, srcspan, dstw7, dsth, dstptr)#0 -_A098 ; dhgrMemBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 1705: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1706: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1707: ADC #9 - ADC #9 -; dhgr.tk/libs/dhgrlib.pla: 1708: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 1709: LDA ESTKL-7,X ; DST WIDTH7 - LDA ESTKL-7,X ; DST WIDTH7 -; dhgr.tk/libs/dhgrlib.pla: 1710: end -; dhgr.tk/libs/dhgrlib.pla: 1711: asm _clipXMemBl7Mem -_A099 ; _clipXMemBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 1712: JSR $F000 ; CLIPX - JSR $F000 ; CLIPX -; dhgr.tk/libs/dhgrlib.pla: 1713: BCS RETOM7S ; CLIPPED AWAY - BCS RETOM7S ; CLIPPED AWAY -; dhgr.tk/libs/dhgrlib.pla: 1714: ASL - ASL -; dhgr.tk/libs/dhgrlib.pla: 1715: PHA - PHA -; dhgr.tk/libs/dhgrlib.pla: 1716: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1717: ADC ESTKL-5,X ; SRC PTR - ADC ESTKL-5,X ; SRC PTR -; dhgr.tk/libs/dhgrlib.pla: 1718: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1719: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1720: ADC ESTKH-5,X - ADC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 1721: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1722: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 1723: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1724: ADC ESTKL-1,X ; X7 COORD - ADC ESTKL-1,X ; X7 COORD -; dhgr.tk/libs/dhgrlib.pla: 1725: ADC ESTKL-1,X ; X7 COORD * 2 - ADC ESTKL-1,X ; X7 COORD * 2 -; dhgr.tk/libs/dhgrlib.pla: 1726: ADC ESTKL-9,X ; DST PTR - ADC ESTKL-9,X ; DST PTR -; dhgr.tk/libs/dhgrlib.pla: 1727: STA DSTL ; DSTPTR = CLIPX * 2 + X7 * 2 - STA DSTL ; DSTPTR = CLIPX * 2 + X7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 1728: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1729: ADC ESTKH-9,X - ADC ESTKH-9,X -; dhgr.tk/libs/dhgrlib.pla: 1730: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1731: LDA ESTKL-7,X ; DST WIDTH7 - LDA ESTKL-7,X ; DST WIDTH7 -; dhgr.tk/libs/dhgrlib.pla: 1732: ASL - ASL -; dhgr.tk/libs/dhgrlib.pla: 1733: STA ESTKH-10,X ; DST SPAN / 2 - STA ESTKH-10,X ; DST SPAN / 2 -; dhgr.tk/libs/dhgrlib.pla: 1734: ASL - ASL -; dhgr.tk/libs/dhgrlib.pla: 1735: STA ESTKL-10,X ; DST SPAN - STA ESTKL-10,X ; DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1736: LDA ESTKL-8,X ; DST HEIGHT - LDA ESTKL-8,X ; DST HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1737: end -; dhgr.tk/libs/dhgrlib.pla: 1738: asm _clipYMemBl7Mem -_A100 ; _clipYMemBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 1739: JSR $E000 ; CLIPY - JSR $E000 ; CLIPY -; dhgr.tk/libs/dhgrlib.pla: 1740: BCS RETOM7S ; CLIPPED AWAY - BCS RETOM7S ; CLIPPED AWAY -; dhgr.tk/libs/dhgrlib.pla: 1741: PHA - PHA -; dhgr.tk/libs/dhgrlib.pla: 1742: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1743: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1744: - ;CLC ; ADVANCE TO SRC Y SCANLINE -- ;CLC ; ADVANCE TO SRC Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1745: LDA ESTKL-6,X ; SRC SPAN - LDA ESTKL-6,X ; SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1746: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1747: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1748: LDA #$00 ; ESTKH-6,X - LDA #$00 ; ESTKH-6,X -; dhgr.tk/libs/dhgrlib.pla: 1749: ADC SRCH - ADC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1750: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 1751: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1752: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1753: + PLA -+ PLA -; dhgr.tk/libs/dhgrlib.pla: 1754: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1755: ADC ESTKL-2,X ; Y COORD - ADC ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1756: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 1757: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 1758: - ;CLC ; ADVANCE TO DST Y SCANLINE -- ;CLC ; ADVANCE TO DST Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 1759: LDA ESTKL-10,X ; DST SPAN - LDA ESTKL-10,X ; DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1760: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1761: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1762: LDA #$00 ; ESTKH-10,X - LDA #$00 ; ESTKH-10,X -; dhgr.tk/libs/dhgrlib.pla: 1763: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1764: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1765: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1766: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 1767: + LSR ESTKL-6,X -+ LSR ESTKL-6,X -; dhgr.tk/libs/dhgrlib.pla: 1768: ASL ESTKL-3,X ; SRC WIDTH7 * 2 - ASL ESTKL-3,X ; SRC WIDTH7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 1769: DEC ESTKL-3,X ; SRC WIDTH7 * 2 - 1 - DEC ESTKL-3,X ; SRC WIDTH7 * 2 - 1 -; dhgr.tk/libs/dhgrlib.pla: 1770: end -; dhgr.tk/libs/dhgrlib.pla: 1771: asm _jmpOpMemBl7Mem -_A101 ; _jmpOpMemBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 1772: JSR $F000 - JSR $F000 -; dhgr.tk/libs/dhgrlib.pla: 1773: end -; dhgr.tk/libs/dhgrlib.pla: 1774: asm _dcgrMemBl7MemB -_A102 ; _dcgrMemBl7MemB() -; dhgr.tk/libs/dhgrlib.pla: 1775: YM7M__ PLA -YM7M__ PLA -; dhgr.tk/libs/dhgrlib.pla: 1776: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1777: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 1778: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 1779: LDA ESTKL-3,X ; SRC WIDTH7*2-1 - LDA ESTKL-3,X ; SRC WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1780: LDY #YM7M-YM7M__+2 - LDY #YM7M-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1781: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1782: LDY #YM7M_C-YM7M__+2 - LDY #YM7M_C-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1783: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1784: LDA ESTKL-6,X ; HALF SRC SPAN - LDA ESTKL-6,X ; HALF SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1785: LDY #YM7M_A-YM7M__+2 - LDY #YM7M_A-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1786: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1787: LDY #YM7M_D-YM7M__+2 - LDY #YM7M_D-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1788: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1789: LDA ESTKH-10,X ; HALF DST SPAN - LDA ESTKH-10,X ; HALF DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1790: LDY #YM7M_B-YM7M__+2 - LDY #YM7M_B-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1791: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1792: LDY #YM7M_E-YM7M__+2 - LDY #YM7M_E-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1793: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1794: YM7M LDY #$01 ; ESTKL-3,X SRC WIDTH7*2-1 -YM7M LDY #$01 ; ESTKL-3,X SRC WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1795: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1796: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1797: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1798: LDA (SRC),Y - LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1799: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1800: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1801: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1802: YM7M_A LDA #$01 ; ESTKL-6,X HALF SRC SPAN -YM7M_A LDA #$01 ; ESTKL-6,X HALF SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1803: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1804: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1805: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1806: BCC YM7M_B - BCC YM7M_B -; dhgr.tk/libs/dhgrlib.pla: 1807: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1808: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1809: YM7M_B LDA #$01 ; ESTKH-10,X HALF DST SPAN -YM7M_B LDA #$01 ; ESTKH-10,X HALF DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1810: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1811: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1812: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1813: BCC YM7M_C - BCC YM7M_C -; dhgr.tk/libs/dhgrlib.pla: 1814: INC DSTH - INC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1815: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1816: YM7M_C LDY #$01 ; ESTKL-3,X SRC WIDTH7*2-1 -YM7M_C LDY #$01 ; ESTKL-3,X SRC WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1817: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1818: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1819: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1820: LDA (SRC),Y - LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1821: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1822: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1823: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1824: DEC ESTKL-4,X ; SRC HEIGHT - DEC ESTKL-4,X ; SRC HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1825: BEQ RETM7M - BEQ RETM7M -; dhgr.tk/libs/dhgrlib.pla: 1826: YM7M_D LDA #$01 ; ESTKL-6,X HALF SRC SPAN -YM7M_D LDA #$01 ; ESTKL-6,X HALF SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1827: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1828: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1829: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1830: BCC YM7M_E - BCC YM7M_E -; dhgr.tk/libs/dhgrlib.pla: 1831: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1832: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1833: YM7M_E LDA #$01 ; ESTKH-10,X HALF DST SPAN -YM7M_E LDA #$01 ; ESTKH-10,X HALF DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1834: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1835: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1836: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1837: BCC YM7M - BCC YM7M -; dhgr.tk/libs/dhgrlib.pla: 1838: INC DSTH - INC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1839: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1840: BCC YM7M - BCC YM7M -; dhgr.tk/libs/dhgrlib.pla: 1841: RETM7M RTS -RETM7M RTS -; dhgr.tk/libs/dhgrlib.pla: 1842: end -; dhgr.tk/libs/dhgrlib.pla: 1843: asm _dcgrOpMemBl7MemB -_A103 ; _dcgrOpMemBl7MemB() -; dhgr.tk/libs/dhgrlib.pla: 1844: PLA ; SELF MODIFYING CODE! - PLA ; SELF MODIFYING CODE! -; dhgr.tk/libs/dhgrlib.pla: 1845: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1846: PLA - PLA -; dhgr.tk/libs/dhgrlib.pla: 1847: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 1848: LDA ESTKL-3,X ; SRC WIDTH7*2-1 - LDA ESTKL-3,X ; SRC WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1849: LDY #YOM7M-YM7M__+2 - LDY #YOM7M-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1850: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1851: LDY #YOM7M_C-YM7M__+2 - LDY #YOM7M_C-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1852: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1853: LDA ESTKL-6,X ; HALF SRC SPAN - LDA ESTKL-6,X ; HALF SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1854: LDY #YOM7M_A-YM7M__+2 - LDY #YOM7M_A-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1855: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1856: LDY #YOM7M_D-YM7M__+2 - LDY #YOM7M_D-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1857: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1858: LDA ESTKH-10,X ; HALF DST SPAN - LDA ESTKH-10,X ; HALF DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1859: LDY #YOM7M_B-YM7M__+2 - LDY #YOM7M_B-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1860: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1861: LDY #YOM7M_E-YM7M__+2 - LDY #YOM7M_E-YM7M__+2 -; dhgr.tk/libs/dhgrlib.pla: 1862: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1863: YOM7M LDY #$01 ; ESTKL-3,X ; SRC WIDTH7*2-1 -YOM7M LDY #$01 ; ESTKL-3,X ; SRC WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1864: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1865: end -; dhgr.tk/libs/dhgrlib.pla: 1866: asm _dcgrOpMemBl7MemC -_A104 ; _dcgrOpMemBl7MemC() -; dhgr.tk/libs/dhgrlib.pla: 1867: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1868: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1869: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1870: LDA (SRC),Y - LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1871: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1872: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1873: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1874: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1875: YOM7M_A LDA #$01 ; ESTKL-6,X HALF SRC SPAN -YOM7M_A LDA #$01 ; ESTKL-6,X HALF SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1876: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1877: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1878: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1879: BCC YOM7M_B - BCC YOM7M_B -; dhgr.tk/libs/dhgrlib.pla: 1880: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1881: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1882: YOM7M_B LDA #$01 ; ESTKH-10,X HALF DST SPAN -YOM7M_B LDA #$01 ; ESTKH-10,X HALF DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1883: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1884: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1885: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1886: BCC YOM7M_C - BCC YOM7M_C -; dhgr.tk/libs/dhgrlib.pla: 1887: INC DSTH - INC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1888: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1889: YOM7M_C LDY #$01 ; ESTKL-3,X SRC WIDTH7*2-1 -YOM7M_C LDY #$01 ; ESTKL-3,X SRC WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1890: - LDA (SRC),Y -- LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1891: end -; dhgr.tk/libs/dhgrlib.pla: 1892: asm _dcgrOpMemBl7MemD -_A105 ; _dcgrOpMemBl7MemD() -; dhgr.tk/libs/dhgrlib.pla: 1893: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1894: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1895: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1896: LDA (SRC),Y - LDA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 1897: EOR (DST),Y - EOR (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1898: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1899: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1900: BPL - - BPL - -; dhgr.tk/libs/dhgrlib.pla: 1901: YOM7M_D LDA #$01 ; ESTKL-6,X HALF SRC SPAN -YOM7M_D LDA #$01 ; ESTKL-6,X HALF SRC SPAN -; dhgr.tk/libs/dhgrlib.pla: 1902: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1903: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 1904: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 1905: BCC + - BCC + -; dhgr.tk/libs/dhgrlib.pla: 1906: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 1907: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1908: + DEC ESTKL-4,X ; SRC HEIGHT -+ DEC ESTKL-4,X ; SRC HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1909: BEQ RETOM7M - BEQ RETOM7M -; dhgr.tk/libs/dhgrlib.pla: 1910: YOM7M_E LDA #$01 ; ESTKH-10,X HALF DST SPAN -YOM7M_E LDA #$01 ; ESTKH-10,X HALF DST SPAN -; dhgr.tk/libs/dhgrlib.pla: 1911: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1912: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 1913: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1914: BCC YOM7M - BCC YOM7M -; dhgr.tk/libs/dhgrlib.pla: 1915: INC DSTH - INC DSTH -; dhgr.tk/libs/dhgrlib.pla: 1916: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1917: BCC YOM7M - BCC YOM7M -; dhgr.tk/libs/dhgrlib.pla: 1918: RETOM7M RTS -RETOM7M RTS -; dhgr.tk/libs/dhgrlib.pla: 1919: end -; dhgr.tk/libs/dhgrlib.pla: 1920: // -; dhgr.tk/libs/dhgrlib.pla: 1921: // Clear Screen/Memory Block7 -; dhgr.tk/libs/dhgrlib.pla: 1922: // -; dhgr.tk/libs/dhgrlib.pla: 1923: asm dhgrClearBl7Scr(x7, y, w7, h)#0 -_A106 ; dhgrClearBl7Scr() -; dhgr.tk/libs/dhgrlib.pla: 1924: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1925: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1926: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1927: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 1928: LDA #20 - LDA #20 -; dhgr.tk/libs/dhgrlib.pla: 1929: end -; dhgr.tk/libs/dhgrlib.pla: 1930: asm _clipXClearBl7Scr -_A107 ; _clipXClearBl7Scr() -; dhgr.tk/libs/dhgrlib.pla: 1931: JSR $F000 ; CLIPX7 - JSR $F000 ; CLIPX7 -; dhgr.tk/libs/dhgrlib.pla: 1932: BCS RETFILS - BCS RETFILS -; dhgr.tk/libs/dhgrlib.pla: 1933: LDA #192 - LDA #192 -; dhgr.tk/libs/dhgrlib.pla: 1934: end -; dhgr.tk/libs/dhgrlib.pla: 1935: asm _clipYClearBl7Scr -_A108 ; _clipYClearBl7Scr() -; dhgr.tk/libs/dhgrlib.pla: 1936: JSR $E000 ; CLIPY - JSR $E000 ; CLIPY -; dhgr.tk/libs/dhgrlib.pla: 1937: BCS RETFILS ; CLIPPED AWAY - BCS RETFILS ; CLIPPED AWAY -; dhgr.tk/libs/dhgrlib.pla: 1938: ASL ESTKL-3,X ; WIDTH7 * 2 - ASL ESTKL-3,X ; WIDTH7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 1939: DEC ESTKL-3,X ; WIDTH7 * 2 - 1 - DEC ESTKL-3,X ; WIDTH7 * 2 - 1 -; dhgr.tk/libs/dhgrlib.pla: 1940: ASL ESTKL-1,X ; X7 COORD * 2 - ASL ESTKL-1,X ; X7 COORD * 2 -; dhgr.tk/libs/dhgrlib.pla: 1941: end -; dhgr.tk/libs/dhgrlib.pla: 1942: asm _dcgrClearBl7ScrA -_A109 ; _dcgrClearBl7ScrA() -; dhgr.tk/libs/dhgrlib.pla: 1943: YFILS__ LDA #$00 -YFILS__ LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1944: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 1945: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 1946: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 1947: LDA $3002 ; AUXCLRH - LDA $3002 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 1948: LDY #YFILS_B-YFILS__+1 - LDY #YFILS_B-YFILS__+1 -; dhgr.tk/libs/dhgrlib.pla: 1949: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1950: LDA $3003 ; MEMCLRH - LDA $3003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 1951: LDY #YFILS_E-YFILS__+1 - LDY #YFILS_E-YFILS__+1 -; dhgr.tk/libs/dhgrlib.pla: 1952: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1953: LDA $3000 ; AUXCLRL - LDA $3000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 1954: LDY #YFILS_C-YFILS__+1 - LDY #YFILS_C-YFILS__+1 -; dhgr.tk/libs/dhgrlib.pla: 1955: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1956: LDA $3001 ; MEMCLRL - LDA $3001 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 1957: LDY #YFILS_F-YFILS__+1 - LDY #YFILS_F-YFILS__+1 -; dhgr.tk/libs/dhgrlib.pla: 1958: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1959: LDA ESTKL-3,X ; WIDTH7*2-1 - LDA ESTKL-3,X ; WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1960: LDY #YFILS_A-YFILS__+1 - LDY #YFILS_A-YFILS__+1 -; dhgr.tk/libs/dhgrlib.pla: 1961: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1962: LDY #YFILS_D-YFILS__+1 - LDY #YFILS_D-YFILS__+1 -; dhgr.tk/libs/dhgrlib.pla: 1963: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 1964: YFILS LDY ESTKL-2,X ; Y COORD -YFILS LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 1965: INC ESTKL-2,X ; Y COORD++ - INC ESTKL-2,X ; Y COORD++ -; dhgr.tk/libs/dhgrlib.pla: 1966: LDA ESTKL-1,X ; X7 COORD - LDA ESTKL-1,X ; X7 COORD -; dhgr.tk/libs/dhgrlib.pla: 1967: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 1968: end -; dhgr.tk/libs/dhgrlib.pla: 1969: asm _dcgrClearBl7ScrB -_A110 ; _dcgrClearBl7ScrB() -; dhgr.tk/libs/dhgrlib.pla: 1970: ADC $1000,Y ; HGRSCANL - ADC $1000,Y ; HGRSCANL -; dhgr.tk/libs/dhgrlib.pla: 1971: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 1972: LDA $2000,Y ; HGRSCANH - LDA $2000,Y ; HGRSCANH -; dhgr.tk/libs/dhgrlib.pla: 1973: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 1974: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 1975: YFILS_A LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -YFILS_A LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1976: YFILS_B LDA #$00 ; AUXCLRH -YFILS_B LDA #$00 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 1977: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1978: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1979: YFILS_C LDA #$00 ; AUXCLRL -YFILS_C LDA #$00 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 1980: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1981: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1982: BPL YFILS_B - BPL YFILS_B -; dhgr.tk/libs/dhgrlib.pla: 1983: STA $C054 ; PAGE1M - STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 1984: YFILS_D LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -YFILS_D LDY #$01 ; ESTKL-3,X WIDTH7*2-1 -; dhgr.tk/libs/dhgrlib.pla: 1985: YFILS_E LDA #$00 ; MEMCLRH -YFILS_E LDA #$00 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 1986: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1987: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1988: YFILS_F LDA #$00 ; MEMCLRL -YFILS_F LDA #$00 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 1989: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 1990: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 1991: BPL YFILS_E - BPL YFILS_E -; dhgr.tk/libs/dhgrlib.pla: 1992: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 1993: BNE YFILS - BNE YFILS -; dhgr.tk/libs/dhgrlib.pla: 1994: RETFILS RTS -RETFILS RTS -; dhgr.tk/libs/dhgrlib.pla: 1995: end -; dhgr.tk/libs/dhgrlib.pla: 1996: asm dhgrClearBl7Mem(x7, y, w7, h, memptr, memspan)#0 -_A111 ; dhgrClearBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 1997: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 1998: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 1999: ADC #6 - ADC #6 -; dhgr.tk/libs/dhgrlib.pla: 2000: TAX - TAX -; dhgr.tk/libs/dhgrlib.pla: 2001: ASL ESTKL-3,X ; WIDTH7 * 2 - ASL ESTKL-3,X ; WIDTH7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 2002: LDA ESTKL-1,X ; X7 * 2 - LDA ESTKL-1,X ; X7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 2003: ASL - ASL -; dhgr.tk/libs/dhgrlib.pla: 2004: ADC ESTKL-5,X ; MEMPTR - ADC ESTKL-5,X ; MEMPTR -; dhgr.tk/libs/dhgrlib.pla: 2005: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 2006: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 2007: ADC ESTKH-5,X - ADC ESTKH-5,X -; dhgr.tk/libs/dhgrlib.pla: 2008: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 2009: LDY ESTKL-2,X ; Y COORD - LDY ESTKL-2,X ; Y COORD -; dhgr.tk/libs/dhgrlib.pla: 2010: BEQ + - BEQ + -; dhgr.tk/libs/dhgrlib.pla: 2011: - ;CLC ; ADVANCE TO DST Y SCANLINE -- ;CLC ; ADVANCE TO DST Y SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 2012: LDA ESTKL-6,X ; SPAN - LDA ESTKL-6,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 2013: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 2014: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 2015: LDA #$00 ; ESTKH-6,X - LDA #$00 ; ESTKH-6,X -; dhgr.tk/libs/dhgrlib.pla: 2016: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 2017: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 2018: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2019: BNE - - BNE - -; dhgr.tk/libs/dhgrlib.pla: 2020: + LDA DSTL -+ LDA DSTL -; dhgr.tk/libs/dhgrlib.pla: 2021: BNE + - BNE + -; dhgr.tk/libs/dhgrlib.pla: 2022: DEC DSTH - DEC DSTH -; dhgr.tk/libs/dhgrlib.pla: 2023: + DEC DSTL -+ DEC DSTL -; dhgr.tk/libs/dhgrlib.pla: 2024: ;LDA ESTKH-6,X ; SRC POINTS TO MEM HALF OF SCANLINE - ;LDA ESTKH-6,X ; SRC POINTS TO MEM HALF OF SCANLINE -; dhgr.tk/libs/dhgrlib.pla: 2025: ;LSR - ;LSR -; dhgr.tk/libs/dhgrlib.pla: 2026: ;PHA - ;PHA -; dhgr.tk/libs/dhgrlib.pla: 2027: LDA ESTKL-6,X ; SPAN - LDA ESTKL-6,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 2028: LSR ; ROR SPAN / 2 - LSR ; ROR SPAN / 2 -; dhgr.tk/libs/dhgrlib.pla: 2029: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 2030: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 2031: LDA #$00 ; PLA - LDA #$00 ; PLA -; dhgr.tk/libs/dhgrlib.pla: 2032: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 2033: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 2034: end -; dhgr.tk/libs/dhgrlib.pla: 2035: asm _dcgrClearBl7MemB -_A112 ; _dcgrClearBl7MemB() -; dhgr.tk/libs/dhgrlib.pla: 2036: YFILM__ LDA #$00 ; SELF MODIFYING CODE! -YFILM__ LDA #$00 ; SELF MODIFYING CODE! -; dhgr.tk/libs/dhgrlib.pla: 2037: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 2038: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 2039: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 2040: LDA $3002 ; AUXCLRH - LDA $3002 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 2041: LDY #YFILM_A-YFILM__+1 - LDY #YFILM_A-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2042: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2043: LDA $3003 ; MEMCLRH - LDA $3003 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 2044: LDY #YFILM_B-YFILM__+1 - LDY #YFILM_B-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2045: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2046: LDA $3000 ; AUXCLRL - LDA $3000 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 2047: LDY #YFILM_C-YFILM__+1 - LDY #YFILM_C-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2048: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2049: LDA $3001 ; MEMCLRL - LDA $3001 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 2050: LDY #YFILM_D-YFILM__+1 - LDY #YFILM_D-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2051: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2052: LDA ESTKL-3,X ; WIDTH7 - LDA ESTKL-3,X ; WIDTH7 -; dhgr.tk/libs/dhgrlib.pla: 2053: LDY #YFILM-YFILM__+1 - LDY #YFILM-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2054: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2055: LDA ESTKL-6,X ; SPAN - LDA ESTKL-6,X ; SPAN -; dhgr.tk/libs/dhgrlib.pla: 2056: LDY #YFILM_E-YFILM__+1 - LDY #YFILM_E-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2057: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2058: LDY #YFILM_F-YFILM__+1 - LDY #YFILM_F-YFILM__+1 -; dhgr.tk/libs/dhgrlib.pla: 2059: STA (TMP),Y - STA (TMP),Y -; dhgr.tk/libs/dhgrlib.pla: 2060: YFILM LDY #$02 ; ESTKL-3,X ; WIDTH7 -YFILM LDY #$02 ; ESTKL-3,X ; WIDTH7 -; dhgr.tk/libs/dhgrlib.pla: 2061: YFILM_A LDA #$01 ; AUXCLRH -YFILM_A LDA #$01 ; AUXCLRH -; dhgr.tk/libs/dhgrlib.pla: 2062: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 2063: YFILM_B LDA #$02 ; MEMCLRH -YFILM_B LDA #$02 ; MEMCLRH -; dhgr.tk/libs/dhgrlib.pla: 2064: STA (SRC),Y - STA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 2065: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2066: YFILM_C LDA #$03 ; AUXCLRL -YFILM_C LDA #$03 ; AUXCLRL -; dhgr.tk/libs/dhgrlib.pla: 2067: STA (DST),Y - STA (DST),Y -; dhgr.tk/libs/dhgrlib.pla: 2068: YFILM_D LDA #$04 ; MEMCLRL -YFILM_D LDA #$04 ; MEMCLRL -; dhgr.tk/libs/dhgrlib.pla: 2069: STA (SRC),Y - STA (SRC),Y -; dhgr.tk/libs/dhgrlib.pla: 2070: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2071: BNE YFILM_A - BNE YFILM_A -; dhgr.tk/libs/dhgrlib.pla: 2072: DEC ESTKL-4,X ; HEIGHT - DEC ESTKL-4,X ; HEIGHT -; dhgr.tk/libs/dhgrlib.pla: 2073: BEQ RETYFM - BEQ RETYFM -; dhgr.tk/libs/dhgrlib.pla: 2074: YFILM_E LDA #$01 ; ESTKL-6,X SPAN -YFILM_E LDA #$01 ; ESTKL-6,X SPAN -; dhgr.tk/libs/dhgrlib.pla: 2075: ADC DSTL - ADC DSTL -; dhgr.tk/libs/dhgrlib.pla: 2076: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 2077: BCS + - BCS + -; dhgr.tk/libs/dhgrlib.pla: 2078: YFILM_F LDA #$01 ; ESTKL-6,X SPAN -YFILM_F LDA #$01 ; ESTKL-6,X SPAN -; dhgr.tk/libs/dhgrlib.pla: 2079: ADC SRCL - ADC SRCL -; dhgr.tk/libs/dhgrlib.pla: 2080: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 2081: BCC YFILM - BCC YFILM -; dhgr.tk/libs/dhgrlib.pla: 2082: INC SRCH - INC SRCH -; dhgr.tk/libs/dhgrlib.pla: 2083: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 2084: BCC YFILM - BCC YFILM -; dhgr.tk/libs/dhgrlib.pla: 2085: + INC DSTH -+ INC DSTH -; dhgr.tk/libs/dhgrlib.pla: 2086: CLC - CLC -; dhgr.tk/libs/dhgrlib.pla: 2087: BCC YFILM_F - BCC YFILM_F -; dhgr.tk/libs/dhgrlib.pla: 2088: RETYFM RTS -RETYFM RTS -; dhgr.tk/libs/dhgrlib.pla: 2089: end -; dhgr.tk/libs/dhgrlib.pla: 2090: // -; dhgr.tk/libs/dhgrlib.pla: 2091: // Tile -> Screen Transfer -; dhgr.tk/libs/dhgrlib.pla: 2092: // -; dhgr.tk/libs/dhgrlib.pla: 2093: asm dhgrTilesScr(x7, y8, strptr, strlen, tileset)#0 -_A113 ; dhgrTilesScr() -; dhgr.tk/libs/dhgrlib.pla: 2094: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2095: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2096: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2097: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2098: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2099: LDA ESTKL-5,X ; TILESETPTRL - LDA ESTKL-5,X ; TILESETPTRL -; dhgr.tk/libs/dhgrlib.pla: 2100: STA DSTL - STA DSTL -; dhgr.tk/libs/dhgrlib.pla: 2101: LDA ESTKH-5,X ; TILESETPTRH - LDA ESTKH-5,X ; TILESETPTRH -; dhgr.tk/libs/dhgrlib.pla: 2102: STA DSTH - STA DSTH -; dhgr.tk/libs/dhgrlib.pla: 2103: LDA ESTKL-3,X ; STRPTRL - LDA ESTKL-3,X ; STRPTRL -; dhgr.tk/libs/dhgrlib.pla: 2104: STA TMPL - STA TMPL -; dhgr.tk/libs/dhgrlib.pla: 2105: LDA ESTKH-3,X ; STRPTRH - LDA ESTKH-3,X ; STRPTRH -; dhgr.tk/libs/dhgrlib.pla: 2106: STA TMPH - STA TMPH -; dhgr.tk/libs/dhgrlib.pla: 2107: LDY ESTKL-2,X ; Y8 COORD - LDY ESTKL-2,X ; Y8 COORD -; dhgr.tk/libs/dhgrlib.pla: 2108: LDA ESTKL-1,X ; X7 COORD*2 - LDA ESTKL-1,X ; X7 COORD*2 -; dhgr.tk/libs/dhgrlib.pla: 2109: ASL - ASL -; dhgr.tk/libs/dhgrlib.pla: 2110: ;CLC - ;CLC -; dhgr.tk/libs/dhgrlib.pla: 2111: end -; dhgr.tk/libs/dhgrlib.pla: 2112: asm _dcgrTileScrA -_A114 ; _dcgrTileScrA() -; dhgr.tk/libs/dhgrlib.pla: 2113: ADC $1000,Y ; SCANBTTML - ADC $1000,Y ; SCANBTTML -; dhgr.tk/libs/dhgrlib.pla: 2114: STA $D700 ; SELF MODIFY LOOP - STA $D700 ; SELF MODIFY LOOP -; dhgr.tk/libs/dhgrlib.pla: 2115: STA $D600 - STA $D600 -; dhgr.tk/libs/dhgrlib.pla: 2116: STA $D500 - STA $D500 -; dhgr.tk/libs/dhgrlib.pla: 2117: STA $D400 - STA $D400 -; dhgr.tk/libs/dhgrlib.pla: 2118: STA $D300 - STA $D300 -; dhgr.tk/libs/dhgrlib.pla: 2119: STA $D200 - STA $D200 -; dhgr.tk/libs/dhgrlib.pla: 2120: STA $D100 - STA $D100 -; dhgr.tk/libs/dhgrlib.pla: 2121: STA $D000 - STA $D000 -; dhgr.tk/libs/dhgrlib.pla: 2122: end -; dhgr.tk/libs/dhgrlib.pla: 2123: asm _dcgrTileScrB -_A115 ; _dcgrTileScrB() -; dhgr.tk/libs/dhgrlib.pla: 2124: LDA $2000,Y ; SCANBTTMH - LDA $2000,Y ; SCANBTTMH -; dhgr.tk/libs/dhgrlib.pla: 2125: STA $E700 ; SELF MODIFY LOOP - STA $E700 ; SELF MODIFY LOOP -; dhgr.tk/libs/dhgrlib.pla: 2126: SEC ; MOVE TO NEXT SCAN ADDRESS (BOTTOM TO TOP) - SEC ; MOVE TO NEXT SCAN ADDRESS (BOTTOM TO TOP) -; dhgr.tk/libs/dhgrlib.pla: 2127: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2128: STA $E600 - STA $E600 -; dhgr.tk/libs/dhgrlib.pla: 2129: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2130: STA $E500 - STA $E500 -; dhgr.tk/libs/dhgrlib.pla: 2131: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2132: STA $E400 - STA $E400 -; dhgr.tk/libs/dhgrlib.pla: 2133: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2134: STA $E300 - STA $E300 -; dhgr.tk/libs/dhgrlib.pla: 2135: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2136: STA $E200 - STA $E200 -; dhgr.tk/libs/dhgrlib.pla: 2137: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2138: STA $E100 - STA $E100 -; dhgr.tk/libs/dhgrlib.pla: 2139: SBC #$04 - SBC #$04 -; dhgr.tk/libs/dhgrlib.pla: 2140: STA $E000 - STA $E000 -; dhgr.tk/libs/dhgrlib.pla: 2141: LDA ESTKL-4,X ; STRLEN - LDA ESTKL-4,X ; STRLEN -; dhgr.tk/libs/dhgrlib.pla: 2142: BEQ RETTS - BEQ RETTS -; dhgr.tk/libs/dhgrlib.pla: 2143: STX ESP - STX ESP -; dhgr.tk/libs/dhgrlib.pla: 2144: ASL ; TWO SCREEN BYTES PER TILE - ASL ; TWO SCREEN BYTES PER TILE -; dhgr.tk/libs/dhgrlib.pla: 2145: TAX ; DRAW RIGHT TO LEFT - TAX ; DRAW RIGHT TO LEFT -; dhgr.tk/libs/dhgrlib.pla: 2146: DEX - DEX -; dhgr.tk/libs/dhgrlib.pla: 2147: LPTS TXA -LPTS TXA -; dhgr.tk/libs/dhgrlib.pla: 2148: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 2149: TAY - TAY -; dhgr.tk/libs/dhgrlib.pla: 2150: LDA (TMP),Y ; TILE INDEX * 32 = INDEX * 256 / 8 - LDA (TMP),Y ; TILE INDEX * 32 = INDEX * 256 / 8 -; dhgr.tk/libs/dhgrlib.pla: 2151: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 2152: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 2153: LDA #$00 - LDA #$00 -; dhgr.tk/libs/dhgrlib.pla: 2154: ROR - ROR -; dhgr.tk/libs/dhgrlib.pla: 2155: LSR SRCH - LSR SRCH -; dhgr.tk/libs/dhgrlib.pla: 2156: ROR - ROR -; dhgr.tk/libs/dhgrlib.pla: 2157: LSR SRCH - LSR SRCH -; dhgr.tk/libs/dhgrlib.pla: 2158: ROR - ROR -; dhgr.tk/libs/dhgrlib.pla: 2159: ; CLC ; CARRY IS CLEAR FROM ABOVE -; CLC ; CARRY IS CLEAR FROM ABOVE -; dhgr.tk/libs/dhgrlib.pla: 2160: ADC DSTL ; ADD TO TILESETPTR - ADC DSTL ; ADD TO TILESETPTR -; dhgr.tk/libs/dhgrlib.pla: 2161: STA SRCL - STA SRCL -; dhgr.tk/libs/dhgrlib.pla: 2162: LDA SRCH - LDA SRCH -; dhgr.tk/libs/dhgrlib.pla: 2163: ADC DSTH - ADC DSTH -; dhgr.tk/libs/dhgrlib.pla: 2164: STA SRCH - STA SRCH -; dhgr.tk/libs/dhgrlib.pla: 2165: LDY #31 ; START FILLING MAIN MEM HALF OF TILE - LDY #31 ; START FILLING MAIN MEM HALF OF TILE -; dhgr.tk/libs/dhgrlib.pla: 2166: STA $C054 ; PAGE1M - STA $C054 ; PAGE1M -; dhgr.tk/libs/dhgrlib.pla: 2167: end -; dhgr.tk/libs/dhgrlib.pla: 2168: asm _dcgrTileScrC -_A116 ; _dcgrTileScrC() -; dhgr.tk/libs/dhgrlib.pla: 2169: - LDA (SRC),Y ; SCAN 7 -- LDA (SRC),Y ; SCAN 7 -; dhgr.tk/libs/dhgrlib.pla: 2170: STA $2701,X - STA $2701,X -; dhgr.tk/libs/dhgrlib.pla: 2171: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2172: LDA (SRC),Y ; SCAN 6 - LDA (SRC),Y ; SCAN 6 -; dhgr.tk/libs/dhgrlib.pla: 2173: STA $2601,X - STA $2601,X -; dhgr.tk/libs/dhgrlib.pla: 2174: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2175: LDA (SRC),Y ; SCAN 5 - LDA (SRC),Y ; SCAN 5 -; dhgr.tk/libs/dhgrlib.pla: 2176: STA $2501,X - STA $2501,X -; dhgr.tk/libs/dhgrlib.pla: 2177: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2178: LDA (SRC),Y ; SCAN 4 - LDA (SRC),Y ; SCAN 4 -; dhgr.tk/libs/dhgrlib.pla: 2179: STA $2401,X - STA $2401,X -; dhgr.tk/libs/dhgrlib.pla: 2180: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2181: LDA (SRC),Y ; SCAN 3 - LDA (SRC),Y ; SCAN 3 -; dhgr.tk/libs/dhgrlib.pla: 2182: STA $2301,X - STA $2301,X -; dhgr.tk/libs/dhgrlib.pla: 2183: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2184: LDA (SRC),Y ; SCAN 2 - LDA (SRC),Y ; SCAN 2 -; dhgr.tk/libs/dhgrlib.pla: 2185: STA $2201,X - STA $2201,X -; dhgr.tk/libs/dhgrlib.pla: 2186: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2187: LDA (SRC),Y ; SCAN 1 - LDA (SRC),Y ; SCAN 1 -; dhgr.tk/libs/dhgrlib.pla: 2188: STA $2101,X - STA $2101,X -; dhgr.tk/libs/dhgrlib.pla: 2189: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2190: LDA (SRC),Y ; SCAN 0 - LDA (SRC),Y ; SCAN 0 -; dhgr.tk/libs/dhgrlib.pla: 2191: STA $2001,X - STA $2001,X -; dhgr.tk/libs/dhgrlib.pla: 2192: DEY - DEY -; dhgr.tk/libs/dhgrlib.pla: 2193: BMI NXTTS ; END OF TILE - BMI NXTTS ; END OF TILE -; dhgr.tk/libs/dhgrlib.pla: 2194: DEX - DEX -; dhgr.tk/libs/dhgrlib.pla: 2195: TXA - TXA -; dhgr.tk/libs/dhgrlib.pla: 2196: LSR - LSR -; dhgr.tk/libs/dhgrlib.pla: 2197: BCC - ; FILL HI THEN LO BYTES - BCC - ; FILL HI THEN LO BYTES -; dhgr.tk/libs/dhgrlib.pla: 2198: STA $C055 ; PAGE1X - STA $C055 ; PAGE1X -; dhgr.tk/libs/dhgrlib.pla: 2199: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2200: INX - INX -; dhgr.tk/libs/dhgrlib.pla: 2201: BNE - ; FILL AUX HALF OF TILE - BNE - ; FILL AUX HALF OF TILE -; dhgr.tk/libs/dhgrlib.pla: 2202: NXTTS DEX -NXTTS DEX -; dhgr.tk/libs/dhgrlib.pla: 2203: BPL LPTS - BPL LPTS -; dhgr.tk/libs/dhgrlib.pla: 2204: LDX ESP - LDX ESP -; dhgr.tk/libs/dhgrlib.pla: 2205: RETTS RTS -RETTS RTS -; dhgr.tk/libs/dhgrlib.pla: 2206: end -; dhgr.tk/libs/dhgrlib.pla: 2207: // -; dhgr.tk/libs/dhgrlib.pla: 2208: // Slow implementation of Tiles -> Mem -; dhgr.tk/libs/dhgrlib.pla: 2209: // -; dhgr.tk/libs/dhgrlib.pla: 2210: def dhgrTileMem(tileptr, memptr, memspan)#0 -_SUBSEG ; BYTECODE STARTS - ; tileptr -> [0] - ; memptr -> [2] - ; memspan -> [4] -_C000 ; dhgrTileMem() -; dhgr.tk/libs/dhgrlib.pla: 2211: byte h, v - ; h -> [6] - ; v -> [7] -; dhgr.tk/libs/dhgrlib.pla: 2212: word rowptr - ; rowptr -> [8] -; dhgr.tk/libs/dhgrlib.pla: 2213: -; dhgr.tk/libs/dhgrlib.pla: 2214: // -; dhgr.tk/libs/dhgrlib.pla: 2215: // AUX half of memptr -; dhgr.tk/libs/dhgrlib.pla: 2216: // -; dhgr.tk/libs/dhgrlib.pla: 2217: for h = 0 to 1 - !BYTE $58,$0A,$03 ; ENTER 10,3 - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6C,$06 ; DLB [6] -; dhgr.tk/libs/dhgrlib.pla: 2218: rowptr = memptr + h -; dhgr.tk/libs/dhgrlib.pla: 2219: for v = 0 to 7 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6C,$07 ; DLB [7] -; dhgr.tk/libs/dhgrlib.pla: 2220: ^rowptr = tileptr->[v] -; dhgr.tk/libs/dhgrlib.pla: 2221: rowptr = rowptr + memspan -; dhgr.tk/libs/dhgrlib.pla: 2222: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$08 ; SLW [8] -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2223: tileptr = tileptr + 8 -; dhgr.tk/libs/dhgrlib.pla: 2224: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$00 ; SLW [0] -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2225: // -; dhgr.tk/libs/dhgrlib.pla: 2226: // MEM half of memptr -; dhgr.tk/libs/dhgrlib.pla: 2227: // -; dhgr.tk/libs/dhgrlib.pla: 2228: memptr = memptr + memspan / 2 -; dhgr.tk/libs/dhgrlib.pla: 2229: for h = 0 to 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 -_B008 - !BYTE $6C,$06 ; DLB [6] -; dhgr.tk/libs/dhgrlib.pla: 2230: rowptr = memptr + h -; dhgr.tk/libs/dhgrlib.pla: 2231: for v = 0 to 7 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B011 - !BYTE $6C,$07 ; DLB [7] -; dhgr.tk/libs/dhgrlib.pla: 2232: ^rowptr = tileptr->[v] -; dhgr.tk/libs/dhgrlib.pla: 2233: rowptr = rowptr + memspan -; dhgr.tk/libs/dhgrlib.pla: 2234: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$08 ; SLW [8] -_B012 - !BYTE $A4 ; INCBRLE _B011 - !WORD _B011-* -_B010 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2235: tileptr = tileptr + 8 -; dhgr.tk/libs/dhgrlib.pla: 2236: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$00 ; SLW [0] -_B009 - !BYTE $A4 ; INCBRLE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2237: end - !BYTE $5A,$0A ; LEAVE 10 -; dhgr.tk/libs/dhgrlib.pla: 2238: def dhgrTilesMem(x7, y8, strptr, strlen, tileset, memptr, memspan)#0 - ; x7 -> [0] - ; y8 -> [2] - ; strptr -> [4] - ; strlen -> [6] - ; tileset -> [8] - ; memptr -> [10] - ; memspan -> [12] -_C001 ; dhgrTilesMem() -; dhgr.tk/libs/dhgrlib.pla: 2239: -; dhgr.tk/libs/dhgrlib.pla: 2240: if y8; memptr = memptr + y8 * 8 * memspan; fin - !BYTE $58,$0E,$07 ; ENTER 14,7 - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $66,$0C ; LLW [12] - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] -_B013 -_B014 -; dhgr.tk/libs/dhgrlib.pla: 2241: memptr = memptr + x7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 2242: while strlen - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B015 -; dhgr.tk/libs/dhgrlib.pla: 2243: dhgrTileMem(tileset + ^strptr * 32, memptr, memspan) -; dhgr.tk/libs/dhgrlib.pla: 2244: strptr++ - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $0A ; CN 5 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C000 -_F000 !WORD _C000 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; dhgr.tk/libs/dhgrlib.pla: 2245: strlen-- - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; dhgr.tk/libs/dhgrlib.pla: 2246: loop - !BYTE $76,$06 ; SLW [6] -_B017 - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B015 - !WORD _B015-* -_B016 -; dhgr.tk/libs/dhgrlib.pla: 2247: end - !BYTE $5A,$0E ; LEAVE 14 -; dhgr.tk/libs/dhgrlib.pla: 2248: // -; dhgr.tk/libs/dhgrlib.pla: 2249: // Convert Block7 to Tile format -; dhgr.tk/libs/dhgrlib.pla: 2250: // -; dhgr.tk/libs/dhgrlib.pla: 2251: export def dhgrMemBl7Tile(x7, y, memptr, memspan, tileptr)#0 - ; x7 -> [0] - ; y -> [2] - ; memptr -> [4] - ; memspan -> [6] - ; tileptr -> [8] -_C002 ; dhgrMemBl7Tile() -; dhgr.tk/libs/dhgrlib.pla: 2252: byte h, v - ; h -> [10] - ; v -> [11] -; dhgr.tk/libs/dhgrlib.pla: 2253: word rowptr - ; rowptr -> [12] -; dhgr.tk/libs/dhgrlib.pla: 2254: -; dhgr.tk/libs/dhgrlib.pla: 2255: if y; memptr = memptr + y * memspan; fin - !BYTE $58,$0E,$05 ; ENTER 14,5 - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] -_B018 -_B019 -; dhgr.tk/libs/dhgrlib.pla: 2256: // -; dhgr.tk/libs/dhgrlib.pla: 2257: // AUX half of Bl7 scanline -; dhgr.tk/libs/dhgrlib.pla: 2258: // -; dhgr.tk/libs/dhgrlib.pla: 2259: memptr = memptr + x7 * 2 -; dhgr.tk/libs/dhgrlib.pla: 2260: for h = 0 to 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 -_B021 - !BYTE $6C,$0A ; DLB [10] -; dhgr.tk/libs/dhgrlib.pla: 2261: rowptr = memptr + h -; dhgr.tk/libs/dhgrlib.pla: 2262: for v = 0 to 7 - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $76,$0C ; SLW [12] - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B024 - !BYTE $6C,$0B ; DLB [11] -; dhgr.tk/libs/dhgrlib.pla: 2263: ^(tileptr + v) = ^rowptr -; dhgr.tk/libs/dhgrlib.pla: 2264: rowptr = rowptr + memspan -; dhgr.tk/libs/dhgrlib.pla: 2265: next - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$0C ; SLW [12] -_B025 - !BYTE $A4 ; INCBRLE _B024 - !WORD _B024-* -_B023 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2266: tileptr = tileptr + 8 -; dhgr.tk/libs/dhgrlib.pla: 2267: next - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$08 ; SLW [8] -_B022 - !BYTE $A4 ; INCBRLE _B021 - !WORD _B021-* -_B020 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2268: // -; dhgr.tk/libs/dhgrlib.pla: 2269: // MEM half of Bl7 scan -; dhgr.tk/libs/dhgrlib.pla: 2270: // -; dhgr.tk/libs/dhgrlib.pla: 2271: memptr = memptr + memspan / 2 -; dhgr.tk/libs/dhgrlib.pla: 2272: for h = 0 to 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 -_B027 - !BYTE $6C,$0A ; DLB [10] -; dhgr.tk/libs/dhgrlib.pla: 2273: rowptr = memptr + h -; dhgr.tk/libs/dhgrlib.pla: 2274: for v = 0 to 7 - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $76,$0C ; SLW [12] - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B030 - !BYTE $6C,$0B ; DLB [11] -; dhgr.tk/libs/dhgrlib.pla: 2275: ^(tileptr + v) = ^rowptr -; dhgr.tk/libs/dhgrlib.pla: 2276: rowptr = rowptr + memspan -; dhgr.tk/libs/dhgrlib.pla: 2277: next - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$0C ; SLW [12] -_B031 - !BYTE $A4 ; INCBRLE _B030 - !WORD _B030-* -_B029 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2278: tileptr = tileptr + 8 -; dhgr.tk/libs/dhgrlib.pla: 2279: next - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$08 ; SLW [8] -_B028 - !BYTE $A4 ; INCBRLE _B027 - !WORD _B027-* -_B026 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2280: end - !BYTE $5A,$0E ; LEAVE 14 -; dhgr.tk/libs/dhgrlib.pla: 2281: // -; dhgr.tk/libs/dhgrlib.pla: 2282: // Hack to extend parameters for memory functions -; dhgr.tk/libs/dhgrlib.pla: 2283: // -; dhgr.tk/libs/dhgrlib.pla: 2284: def extPlotMem#0 -_C003 ; extPlotMem() -; dhgr.tk/libs/dhgrlib.pla: 2285: (@dcgrPlotMem)(surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2286: end - !BYTE $6A ; LAW _D049+0 -_F001 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F002 !WORD _D050+0 - !BYTE $54 ; CALL _A053 -_F003 !WORD _A053 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2287: def extHLinMem#0 -_C004 ; extHLinMem() -; dhgr.tk/libs/dhgrlib.pla: 2288: (@dcgrHLinMem)(surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2289: end - !BYTE $6A ; LAW _D049+0 -_F004 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F005 !WORD _D050+0 - !BYTE $54 ; CALL _A069 -_F006 !WORD _A069 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2290: def extVLinMem#0 -_C005 ; extVLinMem() -; dhgr.tk/libs/dhgrlib.pla: 2291: (@dcgrVLinMem)(surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2292: end - !BYTE $6A ; LAW _D049+0 -_F007 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F008 !WORD _D050+0 - !BYTE $54 ; CALL _A071 -_F009 !WORD _A071 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2293: def extBitMapMem#0 -_C006 ; extBitMapMem() -; dhgr.tk/libs/dhgrlib.pla: 2294: (@dcgrBitmapMem)(surfWidth, surfHeight, surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2295: end - !BYTE $6A ; LAW _D046+0 -_F010 !WORD _D046+0 - !BYTE $6A ; LAW _D048+0 -_F011 !WORD _D048+0 - !BYTE $6A ; LAW _D049+0 -_F012 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F013 !WORD _D050+0 - !BYTE $54 ; CALL _A073 -_F014 !WORD _A073 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2296: def extPixMapMem#0 -_C007 ; extPixMapMem() -; dhgr.tk/libs/dhgrlib.pla: 2297: (@dcgrPixmapMem)(surfWidth, surfHeight, surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2298: end - !BYTE $6A ; LAW _D046+0 -_F015 !WORD _D046+0 - !BYTE $6A ; LAW _D048+0 -_F016 !WORD _D048+0 - !BYTE $6A ; LAW _D049+0 -_F017 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F018 !WORD _D050+0 - !BYTE $54 ; CALL _A075 -_F019 !WORD _A075 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2299: def extRleMapMem#0 -_C008 ; extRleMapMem() -; dhgr.tk/libs/dhgrlib.pla: 2300: (@dcgrRlemapMem)(surfWidth, surfHeight, surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2301: end - !BYTE $6A ; LAW _D046+0 -_F020 !WORD _D046+0 - !BYTE $6A ; LAW _D048+0 -_F021 !WORD _D048+0 - !BYTE $6A ; LAW _D049+0 -_F022 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F023 !WORD _D050+0 - !BYTE $54 ; CALL _A081 -_F024 !WORD _A081 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2302: def extScrBl7Mem#0 -_C009 ; extScrBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 2303: (@dhgrScrBl7Mem)(surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2304: end - !BYTE $6A ; LAW _D049+0 -_F025 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F026 !WORD _D050+0 - !BYTE $54 ; CALL _A086 -_F027 !WORD _A086 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2305: def extMemBl7Mem#0 -_C010 ; extMemBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 2306: (@dhgrMemBl7Mem)(surfWidth7, surfHeight, surfPtr)#0 -; dhgr.tk/libs/dhgrlib.pla: 2307: end - !BYTE $6A ; LAW _D047+0 -_F028 !WORD _D047+0 - !BYTE $6A ; LAW _D048+0 -_F029 !WORD _D048+0 - !BYTE $6A ; LAW _D049+0 -_F030 !WORD _D049+0 - !BYTE $54 ; CALL _A098 -_F031 !WORD _A098 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2308: def extTilesMem#0 -_C011 ; extTilesMem() -; dhgr.tk/libs/dhgrlib.pla: 2309: (@dhgrTilesMem)(surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2310: end - !BYTE $6A ; LAW _D049+0 -_F032 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F033 !WORD _D050+0 - !BYTE $54 ; CALL _C001 -_F034 !WORD _C001 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2311: def extClearBl7Mem#0 -_C012 ; extClearBl7Mem() -; dhgr.tk/libs/dhgrlib.pla: 2312: (@dhgrClearBl7Mem)(surfPtr, surfSpan)#0 -; dhgr.tk/libs/dhgrlib.pla: 2313: end - !BYTE $6A ; LAW _D049+0 -_F035 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F036 !WORD _D050+0 - !BYTE $54 ; CALL _A111 -_F037 !WORD _A111 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2314: def dhgrOpScr(op)#0 - ; op -> [0] -_C013 ; dhgrOpScr() -; dhgr.tk/libs/dhgrlib.pla: 2315: byte opcode - ; opcode -> [2] -; dhgr.tk/libs/dhgrlib.pla: 2316: -; dhgr.tk/libs/dhgrlib.pla: 2317: // -; dhgr.tk/libs/dhgrlib.pla: 2318: // Self modifying code! -; dhgr.tk/libs/dhgrlib.pla: 2319: // -; dhgr.tk/libs/dhgrlib.pla: 2320: opcode = $11 // ORA (ZP),Y - !BYTE $58,$03,$01 ; ENTER 3,1 -; dhgr.tk/libs/dhgrlib.pla: 2321: when op - !BYTE $2A,$11 ; CB 17 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B033-* -; dhgr.tk/libs/dhgrlib.pla: 2322: is OP_XOR -_B034 -; dhgr.tk/libs/dhgrlib.pla: 2323: opcode = opcode + $20 // $51 = EOR (ZP),Y -; dhgr.tk/libs/dhgrlib.pla: 2324: is OP_AND - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$20 ; ADDI 32 - !BYTE $74,$02 ; SLB [2] -_B035 -; dhgr.tk/libs/dhgrlib.pla: 2325: opcode = opcode + $20 // $31 = AND (ZP),Y -; dhgr.tk/libs/dhgrlib.pla: 2326: is OP_OR - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$20 ; ADDI 32 - !BYTE $74,$02 ; SLB [2] -_B036 -; dhgr.tk/libs/dhgrlib.pla: 2327: _jmpOpPlotScr:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2328: _dcgrHLinScrB:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2329: _dcgrVLinScrB:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2330: _dcgrBitmapScrB:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2331: _dcgrPixmapScrC:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2332: _dcgrPixmapScrE:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2333: _dcgrRlemapScrC:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2334: _dcgrRlemapScrE:1 = @_dcgrOpPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2335: _dcgrOpPlotScrD.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2336: _dcgrOpPlotScrE.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2337: _dcgrOpPlotScrG.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2338: _dcgrOpPlotScrH.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2339: _jmpOpMemBl7Scr:1 = @_dcgrOpMemBl7ScrA -; dhgr.tk/libs/dhgrlib.pla: 2340: _dcgrOpMemBl7ScrC.0 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2341: _dcgrOpMemBl7ScrD.0 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2342: break - !BYTE $26 ; LA _A025+0 -_F038 !WORD _A025+0 - !BYTE $7A ; SAW _A017+1 -_F039 !WORD _A017+1 - !BYTE $26 ; LA _A025+0 -_F040 !WORD _A025+0 - !BYTE $7A ; SAW _A034+1 -_F041 !WORD _A034+1 - !BYTE $26 ; LA _A025+0 -_F042 !WORD _A025+0 - !BYTE $7A ; SAW _A037+1 -_F043 !WORD _A037+1 - !BYTE $26 ; LA _A025+0 -_F044 !WORD _A025+0 - !BYTE $7A ; SAW _A040+1 -_F045 !WORD _A040+1 - !BYTE $26 ; LA _A025+0 -_F046 !WORD _A025+0 - !BYTE $7A ; SAW _A044+1 -_F047 !WORD _A044+1 - !BYTE $26 ; LA _A025+0 -_F048 !WORD _A025+0 - !BYTE $7A ; SAW _A046+1 -_F049 !WORD _A046+1 - !BYTE $26 ; LA _A025+0 -_F050 !WORD _A025+0 - !BYTE $7A ; SAW _A050+1 -_F051 !WORD _A050+1 - !BYTE $26 ; LA _A025+0 -_F052 !WORD _A025+0 - !BYTE $7A ; SAW _A052+1 -_F053 !WORD _A052+1 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A027+3 -_F054 !WORD _A027+3 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A028+3 -_F055 !WORD _A028+3 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A030+3 -_F056 !WORD _A030+3 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A031+3 -_F057 !WORD _A031+3 - !BYTE $26 ; LA _A094+0 -_F058 !WORD _A094+0 - !BYTE $7A ; SAW _A091+1 -_F059 !WORD _A091+1 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A096+0 -_F060 !WORD _A096+0 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A097+0 -_F061 !WORD _A097+0 - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -; dhgr.tk/libs/dhgrlib.pla: 2343: otherwise // OP_SRC -_B033 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B034-* - !WORD $0002 - !WORD _B035-* - !WORD $0003 - !WORD _B036-* -; dhgr.tk/libs/dhgrlib.pla: 2344: _jmpOpPlotScr:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2345: _dcgrHLinScrB:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2346: _dcgrVLinScrB:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2347: _dcgrBitmapScrB:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2348: _dcgrPixmapScrC:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2349: _dcgrPixmapScrE:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2350: _dcgrRlemapScrC:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2351: _dcgrRlemapScrE:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2352: _jmpOpMemBl7Scr:1 = @_dcgrMemBl7ScrA -; dhgr.tk/libs/dhgrlib.pla: 2353: -; dhgr.tk/libs/dhgrlib.pla: 2354: wend - !BYTE $26 ; LA _A018+0 -_F062 !WORD _A018+0 - !BYTE $7A ; SAW _A017+1 -_F063 !WORD _A017+1 - !BYTE $26 ; LA _A018+0 -_F064 !WORD _A018+0 - !BYTE $7A ; SAW _A034+1 -_F065 !WORD _A034+1 - !BYTE $26 ; LA _A018+0 -_F066 !WORD _A018+0 - !BYTE $7A ; SAW _A037+1 -_F067 !WORD _A037+1 - !BYTE $26 ; LA _A018+0 -_F068 !WORD _A018+0 - !BYTE $7A ; SAW _A040+1 -_F069 !WORD _A040+1 - !BYTE $26 ; LA _A018+0 -_F070 !WORD _A018+0 - !BYTE $7A ; SAW _A044+1 -_F071 !WORD _A044+1 - !BYTE $26 ; LA _A018+0 -_F072 !WORD _A018+0 - !BYTE $7A ; SAW _A046+1 -_F073 !WORD _A046+1 - !BYTE $26 ; LA _A018+0 -_F074 !WORD _A018+0 - !BYTE $7A ; SAW _A050+1 -_F075 !WORD _A050+1 - !BYTE $26 ; LA _A018+0 -_F076 !WORD _A018+0 - !BYTE $7A ; SAW _A052+1 -_F077 !WORD _A052+1 - !BYTE $26 ; LA _A092+0 -_F078 !WORD _A092+0 - !BYTE $7A ; SAW _A091+1 -_F079 !WORD _A091+1 -_B032 -; dhgr.tk/libs/dhgrlib.pla: 2355: end - !BYTE $5A,$03 ; LEAVE 3 -; dhgr.tk/libs/dhgrlib.pla: 2356: def dhgrOpMem(op)#0 - ; op -> [0] -_C014 ; dhgrOpMem() -; dhgr.tk/libs/dhgrlib.pla: 2357: byte opcode - ; opcode -> [2] -; dhgr.tk/libs/dhgrlib.pla: 2358: -; dhgr.tk/libs/dhgrlib.pla: 2359: // -; dhgr.tk/libs/dhgrlib.pla: 2360: // Self modifying code! -; dhgr.tk/libs/dhgrlib.pla: 2361: // -; dhgr.tk/libs/dhgrlib.pla: 2362: opcode = $11 // ORA (ZP),Y - !BYTE $58,$03,$01 ; ENTER 3,1 -; dhgr.tk/libs/dhgrlib.pla: 2363: when op - !BYTE $2A,$11 ; CB 17 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B038-* -; dhgr.tk/libs/dhgrlib.pla: 2364: is OP_XOR -_B039 -; dhgr.tk/libs/dhgrlib.pla: 2365: opcode = opcode + $20 // $51 = EOR (ZP),Y -; dhgr.tk/libs/dhgrlib.pla: 2366: is OP_AND - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$20 ; ADDI 32 - !BYTE $74,$02 ; SLB [2] -_B040 -; dhgr.tk/libs/dhgrlib.pla: 2367: opcode = opcode + $20 // $31 = AND (ZP),Y -; dhgr.tk/libs/dhgrlib.pla: 2368: is OP_OR - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$20 ; ADDI 32 - !BYTE $74,$02 ; SLB [2] -_B041 -; dhgr.tk/libs/dhgrlib.pla: 2369: _jmpOpPlotMem:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2370: _dcgrHLinMemB:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2371: _dcgrVLinMemB:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2372: _dcgrBitmapMemA:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2373: _dcgrPixmapMemC:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2374: _dcgrPixmapMemE:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2375: _dcgrRlemapMemC:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2376: _dcgrRlemapMemE:1 = @_dcgrOpPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2377: _dcgrOpPlotMemD.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2378: _dcgrOpPlotMemE.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2379: _dcgrOpPlotMemG.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2380: _dcgrOpPlotMemH.3 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2381: _jmpOpMemBl7Mem:1 = @_dcgrOpMemBl7MemB -; dhgr.tk/libs/dhgrlib.pla: 2382: _dcgrOpMemBl7MemC.0 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2383: _dcgrOpMemBl7MemC.7 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2384: _dcgrOpMemBl7MemD.0 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2385: _dcgrOpMemBl7MemD.7 = opcode -; dhgr.tk/libs/dhgrlib.pla: 2386: break - !BYTE $26 ; LA _A062+0 -_F080 !WORD _A062+0 - !BYTE $7A ; SAW _A054+1 -_F081 !WORD _A054+1 - !BYTE $26 ; LA _A062+0 -_F082 !WORD _A062+0 - !BYTE $7A ; SAW _A070+1 -_F083 !WORD _A070+1 - !BYTE $26 ; LA _A062+0 -_F084 !WORD _A062+0 - !BYTE $7A ; SAW _A072+1 -_F085 !WORD _A072+1 - !BYTE $26 ; LA _A062+0 -_F086 !WORD _A062+0 - !BYTE $7A ; SAW _A074+1 -_F087 !WORD _A074+1 - !BYTE $26 ; LA _A062+0 -_F088 !WORD _A062+0 - !BYTE $7A ; SAW _A078+1 -_F089 !WORD _A078+1 - !BYTE $26 ; LA _A062+0 -_F090 !WORD _A062+0 - !BYTE $7A ; SAW _A080+1 -_F091 !WORD _A080+1 - !BYTE $26 ; LA _A062+0 -_F092 !WORD _A062+0 - !BYTE $7A ; SAW _A083+1 -_F093 !WORD _A083+1 - !BYTE $26 ; LA _A062+0 -_F094 !WORD _A062+0 - !BYTE $7A ; SAW _A085+1 -_F095 !WORD _A085+1 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A064+3 -_F096 !WORD _A064+3 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A065+3 -_F097 !WORD _A065+3 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A067+3 -_F098 !WORD _A067+3 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A068+3 -_F099 !WORD _A068+3 - !BYTE $26 ; LA _A103+0 -_F100 !WORD _A103+0 - !BYTE $7A ; SAW _A101+1 -_F101 !WORD _A101+1 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A104+0 -_F102 !WORD _A104+0 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A104+7 -_F103 !WORD _A104+7 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A105+0 -_F104 !WORD _A105+0 - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _A105+7 -_F105 !WORD _A105+7 - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -; dhgr.tk/libs/dhgrlib.pla: 2387: otherwise // OP_SRC -_B038 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B039-* - !WORD $0002 - !WORD _B040-* - !WORD $0003 - !WORD _B041-* -; dhgr.tk/libs/dhgrlib.pla: 2388: _jmpOpPlotMem:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2389: _dcgrHLinMemB:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2390: _dcgrVLinMemB:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2391: _dcgrBitmapMemA:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2392: _dcgrPixmapMemC:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2393: _dcgrPixmapMemE:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2394: _dcgrRlemapMemC:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2395: _dcgrRlemapMemE:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2396: _jmpOpMemBl7Mem:1 = @_dcgrMemBl7MemB -; dhgr.tk/libs/dhgrlib.pla: 2397: wend - !BYTE $26 ; LA _A055+0 -_F106 !WORD _A055+0 - !BYTE $7A ; SAW _A054+1 -_F107 !WORD _A054+1 - !BYTE $26 ; LA _A055+0 -_F108 !WORD _A055+0 - !BYTE $7A ; SAW _A070+1 -_F109 !WORD _A070+1 - !BYTE $26 ; LA _A055+0 -_F110 !WORD _A055+0 - !BYTE $7A ; SAW _A072+1 -_F111 !WORD _A072+1 - !BYTE $26 ; LA _A055+0 -_F112 !WORD _A055+0 - !BYTE $7A ; SAW _A074+1 -_F113 !WORD _A074+1 - !BYTE $26 ; LA _A055+0 -_F114 !WORD _A055+0 - !BYTE $7A ; SAW _A078+1 -_F115 !WORD _A078+1 - !BYTE $26 ; LA _A055+0 -_F116 !WORD _A055+0 - !BYTE $7A ; SAW _A080+1 -_F117 !WORD _A080+1 - !BYTE $26 ; LA _A055+0 -_F118 !WORD _A055+0 - !BYTE $7A ; SAW _A083+1 -_F119 !WORD _A083+1 - !BYTE $26 ; LA _A055+0 -_F120 !WORD _A055+0 - !BYTE $7A ; SAW _A085+1 -_F121 !WORD _A085+1 - !BYTE $26 ; LA _A102+0 -_F122 !WORD _A102+0 - !BYTE $7A ; SAW _A101+1 -_F123 !WORD _A101+1 -_B037 -; dhgr.tk/libs/dhgrlib.pla: 2398: end - !BYTE $5A,$03 ; LEAVE 3 -; dhgr.tk/libs/dhgrlib.pla: 2399: export def dhgrOp(op)#0 - ; op -> [0] -_C015 ; dhgrOp() -; dhgr.tk/libs/dhgrlib.pla: 2400: if dhgrSurface // Memory - !BYTE $58,$02,$01 ; ENTER 2,1 -; dhgr.tk/libs/dhgrlib.pla: 2401: if op <> opMem -; dhgr.tk/libs/dhgrlib.pla: 2402: opMem = op -; dhgr.tk/libs/dhgrlib.pla: 2403: dhgrOpMem(opMem) -; dhgr.tk/libs/dhgrlib.pla: 2404: fin - !BYTE $68 ; LAB _D051+0 -_F124 !WORD _D051+0 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D053+0 -_F125 !WORD _D053+0 - !BYTE $22 ; BREQ _B044 - !WORD _B044-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7C ; DAB _D053+0 -_F126 !WORD _D053+0 - !BYTE $54 ; CALL _C014 -_F127 !WORD _C014 -_B044 -_B045 -; dhgr.tk/libs/dhgrlib.pla: 2405: else // Screen - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B042 -; dhgr.tk/libs/dhgrlib.pla: 2406: if op <> opScr -; dhgr.tk/libs/dhgrlib.pla: 2407: opScr = op -; dhgr.tk/libs/dhgrlib.pla: 2408: dhgrOpScr(opScr) -; dhgr.tk/libs/dhgrlib.pla: 2409: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D052+0 -_F128 !WORD _D052+0 - !BYTE $22 ; BREQ _B046 - !WORD _B046-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7C ; DAB _D052+0 -_F129 !WORD _D052+0 - !BYTE $54 ; CALL _C013 -_F130 !WORD _C013 -_B046 -_B047 -; dhgr.tk/libs/dhgrlib.pla: 2410: fin -_B043 -; dhgr.tk/libs/dhgrlib.pla: 2411: end - !BYTE $5A,$02 ; LEAVE 2 -; dhgr.tk/libs/dhgrlib.pla: 2412: export def dhgrSurfScr(op)#0 - ; op -> [0] -_C016 ; dhgrSurfScr() -; dhgr.tk/libs/dhgrlib.pla: 2413: surfWidth = 140 - !BYTE $58,$02,$01 ; ENTER 2,1 -; dhgr.tk/libs/dhgrlib.pla: 2414: surfWidth7 = 20 -; dhgr.tk/libs/dhgrlib.pla: 2415: surfHeight = 192 -; dhgr.tk/libs/dhgrlib.pla: 2416: surfPtr = $2000 -; dhgr.tk/libs/dhgrlib.pla: 2417: surfSpan = 10 -; dhgr.tk/libs/dhgrlib.pla: 2418: if dhgrSurface == DST_MEMORY -; dhgr.tk/libs/dhgrlib.pla: 2419: dhgrSurface = DST_SCREEN -; dhgr.tk/libs/dhgrlib.pla: 2420: dcgrPixel:1 = @dcgrPlotScr -; dhgr.tk/libs/dhgrlib.pla: 2421: dcgrHLin:1 = @dcgrHLinScr -; dhgr.tk/libs/dhgrlib.pla: 2422: dcgrVLin:1 = @dcgrVLinScr -; dhgr.tk/libs/dhgrlib.pla: 2423: dcgrBitMap:1 = @dcgrBitMapScr -; dhgr.tk/libs/dhgrlib.pla: 2424: dcgrPixMap:1 = @dcgrPixMapScr -; dhgr.tk/libs/dhgrlib.pla: 2425: dcgrRleMap:1 = @dcgrRleMapScr -; dhgr.tk/libs/dhgrlib.pla: 2426: dhgrMemBl7:1 = @dhgrMemBl7Scr -; dhgr.tk/libs/dhgrlib.pla: 2427: dhgrClearBl7:1 = @dhgrClearBl7Scr -; dhgr.tk/libs/dhgrlib.pla: 2428: dhgrTiles:1 = @dhgrTilesScr -; dhgr.tk/libs/dhgrlib.pla: 2429: fin - !BYTE $2A,$8C ; CB 140 - !BYTE $7A ; SAW _D046+0 -_F131 !WORD _D046+0 - !BYTE $2A,$14 ; CB 20 - !BYTE $7A ; SAW _D047+0 -_F132 !WORD _D047+0 - !BYTE $2A,$C0 ; CB 192 - !BYTE $7A ; SAW _D048+0 -_F133 !WORD _D048+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $7A ; SAW _D049+0 -_F134 !WORD _D049+0 - !BYTE $14 ; CN 10 - !BYTE $7A ; SAW _D050+0 -_F135 !WORD _D050+0 - !BYTE $68 ; LAB _D051+0 -_F136 !WORD _D051+0 - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B048 - !WORD _B048-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D051+0 -_F137 !WORD _D051+0 - !BYTE $26 ; LA _A015+0 -_F138 !WORD _A015+0 - !BYTE $7A ; SAW _A001+1 -_F139 !WORD _A001+1 - !BYTE $26 ; LA _A032+0 -_F140 !WORD _A032+0 - !BYTE $7A ; SAW _A002+1 -_F141 !WORD _A002+1 - !BYTE $26 ; LA _A035+0 -_F142 !WORD _A035+0 - !BYTE $7A ; SAW _A003+1 -_F143 !WORD _A003+1 - !BYTE $26 ; LA _A038+0 -_F144 !WORD _A038+0 - !BYTE $7A ; SAW _A004+1 -_F145 !WORD _A004+1 - !BYTE $26 ; LA _A041+0 -_F146 !WORD _A041+0 - !BYTE $7A ; SAW _A005+1 -_F147 !WORD _A005+1 - !BYTE $26 ; LA _A047+0 -_F148 !WORD _A047+0 - !BYTE $7A ; SAW _A006+1 -_F149 !WORD _A006+1 - !BYTE $26 ; LA _A088+0 -_F150 !WORD _A088+0 - !BYTE $7A ; SAW _A008+1 -_F151 !WORD _A008+1 - !BYTE $26 ; LA _A106+0 -_F152 !WORD _A106+0 - !BYTE $7A ; SAW _A009+1 -_F153 !WORD _A009+1 - !BYTE $26 ; LA _A113+0 -_F154 !WORD _A113+0 - !BYTE $7A ; SAW _A010+1 -_F155 !WORD _A010+1 -_B048 -_B049 -; dhgr.tk/libs/dhgrlib.pla: 2430: if op <> opScr -; dhgr.tk/libs/dhgrlib.pla: 2431: opScr = op -; dhgr.tk/libs/dhgrlib.pla: 2432: dhgrOpScr(opScr) -; dhgr.tk/libs/dhgrlib.pla: 2433: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D052+0 -_F156 !WORD _D052+0 - !BYTE $22 ; BREQ _B050 - !WORD _B050-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7C ; DAB _D052+0 -_F157 !WORD _D052+0 - !BYTE $54 ; CALL _C013 -_F158 !WORD _C013 -_B050 -_B051 -; dhgr.tk/libs/dhgrlib.pla: 2434: end - !BYTE $5A,$02 ; LEAVE 2 -; dhgr.tk/libs/dhgrlib.pla: 2435: export def dhgrSurfMem(op, memh, memptr, memspan)#0 - ; op -> [0] - ; memh -> [2] - ; memptr -> [4] - ; memspan -> [6] -_C017 ; dhgrSurfMem() -; dhgr.tk/libs/dhgrlib.pla: 2436: surfWidth7 = memspan >> 2 - !BYTE $58,$08,$04 ; ENTER 8,4 -; dhgr.tk/libs/dhgrlib.pla: 2437: surfWidth = surfWidth7 * 7 -; dhgr.tk/libs/dhgrlib.pla: 2438: surfHeight = memh -; dhgr.tk/libs/dhgrlib.pla: 2439: surfPtr = memptr -; dhgr.tk/libs/dhgrlib.pla: 2440: surfSpan = memspan -; dhgr.tk/libs/dhgrlib.pla: 2441: if dhgrSurface == DST_SCREEN -; dhgr.tk/libs/dhgrlib.pla: 2442: dhgrSurface = DST_MEMORY -; dhgr.tk/libs/dhgrlib.pla: 2443: dcgrPixel:1 = @extPlotMem -; dhgr.tk/libs/dhgrlib.pla: 2444: dcgrHLin:1 = @extHLinMem -; dhgr.tk/libs/dhgrlib.pla: 2445: dcgrVLin:1 = @extVLinMem -; dhgr.tk/libs/dhgrlib.pla: 2446: dcgrBitMap:1 = @extBitMapMem -; dhgr.tk/libs/dhgrlib.pla: 2447: dcgrPixMap:1 = @extPixMapMem -; dhgr.tk/libs/dhgrlib.pla: 2448: dcgrRleMap:1 = @extRleMapMem -; dhgr.tk/libs/dhgrlib.pla: 2449: dhgrScrBl7:1 = @extScrBl7Mem -; dhgr.tk/libs/dhgrlib.pla: 2450: dhgrMemBl7:1 = @extMemBl7Mem -; dhgr.tk/libs/dhgrlib.pla: 2451: dhgrClearBl7:1 = @extClearBl7Mem -; dhgr.tk/libs/dhgrlib.pla: 2452: dhgrTiles:1 = @extTilesMem -; dhgr.tk/libs/dhgrlib.pla: 2453: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $7E ; DAW _D047+0 -_F159 !WORD _D047+0 - !BYTE $0E ; CN 7 - !BYTE $86 ; MUL - !BYTE $7A ; SAW _D046+0 -_F160 !WORD _D046+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D048+0 -_F161 !WORD _D048+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D049+0 -_F162 !WORD _D049+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D050+0 -_F163 !WORD _D050+0 - !BYTE $68 ; LAB _D051+0 -_F164 !WORD _D051+0 - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D051+0 -_F165 !WORD _D051+0 - !BYTE $26 ; LA _C003+0 -_F166 !WORD _C003+0 - !BYTE $7A ; SAW _A001+1 -_F167 !WORD _A001+1 - !BYTE $26 ; LA _C004+0 -_F168 !WORD _C004+0 - !BYTE $7A ; SAW _A002+1 -_F169 !WORD _A002+1 - !BYTE $26 ; LA _C005+0 -_F170 !WORD _C005+0 - !BYTE $7A ; SAW _A003+1 -_F171 !WORD _A003+1 - !BYTE $26 ; LA _C006+0 -_F172 !WORD _C006+0 - !BYTE $7A ; SAW _A004+1 -_F173 !WORD _A004+1 - !BYTE $26 ; LA _C007+0 -_F174 !WORD _C007+0 - !BYTE $7A ; SAW _A005+1 -_F175 !WORD _A005+1 - !BYTE $26 ; LA _C008+0 -_F176 !WORD _C008+0 - !BYTE $7A ; SAW _A006+1 -_F177 !WORD _A006+1 - !BYTE $26 ; LA _C009+0 -_F178 !WORD _C009+0 - !BYTE $7A ; SAW _A007+1 -_F179 !WORD _A007+1 - !BYTE $26 ; LA _C010+0 -_F180 !WORD _C010+0 - !BYTE $7A ; SAW _A008+1 -_F181 !WORD _A008+1 - !BYTE $26 ; LA _C012+0 -_F182 !WORD _C012+0 - !BYTE $7A ; SAW _A009+1 -_F183 !WORD _A009+1 - !BYTE $26 ; LA _C011+0 -_F184 !WORD _C011+0 - !BYTE $7A ; SAW _A010+1 -_F185 !WORD _A010+1 -_B052 -_B053 -; dhgr.tk/libs/dhgrlib.pla: 2454: if op <> opMem -; dhgr.tk/libs/dhgrlib.pla: 2455: opMem = op -; dhgr.tk/libs/dhgrlib.pla: 2456: dhgrOpMem(opMem) -; dhgr.tk/libs/dhgrlib.pla: 2457: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D053+0 -_F186 !WORD _D053+0 - !BYTE $22 ; BREQ _B054 - !WORD _B054-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7C ; DAB _D053+0 -_F187 !WORD _D053+0 - !BYTE $54 ; CALL _C014 -_F188 !WORD _C014 -_B054 -_B055 -; dhgr.tk/libs/dhgrlib.pla: 2458: end - !BYTE $5A,$08 ; LEAVE 8 -; dhgr.tk/libs/dhgrlib.pla: 2459: // -; dhgr.tk/libs/dhgrlib.pla: 2460: // Set/Unset DHGR pixels -; dhgr.tk/libs/dhgrlib.pla: 2461: // -; dhgr.tk/libs/dhgrlib.pla: 2462: export def dhgrSet(dhx, y)#0 - ; dhx -> [0] - ; y -> [2] -_C018 ; dhgrSet() -; dhgr.tk/libs/dhgrlib.pla: 2463: dcgrColor(dhgrPix[dhx & $03]) - !BYTE $58,$04,$02 ; ENTER 4,2 -; dhgr.tk/libs/dhgrlib.pla: 2464: dhgrOp(OP_OR) -; dhgr.tk/libs/dhgrlib.pla: 2465: dcgrPixel(dhx >> 2, y) -; dhgr.tk/libs/dhgrlib.pla: 2466: end - !BYTE $26 ; LA _D044+0 -_F189 !WORD _D044+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _A013 -_F190 !WORD _A013 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C015 -_F191 !WORD _C015 - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A001 -_F192 !WORD _A001 - !BYTE $5A,$04 ; LEAVE 4 -; dhgr.tk/libs/dhgrlib.pla: 2467: export def dhgrUnset(dhx, y)#0 - ; dhx -> [0] - ; y -> [2] -_C019 ; dhgrUnset() -; dhgr.tk/libs/dhgrlib.pla: 2468: dcgrColor(dhgrMask[dhx & $03]) - !BYTE $58,$04,$02 ; ENTER 4,2 -; dhgr.tk/libs/dhgrlib.pla: 2469: dhgrOp(OP_AND) -; dhgr.tk/libs/dhgrlib.pla: 2470: dcgrPixel(dhx >> 2, y) -; dhgr.tk/libs/dhgrlib.pla: 2471: end - !BYTE $26 ; LA _D045+0 -_F193 !WORD _D045+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _A013 -_F194 !WORD _A013 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C015 -_F195 !WORD _C015 - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A001 -_F196 !WORD _A001 - !BYTE $5A,$04 ; LEAVE 4 -; dhgr.tk/libs/dhgrlib.pla: 2472: // -; dhgr.tk/libs/dhgrlib.pla: 2473: // Read pixel and return color -; dhgr.tk/libs/dhgrlib.pla: 2474: // -; dhgr.tk/libs/dhgrlib.pla: 2475: export def dcgrGetPixel(x, y)#1 - ; x -> [0] - ; y -> [2] -_C020 ; dcgrGetPixel() -; dhgr.tk/libs/dhgrlib.pla: 2476: byte x7, m7, i - ; x7 -> [4] - ; m7 -> [5] - ; i -> [6] -; dhgr.tk/libs/dhgrlib.pla: 2477: word[2] pix7 - ; pix7 -> [7] -; dhgr.tk/libs/dhgrlib.pla: 2478: word amask, mmask - ; amask -> [11] - ; mmask -> [13] -; dhgr.tk/libs/dhgrlib.pla: 2479: -; dhgr.tk/libs/dhgrlib.pla: 2480: x7 = div7[x] >> 1 // divmod7[x] >> 3 - !BYTE $58,$0F,$02 ; ENTER 15,2 -; dhgr.tk/libs/dhgrlib.pla: 2481: if dhgrSurface // Memory -; dhgr.tk/libs/dhgrlib.pla: 2482: dhgrMemBl7Mem(x7, y, surfWidth, surfHeight, surfPtr, surfSpan, 1, 1, @pix7) -; dhgr.tk/libs/dhgrlib.pla: 2483: else // Screen - !BYTE $26 ; LA _D042+0 -_F197 !WORD _D042+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $74,$04 ; SLB [4] - !BYTE $68 ; LAB _D051+0 -_F198 !WORD _D051+0 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D046+0 -_F199 !WORD _D046+0 - !BYTE $6A ; LAW _D048+0 -_F200 !WORD _D048+0 - !BYTE $6A ; LAW _D049+0 -_F201 !WORD _D049+0 - !BYTE $6A ; LAW _D050+0 -_F202 !WORD _D050+0 - !BYTE $02 ; CN 1 - !BYTE $34 ; DUP - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _A098 -_F203 !WORD _A098 - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -_B056 -; dhgr.tk/libs/dhgrlib.pla: 2484: dhgrScrBl7Mem(x7, y, 1, 1, @pix7, 4) -; dhgr.tk/libs/dhgrlib.pla: 2485: fin - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $34 ; DUP - !BYTE $28,$07 ; LLA [7] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _A086 -_F204 !WORD _A086 -_B057 -; dhgr.tk/libs/dhgrlib.pla: 2486: m7 = mod7[x] // divmod7[x] & $07 -; dhgr.tk/libs/dhgrlib.pla: 2487: amask = auxclrmsk[m7] -; dhgr.tk/libs/dhgrlib.pla: 2488: if amask & $80; amask = (amask & $7F) << 8; fin - !BYTE $26 ; LA _D043+0 -_F205 !WORD _D043+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $74,$05 ; SLB [5] - !BYTE $26 ; LA _D032+0 -_F206 !WORD _D032+0 - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $6E,$0B ; DLW [11] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $66,$0B ; LLW [11] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $76,$0B ; SLW [11] -_B058 -_B059 -; dhgr.tk/libs/dhgrlib.pla: 2489: pix7[0] = amask & pix7[0] -; dhgr.tk/libs/dhgrlib.pla: 2490: mmask = memclrmsk[m7] -; dhgr.tk/libs/dhgrlib.pla: 2491: if mmask & $80; mmask = (mmask & $7F) << 8; fin - !BYTE $66,$0B ; LLW [11] - !BYTE $66,$07 ; LLW [7] - !BYTE $94 ; AND - !BYTE $76,$07 ; SLW [7] - !BYTE $26 ; LA _D033+0 -_F207 !WORD _D033+0 - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $6E,$0D ; DLW [13] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $66,$0D ; LLW [13] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $76,$0D ; SLW [13] -_B060 -_B061 -; dhgr.tk/libs/dhgrlib.pla: 2492: pix7[1] = mmask & pix7[1] -; dhgr.tk/libs/dhgrlib.pla: 2493: for i = 0 to 15 - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$09 ; LLW [9] - !BYTE $94 ; AND - !BYTE $76,$09 ; SLW [9] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B063 - !BYTE $6C,$06 ; DLB [6] -; dhgr.tk/libs/dhgrlib.pla: 2494: if pix7[0] == (auxclrsl[i] | (auxclrsh[i] << 8)) & amask -; dhgr.tk/libs/dhgrlib.pla: 2495: if pix7[1] == (memclrsl[i] | (memclrsh[i] << 8)) & mmask -; dhgr.tk/libs/dhgrlib.pla: 2496: return i // Color match - !BYTE $66,$07 ; LLW [7] - !BYTE $26 ; LA _D034+0 -_F208 !WORD _D034+0 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $26 ; LA _D035+0 -_F209 !WORD _D035+0 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$0B ; LLW [11] - !BYTE $94 ; AND - !BYTE $24 ; BRNE _B065 - !WORD _B065-* - !BYTE $66,$09 ; LLW [9] - !BYTE $26 ; LA _D036+0 -_F210 !WORD _D036+0 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $26 ; LA _D037+0 -_F211 !WORD _D037+0 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$0D ; LLW [13] - !BYTE $94 ; AND - !BYTE $24 ; BRNE _B067 - !WORD _B067-* - !BYTE $32 ; DROP2 - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$0F ; LEAVE 15 -; dhgr.tk/libs/dhgrlib.pla: 2497: fin; fin -_B067 -_B068 -_B065 -_B066 -; dhgr.tk/libs/dhgrlib.pla: 2498: next -_B064 - !BYTE $A4 ; INCBRLE _B063 - !WORD _B063-* -_B062 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrlib.pla: 2499: return 15 - !BYTE $1E ; CN 15 - !BYTE $5A,$0F ; LEAVE 15 -; dhgr.tk/libs/dhgrlib.pla: 2500: end -; dhgr.tk/libs/dhgrlib.pla: 2501: export def dhgrMode(mode)#1 - ; mode -> [0] -_C021 ; dhgrMode() -; dhgr.tk/libs/dhgrlib.pla: 2502: if mode >= 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; dhgr.tk/libs/dhgrlib.pla: 2503: // -; dhgr.tk/libs/dhgrlib.pla: 2504: // Make sure we are a 128K //e or //c -; dhgr.tk/libs/dhgrlib.pla: 2505: // -; dhgr.tk/libs/dhgrlib.pla: 2506: if MACHID & $F0 <> $B0 -; dhgr.tk/libs/dhgrlib.pla: 2507: puts("\n128K required for double hires graphics.\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $68 ; LAB _X001+0 -_F212 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$B0 ; CB 176 - !BYTE $22 ; BREQ _B071 - !WORD _B071-* - !BYTE $2E ; CS - !BYTE $2A - !BYTE $0D,$31,$32,$38,$4B,$20,$72,$65 - !BYTE $71,$75,$69,$72,$65,$64,$20,$66 - !BYTE $6F,$72,$20,$64,$6F,$75,$62,$6C - !BYTE $65,$20,$68,$69,$72,$65,$73,$20 - !BYTE $67,$72,$61,$70,$68,$69,$63,$73 - !BYTE $2E,$0D - !BYTE $54 ; CALL _X004 -_F213 !WORD 0 -; dhgr.tk/libs/dhgrlib.pla: 2508: ^$C010 -; dhgr.tk/libs/dhgrlib.pla: 2509: while ^$C000 < 128; loop - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B075 - !WORD _B075-* -_B073 -_B075 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B073 - !WORD _B073-* -_B074 -; dhgr.tk/libs/dhgrlib.pla: 2510: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; dhgr.tk/libs/dhgrlib.pla: 2511: fin -_B071 -_B072 -; dhgr.tk/libs/dhgrlib.pla: 2512: ^page1m -; dhgr.tk/libs/dhgrlib.pla: 2513: ^showfull -; dhgr.tk/libs/dhgrlib.pla: 2514: ^showhires -; dhgr.tk/libs/dhgrlib.pla: 2515: ^showgraphics -; dhgr.tk/libs/dhgrlib.pla: 2516: ^IOUdis = 0 -; dhgr.tk/libs/dhgrlib.pla: 2517: ^show80col = 0 -; dhgr.tk/libs/dhgrlib.pla: 2518: ^dhresena -; dhgr.tk/libs/dhgrlib.pla: 2519: ^store80ena = 0 -; dhgr.tk/libs/dhgrlib.pla: 2520: dhgrOpMem(OP_SRC) -; dhgr.tk/libs/dhgrlib.pla: 2521: dhgrOpScr(OP_SRC) -; dhgr.tk/libs/dhgrlib.pla: 2522: dhgrSurface = DST_MEMORY -; dhgr.tk/libs/dhgrlib.pla: 2523: dhgrSurfScr(OP_SRC) -; dhgr.tk/libs/dhgrlib.pla: 2524: dcgrColor(0) -; dhgr.tk/libs/dhgrlib.pla: 2525: dhgrClearBl7(0, 0, 20, 192) -; dhgr.tk/libs/dhgrlib.pla: 2526: else - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$57,$C0 ; LAB 49239 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0D,$C0 ; SAB 49165 - !BYTE $68,$5E,$C0 ; LAB 49246 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$01,$C0 ; SAB 49153 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C014 -_F214 !WORD _C014 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C013 -_F215 !WORD _C013 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D051+0 -_F216 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F217 !WORD _C016 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A013 -_F218 !WORD _A013 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $2A,$C0 ; CB 192 - !BYTE $54 ; CALL _A009 -_F219 !WORD _A009 - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B069 -; dhgr.tk/libs/dhgrlib.pla: 2527: ^page1m -; dhgr.tk/libs/dhgrlib.pla: 2528: ^showtext -; dhgr.tk/libs/dhgrlib.pla: 2529: ^IOUdis = 0 -; dhgr.tk/libs/dhgrlib.pla: 2530: ^show40col = 0 -; dhgr.tk/libs/dhgrlib.pla: 2531: ^dhresdis -; dhgr.tk/libs/dhgrlib.pla: 2532: ^store80dis = 0 -; dhgr.tk/libs/dhgrlib.pla: 2533: call($FB2F, 0, 0, 0, 0) // INIT -; dhgr.tk/libs/dhgrlib.pla: 2534: if cmdsys:_sysflags_ & vid80col; putc(18); fin // Set 80 column mode if active - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0C,$C0 ; SAB 49164 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$00,$C0 ; SAB 49152 - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F220 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X000+23 -_F221 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B076 - !WORD _B076-* - !BYTE $2A,$12 ; CB 18 - !BYTE $54 ; CALL _X002 -_F222 !WORD 0 -_B076 -_B077 -; dhgr.tk/libs/dhgrlib.pla: 2535: call($FC58, 0, 0, 0, 0) // home() -; dhgr.tk/libs/dhgrlib.pla: 2536: fin - !BYTE $2C,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F223 !WORD 0 - !BYTE $30 ; DROP -_B070 -; dhgr.tk/libs/dhgrlib.pla: 2537: return mode - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; dhgr.tk/libs/dhgrlib.pla: 2538: end -; dhgr.tk/libs/dhgrlib.pla: 2539: // -; dhgr.tk/libs/dhgrlib.pla: 2540: // Assembly symbol fixups -; dhgr.tk/libs/dhgrlib.pla: 2541: // -; dhgr.tk/libs/dhgrlib.pla: 2542: _dcgrColorA:1 = @auxclrsl -_INIT -; dhgr.tk/libs/dhgrlib.pla: 2543: _dcgrColorA:4 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2544: _dcgrColorA:7 = @auxclrsh -; dhgr.tk/libs/dhgrlib.pla: 2545: _dcgrColorA:10 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2546: _dcgrColorA:13 = @memclrsl -; dhgr.tk/libs/dhgrlib.pla: 2547: _dcgrColorA:16 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2548: _dcgrColorA:19 = @memclrsh -; dhgr.tk/libs/dhgrlib.pla: 2549: _dcgrColorA:22 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2550: // -; dhgr.tk/libs/dhgrlib.pla: 2551: // Screen function fixups -; dhgr.tk/libs/dhgrlib.pla: 2552: // -; dhgr.tk/libs/dhgrlib.pla: 2553: _dcgrPlotScrA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2554: _dcgrPlotScrA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2555: _dcgrPlotScrB:1 = @mod7//@divmod7 -; dhgr.tk/libs/dhgrlib.pla: 2556: _dcgrPlotScrB:4 = @div7 -; dhgr.tk/libs/dhgrlib.pla: 2557: _dcgrPlotScrC:1 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2558: _dcgrPlotScrD:1 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2559: _dcgrPlotScrD:6 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2560: _dcgrPlotScrE:1 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2561: _dcgrPlotScrE:6 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2562: _dcgrPlotScrF:1 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2563: _dcgrPlotScrG:1 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2564: _dcgrPlotScrG:6 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2565: _dcgrPlotScrH:1 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2566: _dcgrPlotScrH:6 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2567: _dcgrOpPlotScrB:1 = @mod7 // @divmod7 -; dhgr.tk/libs/dhgrlib.pla: 2568: _dcgrOpPlotScrB:4 = @div7 -; dhgr.tk/libs/dhgrlib.pla: 2569: _dcgrOpPlotScrC:1 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2570: _dcgrOpPlotScrD:1 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2571: _dcgrOpPlotScrE:1 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2572: _dcgrOpPlotScrF:1 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2573: _dcgrOpPlotScrG:1 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2574: _dcgrOpPlotScrH:1 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2575: _dcgrHLinScrA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2576: _dcgrHLinScrA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2577: _dcgrHLinScrB:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2578: _dcgrVLinScrA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2579: _dcgrVLinScrA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2580: _dcgrVLinScrB:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2581: _dcgrBitmapScrA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2582: _dcgrBitmapScrA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2583: _dcgrBitmapScrB:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2584: _dcgrPixmapScrA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2585: _dcgrPixmapScrA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2586: _dcgrPixmapScrB:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2587: _dcgrPixmapScrC:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2588: _dcgrPixmapScrD:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2589: _dcgrPixmapScrE:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2590: _dcgrRlemapScrA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2591: _dcgrRlemapScrA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2592: _dcgrRlemapScrB:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2593: _dcgrRlemapScrC:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2594: _dcgrRlemapScrD:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2595: _dcgrRlemapScrE:1 = @_dcgrPlotScrB -; dhgr.tk/libs/dhgrlib.pla: 2596: _clipXClearBl7Scr:1 = @_clipX -; dhgr.tk/libs/dhgrlib.pla: 2597: _clipYClearBl7Scr:1 = @_clipY -; dhgr.tk/libs/dhgrlib.pla: 2598: _dcgrClearBl7ScrA.1 = @_dcgrClearBl7ScrA -; dhgr.tk/libs/dhgrlib.pla: 2599: _dcgrClearBl7ScrA.5 = @_dcgrClearBl7ScrA >> 8 -; dhgr.tk/libs/dhgrlib.pla: 2600: _dcgrClearBl7ScrA:9 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2601: _dcgrClearBl7ScrA:16 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2602: _dcgrClearBl7ScrA:23 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2603: _dcgrClearBl7ScrA:30 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2604: _dcgrClearBl7ScrB:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2605: _dcgrClearBl7ScrB:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2606: // -; dhgr.tk/libs/dhgrlib.pla: 2607: // Memory function fixups -; dhgr.tk/libs/dhgrlib.pla: 2608: // -; dhgr.tk/libs/dhgrlib.pla: 2609: _dcgrPlotMemB:4 = @mod7 //@divmod7 -; dhgr.tk/libs/dhgrlib.pla: 2610: _dcgrPlotMemB:7 = @div7 -; dhgr.tk/libs/dhgrlib.pla: 2611: _dcgrPlotMemC:1 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2612: _dcgrPlotMemD:1 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2613: _dcgrPlotMemD:6 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2614: _dcgrPlotMemE:1 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2615: _dcgrPlotMemE:6 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2616: _dcgrPlotMemF:1 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2617: _dcgrPlotMemG:1 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2618: _dcgrPlotMemG:6 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2619: _dcgrPlotMemH:1 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2620: _dcgrPlotMemH:6 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2621: _dcgrOpPlotMemB:4 = @mod7 //@divmod7 -; dhgr.tk/libs/dhgrlib.pla: 2622: _dcgrOpPlotMemB:7 = @div7 -; dhgr.tk/libs/dhgrlib.pla: 2623: _dcgrOpPlotMemC:1 = @auxclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2624: _dcgrOpPlotMemD:1 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2625: _dcgrOpPlotMemE:1 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2626: _dcgrOpPlotMemF:1 = @memclrmsk -; dhgr.tk/libs/dhgrlib.pla: 2627: _dcgrOpPlotMemG:1 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2628: _dcgrOpPlotMemH:1 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2629: _dcgrHLinMemB:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2630: _dcgrVLinMemB:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2631: _dcgrBitmapMemA:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2632: _dcgrPixmapMemB:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2633: _dcgrPixmapMemC:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2634: _dcgrPixmapMemD:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2635: _dcgrPixmapMemE:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2636: _dcgrRlemapMemB:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2637: _dcgrRlemapMemC:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2638: _dcgrRlemapMemD:1 = @_dcgrColorA -; dhgr.tk/libs/dhgrlib.pla: 2639: _dcgrRlemapMemE:1 = @_dcgrPlotMemB -; dhgr.tk/libs/dhgrlib.pla: 2640: _dcgrClearBl7MemB.1 = @_dcgrClearBl7MemB -; dhgr.tk/libs/dhgrlib.pla: 2641: _dcgrClearBl7MemB.5 = @_dcgrClearBl7MemB >> 8 -; dhgr.tk/libs/dhgrlib.pla: 2642: _dcgrClearBl7MemB:9 = @auxclrh -; dhgr.tk/libs/dhgrlib.pla: 2643: _dcgrClearBl7MemB:16 = @memclrh -; dhgr.tk/libs/dhgrlib.pla: 2644: _dcgrClearBl7MemB:23 = @auxclrl -; dhgr.tk/libs/dhgrlib.pla: 2645: _dcgrClearBl7MemB:30 = @memclrl -; dhgr.tk/libs/dhgrlib.pla: 2646: // -; dhgr.tk/libs/dhgrlib.pla: 2647: // Memory <-> Screen Block Transfer fixups -; dhgr.tk/libs/dhgrlib.pla: 2648: // -; dhgr.tk/libs/dhgrlib.pla: 2649: _dcgrScrBl7MemA:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2650: _dcgrScrBl7MemA:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2651: _clipXMemBl7Src:1 = @_clipX -; dhgr.tk/libs/dhgrlib.pla: 2652: _clipYMemBl7Scr:1 = @_clipY -; dhgr.tk/libs/dhgrlib.pla: 2653: _dcgrMemBl7ScrB:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2654: _dcgrMemBl7ScrB:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2655: _dcgrOpMemBl7ScrB:1 = @hgrscanl -; dhgr.tk/libs/dhgrlib.pla: 2656: _dcgrOpMemBl7ScrB:6 = @hgrscanh -; dhgr.tk/libs/dhgrlib.pla: 2657: // -; dhgr.tk/libs/dhgrlib.pla: 2658: // Memory <-> Memory Block Transfer fixups -; dhgr.tk/libs/dhgrlib.pla: 2659: // -; dhgr.tk/libs/dhgrlib.pla: 2660: _clipXMemBl7Mem:1 = @_clipX -; dhgr.tk/libs/dhgrlib.pla: 2661: _clipYMemBl7Mem:1 = @_clipY -; dhgr.tk/libs/dhgrlib.pla: 2662: // -; dhgr.tk/libs/dhgrlib.pla: 2663: // Tile self-modifying code -; dhgr.tk/libs/dhgrlib.pla: 2664: // -; dhgr.tk/libs/dhgrlib.pla: 2665: _dcgrTileScrA:1 = @tilebttml -; dhgr.tk/libs/dhgrlib.pla: 2666: _dcgrTileScrA:4 = @_dcgrTileScrC.3 -; dhgr.tk/libs/dhgrlib.pla: 2667: _dcgrTileScrA:7 = @_dcgrTileScrC.9 -; dhgr.tk/libs/dhgrlib.pla: 2668: _dcgrTileScrA:10 = @_dcgrTileScrC.15 -; dhgr.tk/libs/dhgrlib.pla: 2669: _dcgrTileScrA:13 = @_dcgrTileScrC.21 -; dhgr.tk/libs/dhgrlib.pla: 2670: _dcgrTileScrA:16 = @_dcgrTileScrC.27 -; dhgr.tk/libs/dhgrlib.pla: 2671: _dcgrTileScrA:19 = @_dcgrTileScrC.33 -; dhgr.tk/libs/dhgrlib.pla: 2672: _dcgrTileScrA:22 = @_dcgrTileScrC.39 -; dhgr.tk/libs/dhgrlib.pla: 2673: _dcgrTileScrA:25 = @_dcgrTileScrC.45 -; dhgr.tk/libs/dhgrlib.pla: 2674: _dcgrTileScrB:1 = @tilebttmh -; dhgr.tk/libs/dhgrlib.pla: 2675: _dcgrTileScrB:4 = @_dcgrTileScrC.4 -; dhgr.tk/libs/dhgrlib.pla: 2676: _dcgrTileScrB:10 = @_dcgrTileScrC.10 -; dhgr.tk/libs/dhgrlib.pla: 2677: _dcgrTileScrB:15 = @_dcgrTileScrC.16 -; dhgr.tk/libs/dhgrlib.pla: 2678: _dcgrTileScrB:20 = @_dcgrTileScrC.22 -; dhgr.tk/libs/dhgrlib.pla: 2679: _dcgrTileScrB:25 = @_dcgrTileScrC.28 -; dhgr.tk/libs/dhgrlib.pla: 2680: _dcgrTileScrB:30 = @_dcgrTileScrC.34 -; dhgr.tk/libs/dhgrlib.pla: 2681: _dcgrTileScrB:35 = @_dcgrTileScrC.40 -; dhgr.tk/libs/dhgrlib.pla: 2682: _dcgrTileScrB:40 = @_dcgrTileScrC.46 -; dhgr.tk/libs/dhgrlib.pla: 2683: // -; dhgr.tk/libs/dhgrlib.pla: 2684: // Keep module in memory -; dhgr.tk/libs/dhgrlib.pla: 2685: // -; dhgr.tk/libs/dhgrlib.pla: 2686: return modkeep - !BYTE $26 ; LA _D034+0 -_F224 !WORD _D034+0 - !BYTE $7A ; SAW _A014+1 -_F225 !WORD _A014+1 - !BYTE $26 ; LA _D038+0 -_F226 !WORD _D038+0 - !BYTE $7A ; SAW _A014+4 -_F227 !WORD _A014+4 - !BYTE $26 ; LA _D035+0 -_F228 !WORD _D035+0 - !BYTE $7A ; SAW _A014+7 -_F229 !WORD _A014+7 - !BYTE $26 ; LA _D039+0 -_F230 !WORD _D039+0 - !BYTE $7A ; SAW _A014+10 -_F231 !WORD _A014+10 - !BYTE $26 ; LA _D036+0 -_F232 !WORD _D036+0 - !BYTE $7A ; SAW _A014+13 -_F233 !WORD _A014+13 - !BYTE $26 ; LA _D040+0 -_F234 !WORD _D040+0 - !BYTE $7A ; SAW _A014+16 -_F235 !WORD _A014+16 - !BYTE $26 ; LA _D037+0 -_F236 !WORD _D037+0 - !BYTE $7A ; SAW _A014+19 -_F237 !WORD _A014+19 - !BYTE $26 ; LA _D041+0 -_F238 !WORD _D041+0 - !BYTE $7A ; SAW _A014+22 -_F239 !WORD _A014+22 - !BYTE $26 ; LA _D030+0 -_F240 !WORD _D030+0 - !BYTE $7A ; SAW _A016+1 -_F241 !WORD _A016+1 - !BYTE $26 ; LA _D031+0 -_F242 !WORD _D031+0 - !BYTE $7A ; SAW _A016+6 -_F243 !WORD _A016+6 - !BYTE $26 ; LA _D043+0 -_F244 !WORD _D043+0 - !BYTE $7A ; SAW _A018+1 -_F245 !WORD _A018+1 - !BYTE $26 ; LA _D042+0 -_F246 !WORD _D042+0 - !BYTE $7A ; SAW _A018+4 -_F247 !WORD _A018+4 - !BYTE $26 ; LA _D032+0 -_F248 !WORD _D032+0 - !BYTE $7A ; SAW _A019+1 -_F249 !WORD _A019+1 - !BYTE $26 ; LA _D038+0 -_F250 !WORD _D038+0 - !BYTE $7A ; SAW _A020+1 -_F251 !WORD _A020+1 - !BYTE $26 ; LA _D032+0 -_F252 !WORD _D032+0 - !BYTE $7A ; SAW _A020+6 -_F253 !WORD _A020+6 - !BYTE $26 ; LA _D039+0 -_F254 !WORD _D039+0 - !BYTE $7A ; SAW _A021+1 -_F255 !WORD _A021+1 - !BYTE $26 ; LA _D032+0 -_F256 !WORD _D032+0 - !BYTE $7A ; SAW _A021+6 -_F257 !WORD _A021+6 - !BYTE $26 ; LA _D033+0 -_F258 !WORD _D033+0 - !BYTE $7A ; SAW _A022+1 -_F259 !WORD _A022+1 - !BYTE $26 ; LA _D040+0 -_F260 !WORD _D040+0 - !BYTE $7A ; SAW _A023+1 -_F261 !WORD _A023+1 - !BYTE $26 ; LA _D033+0 -_F262 !WORD _D033+0 - !BYTE $7A ; SAW _A023+6 -_F263 !WORD _A023+6 - !BYTE $26 ; LA _D041+0 -_F264 !WORD _D041+0 - !BYTE $7A ; SAW _A024+1 -_F265 !WORD _A024+1 - !BYTE $26 ; LA _D033+0 -_F266 !WORD _D033+0 - !BYTE $7A ; SAW _A024+6 -_F267 !WORD _A024+6 - !BYTE $26 ; LA _D043+0 -_F268 !WORD _D043+0 - !BYTE $7A ; SAW _A025+1 -_F269 !WORD _A025+1 - !BYTE $26 ; LA _D042+0 -_F270 !WORD _D042+0 - !BYTE $7A ; SAW _A025+4 -_F271 !WORD _A025+4 - !BYTE $26 ; LA _D032+0 -_F272 !WORD _D032+0 - !BYTE $7A ; SAW _A026+1 -_F273 !WORD _A026+1 - !BYTE $26 ; LA _D038+0 -_F274 !WORD _D038+0 - !BYTE $7A ; SAW _A027+1 -_F275 !WORD _A027+1 - !BYTE $26 ; LA _D039+0 -_F276 !WORD _D039+0 - !BYTE $7A ; SAW _A028+1 -_F277 !WORD _A028+1 - !BYTE $26 ; LA _D033+0 -_F278 !WORD _D033+0 - !BYTE $7A ; SAW _A029+1 -_F279 !WORD _A029+1 - !BYTE $26 ; LA _D040+0 -_F280 !WORD _D040+0 - !BYTE $7A ; SAW _A030+1 -_F281 !WORD _A030+1 - !BYTE $26 ; LA _D041+0 -_F282 !WORD _D041+0 - !BYTE $7A ; SAW _A031+1 -_F283 !WORD _A031+1 - !BYTE $26 ; LA _D030+0 -_F284 !WORD _D030+0 - !BYTE $7A ; SAW _A033+1 -_F285 !WORD _A033+1 - !BYTE $26 ; LA _D031+0 -_F286 !WORD _D031+0 - !BYTE $7A ; SAW _A033+6 -_F287 !WORD _A033+6 - !BYTE $26 ; LA _A018+0 -_F288 !WORD _A018+0 - !BYTE $7A ; SAW _A034+1 -_F289 !WORD _A034+1 - !BYTE $26 ; LA _D030+0 -_F290 !WORD _D030+0 - !BYTE $7A ; SAW _A036+1 -_F291 !WORD _A036+1 - !BYTE $26 ; LA _D031+0 -_F292 !WORD _D031+0 - !BYTE $7A ; SAW _A036+6 -_F293 !WORD _A036+6 - !BYTE $26 ; LA _A018+0 -_F294 !WORD _A018+0 - !BYTE $7A ; SAW _A037+1 -_F295 !WORD _A037+1 - !BYTE $26 ; LA _D030+0 -_F296 !WORD _D030+0 - !BYTE $7A ; SAW _A039+1 -_F297 !WORD _A039+1 - !BYTE $26 ; LA _D031+0 -_F298 !WORD _D031+0 - !BYTE $7A ; SAW _A039+6 -_F299 !WORD _A039+6 - !BYTE $26 ; LA _A018+0 -_F300 !WORD _A018+0 - !BYTE $7A ; SAW _A040+1 -_F301 !WORD _A040+1 - !BYTE $26 ; LA _D030+0 -_F302 !WORD _D030+0 - !BYTE $7A ; SAW _A042+1 -_F303 !WORD _A042+1 - !BYTE $26 ; LA _D031+0 -_F304 !WORD _D031+0 - !BYTE $7A ; SAW _A042+6 -_F305 !WORD _A042+6 - !BYTE $26 ; LA _A014+0 -_F306 !WORD _A014+0 - !BYTE $7A ; SAW _A043+1 -_F307 !WORD _A043+1 - !BYTE $26 ; LA _A018+0 -_F308 !WORD _A018+0 - !BYTE $7A ; SAW _A044+1 -_F309 !WORD _A044+1 - !BYTE $26 ; LA _A014+0 -_F310 !WORD _A014+0 - !BYTE $7A ; SAW _A045+1 -_F311 !WORD _A045+1 - !BYTE $26 ; LA _A018+0 -_F312 !WORD _A018+0 - !BYTE $7A ; SAW _A046+1 -_F313 !WORD _A046+1 - !BYTE $26 ; LA _D030+0 -_F314 !WORD _D030+0 - !BYTE $7A ; SAW _A048+1 -_F315 !WORD _A048+1 - !BYTE $26 ; LA _D031+0 -_F316 !WORD _D031+0 - !BYTE $7A ; SAW _A048+6 -_F317 !WORD _A048+6 - !BYTE $26 ; LA _A014+0 -_F318 !WORD _A014+0 - !BYTE $7A ; SAW _A049+1 -_F319 !WORD _A049+1 - !BYTE $26 ; LA _A018+0 -_F320 !WORD _A018+0 - !BYTE $7A ; SAW _A050+1 -_F321 !WORD _A050+1 - !BYTE $26 ; LA _A014+0 -_F322 !WORD _A014+0 - !BYTE $7A ; SAW _A051+1 -_F323 !WORD _A051+1 - !BYTE $26 ; LA _A018+0 -_F324 !WORD _A018+0 - !BYTE $7A ; SAW _A052+1 -_F325 !WORD _A052+1 - !BYTE $26 ; LA _A011+0 -_F326 !WORD _A011+0 - !BYTE $7A ; SAW _A107+1 -_F327 !WORD _A107+1 - !BYTE $26 ; LA _A012+0 -_F328 !WORD _A012+0 - !BYTE $7A ; SAW _A108+1 -_F329 !WORD _A108+1 - !BYTE $26 ; LA _A109+0 -_F330 !WORD _A109+0 - !BYTE $78 ; SAB _A109+1 -_F331 !WORD _A109+1 - !BYTE $26 ; LA _A109+0 -_F332 !WORD _A109+0 - !BYTE $10 ; CN 8 - !BYTE $9C ; SHR - !BYTE $78 ; SAB _A109+5 -_F333 !WORD _A109+5 - !BYTE $26 ; LA _D039+0 -_F334 !WORD _D039+0 - !BYTE $7A ; SAW _A109+9 -_F335 !WORD _A109+9 - !BYTE $26 ; LA _D041+0 -_F336 !WORD _D041+0 - !BYTE $7A ; SAW _A109+16 -_F337 !WORD _A109+16 - !BYTE $26 ; LA _D038+0 -_F338 !WORD _D038+0 - !BYTE $7A ; SAW _A109+23 -_F339 !WORD _A109+23 - !BYTE $26 ; LA _D040+0 -_F340 !WORD _D040+0 - !BYTE $7A ; SAW _A109+30 -_F341 !WORD _A109+30 - !BYTE $26 ; LA _D030+0 -_F342 !WORD _D030+0 - !BYTE $7A ; SAW _A110+1 -_F343 !WORD _A110+1 - !BYTE $26 ; LA _D031+0 -_F344 !WORD _D031+0 - !BYTE $7A ; SAW _A110+6 -_F345 !WORD _A110+6 - !BYTE $26 ; LA _D043+0 -_F346 !WORD _D043+0 - !BYTE $7A ; SAW _A055+4 -_F347 !WORD _A055+4 - !BYTE $26 ; LA _D042+0 -_F348 !WORD _D042+0 - !BYTE $7A ; SAW _A055+7 -_F349 !WORD _A055+7 - !BYTE $26 ; LA _D032+0 -_F350 !WORD _D032+0 - !BYTE $7A ; SAW _A056+1 -_F351 !WORD _A056+1 - !BYTE $26 ; LA _D038+0 -_F352 !WORD _D038+0 - !BYTE $7A ; SAW _A057+1 -_F353 !WORD _A057+1 - !BYTE $26 ; LA _D032+0 -_F354 !WORD _D032+0 - !BYTE $7A ; SAW _A057+6 -_F355 !WORD _A057+6 - !BYTE $26 ; LA _D039+0 -_F356 !WORD _D039+0 - !BYTE $7A ; SAW _A058+1 -_F357 !WORD _A058+1 - !BYTE $26 ; LA _D032+0 -_F358 !WORD _D032+0 - !BYTE $7A ; SAW _A058+6 -_F359 !WORD _A058+6 - !BYTE $26 ; LA _D033+0 -_F360 !WORD _D033+0 - !BYTE $7A ; SAW _A059+1 -_F361 !WORD _A059+1 - !BYTE $26 ; LA _D040+0 -_F362 !WORD _D040+0 - !BYTE $7A ; SAW _A060+1 -_F363 !WORD _A060+1 - !BYTE $26 ; LA _D033+0 -_F364 !WORD _D033+0 - !BYTE $7A ; SAW _A060+6 -_F365 !WORD _A060+6 - !BYTE $26 ; LA _D041+0 -_F366 !WORD _D041+0 - !BYTE $7A ; SAW _A061+1 -_F367 !WORD _A061+1 - !BYTE $26 ; LA _D033+0 -_F368 !WORD _D033+0 - !BYTE $7A ; SAW _A061+6 -_F369 !WORD _A061+6 - !BYTE $26 ; LA _D043+0 -_F370 !WORD _D043+0 - !BYTE $7A ; SAW _A062+4 -_F371 !WORD _A062+4 - !BYTE $26 ; LA _D042+0 -_F372 !WORD _D042+0 - !BYTE $7A ; SAW _A062+7 -_F373 !WORD _A062+7 - !BYTE $26 ; LA _D032+0 -_F374 !WORD _D032+0 - !BYTE $7A ; SAW _A063+1 -_F375 !WORD _A063+1 - !BYTE $26 ; LA _D038+0 -_F376 !WORD _D038+0 - !BYTE $7A ; SAW _A064+1 -_F377 !WORD _A064+1 - !BYTE $26 ; LA _D039+0 -_F378 !WORD _D039+0 - !BYTE $7A ; SAW _A065+1 -_F379 !WORD _A065+1 - !BYTE $26 ; LA _D033+0 -_F380 !WORD _D033+0 - !BYTE $7A ; SAW _A066+1 -_F381 !WORD _A066+1 - !BYTE $26 ; LA _D040+0 -_F382 !WORD _D040+0 - !BYTE $7A ; SAW _A067+1 -_F383 !WORD _A067+1 - !BYTE $26 ; LA _D041+0 -_F384 !WORD _D041+0 - !BYTE $7A ; SAW _A068+1 -_F385 !WORD _A068+1 - !BYTE $26 ; LA _A055+0 -_F386 !WORD _A055+0 - !BYTE $7A ; SAW _A070+1 -_F387 !WORD _A070+1 - !BYTE $26 ; LA _A055+0 -_F388 !WORD _A055+0 - !BYTE $7A ; SAW _A072+1 -_F389 !WORD _A072+1 - !BYTE $26 ; LA _A055+0 -_F390 !WORD _A055+0 - !BYTE $7A ; SAW _A074+1 -_F391 !WORD _A074+1 - !BYTE $26 ; LA _A014+0 -_F392 !WORD _A014+0 - !BYTE $7A ; SAW _A077+1 -_F393 !WORD _A077+1 - !BYTE $26 ; LA _A055+0 -_F394 !WORD _A055+0 - !BYTE $7A ; SAW _A078+1 -_F395 !WORD _A078+1 - !BYTE $26 ; LA _A014+0 -_F396 !WORD _A014+0 - !BYTE $7A ; SAW _A079+1 -_F397 !WORD _A079+1 - !BYTE $26 ; LA _A055+0 -_F398 !WORD _A055+0 - !BYTE $7A ; SAW _A080+1 -_F399 !WORD _A080+1 - !BYTE $26 ; LA _A014+0 -_F400 !WORD _A014+0 - !BYTE $7A ; SAW _A082+1 -_F401 !WORD _A082+1 - !BYTE $26 ; LA _A055+0 -_F402 !WORD _A055+0 - !BYTE $7A ; SAW _A083+1 -_F403 !WORD _A083+1 - !BYTE $26 ; LA _A014+0 -_F404 !WORD _A014+0 - !BYTE $7A ; SAW _A084+1 -_F405 !WORD _A084+1 - !BYTE $26 ; LA _A055+0 -_F406 !WORD _A055+0 - !BYTE $7A ; SAW _A085+1 -_F407 !WORD _A085+1 - !BYTE $26 ; LA _A112+0 -_F408 !WORD _A112+0 - !BYTE $78 ; SAB _A112+1 -_F409 !WORD _A112+1 - !BYTE $26 ; LA _A112+0 -_F410 !WORD _A112+0 - !BYTE $10 ; CN 8 - !BYTE $9C ; SHR - !BYTE $78 ; SAB _A112+5 -_F411 !WORD _A112+5 - !BYTE $26 ; LA _D039+0 -_F412 !WORD _D039+0 - !BYTE $7A ; SAW _A112+9 -_F413 !WORD _A112+9 - !BYTE $26 ; LA _D041+0 -_F414 !WORD _D041+0 - !BYTE $7A ; SAW _A112+16 -_F415 !WORD _A112+16 - !BYTE $26 ; LA _D038+0 -_F416 !WORD _D038+0 - !BYTE $7A ; SAW _A112+23 -_F417 !WORD _A112+23 - !BYTE $26 ; LA _D040+0 -_F418 !WORD _D040+0 - !BYTE $7A ; SAW _A112+30 -_F419 !WORD _A112+30 - !BYTE $26 ; LA _D030+0 -_F420 !WORD _D030+0 - !BYTE $7A ; SAW _A087+1 -_F421 !WORD _A087+1 - !BYTE $26 ; LA _D031+0 -_F422 !WORD _D031+0 - !BYTE $7A ; SAW _A087+6 -_F423 !WORD _A087+6 - !BYTE $26 ; LA _A011+0 -_F424 !WORD _A011+0 - !BYTE $7A ; SAW _A089+1 -_F425 !WORD _A089+1 - !BYTE $26 ; LA _A012+0 -_F426 !WORD _A012+0 - !BYTE $7A ; SAW _A090+1 -_F427 !WORD _A090+1 - !BYTE $26 ; LA _D030+0 -_F428 !WORD _D030+0 - !BYTE $7A ; SAW _A093+1 -_F429 !WORD _A093+1 - !BYTE $26 ; LA _D031+0 -_F430 !WORD _D031+0 - !BYTE $7A ; SAW _A093+6 -_F431 !WORD _A093+6 - !BYTE $26 ; LA _D030+0 -_F432 !WORD _D030+0 - !BYTE $7A ; SAW _A095+1 -_F433 !WORD _A095+1 - !BYTE $26 ; LA _D031+0 -_F434 !WORD _D031+0 - !BYTE $7A ; SAW _A095+6 -_F435 !WORD _A095+6 - !BYTE $26 ; LA _A011+0 -_F436 !WORD _A011+0 - !BYTE $7A ; SAW _A099+1 -_F437 !WORD _A099+1 - !BYTE $26 ; LA _A012+0 -_F438 !WORD _A012+0 - !BYTE $7A ; SAW _A100+1 -_F439 !WORD _A100+1 - !BYTE $26 ; LA _D028+0 -_F440 !WORD _D028+0 - !BYTE $7A ; SAW _A114+1 -_F441 !WORD _A114+1 - !BYTE $26 ; LA _A116+3 -_F442 !WORD _A116+3 - !BYTE $7A ; SAW _A114+4 -_F443 !WORD _A114+4 - !BYTE $26 ; LA _A116+9 -_F444 !WORD _A116+9 - !BYTE $7A ; SAW _A114+7 -_F445 !WORD _A114+7 - !BYTE $26 ; LA _A116+15 -_F446 !WORD _A116+15 - !BYTE $7A ; SAW _A114+10 -_F447 !WORD _A114+10 - !BYTE $26 ; LA _A116+21 -_F448 !WORD _A116+21 - !BYTE $7A ; SAW _A114+13 -_F449 !WORD _A114+13 - !BYTE $26 ; LA _A116+27 -_F450 !WORD _A116+27 - !BYTE $7A ; SAW _A114+16 -_F451 !WORD _A114+16 - !BYTE $26 ; LA _A116+33 -_F452 !WORD _A116+33 - !BYTE $7A ; SAW _A114+19 -_F453 !WORD _A114+19 - !BYTE $26 ; LA _A116+39 -_F454 !WORD _A116+39 - !BYTE $7A ; SAW _A114+22 -_F455 !WORD _A114+22 - !BYTE $26 ; LA _A116+45 -_F456 !WORD _A116+45 - !BYTE $7A ; SAW _A114+25 -_F457 !WORD _A114+25 - !BYTE $26 ; LA _D029+0 -_F458 !WORD _D029+0 - !BYTE $7A ; SAW _A115+1 -_F459 !WORD _A115+1 - !BYTE $26 ; LA _A116+4 -_F460 !WORD _A116+4 - !BYTE $7A ; SAW _A115+4 -_F461 !WORD _A115+4 - !BYTE $26 ; LA _A116+10 -_F462 !WORD _A116+10 - !BYTE $7A ; SAW _A115+10 -_F463 !WORD _A115+10 - !BYTE $26 ; LA _A116+16 -_F464 !WORD _A116+16 - !BYTE $7A ; SAW _A115+15 -_F465 !WORD _A115+15 - !BYTE $26 ; LA _A116+22 -_F466 !WORD _A116+22 - !BYTE $7A ; SAW _A115+20 -_F467 !WORD _A115+20 - !BYTE $26 ; LA _A116+28 -_F468 !WORD _A116+28 - !BYTE $7A ; SAW _A115+25 -_F469 !WORD _A115+25 - !BYTE $26 ; LA _A116+34 -_F470 !WORD _A116+34 - !BYTE $7A ; SAW _A115+30 -_F471 !WORD _A115+30 - !BYTE $26 ; LA _A116+40 -_F472 !WORD _A116+40 - !BYTE $7A ; SAW _A115+35 -_F473 !WORD _A115+35 - !BYTE $26 ; LA _A116+46 -_F474 !WORD _A116+46 - !BYTE $7A ; SAW _A115+40 -_F475 !WORD _A115+40 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrlib.pla: 2687: done -_SYSFLAGS = 0 -_DEFCNT = 23 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F437-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F438-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F439-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F440-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F441-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F443-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F444-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F452-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F453-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F455-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F463-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F464-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F465-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F466-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F473-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F474-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F475-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: DCGRPIXEL - !BYTE $C4,$C3,$C7,$D2,$D0,$C9,$D8,$C5,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: DCGRHLIN - !BYTE $C4,$C3,$C7,$D2,$C8,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A002 - ; DCI STRING: DCGRVLIN - !BYTE $C4,$C3,$C7,$D2,$D6,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: DCGRBITMAP - !BYTE $C4,$C3,$C7,$D2,$C2,$C9,$D4,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A004 - ; DCI STRING: DCGRPIXMAP - !BYTE $C4,$C3,$C7,$D2,$D0,$C9,$D8,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: DCGRRLEMAP - !BYTE $C4,$C3,$C7,$D2,$D2,$CC,$C5,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A006 - ; DCI STRING: DHGRSCRBL7 - !BYTE $C4,$C8,$C7,$D2,$D3,$C3,$D2,$C2,$CC,$37 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A007 - ; DCI STRING: DHGRMEMBL7 - !BYTE $C4,$C8,$C7,$D2,$CD,$C5,$CD,$C2,$CC,$37 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A008 - ; DCI STRING: DHGRCLEARBL7 - !BYTE $C4,$C8,$C7,$D2,$C3,$CC,$C5,$C1,$D2,$C2,$CC,$37 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A009 - ; DCI STRING: DHGRTILES - !BYTE $C4,$C8,$C7,$D2,$D4,$C9,$CC,$C5,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A010 - ; DCI STRING: DCGRCOLOR - !BYTE $C4,$C3,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A013 - ; DCI STRING: DHGRMEMBL7TILE - !BYTE $C4,$C8,$C7,$D2,$CD,$C5,$CD,$C2,$CC,$B7,$D4,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: DHGROP - !BYTE $C4,$C8,$C7,$D2,$CF,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C015 - ; DCI STRING: DHGRSURFSCR - !BYTE $C4,$C8,$C7,$D2,$D3,$D5,$D2,$C6,$D3,$C3,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C016 - ; DCI STRING: DHGRSURFMEM - !BYTE $C4,$C8,$C7,$D2,$D3,$D5,$D2,$C6,$CD,$C5,$4D - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C017 - ; DCI STRING: DHGRSET - !BYTE $C4,$C8,$C7,$D2,$D3,$C5,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C018 - ; DCI STRING: DHGRUNSET - !BYTE $C4,$C8,$C7,$D2,$D5,$CE,$D3,$C5,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C019 - ; DCI STRING: DCGRGETPIXEL - !BYTE $C4,$C3,$C7,$D2,$C7,$C5,$D4,$D0,$C9,$D8,$C5,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C020 - ; DCI STRING: DHGRMODE - !BYTE $C4,$C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C021 - !BYTE $00 ; END OF ESD diff --git a/src/dhgr.tk/libs/dhgrutils.a b/src/dhgr.tk/libs/dhgrutils.a deleted file mode 100644 index 9646483..0000000 --- a/src/dhgr.tk/libs/dhgrutils.a +++ /dev/null @@ -1,3080 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; dhgr.tk/libs/dhgrutils.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; dhgr.tk/libs/dhgrutils.pla: 0001: -; dhgr.tk/libs/dhgrutils.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; dhgr.tk/libs/dhgrutils.pla: 0002: -; dhgr.tk/libs/dhgrutils.pla: 0003: include "dhgr.tk/inc/dhgrlib.plh" -; dhgr.tk/inc/dhgrlib.plh: 0001: import dhgrlib - ; DCI STRING: DHGRLIB - !BYTE $C4,$C8,$C7,$D2,$CC,$C9,$42 - ; DHGRLIB -> X030 -; dhgr.tk/inc/dhgrlib.plh: 0002: const DST_SCREEN = 0 - ; DST_SCREEN = 0 -; dhgr.tk/inc/dhgrlib.plh: 0003: const DST_MEMORY = 1 - ; DST_MEMORY = 1 -; dhgr.tk/inc/dhgrlib.plh: 0004: const SCR_WIDTH7 = 20 - ; SCR_WIDTH7 = 20 -; dhgr.tk/inc/dhgrlib.plh: 0005: const SCR_WIDTH = 140 - ; SCR_WIDTH = 140 -; dhgr.tk/inc/dhgrlib.plh: 0006: const SCR_HEIGHT = 192 - ; SCR_HEIGHT = 192 -; dhgr.tk/inc/dhgrlib.plh: 0007: const OP_SRC = 0 - ; OP_SRC = 0 -; dhgr.tk/inc/dhgrlib.plh: 0008: const OP_XOR = 1 - ; OP_XOR = 1 -; dhgr.tk/inc/dhgrlib.plh: 0009: const OP_AND = 2 - ; OP_AND = 2 -; dhgr.tk/inc/dhgrlib.plh: 0010: const OP_OR = 3 - ; OP_OR = 3 -; dhgr.tk/inc/dhgrlib.plh: 0011: const CLR_BLACK = 0 - ; CLR_BLACK = 0 -; dhgr.tk/inc/dhgrlib.plh: 0012: const CLR_MAGENTA = 1 - ; CLR_MAGENTA = 1 -; dhgr.tk/inc/dhgrlib.plh: 0013: const CLR_DRKBLUE = 2 - ; CLR_DRKBLUE = 2 -; dhgr.tk/inc/dhgrlib.plh: 0014: const CLR_PURPLE = 3 - ; CLR_PURPLE = 3 -; dhgr.tk/inc/dhgrlib.plh: 0015: const CLR_DRKGREEN = 4 - ; CLR_DRKGREEN = 4 -; dhgr.tk/inc/dhgrlib.plh: 0016: const CLR_GREY1 = 5 - ; CLR_GREY1 = 5 -; dhgr.tk/inc/dhgrlib.plh: 0017: const CLR_XPARENT = 5 - ; CLR_XPARENT = 5 -; dhgr.tk/inc/dhgrlib.plh: 0018: const CLR_MEDBLUE = 6 - ; CLR_MEDBLUE = 6 -; dhgr.tk/inc/dhgrlib.plh: 0019: const CLR_LTBLUE = 7 - ; CLR_LTBLUE = 7 -; dhgr.tk/inc/dhgrlib.plh: 0020: const CLR_BROWN = 8 - ; CLR_BROWN = 8 -; dhgr.tk/inc/dhgrlib.plh: 0021: const CLR_ORANGE = 9 - ; CLR_ORANGE = 9 -; dhgr.tk/inc/dhgrlib.plh: 0022: const CLR_GREY2 = 10 - ; CLR_GREY2 = 10 -; dhgr.tk/inc/dhgrlib.plh: 0023: const CLR_GREY = 10 - ; CLR_GREY = 10 -; dhgr.tk/inc/dhgrlib.plh: 0024: const CLR_PINK = 11 - ; CLR_PINK = 11 -; dhgr.tk/inc/dhgrlib.plh: 0025: const CLR_GREEN = 12 - ; CLR_GREEN = 12 -; dhgr.tk/inc/dhgrlib.plh: 0026: const CLR_YELLOW = 13 - ; CLR_YELLOW = 13 -; dhgr.tk/inc/dhgrlib.plh: 0027: const CLR_AQUA = 14 - ; CLR_AQUA = 14 -; dhgr.tk/inc/dhgrlib.plh: 0028: const CLR_WHITE = 15 - ; CLR_WHITE = 15 -; dhgr.tk/inc/dhgrlib.plh: 0029: -; dhgr.tk/inc/dhgrlib.plh: 0030: const DHGR_MONO_MODE = 2 - ; DHGR_MONO_MODE = 2 -; dhgr.tk/inc/dhgrlib.plh: 0031: const DHGR_COLOR_MODE = 0 - ; DHGR_COLOR_MODE = 0 -; dhgr.tk/inc/dhgrlib.plh: 0032: const DHGR_MIXED_MODE = 1 - ; DHGR_MIXED_MODE = 1 -; dhgr.tk/inc/dhgrlib.plh: 0033: const DHGR_TEXT_MODE = -1 - ; DHGR_TEXT_MODE = -1 -; dhgr.tk/inc/dhgrlib.plh: 0034: -; dhgr.tk/inc/dhgrlib.plh: 0035: predef dcgrColor(c)#0 - ; DCGRCOLOR -> X031 -; dhgr.tk/inc/dhgrlib.plh: 0036: predef dcgrPixel(x, y)#0 - ; DCGRPIXEL -> X032 -; dhgr.tk/inc/dhgrlib.plh: 0037: predef dcgrGetPixel(x, y)#1 - ; DCGRGETPIXEL -> X033 -; dhgr.tk/inc/dhgrlib.plh: 0038: predef dcgrHLin(x1, x2, y)#0 - ; DCGRHLIN -> X034 -; dhgr.tk/inc/dhgrlib.plh: 0039: predef dcgrVLin(y1, y2, x)#0 - ; DCGRVLIN -> X035 -; dhgr.tk/inc/dhgrlib.plh: 0040: predef dcgrBitMap(x, y, bitw, bith, bitptr)#0 - ; DCGRBITMAP -> X036 -; dhgr.tk/inc/dhgrlib.plh: 0041: predef dcgrPixMap(x, y, pixw, pixh, pixptr)#0 - ; DCGRPIXMAP -> X037 -; dhgr.tk/inc/dhgrlib.plh: 0042: predef dcgrRleMap(x, y, pixw, pixh, pixptr)#0 - ; DCGRRLEMAP -> X038 -; dhgr.tk/inc/dhgrlib.plh: 0043: predef dhgrScrBl7(x7, y, w7, h)#0 - ; DHGRSCRBL7 -> X039 -; dhgr.tk/inc/dhgrlib.plh: 0044: predef dhgrMemBl7(x7, y, w7, h, memptr, memspan)#0 - ; DHGRMEMBL7 -> X040 -; dhgr.tk/inc/dhgrlib.plh: 0045: predef dhgrClearBl7(x7, y, w7, h)#0 - ; DHGRCLEARBL7 -> X041 -; dhgr.tk/inc/dhgrlib.plh: 0046: predef dhgrTiles(x7, y8, strptr, strlen, tileset)#0 - ; DHGRTILES -> X042 -; dhgr.tk/inc/dhgrlib.plh: 0047: predef dhgrMemBl7Tile(x7, y, memptr, memspan, tileptr)#0 - ; DHGRMEMBL7TILE -> X043 -; dhgr.tk/inc/dhgrlib.plh: 0048: predef dhgrSet(dhx, y)#0 - ; DHGRSET -> X044 -; dhgr.tk/inc/dhgrlib.plh: 0049: predef dhgrUnset(dhx, y)#0 - ; DHGRUNSET -> X045 -; dhgr.tk/inc/dhgrlib.plh: 0050: predef dhgrOp(op)#0 - ; DHGROP -> X046 -; dhgr.tk/inc/dhgrlib.plh: 0051: predef dhgrSurfScr(op)#0 - ; DHGRSURFSCR -> X047 -; dhgr.tk/inc/dhgrlib.plh: 0052: predef dhgrSurfMem(op, memh, memptr, memspan)#0 - ; DHGRSURFMEM -> X048 -; dhgr.tk/inc/dhgrlib.plh: 0053: predef dhgrMode(mode)#1 - ; DHGRMODE -> X049 -; dhgr.tk/inc/dhgrlib.plh: 0054: end -; dhgr.tk/libs/dhgrutils.pla: 0003: -; dhgr.tk/libs/dhgrutils.pla: 0004: include "dhgr.tk/inc/dhgrutils.plh" -; dhgr.tk/inc/dhgrutils.plh: 0001: import dhgrutils -; dhgr.tk/inc/dhgrutils.plh: 0002: // -; dhgr.tk/inc/dhgrutils.plh: 0003: // Font type bits -; dhgr.tk/inc/dhgrutils.plh: 0004: // -; dhgr.tk/inc/dhgrutils.plh: 0005: const FONT_MONO = $00 - ; FONT_MONO = 0 -; dhgr.tk/inc/dhgrutils.plh: 0006: const FONT_PROP = $80 - ; FONT_PROP = 128 -; dhgr.tk/inc/dhgrutils.plh: 0007: const FONT_AA = $40 - ; FONT_AA = 64 -; dhgr.tk/inc/dhgrutils.plh: 0008: // -; dhgr.tk/inc/dhgrutils.plh: 0009: // Default fonts -; dhgr.tk/inc/dhgrutils.plh: 0010: // -; dhgr.tk/inc/dhgrutils.plh: 0011: const FONT_DEFAULT = 0 - ; FONT_DEFAULT = 0 -; dhgr.tk/inc/dhgrutils.plh: 0012: const FONT_DEF_THIN = 1 - ; FONT_DEF_THIN = 1 -; dhgr.tk/inc/dhgrutils.plh: 0013: const FONT_DEF_SLIM = 2 - ; FONT_DEF_SLIM = 2 -; dhgr.tk/inc/dhgrutils.plh: 0014: // -; dhgr.tk/inc/dhgrutils.plh: 0015: // Exported functions -; dhgr.tk/inc/dhgrutils.plh: 0016: // -; dhgr.tk/inc/dhgrutils.plh: 0017: predef dhgrAllocBl7Mem(w, h)#2 - ; DHGRALLOCBL7MEM -> X050 -; dhgr.tk/inc/dhgrutils.plh: 0018: predef dcgrStr(x, y, strptr)#2 - ; DCGRSTR -> X051 -; dhgr.tk/inc/dhgrutils.plh: 0019: predef dcgrStrExtents(strptr)#2 - ; DCGRSTREXTENTS -> X052 -; dhgr.tk/inc/dhgrutils.plh: 0020: predef dcgrBoldStr(clr, x, y, strptr)#2 - ; DCGRBOLDSTR -> X053 -; dhgr.tk/inc/dhgrutils.plh: 0021: predef dcgrFont(font)#1 - ; DCGRFONT -> X054 -; dhgr.tk/inc/dhgrutils.plh: 0022: predef fontRead(filename)#1 - ; FONTREAD -> X055 -; dhgr.tk/inc/dhgrutils.plh: 0023: predef fontGlyphDim(ch)#2 - ; FONTGLYPHDIM -> X056 -; dhgr.tk/inc/dhgrutils.plh: 0024: predef fontType#1 - ; FONTTYPE -> X057 -; dhgr.tk/inc/dhgrutils.plh: 0025: predef dcgrRect(x, y, w, h)#0 - ; DCGRRECT -> X058 -; dhgr.tk/inc/dhgrutils.plh: 0026: predef dcgrGetPixMap(x, y, w, h)#1 - ; DCGRGETPIXMAP -> X059 -; dhgr.tk/inc/dhgrutils.plh: 0027: predef dcgrEncPixMap(w, h, pixmap, rlemap)#1 - ; DCGRENCPIXMAP -> X060 -; dhgr.tk/inc/dhgrutils.plh: 0028: predef spriteRead(filestr)#5 - ; SPRITEREAD -> X061 -; dhgr.tk/inc/dhgrutils.plh: 0029: predef spriteWrite(filestr, xorg, yorg, width, height, sprptr)#1 - ; SPRITEWRITE -> X062 -; dhgr.tk/inc/dhgrutils.plh: 0030: predef screenRead(filestr)#1 - ; SCREENREAD -> X063 -; dhgr.tk/inc/dhgrutils.plh: 0031: predef screenWrite(filestr)#1 - ; SCREENWRITE -> X064 -; dhgr.tk/inc/dhgrutils.plh: 0032: end -; dhgr.tk/libs/dhgrutils.pla: 0004: -; dhgr.tk/libs/dhgrutils.pla: 0005: -; dhgr.tk/libs/dhgrutils.pla: 0006: const page1m = $C054 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; page1m = 49236 -; dhgr.tk/libs/dhgrutils.pla: 0007: const page1x = $C055 - ; page1x = 49237 -; dhgr.tk/libs/dhgrutils.pla: 0008: // -; dhgr.tk/libs/dhgrutils.pla: 0009: // Font header -; dhgr.tk/libs/dhgrutils.pla: 0010: // -; dhgr.tk/libs/dhgrutils.pla: 0011: struc t_font -; dhgr.tk/libs/dhgrutils.pla: 0012: byte[] fnt_typelen - ; fnt_typelen = 0 -; dhgr.tk/libs/dhgrutils.pla: 0013: char fnt_name[16] - ; fnt_name = 0 -; dhgr.tk/libs/dhgrutils.pla: 0014: byte fnt_first - ; fnt_first = 16 -; dhgr.tk/libs/dhgrutils.pla: 0015: byte fnt_last - ; fnt_last = 17 -; dhgr.tk/libs/dhgrutils.pla: 0016: byte fnt_width - ; fnt_width = 18 -; dhgr.tk/libs/dhgrutils.pla: 0017: byte fnt_height - ; fnt_height = 19 -; dhgr.tk/libs/dhgrutils.pla: 0018: var fnt_glyptrs[] - ; fnt_glyptrs = 20 -; dhgr.tk/libs/dhgrutils.pla: 0019: end - ; t_font = 20 -; dhgr.tk/libs/dhgrutils.pla: 0020: // -; dhgr.tk/libs/dhgrutils.pla: 0021: // Variable pitch glyphs -; dhgr.tk/libs/dhgrutils.pla: 0022: // -; dhgr.tk/libs/dhgrutils.pla: 0023: struc t_glyph -; dhgr.tk/libs/dhgrutils.pla: 0024: var gly_left - ; gly_left = 0 -; dhgr.tk/libs/dhgrutils.pla: 0025: var gly_top - ; gly_top = 2 -; dhgr.tk/libs/dhgrutils.pla: 0026: byte gly_width - ; gly_width = 4 -; dhgr.tk/libs/dhgrutils.pla: 0027: byte gly_height - ; gly_height = 5 -; dhgr.tk/libs/dhgrutils.pla: 0028: byte gly_adv - ; gly_adv = 6 -; dhgr.tk/libs/dhgrutils.pla: 0029: byte gly_strike[] - ; gly_strike = 7 -; dhgr.tk/libs/dhgrutils.pla: 0030: end - ; t_glyph = 7 -; dhgr.tk/libs/dhgrutils.pla: 0031: // -; dhgr.tk/libs/dhgrutils.pla: 0032: // Current and default font pointers -; dhgr.tk/libs/dhgrutils.pla: 0033: // -; dhgr.tk/libs/dhgrutils.pla: 0034: var fontPtr, fontDefault, fontDefThin, fontDefSlim -_D065 !FILL 2 ; fontPtr, fontDefault, fontDefThin, fontDefSlim -_D066 !FILL 2 ; fontDefault, fontDefThin, fontDefSlim -_D067 !FILL 2 ; fontDefThin, fontDefSlim -_D068 !FILL 2 ; fontDefSlim -; dhgr.tk/libs/dhgrutils.pla: 0035: // -; dhgr.tk/libs/dhgrutils.pla: 0036: // Function pointers -; dhgr.tk/libs/dhgrutils.pla: 0037: // -; dhgr.tk/libs/dhgrutils.pla: 0038: export asm dcgrStr(x, y, strptr)#2 -_P051 ; dcgrStr(x, y, strptr)#2() -_A000 ; dcgrStr() -; dhgr.tk/libs/dhgrutils.pla: 0039: JMP $2000 - JMP $2000 -; dhgr.tk/libs/dhgrutils.pla: 0040: end -; dhgr.tk/libs/dhgrutils.pla: 0041: // -; dhgr.tk/libs/dhgrutils.pla: 0042: // Utility functions -; dhgr.tk/libs/dhgrutils.pla: 0043: // -; dhgr.tk/libs/dhgrutils.pla: 0044: export def dhgrAllocBl7Mem(w, h)#2 -_SUBSEG ; BYTECODE STARTS - ; w -> [0] - ; h -> [2] -_P050 ; dhgrAllocBl7Mem(w, h)#2() -_C000 ; dhgrAllocBl7Mem() -; dhgr.tk/libs/dhgrutils.pla: 0045: word memblk, span - ; memblk -> [4] - ; span -> [6] -; dhgr.tk/libs/dhgrutils.pla: 0046: -; dhgr.tk/libs/dhgrutils.pla: 0047: span = (w+13)/14 << 3 - !BYTE $58,$08,$02 ; ENTER 8,2 -; dhgr.tk/libs/dhgrutils.pla: 0048: memblk = heapalloc(span * h) -; dhgr.tk/libs/dhgrutils.pla: 0049: return memblk, span - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0D ; ADDI 13 - !BYTE $1C ; CN 14 - !BYTE $88 ; DIV - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $6E,$06 ; DLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $54 ; CALL _X014 -_F000 !WORD 0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$08 ; LEAVE 8 -; dhgr.tk/libs/dhgrutils.pla: 0050: end -; dhgr.tk/libs/dhgrutils.pla: 0051: def bitMonoGlyphStr(x, y, strptr)#2 - ; x -> [0] - ; y -> [2] - ; strptr -> [4] -_C001 ; bitMonoGlyphStr() -; dhgr.tk/libs/dhgrutils.pla: 0052: byte first, last, width, height, size, i, ch - ; first -> [6] - ; last -> [7] - ; width -> [8] - ; height -> [9] - ; size -> [10] - ; i -> [11] - ; ch -> [12] -; dhgr.tk/libs/dhgrutils.pla: 0053: var strikes - ; strikes -> [13] -; dhgr.tk/libs/dhgrutils.pla: 0054: -; dhgr.tk/libs/dhgrutils.pla: 0055: first = fontPtr->fnt_first - !BYTE $58,$0F,$03 ; ENTER 15,3 -; dhgr.tk/libs/dhgrutils.pla: 0056: last = fontPtr->fnt_last -; dhgr.tk/libs/dhgrutils.pla: 0057: width = fontPtr->fnt_width -; dhgr.tk/libs/dhgrutils.pla: 0058: height = fontPtr->fnt_height -; dhgr.tk/libs/dhgrutils.pla: 0059: strikes = fontPtr + fnt_glyptrs -; dhgr.tk/libs/dhgrutils.pla: 0060: size = (width + 7) / 8 * height -; dhgr.tk/libs/dhgrutils.pla: 0061: for i = 1 to ^strptr - !BYTE $6A ; LAW _D065+0 -_F001 !WORD _D065+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$06 ; SLB [6] - !BYTE $6A ; LAW _D065+0 -_F002 !WORD _D065+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $74,$07 ; SLB [7] - !BYTE $6A ; LAW _D065+0 -_F003 !WORD _D065+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $74,$08 ; SLB [8] - !BYTE $6A ; LAW _D065+0 -_F004 !WORD _D065+0 - !BYTE $38,$13 ; ADDI 19 - !BYTE $60 ; LB - !BYTE $74,$09 ; SLB [9] - !BYTE $6A ; LAW _D065+0 -_F005 !WORD _D065+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$0D ; SLW [13] - !BYTE $64,$08 ; LLB [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $64,$09 ; LLB [9] - !BYTE $86 ; MUL - !BYTE $74,$0A ; SLB [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6C,$0B ; DLB [11] -; dhgr.tk/libs/dhgrutils.pla: 0062: ch = ^(strptr + i) -; dhgr.tk/libs/dhgrutils.pla: 0063: if ch >= first and ch <= last -; dhgr.tk/libs/dhgrutils.pla: 0064: dcgrBitmap(x, y - height, width, height, \ -; dhgr.tk/libs/dhgrutils.pla: 0065: dcgrBitmap(x, y - height, width, height, strikes + (^(strptr + i) - first) * size) -; dhgr.tk/libs/dhgrutils.pla: 0066: x = x + width -; dhgr.tk/libs/dhgrutils.pla: 0067: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $60 ; LB - !BYTE $6C,$0C ; DLB [12] - !BYTE $64,$06 ; LLB [6] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $64,$0C ; LLB [12] - !BYTE $64,$07 ; LLB [7] - !BYTE $4A ; ISLE -_B004 - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$09 ; LLB [9] - !BYTE $84 ; SUB - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $60 ; LB - !BYTE $64,$06 ; LLB [6] - !BYTE $84 ; SUB - !BYTE $64,$0A ; LLB [10] - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X036 -_F006 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $76,$00 ; SLW [0] -_B005 -_B006 -; dhgr.tk/libs/dhgrutils.pla: 0068: next -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0069: return x, y - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0F ; LEAVE 15 -; dhgr.tk/libs/dhgrutils.pla: 0070: end -; dhgr.tk/libs/dhgrutils.pla: 0071: def pixPropGlyphStr(x, y, strptr)#2 - ; x -> [0] - ; y -> [2] - ; strptr -> [4] -_C002 ; pixPropGlyphStr() -; dhgr.tk/libs/dhgrutils.pla: 0072: var glyptrs, glyph - ; glyptrs -> [6] - ; glyph -> [8] -; dhgr.tk/libs/dhgrutils.pla: 0073: byte first, last, i, ch - ; first -> [10] - ; last -> [11] - ; i -> [12] - ; ch -> [13] -; dhgr.tk/libs/dhgrutils.pla: 0074: -; dhgr.tk/libs/dhgrutils.pla: 0075: first = fontPtr->fnt_first - !BYTE $58,$0E,$03 ; ENTER 14,3 -; dhgr.tk/libs/dhgrutils.pla: 0076: last = fontPtr->fnt_last -; dhgr.tk/libs/dhgrutils.pla: 0077: glyptrs = fontPtr + fnt_glyptrs -; dhgr.tk/libs/dhgrutils.pla: 0078: x = x * 4 -; dhgr.tk/libs/dhgrutils.pla: 0079: for i = 1 to ^strptr - !BYTE $6A ; LAW _D065+0 -_F007 !WORD _D065+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$0A ; SLB [10] - !BYTE $6A ; LAW _D065+0 -_F008 !WORD _D065+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $74,$0B ; SLB [11] - !BYTE $6A ; LAW _D065+0 -_F009 !WORD _D065+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $9A ; SHL - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B007 - !WORD _B007-* -_B008 - !BYTE $6C,$0C ; DLB [12] -; dhgr.tk/libs/dhgrutils.pla: 0080: ch = ^(strptr + i) -; dhgr.tk/libs/dhgrutils.pla: 0081: if ch >= first and ch <= last -; dhgr.tk/libs/dhgrutils.pla: 0082: glyph = glyptrs=>[ch - first] -; dhgr.tk/libs/dhgrutils.pla: 0083: dcgrPixmap((x + glyph=>gly_left) / 4, \ -; dhgr.tk/libs/dhgrutils.pla: 0084: dcgrPixmap((x + glyph=>gly_left) / 4, y + glyph=>gly_top, \ -; dhgr.tk/libs/dhgrutils.pla: 0085: dcgrPixmap((x + glyph=>gly_left) / 4, y + glyph=>gly_top, glyph->gly_width, \ -; dhgr.tk/libs/dhgrutils.pla: 0086: dcgrPixmap((x + glyph=>gly_left) / 4, y + glyph=>gly_top, glyph->gly_width, glyph->gly_height, \ -; dhgr.tk/libs/dhgrutils.pla: 0087: dcgrPixmap((x + glyph=>gly_left) / 4, y + glyph=>gly_top, glyph->gly_width, glyph->gly_height, glyph + gly_strike) -; dhgr.tk/libs/dhgrutils.pla: 0088: x = x + glyph->gly_adv -; dhgr.tk/libs/dhgrutils.pla: 0089: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $6C,$0D ; DLB [13] - !BYTE $64,$0A ; LLB [10] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B010 - !WORD _B010-* - !BYTE $64,$0D ; LLB [13] - !BYTE $64,$0B ; LLB [11] - !BYTE $4A ; ISLE -_B010 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$06 ; LLW [6] - !BYTE $64,$0D ; LLB [13] - !BYTE $64,$0A ; LLB [10] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _X037 -_F010 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$00 ; SLW [0] -_B011 -_B012 -; dhgr.tk/libs/dhgrutils.pla: 0090: next -_B009 - !BYTE $A4 ; INCBRLE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0091: return x / 4, y - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0E ; LEAVE 14 -; dhgr.tk/libs/dhgrutils.pla: 0092: end -; dhgr.tk/libs/dhgrutils.pla: 0093: def bitPropGlyphStr(x, y, strptr)#2 - ; x -> [0] - ; y -> [2] - ; strptr -> [4] -_C003 ; bitPropGlyphStr() -; dhgr.tk/libs/dhgrutils.pla: 0094: var glyptrs, glyph - ; glyptrs -> [6] - ; glyph -> [8] -; dhgr.tk/libs/dhgrutils.pla: 0095: byte first, last, i, ch - ; first -> [10] - ; last -> [11] - ; i -> [12] - ; ch -> [13] -; dhgr.tk/libs/dhgrutils.pla: 0096: -; dhgr.tk/libs/dhgrutils.pla: 0097: first = fontPtr->fnt_first - !BYTE $58,$0E,$03 ; ENTER 14,3 -; dhgr.tk/libs/dhgrutils.pla: 0098: last = fontPtr->fnt_last -; dhgr.tk/libs/dhgrutils.pla: 0099: glyptrs = fontPtr + fnt_glyptrs -; dhgr.tk/libs/dhgrutils.pla: 0100: for i = 1 to ^strptr - !BYTE $6A ; LAW _D065+0 -_F011 !WORD _D065+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$0A ; SLB [10] - !BYTE $6A ; LAW _D065+0 -_F012 !WORD _D065+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $74,$0B ; SLB [11] - !BYTE $6A ; LAW _D065+0 -_F013 !WORD _D065+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B013 - !WORD _B013-* -_B014 - !BYTE $6C,$0C ; DLB [12] -; dhgr.tk/libs/dhgrutils.pla: 0101: ch = ^(strptr + i) -; dhgr.tk/libs/dhgrutils.pla: 0102: if ch >= first and ch <= last -; dhgr.tk/libs/dhgrutils.pla: 0103: glyph = glyptrs=>[ch - first] -; dhgr.tk/libs/dhgrutils.pla: 0104: dcgrBitmap(x + glyph=>gly_left, \ -; dhgr.tk/libs/dhgrutils.pla: 0105: dcgrBitmap(x + glyph=>gly_left, y + glyph=>gly_top, \ -; dhgr.tk/libs/dhgrutils.pla: 0106: dcgrBitmap(x + glyph=>gly_left, y + glyph=>gly_top, glyph->gly_width, \ -; dhgr.tk/libs/dhgrutils.pla: 0107: dcgrBitmap(x + glyph=>gly_left, y + glyph=>gly_top, glyph->gly_width, glyph->gly_height, \ -; dhgr.tk/libs/dhgrutils.pla: 0108: dcgrBitmap(x + glyph=>gly_left, y + glyph=>gly_top, glyph->gly_width, glyph->gly_height, glyph + gly_strike) -; dhgr.tk/libs/dhgrutils.pla: 0109: x = x + glyph->gly_adv -; dhgr.tk/libs/dhgrutils.pla: 0110: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $6C,$0D ; DLB [13] - !BYTE $64,$0A ; LLB [10] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B016 - !WORD _B016-* - !BYTE $64,$0D ; LLB [13] - !BYTE $64,$0B ; LLB [11] - !BYTE $4A ; ISLE -_B016 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $66,$06 ; LLW [6] - !BYTE $64,$0D ; LLB [13] - !BYTE $64,$0A ; LLB [10] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _X036 -_F014 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$00 ; SLW [0] -_B017 -_B018 -; dhgr.tk/libs/dhgrutils.pla: 0111: next -_B015 - !BYTE $A4 ; INCBRLE _B014 - !WORD _B014-* -_B013 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0112: return x, y - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0E ; LEAVE 14 -; dhgr.tk/libs/dhgrutils.pla: 0113: end -; dhgr.tk/libs/dhgrutils.pla: 0114: export def dcgrStrExtents(strptr)#2 - ; strptr -> [0] -_P052 ; dcgrStrExtents(strptr)#2() -_C004 ; dcgrStrExtents() -; dhgr.tk/libs/dhgrutils.pla: 0115: var glyptrs, xext, yext - ; glyptrs -> [2] - ; xext -> [4] - ; yext -> [6] -; dhgr.tk/libs/dhgrutils.pla: 0116: byte first, last, width, i, ch - ; first -> [8] - ; last -> [9] - ; width -> [10] - ; i -> [11] - ; ch -> [12] -; dhgr.tk/libs/dhgrutils.pla: 0117: -; dhgr.tk/libs/dhgrutils.pla: 0118: first = fontPtr->fnt_first - !BYTE $58,$0D,$01 ; ENTER 13,1 -; dhgr.tk/libs/dhgrutils.pla: 0119: last = fontPtr->fnt_last -; dhgr.tk/libs/dhgrutils.pla: 0120: if ^fontPtr & FONT_PROP -; dhgr.tk/libs/dhgrutils.pla: 0121: glyptrs = fontPtr + fnt_glyptrs -; dhgr.tk/libs/dhgrutils.pla: 0122: xext = -glyptrs=>[^(strptr + 1) - first]=>gly_left -; dhgr.tk/libs/dhgrutils.pla: 0123: if ^strptr > 1 -; dhgr.tk/libs/dhgrutils.pla: 0124: for i = 1 to ^strptr-1 - !BYTE $6A ; LAW _D065+0 -_F015 !WORD _D065+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$08 ; SLB [8] - !BYTE $6A ; LAW _D065+0 -_F016 !WORD _D065+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $74,$09 ; SLB [9] - !BYTE $6A ; LAW _D065+0 -_F017 !WORD _D065+0 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $6A ; LAW _D065+0 -_F018 !WORD _D065+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $6E,$02 ; DLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $64,$08 ; LLB [8] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B023 - !WORD _B023-* -_B024 - !BYTE $6C,$0B ; DLB [11] -; dhgr.tk/libs/dhgrutils.pla: 0125: ch = ^(strptr + i) -; dhgr.tk/libs/dhgrutils.pla: 0126: if ch >= first and ch <= last -; dhgr.tk/libs/dhgrutils.pla: 0127: xext = xext + glyptrs=>[ch - first]->gly_adv -; dhgr.tk/libs/dhgrutils.pla: 0128: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $60 ; LB - !BYTE $6C,$0C ; DLB [12] - !BYTE $64,$08 ; LLB [8] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B026 - !WORD _B026-* - !BYTE $64,$0C ; LLB [12] - !BYTE $64,$09 ; LLB [9] - !BYTE $4A ; ISLE -_B026 - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$0C ; LLB [12] - !BYTE $64,$08 ; LLB [8] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] -_B027 -_B028 -; dhgr.tk/libs/dhgrutils.pla: 0129: next -_B025 - !BYTE $A4 ; INCBRLE _B024 - !WORD _B024-* -_B023 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0130: fin -_B021 -_B022 -; dhgr.tk/libs/dhgrutils.pla: 0131: xext = xext + glyptrs=>[^(strptr + ^strptr) - first]->gly_width -; dhgr.tk/libs/dhgrutils.pla: 0132: if ^fontPtr & FONT_AA -; dhgr.tk/libs/dhgrutils.pla: 0133: xext = xext / 4 -; dhgr.tk/libs/dhgrutils.pla: 0134: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $64,$08 ; LLB [8] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D065+0 -_F019 !WORD _D065+0 - !BYTE $60 ; LB - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $66,$04 ; LLW [4] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $76,$04 ; SLW [4] -_B029 -_B030 -; dhgr.tk/libs/dhgrutils.pla: 0135: else - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -_B019 -; dhgr.tk/libs/dhgrutils.pla: 0136: xext = fontPtr->fnt_width * ^strptr -; dhgr.tk/libs/dhgrutils.pla: 0137: fin - !BYTE $6A ; LAW _D065+0 -_F020 !WORD _D065+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $86 ; MUL - !BYTE $76,$04 ; SLW [4] -_B020 -; dhgr.tk/libs/dhgrutils.pla: 0138: return xext, fontPtr->fnt_height - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D065+0 -_F021 !WORD _D065+0 - !BYTE $38,$13 ; ADDI 19 - !BYTE $60 ; LB - !BYTE $5A,$0D ; LEAVE 13 -; dhgr.tk/libs/dhgrutils.pla: 0139: end -; dhgr.tk/libs/dhgrutils.pla: 0140: export def dcgrBoldStr(clr, x, y, strptr)#2 - ; clr -> [0] - ; x -> [2] - ; y -> [4] - ; strptr -> [6] -_P053 ; dcgrBoldStr(clr, x, y, strptr)#2() -_C005 ; dcgrBoldStr() -; dhgr.tk/libs/dhgrutils.pla: 0141: byte h, v - ; h -> [8] - ; v -> [9] -; dhgr.tk/libs/dhgrutils.pla: 0142: -; dhgr.tk/libs/dhgrutils.pla: 0143: for v = y - 1 to y + 1 - !BYTE $58,$0A,$04 ; ENTER 10,4 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B031 - !WORD _B031-* -_B032 - !BYTE $6C,$09 ; DLB [9] -; dhgr.tk/libs/dhgrutils.pla: 0144: for h = x - 1 to x + 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B034 - !WORD _B034-* -_B035 - !BYTE $6C,$08 ; DLB [8] -; dhgr.tk/libs/dhgrutils.pla: 0145: dcgrStr(h, v, strptr) -; dhgr.tk/libs/dhgrutils.pla: 0146: next - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A000 -_F022 !WORD _A000 - !BYTE $30 ; DROP - !BYTE $30 ; DROP -_B036 - !BYTE $A4 ; INCBRLE _B035 - !WORD _B035-* -_B034 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0147: next -_B033 - !BYTE $A4 ; INCBRLE _B032 - !WORD _B032-* -_B031 - !BYTE $74,$09 ; SLB [9] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0148: dcgrColor(clr) -; dhgr.tk/libs/dhgrutils.pla: 0149: return dcgrStr(x, y, strptr) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X031 -_F023 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A000 -_F024 !WORD _A000 - !BYTE $5A,$0A ; LEAVE 10 -; dhgr.tk/libs/dhgrutils.pla: 0150: end -; dhgr.tk/libs/dhgrutils.pla: 0151: export def fontRead(filename)#1 - ; filename -> [0] -_P055 ; fontRead(filename)#1() -_C006 ; fontRead() -; dhgr.tk/libs/dhgrutils.pla: 0152: var glyph, strksize, left, top - ; glyph -> [2] - ; strksize -> [4] - ; left -> [6] - ; top -> [8] -; dhgr.tk/libs/dhgrutils.pla: 0153: byte refnum, num, i, width, height, adv - ; refnum -> [10] - ; num -> [11] - ; i -> [12] - ; width -> [13] - ; height -> [14] - ; adv -> [15] -; dhgr.tk/libs/dhgrutils.pla: 0154: byte roundup, pixbyte - ; roundup -> [16] - ; pixbyte -> [17] -; dhgr.tk/libs/dhgrutils.pla: 0155: var font_header, gly_ptr - ; font_header -> [18] - ; gly_ptr -> [20] -; dhgr.tk/libs/dhgrutils.pla: 0156: byte[64] sysfont - ; sysfont -> [22] -; dhgr.tk/libs/dhgrutils.pla: 0157: -; dhgr.tk/libs/dhgrutils.pla: 0158: font_header = NULL - !BYTE $58,$56,$01 ; ENTER 86,1 -; dhgr.tk/libs/dhgrutils.pla: 0159: if filename and ^filename -; dhgr.tk/libs/dhgrutils.pla: 0160: refnum = fileio:open(filename) -; dhgr.tk/libs/dhgrutils.pla: 0161: if not refnum // Look for system font -; dhgr.tk/libs/dhgrutils.pla: 0162: strcpy(@sysfont, cmdsys:syspath) -; dhgr.tk/libs/dhgrutils.pla: 0163: strcat(@sysfont, "fonts/") - !BYTE $00 ; CN 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B037 - !WORD _B037-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB -_B037 - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F025 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0A ; DLB [10] - !BYTE $4E ; BRTRU _B040 - !WORD _B040-* - !BYTE $28,$16 ; LLA [22] - !BYTE $6A ; LAW _X000+2 -_F026 !WORD 0+2 - !BYTE $54 ; CALL _X019 -_F027 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$16 ; LLA [22] - !BYTE $2E ; CS - !BYTE $06 - !BYTE $66,$6F,$6E,$74,$73,$2F - !BYTE $54 ; CALL _X020 -_F028 !WORD 0 - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0164: strcat(@sysfont, filename) -; dhgr.tk/libs/dhgrutils.pla: 0165: refnum = fileio:open(@sysfont) -; dhgr.tk/libs/dhgrutils.pla: 0166: if not refnum -; dhgr.tk/libs/dhgrutils.pla: 0167: strcpy(@sysfont, cmdsys:syspath) -; dhgr.tk/libs/dhgrutils.pla: 0168: strcat(@sysfont, "fonts/apple2.fon") - !BYTE $28,$16 ; LLA [22] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X020 -_F029 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$16 ; LLA [22] - !BYTE $6A ; LAW _X028+14 -_F030 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0A ; DLB [10] - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $28,$16 ; LLA [22] - !BYTE $6A ; LAW _X000+2 -_F031 !WORD 0+2 - !BYTE $54 ; CALL _X019 -_F032 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$16 ; LLA [22] - !BYTE $2E ; CS - !BYTE $10 - !BYTE $66,$6F,$6E,$74,$73,$2F,$61,$70 - !BYTE $70,$6C,$65,$32,$2E,$66,$6F,$6E - !BYTE $54 ; CALL _X020 -_F033 !WORD 0 - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0169: refnum = fileio:open(@sysfont) -; dhgr.tk/libs/dhgrutils.pla: 0170: fin - !BYTE $28,$16 ; LLA [22] - !BYTE $6A ; LAW _X028+14 -_F034 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $74,$0A ; SLB [10] -_B042 -_B043 -; dhgr.tk/libs/dhgrutils.pla: 0171: fin -_B040 -_B041 -; dhgr.tk/libs/dhgrutils.pla: 0172: if refnum -; dhgr.tk/libs/dhgrutils.pla: 0173: font_header = heapalloc(t_font) -; dhgr.tk/libs/dhgrutils.pla: 0174: fileio:read(refnum, font_header, t_font) -; dhgr.tk/libs/dhgrutils.pla: 0175: num = font_header->fnt_last - font_header->fnt_first -; dhgr.tk/libs/dhgrutils.pla: 0176: if font_header->fnt_typelen & FONT_PROP -; dhgr.tk/libs/dhgrutils.pla: 0177: gly_ptr = heapalloc(num * 2) // Allocate glyph ptrs right after -; dhgr.tk/libs/dhgrutils.pla: 0178: if font_header->fnt_typelen & FONT_AA -; dhgr.tk/libs/dhgrutils.pla: 0179: roundup = 1 -; dhgr.tk/libs/dhgrutils.pla: 0180: pixbyte = 2 -; dhgr.tk/libs/dhgrutils.pla: 0181: else - !BYTE $64,$0A ; LLB [10] - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _X014 -_F035 !WORD 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$12 ; LLW [18] - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _X028+18 -_F036 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$12 ; LLW [18] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $64,$0B ; LLB [11] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F037 !WORD 0 - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$12 ; LLW [18] - !BYTE $60 ; LB - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $04 ; CN 2 - !BYTE $74,$11 ; SLB [17] - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 -; dhgr.tk/libs/dhgrutils.pla: 0182: roundup = 7 -; dhgr.tk/libs/dhgrutils.pla: 0183: pixbyte = 8 -; dhgr.tk/libs/dhgrutils.pla: 0184: fin - !BYTE $0E ; CN 7 - !BYTE $74,$10 ; SLB [16] - !BYTE $10 ; CN 8 - !BYTE $74,$11 ; SLB [17] -_B049 -; dhgr.tk/libs/dhgrutils.pla: 0185: for i = 1 to num - !BYTE $64,$0B ; LLB [11] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B050 - !WORD _B050-* -_B051 - !BYTE $6C,$0C ; DLB [12] -; dhgr.tk/libs/dhgrutils.pla: 0186: fileio:read(refnum, @left, 1); left = sext(left) -; dhgr.tk/libs/dhgrutils.pla: 0187: fileio:read(refnum, @top, 1); top = sext(top) -; dhgr.tk/libs/dhgrutils.pla: 0188: fileio:read(refnum, @width, 1) -; dhgr.tk/libs/dhgrutils.pla: 0189: fileio:read(refnum, @height, 1) -; dhgr.tk/libs/dhgrutils.pla: 0190: fileio:read(refnum, @adv, 1) -; dhgr.tk/libs/dhgrutils.pla: 0191: strksize = (width + roundup) / pixbyte * height -; dhgr.tk/libs/dhgrutils.pla: 0192: if strksize -; dhgr.tk/libs/dhgrutils.pla: 0193: *gly_ptr = heapalloc(strksize + t_glyph) -; dhgr.tk/libs/dhgrutils.pla: 0194: glyph = *gly_ptr -; dhgr.tk/libs/dhgrutils.pla: 0195: if glyph and fileio:read(refnum, glyph + gly_strike, strksize) == strksize -; dhgr.tk/libs/dhgrutils.pla: 0196: glyph=>gly_left = left -; dhgr.tk/libs/dhgrutils.pla: 0197: glyph=>gly_top = top -; dhgr.tk/libs/dhgrutils.pla: 0198: glyph->gly_width = width -; dhgr.tk/libs/dhgrutils.pla: 0199: glyph->gly_height = height -; dhgr.tk/libs/dhgrutils.pla: 0200: glyph->gly_adv = adv -; dhgr.tk/libs/dhgrutils.pla: 0201: else - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$06 ; LLA [6] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F038 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X022 -_F039 !WORD 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$08 ; LLA [8] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F040 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X022 -_F041 !WORD 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$0D ; LLA [13] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F042 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$0E ; LLA [14] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F043 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$0F ; LLA [15] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F044 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0D ; LLB [13] - !BYTE $B0,$10 ; ADDLB [16] - !BYTE $64,$11 ; LLB [17] - !BYTE $88 ; DIV - !BYTE $64,$0E ; LLB [14] - !BYTE $86 ; MUL - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B053 - !WORD _B053-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _X014 -_F045 !WORD 0 - !BYTE $66,$14 ; LLW [20] - !BYTE $72 ; SW - !BYTE $66,$14 ; LLW [20] - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $AC ; BRAND _B055 - !WORD _B055-* - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X028+18 -_F046 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $66,$04 ; LLW [4] - !BYTE $40 ; ISEQ -_B055 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $64,$0D ; LLB [13] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -_B056 -; dhgr.tk/libs/dhgrutils.pla: 0202: heaprelease(font_header) -; dhgr.tk/libs/dhgrutils.pla: 0203: font_header = NULL -; dhgr.tk/libs/dhgrutils.pla: 0204: break - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _X015 -_F047 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $50 ; BRNCH _B050 - !WORD _B050-* -; dhgr.tk/libs/dhgrutils.pla: 0205: fin -_B057 -; dhgr.tk/libs/dhgrutils.pla: 0206: else - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B053 -; dhgr.tk/libs/dhgrutils.pla: 0207: *gly_ptr = NULL -; dhgr.tk/libs/dhgrutils.pla: 0208: fin - !BYTE $00 ; CN 0 - !BYTE $66,$14 ; LLW [20] - !BYTE $72 ; SW -_B054 -; dhgr.tk/libs/dhgrutils.pla: 0209: gly_ptr = gly_ptr + 2 -; dhgr.tk/libs/dhgrutils.pla: 0210: next - !BYTE $66,$14 ; LLW [20] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$14 ; SLW [20] -_B052 - !BYTE $A4 ; INCBRLE _B051 - !WORD _B051-* -_B050 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0211: else // FONT_MONO - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 -; dhgr.tk/libs/dhgrutils.pla: 0212: strksize = (font_header->fnt_width + 7) / 8 * font_header->fnt_height * num -; dhgr.tk/libs/dhgrutils.pla: 0213: glyph = heapalloc(strksize) // Allocate glyphs right after -; dhgr.tk/libs/dhgrutils.pla: 0214: if not glyph or fileio:read(refnum, glyph, strksize) <> strksize -; dhgr.tk/libs/dhgrutils.pla: 0215: heaprelease(font_header) -; dhgr.tk/libs/dhgrutils.pla: 0216: font_header = NULL -; dhgr.tk/libs/dhgrutils.pla: 0217: fin - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $38,$07 ; ADDI 7 - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$13 ; ADDI 19 - !BYTE $60 ; LB - !BYTE $86 ; MUL - !BYTE $64,$0B ; LLB [11] - !BYTE $86 ; MUL - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _X014 -_F048 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B058 - !WORD _B058-* - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X028+18 -_F049 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $66,$04 ; LLW [4] - !BYTE $42 ; ISNE -_B058 - !BYTE $4C ; BRFLS _B059 - !WORD _B059-* - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _X015 -_F050 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$12 ; SLW [18] -_B059 -_B060 -; dhgr.tk/libs/dhgrutils.pla: 0218: fin -_B047 -; dhgr.tk/libs/dhgrutils.pla: 0219: fileio:close(refnum) -; dhgr.tk/libs/dhgrutils.pla: 0220: fin - !BYTE $64,$0A ; LLB [10] - !BYTE $6A ; LAW _X028+16 -_F051 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B044 -_B045 -; dhgr.tk/libs/dhgrutils.pla: 0221: fin -_B038 -_B039 -; dhgr.tk/libs/dhgrutils.pla: 0222: return font_header - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$56 ; LEAVE 86 -; dhgr.tk/libs/dhgrutils.pla: 0223: end -; dhgr.tk/libs/dhgrutils.pla: 0224: export def dcgrFont(font)#1 - ; font -> [0] -_P054 ; dcgrFont(font)#1() -_C007 ; dcgrFont() -; dhgr.tk/libs/dhgrutils.pla: 0225: var rows, pWide, pThin, prevFont - ; rows -> [2] - ; pWide -> [4] - ; pThin -> [6] - ; prevFont -> [8] -; dhgr.tk/libs/dhgrutils.pla: 0226: -; dhgr.tk/libs/dhgrutils.pla: 0227: if font == FONT_DEFAULT // Will also capture NULL font pointers - !BYTE $58,$0A,$01 ; ENTER 10,1 -; dhgr.tk/libs/dhgrutils.pla: 0228: if not fontDefault -; dhgr.tk/libs/dhgrutils.pla: 0229: fontDefault = fontRead("apple2.fon") - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B061 - !WORD _B061-* - !BYTE $6A ; LAW _D066+0 -_F052 !WORD _D066+0 - !BYTE $4E ; BRTRU _B063 - !WORD _B063-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $61,$70,$70,$6C,$65,$32,$2E,$66 - !BYTE $6F,$6E - !BYTE $54 ; CALL _C006 -_F053 !WORD _C006 - !BYTE $7A ; SAW _D066+0 -_F054 !WORD _D066+0 -; dhgr.tk/libs/dhgrutils.pla: 0230: if not fontDefault -; dhgr.tk/libs/dhgrutils.pla: 0231: return fontPtr - !BYTE $6A ; LAW _D066+0 -_F055 !WORD _D066+0 - !BYTE $4E ; BRTRU _B065 - !WORD _B065-* - !BYTE $6A ; LAW _D065+0 -_F056 !WORD _D065+0 - !BYTE $5A,$0A ; LEAVE 10 -; dhgr.tk/libs/dhgrutils.pla: 0232: fin -_B065 -_B066 -; dhgr.tk/libs/dhgrutils.pla: 0233: fin -_B063 -_B064 -; dhgr.tk/libs/dhgrutils.pla: 0234: font = fontDefault -; dhgr.tk/libs/dhgrutils.pla: 0235: elsif font == FONT_DEF_THIN // Thin version of Apple2 font - !BYTE $6A ; LAW _D066+0 -_F057 !WORD _D066+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B061 -; dhgr.tk/libs/dhgrutils.pla: 0236: if not fontDefThin -; dhgr.tk/libs/dhgrutils.pla: 0237: fontDefThin = fontRead("apple2thin.fon") - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B067 - !WORD _B067-* - !BYTE $6A ; LAW _D067+0 -_F058 !WORD _D067+0 - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* - !BYTE $2E ; CS - !BYTE $0E - !BYTE $61,$70,$70,$6C,$65,$32,$74,$68 - !BYTE $69,$6E,$2E,$66,$6F,$6E - !BYTE $54 ; CALL _C006 -_F059 !WORD _C006 - !BYTE $7A ; SAW _D067+0 -_F060 !WORD _D067+0 -; dhgr.tk/libs/dhgrutils.pla: 0238: if not fontDefThin -; dhgr.tk/libs/dhgrutils.pla: 0239: return fontPtr - !BYTE $6A ; LAW _D067+0 -_F061 !WORD _D067+0 - !BYTE $4E ; BRTRU _B070 - !WORD _B070-* - !BYTE $6A ; LAW _D065+0 -_F062 !WORD _D065+0 - !BYTE $5A,$0A ; LEAVE 10 -; dhgr.tk/libs/dhgrutils.pla: 0240: fin -_B070 -_B071 -; dhgr.tk/libs/dhgrutils.pla: 0241: fin -_B068 -_B069 -; dhgr.tk/libs/dhgrutils.pla: 0242: font = fontDefThin -; dhgr.tk/libs/dhgrutils.pla: 0243: elsif font == FONT_DEF_SLIM // Proportional version of thin font - !BYTE $6A ; LAW _D067+0 -_F063 !WORD _D067+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B067 -; dhgr.tk/libs/dhgrutils.pla: 0244: if not fontDefSlim -; dhgr.tk/libs/dhgrutils.pla: 0245: fontDefSlim = fontRead("a2slim8.fon") - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B072 - !WORD _B072-* - !BYTE $6A ; LAW _D068+0 -_F064 !WORD _D068+0 - !BYTE $4E ; BRTRU _B073 - !WORD _B073-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $61,$32,$73,$6C,$69,$6D,$38,$2E - !BYTE $66,$6F,$6E - !BYTE $54 ; CALL _C006 -_F065 !WORD _C006 - !BYTE $7A ; SAW _D068+0 -_F066 !WORD _D068+0 -; dhgr.tk/libs/dhgrutils.pla: 0246: if not fontDefSlim -; dhgr.tk/libs/dhgrutils.pla: 0247: return fontPtr - !BYTE $6A ; LAW _D068+0 -_F067 !WORD _D068+0 - !BYTE $4E ; BRTRU _B075 - !WORD _B075-* - !BYTE $6A ; LAW _D065+0 -_F068 !WORD _D065+0 - !BYTE $5A,$0A ; LEAVE 10 -; dhgr.tk/libs/dhgrutils.pla: 0248: fin -_B075 -_B076 -; dhgr.tk/libs/dhgrutils.pla: 0249: fin -_B073 -_B074 -; dhgr.tk/libs/dhgrutils.pla: 0250: font = fontDefSlim -; dhgr.tk/libs/dhgrutils.pla: 0251: fin - !BYTE $6A ; LAW _D068+0 -_F069 !WORD _D068+0 - !BYTE $76,$00 ; SLW [0] -_B072 -_B062 -; dhgr.tk/libs/dhgrutils.pla: 0252: prevFont = fontPtr -; dhgr.tk/libs/dhgrutils.pla: 0253: fontPtr = font -; dhgr.tk/libs/dhgrutils.pla: 0254: if fontPtr->fnt_typelen & FONT_PROP -; dhgr.tk/libs/dhgrutils.pla: 0255: if fontPtr->fnt_typelen & FONT_AA -; dhgr.tk/libs/dhgrutils.pla: 0256: dcgrStr:1 = @pixPropGlyphStr -; dhgr.tk/libs/dhgrutils.pla: 0257: else - !BYTE $6A ; LAW _D065+0 -_F070 !WORD _D065+0 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D065+0 -_F071 !WORD _D065+0 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $6A ; LAW _D065+0 -_F072 !WORD _D065+0 - !BYTE $60 ; LB - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* - !BYTE $26 ; LA _C002+0 -_F073 !WORD _C002+0 - !BYTE $7A ; SAW _A000+1 -_F074 !WORD _A000+1 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B079 -; dhgr.tk/libs/dhgrutils.pla: 0258: dcgrStr:1 = @bitPropGlyphStr -; dhgr.tk/libs/dhgrutils.pla: 0259: fin - !BYTE $26 ; LA _C003+0 -_F075 !WORD _C003+0 - !BYTE $7A ; SAW _A000+1 -_F076 !WORD _A000+1 -_B080 -; dhgr.tk/libs/dhgrutils.pla: 0260: else // FONT_MONO - !BYTE $50 ; BRNCH _B078 - !WORD _B078-* -_B077 -; dhgr.tk/libs/dhgrutils.pla: 0261: dcgrStr:1 = @bitMonoGlyphStr -; dhgr.tk/libs/dhgrutils.pla: 0262: fin - !BYTE $26 ; LA _C001+0 -_F077 !WORD _C001+0 - !BYTE $7A ; SAW _A000+1 -_F078 !WORD _A000+1 -_B078 -; dhgr.tk/libs/dhgrutils.pla: 0263: return prevFont - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; dhgr.tk/libs/dhgrutils.pla: 0264: end -; dhgr.tk/libs/dhgrutils.pla: 0265: def dcgrLoadDefFont(x, y, strptr)#2 // Default if no font selected - ; x -> [0] - ; y -> [2] - ; strptr -> [4] -_C008 ; dcgrLoadDefFont() -; dhgr.tk/libs/dhgrutils.pla: 0266: dcgrFont(FONT_DEFAULT) - !BYTE $58,$06,$03 ; ENTER 6,3 -; dhgr.tk/libs/dhgrutils.pla: 0267: if fontDefault // Ensure it got loaded -; dhgr.tk/libs/dhgrutils.pla: 0268: return dcgrStr(x, y, strptr) - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F079 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D066+0 -_F080 !WORD _D066+0 - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A000 -_F081 !WORD _A000 - !BYTE $5A,$06 ; LEAVE 6 -; dhgr.tk/libs/dhgrutils.pla: 0269: fin -_B081 -_B082 -; dhgr.tk/libs/dhgrutils.pla: 0270: return 0, 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; dhgr.tk/libs/dhgrutils.pla: 0271: end -; dhgr.tk/libs/dhgrutils.pla: 0272: export def fontGlyphDim(ch)#2 - ; ch -> [0] -_P056 ; fontGlyphDim(ch)#2() -_C009 ; fontGlyphDim() -; dhgr.tk/libs/dhgrutils.pla: 0273: byte width, height, first - ; width -> [2] - ; height -> [3] - ; first -> [4] -; dhgr.tk/libs/dhgrutils.pla: 0274: -; dhgr.tk/libs/dhgrutils.pla: 0275: width = fontPtr->fnt_width - !BYTE $58,$05,$01 ; ENTER 5,1 -; dhgr.tk/libs/dhgrutils.pla: 0276: height = fontPtr->fnt_height -; dhgr.tk/libs/dhgrutils.pla: 0277: if fontPtr->fnt_typelen & FONT_PROP -; dhgr.tk/libs/dhgrutils.pla: 0278: first = fontPtr->fnt_first -; dhgr.tk/libs/dhgrutils.pla: 0279: if ch >= first and ch <= fontPtr->fnt_last -; dhgr.tk/libs/dhgrutils.pla: 0280: width = fontPtr=>fnt_glyptrs=>[ch - first]->gly_adv / 4 -; dhgr.tk/libs/dhgrutils.pla: 0281: fin - !BYTE $6A ; LAW _D065+0 -_F082 !WORD _D065+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $6A ; LAW _D065+0 -_F083 !WORD _D065+0 - !BYTE $38,$13 ; ADDI 19 - !BYTE $60 ; LB - !BYTE $74,$03 ; SLB [3] - !BYTE $6A ; LAW _D065+0 -_F084 !WORD _D065+0 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $6A ; LAW _D065+0 -_F085 !WORD _D065+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B085 - !WORD _B085-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D065+0 -_F086 !WORD _D065+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $4A ; ISLE -_B085 - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $6A ; LAW _D065+0 -_F087 !WORD _D065+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $74,$02 ; SLB [2] -_B086 -_B087 -; dhgr.tk/libs/dhgrutils.pla: 0282: fin -_B083 -_B084 -; dhgr.tk/libs/dhgrutils.pla: 0283: return width, height - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $5A,$05 ; LEAVE 5 -; dhgr.tk/libs/dhgrutils.pla: 0284: end -; dhgr.tk/libs/dhgrutils.pla: 0285: export def fontType#1 -_P057 ; fontType#1() -_C010 ; fontType() -; dhgr.tk/libs/dhgrutils.pla: 0286: return ^fontPtr & $F0 - !BYTE $6A ; LAW _D065+0 -_F088 !WORD _D065+0 - !BYTE $60 ; LB - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrutils.pla: 0287: end -; dhgr.tk/libs/dhgrutils.pla: 0288: export def dcgrRect(x, y, w, h)#0 - ; x -> [0] - ; y -> [2] - ; w -> [4] - ; h -> [6] -_P058 ; dcgrRect(x, y, w, h)#0() -_C011 ; dcgrRect() -; dhgr.tk/libs/dhgrutils.pla: 0289: byte x2, y2, v - ; x2 -> [8] - ; y2 -> [9] - ; v -> [10] -; dhgr.tk/libs/dhgrutils.pla: 0290: -; dhgr.tk/libs/dhgrutils.pla: 0291: x2 = x + w - 1 - !BYTE $58,$0B,$04 ; ENTER 11,4 -; dhgr.tk/libs/dhgrutils.pla: 0292: y2 = y + h - 1 -; dhgr.tk/libs/dhgrutils.pla: 0293: for v = y to y2 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $6C,$09 ; DLB [9] - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B088 - !WORD _B088-* -_B089 - !BYTE $6C,$0A ; DLB [10] -; dhgr.tk/libs/dhgrutils.pla: 0294: dcgrHLin(x, x2, v) -; dhgr.tk/libs/dhgrutils.pla: 0295: next - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$0A ; LLB [10] - !BYTE $54 ; CALL _X034 -_F089 !WORD 0 -_B090 - !BYTE $A4 ; INCBRLE _B089 - !WORD _B089-* -_B088 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0296: end - !BYTE $5A,$0B ; LEAVE 11 -; dhgr.tk/libs/dhgrutils.pla: 0297: export def dcgrGetPixMap(x, y, w, h)#1 - ; x -> [0] - ; y -> [2] - ; w -> [4] - ; h -> [6] -_P059 ; dcgrGetPixMap(x, y, w, h)#1() -_C012 ; dcgrGetPixMap() -; dhgr.tk/libs/dhgrutils.pla: 0298: var pixmap, pixptr - ; pixmap -> [8] - ; pixptr -> [10] -; dhgr.tk/libs/dhgrutils.pla: 0299: byte i, j - ; i -> [12] - ; j -> [13] -; dhgr.tk/libs/dhgrutils.pla: 0300: -; dhgr.tk/libs/dhgrutils.pla: 0301: pixmap = heapalloc((w + 1)/2 * h) - !BYTE $58,$0E,$04 ; ENTER 14,4 -; dhgr.tk/libs/dhgrutils.pla: 0302: pixptr = pixmap -; dhgr.tk/libs/dhgrutils.pla: 0303: w--; h-- - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $66,$06 ; LLW [6] - !BYTE $86 ; MUL - !BYTE $54 ; CALL _X014 -_F090 !WORD 0 - !BYTE $6E,$08 ; DLW [8] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; dhgr.tk/libs/dhgrutils.pla: 0304: for j = 0 to h - !BYTE $6E,$06 ; DLW [6] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B091 - !WORD _B091-* -_B092 - !BYTE $6C,$0D ; DLB [13] -; dhgr.tk/libs/dhgrutils.pla: 0305: for i = 0 to w step 2 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B094 - !WORD _B094-* -_B095 - !BYTE $6C,$0C ; DLB [12] -; dhgr.tk/libs/dhgrutils.pla: 0306: ^pixptr = dcgrGetPixel(i+x,j+y)|(dcgrGetPixel(i+x+1,j+y)<<4) -; dhgr.tk/libs/dhgrutils.pla: 0307: pixptr++ - !BYTE $64,$0C ; LLB [12] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $64,$0D ; LLB [13] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $54 ; CALL _X033 -_F091 !WORD 0 - !BYTE $64,$0C ; LLB [12] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $8C ; INCR - !BYTE $64,$0D ; LLB [13] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $54 ; CALL _X033 -_F092 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; dhgr.tk/libs/dhgrutils.pla: 0308: next - !BYTE $76,$0A ; SLW [10] -_B096 - !BYTE $04 ; CN 2 - !BYTE $A6 ; ADDBRLE _B095 - !WORD _B095-* -_B094 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0309: next -_B093 - !BYTE $A4 ; INCBRLE _B092 - !WORD _B092-* -_B091 - !BYTE $74,$0D ; SLB [13] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0310: return pixmap - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0E ; LEAVE 14 -; dhgr.tk/libs/dhgrutils.pla: 0311: end -; dhgr.tk/libs/dhgrutils.pla: 0312: export def dcgrEncPixMap(w, h, pixmap, rlemap)#1 - ; w -> [0] - ; h -> [2] - ; pixmap -> [4] - ; rlemap -> [6] -_P060 ; dcgrEncPixMap(w, h, pixmap, rlemap)#1() -_C013 ; dcgrEncPixMap() -; dhgr.tk/libs/dhgrutils.pla: 0313: var rleptr - ; rleptr -> [8] -; dhgr.tk/libs/dhgrutils.pla: 0314: byte i, j, run, pixrun - ; i -> [10] - ; j -> [11] - ; run -> [12] - ; pixrun -> [13] -; dhgr.tk/libs/dhgrutils.pla: 0315: -; dhgr.tk/libs/dhgrutils.pla: 0316: rleptr = rlemap - !BYTE $58,$0E,$04 ; ENTER 14,4 -; dhgr.tk/libs/dhgrutils.pla: 0317: w--; h-- - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; dhgr.tk/libs/dhgrutils.pla: 0318: for j = 0 to h - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B097 - !WORD _B097-* -_B098 - !BYTE $6C,$0B ; DLB [11] -; dhgr.tk/libs/dhgrutils.pla: 0319: run = 0 -; dhgr.tk/libs/dhgrutils.pla: 0320: for i = 0 to w step 2 - !BYTE $00 ; CN 0 - !BYTE $74,$0C ; SLB [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B100 - !WORD _B100-* -_B101 - !BYTE $6C,$0A ; DLB [10] -; dhgr.tk/libs/dhgrutils.pla: 0321: if run and ^pixmap == pixrun -; dhgr.tk/libs/dhgrutils.pla: 0322: run++ - !BYTE $64,$0C ; LLB [12] - !BYTE $AC ; BRAND _B103 - !WORD _B103-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $64,$0D ; LLB [13] - !BYTE $40 ; ISEQ -_B103 - !BYTE $4C ; BRFLS _B104 - !WORD _B104-* - !BYTE $64,$0C ; LLB [12] - !BYTE $8C ; INCR -; dhgr.tk/libs/dhgrutils.pla: 0323: else - !BYTE $74,$0C ; SLB [12] - !BYTE $50 ; BRNCH _B105 - !WORD _B105-* -_B104 -; dhgr.tk/libs/dhgrutils.pla: 0324: if run -; dhgr.tk/libs/dhgrutils.pla: 0325: *rleptr = run*2 | (pixrun << 8) -; dhgr.tk/libs/dhgrutils.pla: 0326: //puth(*rleptr); putc(',') -; dhgr.tk/libs/dhgrutils.pla: 0327: rleptr = rleptr + 2 -; dhgr.tk/libs/dhgrutils.pla: 0328: fin - !BYTE $64,$0C ; LLB [12] - !BYTE $4C ; BRFLS _B106 - !WORD _B106-* - !BYTE $64,$0C ; LLB [12] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $64,$0D ; LLB [13] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$08 ; LLW [8] - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] -_B106 -_B107 -; dhgr.tk/libs/dhgrutils.pla: 0329: run = 1 -; dhgr.tk/libs/dhgrutils.pla: 0330: pixrun = ^pixmap -; dhgr.tk/libs/dhgrutils.pla: 0331: fin - !BYTE $02 ; CN 1 - !BYTE $74,$0C ; SLB [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $74,$0D ; SLB [13] -_B105 -; dhgr.tk/libs/dhgrutils.pla: 0332: pixmap++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; dhgr.tk/libs/dhgrutils.pla: 0333: next - !BYTE $76,$04 ; SLW [4] -_B102 - !BYTE $04 ; CN 2 - !BYTE $A6 ; ADDBRLE _B101 - !WORD _B101-* -_B100 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0334: *rleptr = run*2 | (pixrun << 8) -; dhgr.tk/libs/dhgrutils.pla: 0335: //puth(*rleptr); putln -; dhgr.tk/libs/dhgrutils.pla: 0336: rleptr = rleptr + 2 -; dhgr.tk/libs/dhgrutils.pla: 0337: next - !BYTE $64,$0C ; LLB [12] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $64,$0D ; LLB [13] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$08 ; LLW [8] - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] -_B099 - !BYTE $A4 ; INCBRLE _B098 - !WORD _B098-* -_B097 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; dhgr.tk/libs/dhgrutils.pla: 0338: return rleptr - rlemap - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $5A,$0E ; LEAVE 14 -; dhgr.tk/libs/dhgrutils.pla: 0339: end -; dhgr.tk/libs/dhgrutils.pla: 0340: export def spriteRead(filestr)#5 - ; filestr -> [0] -_P061 ; spriteRead(filestr)#5() -_C014 ; spriteRead() -; dhgr.tk/libs/dhgrutils.pla: 0341: var sprptr, sprsize, xorg, yorg - ; sprptr -> [2] - ; sprsize -> [4] - ; xorg -> [6] - ; yorg -> [8] -; dhgr.tk/libs/dhgrutils.pla: 0342: byte refnum, width, height - ; refnum -> [10] - ; width -> [11] - ; height -> [12] -; dhgr.tk/libs/dhgrutils.pla: 0343: -; dhgr.tk/libs/dhgrutils.pla: 0344: width = 0 - !BYTE $58,$0D,$01 ; ENTER 13,1 -; dhgr.tk/libs/dhgrutils.pla: 0345: height = 0 -; dhgr.tk/libs/dhgrutils.pla: 0346: sprptr = 0 -; dhgr.tk/libs/dhgrutils.pla: 0347: refnum = fileio:open(filestr) -; dhgr.tk/libs/dhgrutils.pla: 0348: if refnum -; dhgr.tk/libs/dhgrutils.pla: 0349: fileio:read(refnum, @xorg, 1); xorg = sext(xorg) -; dhgr.tk/libs/dhgrutils.pla: 0350: fileio:read(refnum, @yorg, 1); yorg = sext(yorg) -; dhgr.tk/libs/dhgrutils.pla: 0351: fileio:read(refnum, @width, 1) -; dhgr.tk/libs/dhgrutils.pla: 0352: fileio:read(refnum, @height, 1) -; dhgr.tk/libs/dhgrutils.pla: 0353: if width <= 40 and height <= 48 -; dhgr.tk/libs/dhgrutils.pla: 0354: sprsize = (width + 1) / 2 * height -; dhgr.tk/libs/dhgrutils.pla: 0355: sprptr = heapalloc(sprsize) -; dhgr.tk/libs/dhgrutils.pla: 0356: if sprptr -; dhgr.tk/libs/dhgrutils.pla: 0357: if fileio:read(refnum, sprptr, sprsize) <> sprsize -; dhgr.tk/libs/dhgrutils.pla: 0358: heaprelease(sprptr) -; dhgr.tk/libs/dhgrutils.pla: 0359: sprptr = NULL -; dhgr.tk/libs/dhgrutils.pla: 0360: fin - !BYTE $00 ; CN 0 - !BYTE $74,$0B ; SLB [11] - !BYTE $00 ; CN 0 - !BYTE $74,$0C ; SLB [12] - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F093 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0A ; DLB [10] - !BYTE $4C ; BRFLS _B108 - !WORD _B108-* - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$06 ; LLA [6] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F094 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X022 -_F095 !WORD 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$08 ; LLA [8] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F096 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X022 -_F097 !WORD 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$0B ; LLA [11] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F098 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0A ; LLB [10] - !BYTE $28,$0C ; LLA [12] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+18 -_F099 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0B ; LLB [11] - !BYTE $2A,$28 ; CB 40 - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B110 - !WORD _B110-* - !BYTE $64,$0C ; LLB [12] - !BYTE $2A,$30 ; CB 48 - !BYTE $4A ; ISLE -_B110 - !BYTE $4C ; BRFLS _B111 - !WORD _B111-* - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $64,$0C ; LLB [12] - !BYTE $86 ; MUL - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _X014 -_F100 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B113 - !WORD _B113-* - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X028+18 -_F101 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $66,$04 ; LLW [4] - !BYTE $22 ; BREQ _B115 - !WORD _B115-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F102 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B115 -_B116 -; dhgr.tk/libs/dhgrutils.pla: 0361: fin -_B113 -_B114 -; dhgr.tk/libs/dhgrutils.pla: 0362: fin -_B111 -_B112 -; dhgr.tk/libs/dhgrutils.pla: 0363: fileio:close(refnum) -; dhgr.tk/libs/dhgrutils.pla: 0364: fin - !BYTE $64,$0A ; LLB [10] - !BYTE $6A ; LAW _X028+16 -_F103 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B108 -_B109 -; dhgr.tk/libs/dhgrutils.pla: 0365: return xorg, yorg, width, height, sprptr - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $64,$0B ; LLB [11] - !BYTE $64,$0C ; LLB [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0D ; LEAVE 13 -; dhgr.tk/libs/dhgrutils.pla: 0366: end -; dhgr.tk/libs/dhgrutils.pla: 0367: export def spriteWrite(filestr, xorg, yorg, width, height, sprptr)#1 - ; filestr -> [0] - ; xorg -> [2] - ; yorg -> [4] - ; width -> [6] - ; height -> [8] - ; sprptr -> [10] -_P062 ; spriteWrite(filestr, xorg, yorg, width, height, sprptr)#1() -_C015 ; spriteWrite() -; dhgr.tk/libs/dhgrutils.pla: 0368: var sprsize - ; sprsize -> [12] -; dhgr.tk/libs/dhgrutils.pla: 0369: byte refnum, i, result - ; refnum -> [14] - ; i -> [15] - ; result -> [16] -; dhgr.tk/libs/dhgrutils.pla: 0370: -; dhgr.tk/libs/dhgrutils.pla: 0371: sprsize = (width + 1) / 2 * height - !BYTE $58,$11,$06 ; ENTER 17,6 -; dhgr.tk/libs/dhgrutils.pla: 0372: fileio:destroy(filestr) -; dhgr.tk/libs/dhgrutils.pla: 0373: result = fileio:create(filestr, $06, $0000) -; dhgr.tk/libs/dhgrutils.pla: 0374: if result == FILE_ERR_OK -; dhgr.tk/libs/dhgrutils.pla: 0375: refnum = fileio:open(filestr) -; dhgr.tk/libs/dhgrutils.pla: 0376: if refnum -; dhgr.tk/libs/dhgrutils.pla: 0377: fileio:write(refnum, @xorg, 1) -; dhgr.tk/libs/dhgrutils.pla: 0378: fileio:write(refnum, @yorg, 1) -; dhgr.tk/libs/dhgrutils.pla: 0379: fileio:write(refnum, @width, 1) -; dhgr.tk/libs/dhgrutils.pla: 0380: fileio:write(refnum, @height, 1) -; dhgr.tk/libs/dhgrutils.pla: 0381: sprsize = (width + 1) / 2 * height -; dhgr.tk/libs/dhgrutils.pla: 0382: fileio:write(refnum, sprptr, sprsize) -; dhgr.tk/libs/dhgrutils.pla: 0383: result = perr -; dhgr.tk/libs/dhgrutils.pla: 0384: fileio:close(refnum) -; dhgr.tk/libs/dhgrutils.pla: 0385: else - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $66,$08 ; LLW [8] - !BYTE $86 ; MUL - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+24 -_F104 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+22 -_F105 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $6C,$10 ; DLB [16] - !BYTE $4E ; BRTRU _B117 - !WORD _B117-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F106 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0E ; DLB [14] - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $64,$0E ; LLB [14] - !BYTE $28,$02 ; LLA [2] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+20 -_F107 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0E ; LLB [14] - !BYTE $28,$04 ; LLA [4] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+20 -_F108 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0E ; LLB [14] - !BYTE $28,$06 ; LLA [6] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+20 -_F109 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0E ; LLB [14] - !BYTE $28,$08 ; LLA [8] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+20 -_F110 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $66,$08 ; LLW [8] - !BYTE $86 ; MUL - !BYTE $76,$0C ; SLW [12] - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _X028+20 -_F111 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _X029+0 -_F112 !WORD 0+0 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0E ; LLB [14] - !BYTE $6A ; LAW _X028+16 -_F113 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B119 -; dhgr.tk/libs/dhgrutils.pla: 0386: result = perr -; dhgr.tk/libs/dhgrutils.pla: 0387: fin - !BYTE $68 ; LAB _X029+0 -_F114 !WORD 0+0 - !BYTE $74,$10 ; SLB [16] -_B120 -; dhgr.tk/libs/dhgrutils.pla: 0388: fin -_B117 -_B118 -; dhgr.tk/libs/dhgrutils.pla: 0389: return result - !BYTE $64,$10 ; LLB [16] - !BYTE $5A,$11 ; LEAVE 17 -; dhgr.tk/libs/dhgrutils.pla: 0390: end -; dhgr.tk/libs/dhgrutils.pla: 0391: export def screenRead(filestr)#1 - ; filestr -> [0] -_P063 ; screenRead(filestr)#1() -_C016 ; screenRead() -; dhgr.tk/libs/dhgrutils.pla: 0392: byte refnum - ; refnum -> [2] -; dhgr.tk/libs/dhgrutils.pla: 0393: -; dhgr.tk/libs/dhgrutils.pla: 0394: refnum = fileio:open(filestr) - !BYTE $58,$03,$01 ; ENTER 3,1 -; dhgr.tk/libs/dhgrutils.pla: 0395: if refnum -; dhgr.tk/libs/dhgrutils.pla: 0396: ^page1x // Read AUX bytes -; dhgr.tk/libs/dhgrutils.pla: 0397: fileio:read(refnum, $2000, $2000) -; dhgr.tk/libs/dhgrutils.pla: 0398: ^page1m // Read MAIN bytes -; dhgr.tk/libs/dhgrutils.pla: 0399: fileio:read(refnum, $2000, $2000) -; dhgr.tk/libs/dhgrutils.pla: 0400: fileio:close(refnum) -; dhgr.tk/libs/dhgrutils.pla: 0401: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F115 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $68,$55,$C0 ; LAB 49237 - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+18 -_F116 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+18 -_F117 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+16 -_F118 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B121 -_B122 -; dhgr.tk/libs/dhgrutils.pla: 0402: return perr - !BYTE $68 ; LAB _X029+0 -_F119 !WORD 0+0 - !BYTE $5A,$03 ; LEAVE 3 -; dhgr.tk/libs/dhgrutils.pla: 0403: end -; dhgr.tk/libs/dhgrutils.pla: 0404: export def screenWrite(filestr)#1 - ; filestr -> [0] -_P064 ; screenWrite(filestr)#1() -_C017 ; screenWrite() -; dhgr.tk/libs/dhgrutils.pla: 0405: byte refnum, result - ; refnum -> [2] - ; result -> [3] -; dhgr.tk/libs/dhgrutils.pla: 0406: -; dhgr.tk/libs/dhgrutils.pla: 0407: fileio:destroy(filestr) - !BYTE $58,$04,$01 ; ENTER 4,1 -; dhgr.tk/libs/dhgrutils.pla: 0408: result = fileio:create(filestr, $06, $2000) -; dhgr.tk/libs/dhgrutils.pla: 0409: if result == FILE_ERR_OK -; dhgr.tk/libs/dhgrutils.pla: 0410: refnum = fileio:open(filestr) -; dhgr.tk/libs/dhgrutils.pla: 0411: if refnum -; dhgr.tk/libs/dhgrutils.pla: 0412: ^page1x // Write AUX bytes -; dhgr.tk/libs/dhgrutils.pla: 0413: if fileio:write(refnum, $2000, $2000) == $2000 -; dhgr.tk/libs/dhgrutils.pla: 0414: ^page1m // Write MAIN bytes -; dhgr.tk/libs/dhgrutils.pla: 0415: fileio:write(refnum, $2000, $2000) -; dhgr.tk/libs/dhgrutils.pla: 0416: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+24 -_F120 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $6A ; LAW _X028+22 -_F121 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $6C,$03 ; DLB [3] - !BYTE $4E ; BRTRU _B123 - !WORD _B123-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F122 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B125 - !WORD _B125-* - !BYTE $68,$55,$C0 ; LAB 49237 - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+20 -_F123 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $24 ; BRNE _B127 - !WORD _B127-* - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+20 -_F124 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B127 -_B128 -; dhgr.tk/libs/dhgrutils.pla: 0417: result = perr -; dhgr.tk/libs/dhgrutils.pla: 0418: fileio:close(refnum) -; dhgr.tk/libs/dhgrutils.pla: 0419: else - !BYTE $68 ; LAB _X029+0 -_F125 !WORD 0+0 - !BYTE $74,$03 ; SLB [3] - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+16 -_F126 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B125 -; dhgr.tk/libs/dhgrutils.pla: 0420: result = perr -; dhgr.tk/libs/dhgrutils.pla: 0421: fin - !BYTE $68 ; LAB _X029+0 -_F127 !WORD 0+0 - !BYTE $74,$03 ; SLB [3] -_B126 -; dhgr.tk/libs/dhgrutils.pla: 0422: fin -_B123 -_B124 -; dhgr.tk/libs/dhgrutils.pla: 0423: return result - !BYTE $64,$03 ; LLB [3] - !BYTE $5A,$04 ; LEAVE 4 -; dhgr.tk/libs/dhgrutils.pla: 0424: end -; dhgr.tk/libs/dhgrutils.pla: 0425: -; dhgr.tk/libs/dhgrutils.pla: 0426: // -; dhgr.tk/libs/dhgrutils.pla: 0427: // Fixups -; dhgr.tk/libs/dhgrutils.pla: 0428: // -; dhgr.tk/libs/dhgrutils.pla: 0429: dcgrStr:1 = @dcgrLoadDefFont -_INIT -; dhgr.tk/libs/dhgrutils.pla: 0430: // -; dhgr.tk/libs/dhgrutils.pla: 0431: // Keep module in memory -; dhgr.tk/libs/dhgrutils.pla: 0432: // -; dhgr.tk/libs/dhgrutils.pla: 0433: return modkeep - !BYTE $26 ; LA _C008+0 -_F128 !WORD _C008+0 - !BYTE $7A ; SAW _A000+1 -_F129 !WORD _A000+1 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; dhgr.tk/libs/dhgrutils.pla: 0434: done -_SYSFLAGS = 0 -_DEFCNT = 19 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 22 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 22 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 22 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 22 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: SEXT - !BYTE $D3,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 22 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: DCGRCOLOR - !BYTE $C4,$C3,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: DCGRGETPIXEL - !BYTE $C4,$C3,$C7,$D2,$C7,$C5,$D4,$D0,$C9,$D8,$C5,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: DCGRHLIN - !BYTE $C4,$C3,$C7,$D2,$C8,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: DCGRBITMAP - !BYTE $C4,$C3,$C7,$D2,$C2,$C9,$D4,$CD,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: DCGRPIXMAP - !BYTE $C4,$C3,$C7,$D2,$D0,$C9,$D8,$CD,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: DHGRALLOCBL7MEM - !BYTE $C4,$C8,$C7,$D2,$C1,$CC,$CC,$CF,$C3,$C2,$CC,$B7,$CD,$C5,$4D - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: DCGRSTR - !BYTE $C4,$C3,$C7,$D2,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A000 - ; DCI STRING: DCGRSTREXTENTS - !BYTE $C4,$C3,$C7,$D2,$D3,$D4,$D2,$C5,$D8,$D4,$C5,$CE,$D4,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: DCGRBOLDSTR - !BYTE $C4,$C3,$C7,$D2,$C2,$CF,$CC,$C4,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: DCGRFONT - !BYTE $C4,$C3,$C7,$D2,$C6,$CF,$CE,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - ; DCI STRING: FONTREAD - !BYTE $C6,$CF,$CE,$D4,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: FONTGLYPHDIM - !BYTE $C6,$CF,$CE,$D4,$C7,$CC,$D9,$D0,$C8,$C4,$C9,$4D - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - ; DCI STRING: FONTTYPE - !BYTE $C6,$CF,$CE,$D4,$D4,$D9,$D0,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C010 - ; DCI STRING: DCGRRECT - !BYTE $C4,$C3,$C7,$D2,$D2,$C5,$C3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C011 - ; DCI STRING: DCGRGETPIXMAP - !BYTE $C4,$C3,$C7,$D2,$C7,$C5,$D4,$D0,$C9,$D8,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C012 - ; DCI STRING: DCGRENCPIXMAP - !BYTE $C4,$C3,$C7,$D2,$C5,$CE,$C3,$D0,$C9,$D8,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C013 - ; DCI STRING: SPRITEREAD - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C014 - ; DCI STRING: SPRITEWRITE - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D7,$D2,$C9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C015 - ; DCI STRING: SCREENREAD - !BYTE $D3,$C3,$D2,$C5,$C5,$CE,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C016 - ; DCI STRING: SCREENWRITE - !BYTE $D3,$C3,$D2,$C5,$C5,$CE,$D7,$D2,$C9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C017 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/conio.a b/src/libsrc/apple/conio.a deleted file mode 100644 index f71ac93..0000000 --- a/src/libsrc/apple/conio.a +++ /dev/null @@ -1,5069 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/conio.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/conio.pla: 0001: -; libsrc/apple/conio.pla: 0002: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; libsrc/apple/conio.pla: 0002: -; libsrc/apple/conio.pla: 0003: sysflags nojitc // Keep tone() from compiling and sounding different - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; libsrc/apple/conio.pla: 0004: // -; libsrc/apple/conio.pla: 0005: // Handy constants. -; libsrc/apple/conio.pla: 0006: // -; libsrc/apple/conio.pla: 0007: const FULLMODE = 0 - ; FULLMODE = 0 -; libsrc/apple/conio.pla: 0008: const MIXMODE = 1 - ; MIXMODE = 1 -; libsrc/apple/conio.pla: 0009: // -; libsrc/apple/conio.pla: 0010: // Apple II ZP locations. -; libsrc/apple/conio.pla: 0011: // -; libsrc/apple/conio.pla: 0012: const a2rndnum = $4E // ZP location of RND - ; a2rndnum = 78 -; libsrc/apple/conio.pla: 0013: const a2rndl = $4E - ; a2rndl = 78 -; libsrc/apple/conio.pla: 0014: const a2rndh = $4F - ; a2rndh = 79 -; libsrc/apple/conio.pla: 0015: // -; libsrc/apple/conio.pla: 0016: // Apple II hardware constants. -; libsrc/apple/conio.pla: 0017: // -; libsrc/apple/conio.pla: 0018: const WNDLEFT = $20 - ; WNDLEFT = 32 -; libsrc/apple/conio.pla: 0019: const WNDWIDTH = $21 - ; WNDWIDTH = 33 -; libsrc/apple/conio.pla: 0020: const WNDTOP = $22 - ; WNDTOP = 34 -; libsrc/apple/conio.pla: 0021: const WNDBOTTOM = $23 - ; WNDBOTTOM = 35 -; libsrc/apple/conio.pla: 0022: const CURSH = $24 - ; CURSH = 36 -; libsrc/apple/conio.pla: 0023: const CURSV = $25 - ; CURSV = 37 -; libsrc/apple/conio.pla: 0024: const TBASE = $28 - ; TBASE = 40 -; libsrc/apple/conio.pla: 0025: const CSW = $36 - ; CSW = 54 -; libsrc/apple/conio.pla: 0026: const KSW = $38 - ; KSW = 56 -; libsrc/apple/conio.pla: 0027: const CURSH80 = $057B - ; CURSH80 = 1403 -; libsrc/apple/conio.pla: 0028: const store80dis = $C000 - ; store80dis = 49152 -; libsrc/apple/conio.pla: 0029: const store80ena = $C001 - ; store80ena = 49153 -; libsrc/apple/conio.pla: 0030: const showgraphics = $C050 - ; showgraphics = 49232 -; libsrc/apple/conio.pla: 0031: const showtext = $C051 - ; showtext = 49233 -; libsrc/apple/conio.pla: 0032: const showfull = $C052 - ; showfull = 49234 -; libsrc/apple/conio.pla: 0033: const showmix = $C053 - ; showmix = 49235 -; libsrc/apple/conio.pla: 0034: const showpage1 = $C054 - ; showpage1 = 49236 -; libsrc/apple/conio.pla: 0035: const showpage2 = $C055 - ; showpage2 = 49237 -; libsrc/apple/conio.pla: 0036: const page1m = $C054 - ; page1m = 49236 -; libsrc/apple/conio.pla: 0037: const page1x = $C055 - ; page1x = 49237 -; libsrc/apple/conio.pla: 0038: const showlores = $C056 - ; showlores = 49238 -; libsrc/apple/conio.pla: 0039: const showhires = $C057 - ; showhires = 49239 -; libsrc/apple/conio.pla: 0040: const IOUdis = $C07E - ; IOUdis = 49278 -; libsrc/apple/conio.pla: 0041: const IOUena = $C07F - ; IOUena = 49279 -; libsrc/apple/conio.pla: 0042: const keyboard = $C000 - ; keyboard = 49152 -; libsrc/apple/conio.pla: 0043: const keystrobe = $C010 - ; keystrobe = 49168 -; libsrc/apple/conio.pla: 0044: const pushbttn1 = $C061 - ; pushbttn1 = 49249 -; libsrc/apple/conio.pla: 0045: const pushbttn2 = $C062 - ; pushbttn2 = 49250 -; libsrc/apple/conio.pla: 0046: const pushbttn3 = $C063 - ; pushbttn3 = 49251 -; libsrc/apple/conio.pla: 0047: const speaker = $C030 - ; speaker = 49200 -; libsrc/apple/conio.pla: 0048: // -; libsrc/apple/conio.pla: 0049: // Apple III hardware constants. -; libsrc/apple/conio.pla: 0050: // -; libsrc/apple/conio.pla: 0051: const ENV_REG = $FFDF - ; ENV_REG = 65503 -; libsrc/apple/conio.pla: 0052: // -; libsrc/apple/conio.pla: 0053: // Predefined functions. -; libsrc/apple/conio.pla: 0054: // -; libsrc/apple/conio.pla: 0055: predef a2keypressed,a2getkey,a2putuprchars(cnt,chrs), a2ctrl(code,param) -; libsrc/apple/conio.pla: 0056: predef a2clear(clr),a2gotoxy(x,y),a2viewport(left, top, width, height) -; libsrc/apple/conio.pla: 0057: predef a2textmode(cols),a2grmode(mix),a2grcolor(color),a2grplot(x,y) -; libsrc/apple/conio.pla: 0058: predef a2tone(duration, delay),a2rnd -; libsrc/apple/conio.pla: 0059: // -; libsrc/apple/conio.pla: 0060: // Exported function table. -; libsrc/apple/conio.pla: 0061: // -; libsrc/apple/conio.pla: 0062: word conio[] -_D041 ; conio[] -; libsrc/apple/conio.pla: 0063: // -; libsrc/apple/conio.pla: 0064: // Function pointers. -; libsrc/apple/conio.pla: 0065: // -; libsrc/apple/conio.pla: 0066: word = @a2keypressed -_F000 !WORD _P000 -; libsrc/apple/conio.pla: 0067: word = @a2getkey -_F001 !WORD _P001 -; libsrc/apple/conio.pla: 0068: word = @a2putuprchars -_F002 !WORD _P002 -; libsrc/apple/conio.pla: 0069: word = @a2clear -_F003 !WORD _P004 -; libsrc/apple/conio.pla: 0070: word = @a2gotoxy -_F004 !WORD _P005 -; libsrc/apple/conio.pla: 0071: word = @a2viewport -_F005 !WORD _P006 -; libsrc/apple/conio.pla: 0072: word = @a2ctrl -_F006 !WORD _P003 -; libsrc/apple/conio.pla: 0073: word = @a2textmode -_F007 !WORD _P007 -; libsrc/apple/conio.pla: 0074: word = @a2grmode -_F008 !WORD _P008 -; libsrc/apple/conio.pla: 0075: word = @a2grcolor -_F009 !WORD _P009 -; libsrc/apple/conio.pla: 0076: word = @a2grplot -_F010 !WORD _P010 -; libsrc/apple/conio.pla: 0077: word = @a2tone -_F011 !WORD _P011 -; libsrc/apple/conio.pla: 0078: word = @a2rnd -_F012 !WORD _P012 -; libsrc/apple/conio.pla: 0079: // -; libsrc/apple/conio.pla: 0080: // Screen row address arrays. -; libsrc/apple/conio.pla: 0081: // -; libsrc/apple/conio.pla: 0082: word txt1scrn[] = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 -_D042 ; txt1scrn[] = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 - !WORD $0400 - !WORD $0480 - !WORD $0500 - !WORD $0580 - !WORD $0600 - !WORD $0680 - !WORD $0700 - !WORD $0780 -; libsrc/apple/conio.pla: 0083: word = $0428,$04A8,$0528,$05A8,$0628,$06A8,$0728,$07A8 - !WORD $0428 - !WORD $04A8 - !WORD $0528 - !WORD $05A8 - !WORD $0628 - !WORD $06A8 - !WORD $0728 - !WORD $07A8 -; libsrc/apple/conio.pla: 0084: word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0 - !WORD $0450 - !WORD $04D0 - !WORD $0550 - !WORD $05D0 - !WORD $0650 - !WORD $06D0 - !WORD $0750 - !WORD $07D0 -; libsrc/apple/conio.pla: 0085: word txt2scrn[] = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 -_D043 ; txt2scrn[] = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 - !WORD $0800 - !WORD $0880 - !WORD $0900 - !WORD $0980 - !WORD $0A00 - !WORD $0A80 - !WORD $0B00 - !WORD $0B80 -; libsrc/apple/conio.pla: 0086: word = $0828,$08A8,$0928,$09A8,$0A28,$0AA8,$0B28,$0BA8 - !WORD $0828 - !WORD $08A8 - !WORD $0928 - !WORD $09A8 - !WORD $0A28 - !WORD $0AA8 - !WORD $0B28 - !WORD $0BA8 -; libsrc/apple/conio.pla: 0087: word = $0850,$08D0,$0950,$09D0,$0A50,$0AD0,$0B50,$0BD0 - !WORD $0850 - !WORD $08D0 - !WORD $0950 - !WORD $09D0 - !WORD $0A50 - !WORD $0AD0 - !WORD $0B50 - !WORD $0BD0 -; libsrc/apple/conio.pla: 0088: // -; libsrc/apple/conio.pla: 0089: // Flags for current mode -; libsrc/apple/conio.pla: 0090: // -; libsrc/apple/conio.pla: 0091: const showcurs = $01 - ; showcurs = 1 -; libsrc/apple/conio.pla: 0092: const shiftlock = $02 - ; shiftlock = 2 -; libsrc/apple/conio.pla: 0093: const echo = $04 - ; echo = 4 -; libsrc/apple/conio.pla: 0094: const uppercase = $08 - ; uppercase = 8 -; libsrc/apple/conio.pla: 0095: const txt80e = $10 // IIe & //c 80 column - ; txt80e = 16 -; libsrc/apple/conio.pla: 0096: const txt80v = $20 // VIDEX 80 column card - ; txt80v = 32 -; libsrc/apple/conio.pla: 0097: const txt80a = $40 // ALS SmartTerm 80 column card - ; txt80a = 64 -; libsrc/apple/conio.pla: 0098: const txt80 = txt80e | txt80v | txt80a - ; txt80 = 112 -; libsrc/apple/conio.pla: 0099: byte flags -_D044 !FILL 1 ; flags -; libsrc/apple/conio.pla: 0100: // -; libsrc/apple/conio.pla: 0101: // UltraTerm extended mode heights -; libsrc/apple/conio.pla: 0102: byte[] UltraTermHeight = 24, 24, 24, 24, 32, 48, 24, 32 -_D045 ; UltraTermHeight = 24, 24, 24, 24, 32, 48, 24, 32 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $20 - !BYTE $30 - !BYTE $18 - !BYTE $20 -; libsrc/apple/conio.pla: 0103: // -; libsrc/apple/conio.pla: 0104: // Apple 3 console codes. -; libsrc/apple/conio.pla: 0105: // -; libsrc/apple/conio.pla: 0106: byte grcharset[] = 1, 0, $7F, $7F, $7F, $7F, $00, $00, $00, $00 -_D046 ; grcharset[] = 1, 0, $7F, $7F, $7F, $7F, $00, $00, $00, $00 - !BYTE $01 - !BYTE $00 - !BYTE $7F - !BYTE $7F - !BYTE $7F - !BYTE $7F - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/conio.pla: 0107: byte a3keyqueue = 0 -_D047 ; a3keyqueue = 0 - !BYTE $00 -; libsrc/apple/conio.pla: 0108: // -; libsrc/apple/conio.pla: 0109: // Random number for Apple 1 and III. -; libsrc/apple/conio.pla: 0110: // -; libsrc/apple/conio.pla: 0111: word randnum = 12345 -_D048 ; randnum = 12345 - !WORD $3039 -; libsrc/apple/conio.pla: 0112: // -; libsrc/apple/conio.pla: 0113: // Native routines. -; libsrc/apple/conio.pla: 0114: // -; libsrc/apple/conio.pla: 0115: asm equates -_A000 ; equates() -; libsrc/apple/conio.pla: 0116: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/conio.pla: 0117: end -; libsrc/apple/conio.pla: 0118: // -; libsrc/apple/conio.pla: 0119: // def grscrn(rowaddrs) -; libsrc/apple/conio.pla: 0120: // -; libsrc/apple/conio.pla: 0121: asm a2grscrn(rowaddrs) -_A001 ; a2grscrn() -; libsrc/apple/conio.pla: 0122: GRSCRN = $26 -GRSCRN = $26 -; libsrc/apple/conio.pla: 0123: GRSCRNL = GRSCRN -GRSCRNL = GRSCRN -; libsrc/apple/conio.pla: 0124: GRSCRNH = GRSCRNL+1 -GRSCRNH = GRSCRNL+1 -; libsrc/apple/conio.pla: 0125: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0126: STA GRSCRNL - STA GRSCRNL -; libsrc/apple/conio.pla: 0127: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/conio.pla: 0128: STA GRSCRNH - STA GRSCRNH -; libsrc/apple/conio.pla: 0129: RTS - RTS -; libsrc/apple/conio.pla: 0130: end -; libsrc/apple/conio.pla: 0131: // -; libsrc/apple/conio.pla: 0132: // def grcolor(color) -; libsrc/apple/conio.pla: 0133: // -; libsrc/apple/conio.pla: 0134: asm a2grcolor(color) -_P009 ; a2grcolor(color)() -_A002 ; a2grcolor() -; libsrc/apple/conio.pla: 0135: GRCLR = $30 -GRCLR = $30 -; libsrc/apple/conio.pla: 0136: LDA #$0F - LDA #$0F -; libsrc/apple/conio.pla: 0137: AND ESTKL,X - AND ESTKL,X -; libsrc/apple/conio.pla: 0138: STA GRCLR - STA GRCLR -; libsrc/apple/conio.pla: 0139: ASL - ASL -; libsrc/apple/conio.pla: 0140: ASL - ASL -; libsrc/apple/conio.pla: 0141: ASL - ASL -; libsrc/apple/conio.pla: 0142: ASL - ASL -; libsrc/apple/conio.pla: 0143: ORA GRCLR - ORA GRCLR -; libsrc/apple/conio.pla: 0144: STA GRCLR - STA GRCLR -; libsrc/apple/conio.pla: 0145: RTS - RTS -; libsrc/apple/conio.pla: 0146: end -; libsrc/apple/conio.pla: 0147: // -; libsrc/apple/conio.pla: 0148: // def grplot(x, y) -; libsrc/apple/conio.pla: 0149: // -; libsrc/apple/conio.pla: 0150: asm a2grplot(x, y) -_P010 ; a2grplot(x, y)() -_A003 ; a2grplot() -; libsrc/apple/conio.pla: 0151: STY IPY - STY IPY -; libsrc/apple/conio.pla: 0152: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0153: AND #$FE - AND #$FE -; libsrc/apple/conio.pla: 0154: CMP ESTKL,X - CMP ESTKL,X -; libsrc/apple/conio.pla: 0155: TAY - TAY -; libsrc/apple/conio.pla: 0156: LDA (GRSCRN),Y - LDA (GRSCRN),Y -; libsrc/apple/conio.pla: 0157: STA DSTL - STA DSTL -; libsrc/apple/conio.pla: 0158: INY - INY -; libsrc/apple/conio.pla: 0159: LDA (GRSCRN),Y - LDA (GRSCRN),Y -; libsrc/apple/conio.pla: 0160: STA DSTH - STA DSTH -; libsrc/apple/conio.pla: 0161: LDY ESTKL+1,X - LDY ESTKL+1,X -; libsrc/apple/conio.pla: 0162: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/conio.pla: 0163: EOR GRCLR - EOR GRCLR -; libsrc/apple/conio.pla: 0164: STA TMPL - STA TMPL -; libsrc/apple/conio.pla: 0165: LDA #$FF - LDA #$FF -; libsrc/apple/conio.pla: 0166: ADC #$00 - ADC #$00 -; libsrc/apple/conio.pla: 0167: EOR #$F0 - EOR #$F0 -; libsrc/apple/conio.pla: 0168: AND TMPL - AND TMPL -; libsrc/apple/conio.pla: 0169: EOR GRCLR - EOR GRCLR -; libsrc/apple/conio.pla: 0170: STA (DST),Y - STA (DST),Y -; libsrc/apple/conio.pla: 0171: LDY IPY - LDY IPY -; libsrc/apple/conio.pla: 0172: INX - INX -; libsrc/apple/conio.pla: 0173: RTS - RTS -; libsrc/apple/conio.pla: 0174: end -; libsrc/apple/conio.pla: 0175: asm a2cout(chr)#0 -_A004 ; a2cout() -; libsrc/apple/conio.pla: 0176: LCRDEN = $C080 -LCRDEN = $C080 -; libsrc/apple/conio.pla: 0177: LCWTEN = $C081 -LCWTEN = $C081 -; libsrc/apple/conio.pla: 0178: ROMEN = $C082 -ROMEN = $C082 -; libsrc/apple/conio.pla: 0179: LCRWEN = $C083 -LCRWEN = $C083 -; libsrc/apple/conio.pla: 0180: LCBNK2 = $00 -LCBNK2 = $00 -; libsrc/apple/conio.pla: 0181: LCBNK1 = $08 -LCBNK1 = $08 -; libsrc/apple/conio.pla: 0182: COUT = $FDED -COUT = $FDED -; libsrc/apple/conio.pla: 0183: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0184: ORA #$80 - ORA #$80 -; libsrc/apple/conio.pla: 0185: BIT ROMEN - BIT ROMEN -; libsrc/apple/conio.pla: 0186: JSR COUT - JSR COUT -; libsrc/apple/conio.pla: 0187: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; libsrc/apple/conio.pla: 0188: INX - INX -; libsrc/apple/conio.pla: 0189: RTS - RTS -; libsrc/apple/conio.pla: 0190: end -; libsrc/apple/conio.pla: 0191: //def a2putchars(cnt, chrs) -; libsrc/apple/conio.pla: 0192: // byte c -; libsrc/apple/conio.pla: 0193: // -; libsrc/apple/conio.pla: 0194: // if cnt -; libsrc/apple/conio.pla: 0195: // if chrs & $FF00 -; libsrc/apple/conio.pla: 0196: // for c = 0 to cnt-1; putc(^(chrs + c)); next -; libsrc/apple/conio.pla: 0197: // else -; libsrc/apple/conio.pla: 0198: // for c = 0 to cnt-1; putc(chrs); next -; libsrc/apple/conio.pla: 0199: // fin -; libsrc/apple/conio.pla: 0200: // fin -; libsrc/apple/conio.pla: 0201: // return ^CURSH -; libsrc/apple/conio.pla: 0202: //end -; libsrc/apple/conio.pla: 0203: asm a2putchars(cnt, chrs) -_A005 ; a2putchars() -; libsrc/apple/conio.pla: 0204: LDA ESTKH+1,X ; CNTH - LDA ESTKH+1,X ; CNTH -; libsrc/apple/conio.pla: 0205: BNE EXA2PC ; > 255 - BNE EXA2PC ; > 255 -; libsrc/apple/conio.pla: 0206: LDA ESTKL+1,X ; CNTL - LDA ESTKL+1,X ; CNTL -; libsrc/apple/conio.pla: 0207: BEQ EXA2PC ; == 0 - BEQ EXA2PC ; == 0 -; libsrc/apple/conio.pla: 0208: BIT ROMEN - BIT ROMEN -; libsrc/apple/conio.pla: 0209: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/conio.pla: 0210: BEQ ++ - BEQ ++ -; libsrc/apple/conio.pla: 0211: STA SRCH ; SRC = CHRPTR - STA SRCH ; SRC = CHRPTR -; libsrc/apple/conio.pla: 0212: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0213: STA SRCL - STA SRCL -; libsrc/apple/conio.pla: 0214: LDY #$00 - LDY #$00 -; libsrc/apple/conio.pla: 0215: - STY ESTKH+1,X -- STY ESTKH+1,X -; libsrc/apple/conio.pla: 0216: TYA - TYA -; libsrc/apple/conio.pla: 0217: CMP ESTKL+1,X - CMP ESTKL+1,X -; libsrc/apple/conio.pla: 0218: BEQ EXA2PC - BEQ EXA2PC -; libsrc/apple/conio.pla: 0219: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/conio.pla: 0220: ORA #$80 - ORA #$80 -; libsrc/apple/conio.pla: 0221: JSR COUT - JSR COUT -; libsrc/apple/conio.pla: 0222: LDY ESTKH+1,X - LDY ESTKH+1,X -; libsrc/apple/conio.pla: 0223: INY - INY -; libsrc/apple/conio.pla: 0224: BNE - - BNE - -; libsrc/apple/conio.pla: 0225: ++ -++ -; libsrc/apple/conio.pla: 0226: - LDA ESTKL,X ; CHR -- LDA ESTKL,X ; CHR -; libsrc/apple/conio.pla: 0227: ORA #$80 - ORA #$80 -; libsrc/apple/conio.pla: 0228: JSR COUT - JSR COUT -; libsrc/apple/conio.pla: 0229: DEC ESTKL+1,X - DEC ESTKL+1,X -; libsrc/apple/conio.pla: 0230: BNE - - BNE - -; libsrc/apple/conio.pla: 0231: EXA2PC INX -EXA2PC INX -; libsrc/apple/conio.pla: 0232: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; libsrc/apple/conio.pla: 0233: RTS - RTS -; libsrc/apple/conio.pla: 0234: end -; libsrc/apple/conio.pla: 0235: asm a2putuprchars(cnt, chrs) -_P002 ; a2putuprchars(cnt, chrs)() -_A006 ; a2putuprchars() -; libsrc/apple/conio.pla: 0236: TXTATTR = $32 -TXTATTR = $32 -; libsrc/apple/conio.pla: 0237: LDA ESTKH+1,X ; CNTH - LDA ESTKH+1,X ; CNTH -; libsrc/apple/conio.pla: 0238: BNE EXA2UPC ; > 255 - BNE EXA2UPC ; > 255 -; libsrc/apple/conio.pla: 0239: LDA ESTKL+1,X ; CNTL - LDA ESTKL+1,X ; CNTL -; libsrc/apple/conio.pla: 0240: BEQ EXA2UPC ; == 0 - BEQ EXA2UPC ; == 0 -; libsrc/apple/conio.pla: 0241: BIT ROMEN - BIT ROMEN -; libsrc/apple/conio.pla: 0242: LDA TXTATTR - LDA TXTATTR -; libsrc/apple/conio.pla: 0243: STA TMPL - STA TMPL -; libsrc/apple/conio.pla: 0244: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/conio.pla: 0245: BEQ ++ - BEQ ++ -; libsrc/apple/conio.pla: 0246: STA SRCH ; SRC = CHRPTR - STA SRCH ; SRC = CHRPTR -; libsrc/apple/conio.pla: 0247: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0248: STA SRCL - STA SRCL -; libsrc/apple/conio.pla: 0249: LDY #$00 - LDY #$00 -; libsrc/apple/conio.pla: 0250: - STY ESTKH+1,X -- STY ESTKH+1,X -; libsrc/apple/conio.pla: 0251: TYA - TYA -; libsrc/apple/conio.pla: 0252: CMP ESTKL+1,X - CMP ESTKL+1,X -; libsrc/apple/conio.pla: 0253: BEQ EXA2UPC - BEQ EXA2UPC -; libsrc/apple/conio.pla: 0254: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/conio.pla: 0255: ORA #$80 - ORA #$80 -; libsrc/apple/conio.pla: 0256: CMP #'a'+128 - CMP #'a'+128 -; libsrc/apple/conio.pla: 0257: BCC + - BCC + -; libsrc/apple/conio.pla: 0258: CMP #'z'+129 - CMP #'z'+129 -; libsrc/apple/conio.pla: 0259: BCS + - BCS + -; libsrc/apple/conio.pla: 0260: SBC #$1F - SBC #$1F -; libsrc/apple/conio.pla: 0261: PHA - PHA -; libsrc/apple/conio.pla: 0262: LDA #$3F ; OUTPUT LC AS INV - LDA #$3F ; OUTPUT LC AS INV -; libsrc/apple/conio.pla: 0263: STA TXTATTR - STA TXTATTR -; libsrc/apple/conio.pla: 0264: PLA - PLA -; libsrc/apple/conio.pla: 0265: + JSR COUT -+ JSR COUT -; libsrc/apple/conio.pla: 0266: LDA TMPL - LDA TMPL -; libsrc/apple/conio.pla: 0267: STA TXTATTR - STA TXTATTR -; libsrc/apple/conio.pla: 0268: LDY ESTKH+1,X - LDY ESTKH+1,X -; libsrc/apple/conio.pla: 0269: INY - INY -; libsrc/apple/conio.pla: 0270: BNE - - BNE - -; libsrc/apple/conio.pla: 0271: ++ LDA ESTKL,X ; CHR -++ LDA ESTKL,X ; CHR -; libsrc/apple/conio.pla: 0272: ORA #$80 - ORA #$80 -; libsrc/apple/conio.pla: 0273: CMP #'a'+128 - CMP #'a'+128 -; libsrc/apple/conio.pla: 0274: BCC + - BCC + -; libsrc/apple/conio.pla: 0275: CMP #'z'+129 - CMP #'z'+129 -; libsrc/apple/conio.pla: 0276: BCS + - BCS + -; libsrc/apple/conio.pla: 0277: SBC #$1F - SBC #$1F -; libsrc/apple/conio.pla: 0278: PHA - PHA -; libsrc/apple/conio.pla: 0279: LDA #$3F - LDA #$3F -; libsrc/apple/conio.pla: 0280: STA TXTATTR - STA TXTATTR -; libsrc/apple/conio.pla: 0281: PLA - PLA -; libsrc/apple/conio.pla: 0282: + -+ -; libsrc/apple/conio.pla: 0283: - PHA -- PHA -; libsrc/apple/conio.pla: 0284: JSR COUT - JSR COUT -; libsrc/apple/conio.pla: 0285: PLA - PLA -; libsrc/apple/conio.pla: 0286: DEC ESTKL+1,X - DEC ESTKL+1,X -; libsrc/apple/conio.pla: 0287: BNE - - BNE - -; libsrc/apple/conio.pla: 0288: LDA TMPL - LDA TMPL -; libsrc/apple/conio.pla: 0289: STA TXTATTR - STA TXTATTR -; libsrc/apple/conio.pla: 0290: EXA2UPC INX -EXA2UPC INX -; libsrc/apple/conio.pla: 0291: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; libsrc/apple/conio.pla: 0292: RTS - RTS -; libsrc/apple/conio.pla: 0293: end -; libsrc/apple/conio.pla: 0294: asm vidcpy(dstrow, srcrow)#0 -_A007 ; vidcpy() -; libsrc/apple/conio.pla: 0295: WNDLFT = $20 -WNDLFT = $20 -; libsrc/apple/conio.pla: 0296: WNDWID = $21 -WNDWID = $21 -; libsrc/apple/conio.pla: 0297: LDA WNDLFT - LDA WNDLFT -; libsrc/apple/conio.pla: 0298: CLC - CLC -; libsrc/apple/conio.pla: 0299: ADC ESTKL+1,X - ADC ESTKL+1,X -; libsrc/apple/conio.pla: 0300: STA DSTL - STA DSTL -; libsrc/apple/conio.pla: 0301: LDA #$00 - LDA #$00 -; libsrc/apple/conio.pla: 0302: ADC ESTKH+1,X - ADC ESTKH+1,X -; libsrc/apple/conio.pla: 0303: STA DSTH - STA DSTH -; libsrc/apple/conio.pla: 0304: LDA WNDLFT - LDA WNDLFT -; libsrc/apple/conio.pla: 0305: CLC - CLC -; libsrc/apple/conio.pla: 0306: ADC ESTKL,X - ADC ESTKL,X -; libsrc/apple/conio.pla: 0307: STA SRCL - STA SRCL -; libsrc/apple/conio.pla: 0308: LDA #$00 - LDA #$00 -; libsrc/apple/conio.pla: 0309: ADC ESTKH,X - ADC ESTKH,X -; libsrc/apple/conio.pla: 0310: STA SRCH - STA SRCH -; libsrc/apple/conio.pla: 0311: LDY WNDWID - LDY WNDWID -; libsrc/apple/conio.pla: 0312: DEY - DEY -; libsrc/apple/conio.pla: 0313: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/conio.pla: 0314: STA (DST),Y - STA (DST),Y -; libsrc/apple/conio.pla: 0315: DEY - DEY -; libsrc/apple/conio.pla: 0316: BPL - - BPL - -; libsrc/apple/conio.pla: 0317: INX - INX -; libsrc/apple/conio.pla: 0318: INX - INX -; libsrc/apple/conio.pla: 0319: RTS - RTS -; libsrc/apple/conio.pla: 0320: end -; libsrc/apple/conio.pla: 0321: asm vidxcpy(dstrow, srcrow)#0 -_A008 ; vidxcpy() -; libsrc/apple/conio.pla: 0322: PAGE1M = $C054 -PAGE1M = $C054 -; libsrc/apple/conio.pla: 0323: PAGE1X = $C055 -PAGE1X = $C055 -; libsrc/apple/conio.pla: 0324: LDA WNDLFT - LDA WNDLFT -; libsrc/apple/conio.pla: 0325: LSR - LSR -; libsrc/apple/conio.pla: 0326: ADC ESTKL+1,X - ADC ESTKL+1,X -; libsrc/apple/conio.pla: 0327: STA DSTL - STA DSTL -; libsrc/apple/conio.pla: 0328: LDA #$00 - LDA #$00 -; libsrc/apple/conio.pla: 0329: ADC ESTKH+1,X - ADC ESTKH+1,X -; libsrc/apple/conio.pla: 0330: STA DSTH - STA DSTH -; libsrc/apple/conio.pla: 0331: LDA WNDLFT - LDA WNDLFT -; libsrc/apple/conio.pla: 0332: LSR - LSR -; libsrc/apple/conio.pla: 0333: ADC ESTKL,X - ADC ESTKL,X -; libsrc/apple/conio.pla: 0334: STA SRCL - STA SRCL -; libsrc/apple/conio.pla: 0335: LDA #$00 - LDA #$00 -; libsrc/apple/conio.pla: 0336: ADC ESTKH,X - ADC ESTKH,X -; libsrc/apple/conio.pla: 0337: STA SRCH - STA SRCH -; libsrc/apple/conio.pla: 0338: LDA WNDWID - LDA WNDWID -; libsrc/apple/conio.pla: 0339: LSR - LSR -; libsrc/apple/conio.pla: 0340: ADC #$00 - ADC #$00 -; libsrc/apple/conio.pla: 0341: PHA - PHA -; libsrc/apple/conio.pla: 0342: TAY - TAY -; libsrc/apple/conio.pla: 0343: DEY - DEY -; libsrc/apple/conio.pla: 0344: STA PAGE1X - STA PAGE1X -; libsrc/apple/conio.pla: 0345: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/conio.pla: 0346: STA (DST),Y - STA (DST),Y -; libsrc/apple/conio.pla: 0347: DEY - DEY -; libsrc/apple/conio.pla: 0348: BPL - - BPL - -; libsrc/apple/conio.pla: 0349: PLA - PLA -; libsrc/apple/conio.pla: 0350: TAY - TAY -; libsrc/apple/conio.pla: 0351: DEY - DEY -; libsrc/apple/conio.pla: 0352: STA PAGE1M - STA PAGE1M -; libsrc/apple/conio.pla: 0353: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/conio.pla: 0354: STA (DST),Y - STA (DST),Y -; libsrc/apple/conio.pla: 0355: DEY - DEY -; libsrc/apple/conio.pla: 0356: BPL - - BPL - -; libsrc/apple/conio.pla: 0357: INX - INX -; libsrc/apple/conio.pla: 0358: INX - INX -; libsrc/apple/conio.pla: 0359: RTS - RTS -; libsrc/apple/conio.pla: 0360: end -; libsrc/apple/conio.pla: 0361: asm vid3cpy(dstrow, srcrow)#0 -_A009 ; vid3cpy() -; libsrc/apple/conio.pla: 0362: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/conio.pla: 0363: STA DSTL - STA DSTL -; libsrc/apple/conio.pla: 0364: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/conio.pla: 0365: STA DSTH - STA DSTH -; libsrc/apple/conio.pla: 0366: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/conio.pla: 0367: STA SRCL - STA SRCL -; libsrc/apple/conio.pla: 0368: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/conio.pla: 0369: STA SRCH - STA SRCH -; libsrc/apple/conio.pla: 0370: LDY #40 - LDY #40 -; libsrc/apple/conio.pla: 0371: DEY - DEY -; libsrc/apple/conio.pla: 0372: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/conio.pla: 0373: STA (DST),Y - STA (DST),Y -; libsrc/apple/conio.pla: 0374: DEY - DEY -; libsrc/apple/conio.pla: 0375: BPL - - BPL - -; libsrc/apple/conio.pla: 0376: INX - INX -; libsrc/apple/conio.pla: 0377: INX - INX -; libsrc/apple/conio.pla: 0378: RTS - RTS -; libsrc/apple/conio.pla: 0379: end -; libsrc/apple/conio.pla: 0380: // -; libsrc/apple/conio.pla: 0381: // Apple 1 routines. -; libsrc/apple/conio.pla: 0382: // -; libsrc/apple/conio.pla: 0383: def a1keypressed - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; a1keypressed() -; libsrc/apple/conio.pla: 0384: return ^$D011 >= 128 ?? ^$D011 :: 0 - !BYTE $68,$11,$D0 ; LAB 53265 - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $68,$11,$D0 ; LAB 53265 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 - !BYTE $00 ; CN 0 -_B002 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0385: end -; libsrc/apple/conio.pla: 0386: def a1getkey -_C001 ; a1getkey() -; libsrc/apple/conio.pla: 0387: while not a1keypressed - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -_B003 -; libsrc/apple/conio.pla: 0388: randnum = randnum + 123 -; libsrc/apple/conio.pla: 0389: loop - !BYTE $6A ; LAW _D048+0 -_F013 !WORD _D048+0 - !BYTE $38,$7B ; ADDI 123 - !BYTE $7A ; SAW _D048+0 -_F014 !WORD _D048+0 -_B005 - !BYTE $54 ; CALL _C000 -_F015 !WORD _C000 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* -_B004 -; libsrc/apple/conio.pla: 0390: return getc() - !BYTE $54 ; CALL _X006 -_F016 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0391: end -; libsrc/apple/conio.pla: 0392: def a1putchars(cnt, chrs) - ; cnt -> [0] - ; chrs -> [2] -_C002 ; a1putchars() -; libsrc/apple/conio.pla: 0393: byte c - ; c -> [4] -; libsrc/apple/conio.pla: 0394: -; libsrc/apple/conio.pla: 0395: if chrs < 256 - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/conio.pla: 0396: for c = 1 to cnt - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B008 - !WORD _B008-* -_B009 - !BYTE $6C,$04 ; DLB [4] -; libsrc/apple/conio.pla: 0397: putc(chrs) -; libsrc/apple/conio.pla: 0398: next - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X002 -_F017 !WORD 0 -_B010 - !BYTE $A4 ; INCBRLE _B009 - !WORD _B009-* -_B008 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0399: else - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; libsrc/apple/conio.pla: 0400: for c = 0 to cnt-1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B011 - !WORD _B011-* -_B012 - !BYTE $6C,$04 ; DLB [4] -; libsrc/apple/conio.pla: 0401: putc(chrs->[c]) -; libsrc/apple/conio.pla: 0402: next - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F018 !WORD 0 -_B013 - !BYTE $A4 ; INCBRLE _B012 - !WORD _B012-* -_B011 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0403: fin -_B007 -; libsrc/apple/conio.pla: 0404: return cnt - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/conio.pla: 0405: end -; libsrc/apple/conio.pla: 0406: def a1clear(clr) - ; clr -> [0] -_C003 ; a1clear() -; libsrc/apple/conio.pla: 0407: byte l - ; l -> [2] -; libsrc/apple/conio.pla: 0408: when clr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B015-* -; libsrc/apple/conio.pla: 0409: is cleol -_B016 -; libsrc/apple/conio.pla: 0410: break - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/apple/conio.pla: 0411: is cleos -_B017 -; libsrc/apple/conio.pla: 0412: is cls -_B018 -; libsrc/apple/conio.pla: 0413: for l = 0 to 23 - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B020 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/conio.pla: 0414: putln -; libsrc/apple/conio.pla: 0415: next - !BYTE $54 ; CALL _X003 -_F019 !WORD 0 -_B021 - !BYTE $A4 ; INCBRLE _B020 - !WORD _B020-* -_B019 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0416: break - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/apple/conio.pla: 0417: wend - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B015 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B016-* - !WORD $0002 - !WORD _B017-* - !WORD $0003 - !WORD _B018-* -_B014 -; libsrc/apple/conio.pla: 0418: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/conio.pla: 0419: end -; libsrc/apple/conio.pla: 0420: def a1gotoxy(x, y) - ; x -> [0] - ; y -> [2] -_C004 ; a1gotoxy() -; libsrc/apple/conio.pla: 0421: //curshpos = x -; libsrc/apple/conio.pla: 0422: //cursvpos = y -; libsrc/apple/conio.pla: 0423: putln - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0424: while x - !BYTE $54 ; CALL _X003 -_F020 !WORD 0 - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B022 -; libsrc/apple/conio.pla: 0425: putc(' ') -; libsrc/apple/conio.pla: 0426: x = x - 1 -; libsrc/apple/conio.pla: 0427: loop - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F021 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $76,$00 ; SLW [0] -_B024 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* -_B023 -; libsrc/apple/conio.pla: 0428: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0429: end -; libsrc/apple/conio.pla: 0430: def a1viewport(left, top, width, height) - ; left -> [0] - ; top -> [2] - ; width -> [4] - ; height -> [6] -_C005 ; a1viewport() -; libsrc/apple/conio.pla: 0431: return 0 - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0432: end -; libsrc/apple/conio.pla: 0433: def a1ctrl(code, param)#1 - ; code -> [0] - ; param -> [2] -_C006 ; a1ctrl() -; libsrc/apple/conio.pla: 0434: return FALSE - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0435: end -; libsrc/apple/conio.pla: 0436: def a1textmode(columns) - ; columns -> [0] -_C007 ; a1textmode() -; libsrc/apple/conio.pla: 0437: return 40 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2A,$28 ; CB 40 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0438: end -; libsrc/apple/conio.pla: 0439: def a1grmode(mix) - ; mix -> [0] -_C008 ; a1grmode() -; libsrc/apple/conio.pla: 0440: return 0 // not supported - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0441: end -; libsrc/apple/conio.pla: 0442: def a1tone(duration, delay) - ; duration -> [0] - ; delay -> [2] -_C009 ; a1tone() -; libsrc/apple/conio.pla: 0443: byte i - ; i -> [4] -; libsrc/apple/conio.pla: 0444: -; libsrc/apple/conio.pla: 0445: while duration - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B025 -; libsrc/apple/conio.pla: 0446: for i = delay downto 0; next - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $A2 ; BRLT _B028 - !WORD _B028-* -_B029 - !BYTE $6C,$04 ; DLB [4] -_B030 - !BYTE $A8 ; DECBRGE _B029 - !WORD _B029-* -_B028 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0447: duration-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/conio.pla: 0448: loop - !BYTE $76,$00 ; SLW [0] -_B027 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B025 - !WORD _B025-* -_B026 -; libsrc/apple/conio.pla: 0449: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/conio.pla: 0450: end -; libsrc/apple/conio.pla: 0451: // -; libsrc/apple/conio.pla: 0452: // Apple II routines. -; libsrc/apple/conio.pla: 0453: // -; libsrc/apple/conio.pla: 0454: def a2keypressed -_P000 ; a2keypressed() -_C010 ; a2keypressed() -; libsrc/apple/conio.pla: 0455: *a2rndnum++ - !BYTE $6A,$4E,$00 ; LAW 78 - !BYTE $8C ; INCR -; libsrc/apple/conio.pla: 0456: return ^keyboard >= 128 ?? ^keyboard :: 0 - !BYTE $7A,$4E,$00 ; SAW 78 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 - !BYTE $00 ; CN 0 -_B032 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0457: end -; libsrc/apple/conio.pla: 0458: def a2getkey -_P001 ; a2getkey() -_C011 ; a2getkey() -; libsrc/apple/conio.pla: 0459: byte key - ; key -> [0] -; libsrc/apple/conio.pla: 0460: -; libsrc/apple/conio.pla: 0461: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B034 -; libsrc/apple/conio.pla: 0462: *a2rndnum++ - !BYTE $6A,$4E,$00 ; LAW 78 - !BYTE $8C ; INCR -; libsrc/apple/conio.pla: 0463: key = ^keyboard -; libsrc/apple/conio.pla: 0464: if key == $80 | keyctrll -; libsrc/apple/conio.pla: 0465: ^keystrobe -; libsrc/apple/conio.pla: 0466: flags = flags ^ shiftlock -; libsrc/apple/conio.pla: 0467: key = 0 -; libsrc/apple/conio.pla: 0468: fin - !BYTE $7A,$4E,$00 ; SAW 78 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $6C,$00 ; DLB [0] - !BYTE $2A,$8C ; CB 140 - !BYTE $24 ; BRNE _B036 - !WORD _B036-* - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D044+0 -_F022 !WORD _D044+0 - !BYTE $04 ; CN 2 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D044+0 -_F023 !WORD _D044+0 - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] -_B036 -_B037 -; libsrc/apple/conio.pla: 0469: until key >= 128 -_B035 - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* -_B033 -; libsrc/apple/conio.pla: 0470: ^keystrobe -; libsrc/apple/conio.pla: 0471: when key - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B039-* -; libsrc/apple/conio.pla: 0472: is $80 | keyctrln -_B040 -; libsrc/apple/conio.pla: 0473: key = $DB // '[' -; libsrc/apple/conio.pla: 0474: break - !BYTE $2A,$DB ; CB 219 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0475: is $9E // SHIFT+CTRL+N -_B041 -; libsrc/apple/conio.pla: 0476: key = $FE // '~' -; libsrc/apple/conio.pla: 0477: break - !BYTE $2A,$FE ; CB 254 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0478: is $80 | keyctrlp -_B042 -; libsrc/apple/conio.pla: 0479: key = $DC // '\' -; libsrc/apple/conio.pla: 0480: break - !BYTE $2A,$DC ; CB 220 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0481: is $80 // SHIFT+CTRL+P -> CTRL+@ -_B043 -; libsrc/apple/conio.pla: 0482: key = $FC // '|' -; libsrc/apple/conio.pla: 0483: break - !BYTE $2A,$FC ; CB 252 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0484: is $80 | keyctrlg -_B044 -; libsrc/apple/conio.pla: 0485: key = $DF // '_' -; libsrc/apple/conio.pla: 0486: break - !BYTE $2A,$DF ; CB 223 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0487: is $80 | keyarrowleft -_B045 -; libsrc/apple/conio.pla: 0488: if ^pushbttn3 < 128 -; libsrc/apple/conio.pla: 0489: key = keydelete -; libsrc/apple/conio.pla: 0490: fin - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $2A,$7F ; CB 127 - !BYTE $74,$00 ; SLB [0] -_B046 -_B047 -; libsrc/apple/conio.pla: 0491: break - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0492: is $80 | keyarrowright -_B048 -; libsrc/apple/conio.pla: 0493: if ^pushbttn3 < 128 -; libsrc/apple/conio.pla: 0494: key = keytab -; libsrc/apple/conio.pla: 0495: fin - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $12 ; CN 9 - !BYTE $74,$00 ; SLB [0] -_B049 -_B050 -; libsrc/apple/conio.pla: 0496: break - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -; libsrc/apple/conio.pla: 0497: otherwise -_B039 - !BYTE $07 ; CASEBLOCK - !WORD $0080 - !WORD _B043-* - !WORD $0087 - !WORD _B044-* - !WORD $0088 - !WORD _B045-* - !WORD $008E - !WORD _B040-* - !WORD $0090 - !WORD _B042-* - !WORD $0095 - !WORD _B048-* - !WORD $009E - !WORD _B041-* -; libsrc/apple/conio.pla: 0498: if key >= $C0 and flags & shiftlock -; libsrc/apple/conio.pla: 0499: if ^pushbttn3 < 128 -; libsrc/apple/conio.pla: 0500: when key - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$C0 ; CB 192 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B051 - !WORD _B051-* - !BYTE $68 ; LAB _D044+0 -_F024 !WORD _D044+0 - !BYTE $3C,$02 ; ANDI 2 -_B051 - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $68,$63,$C0 ; LAB 49251 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B057-* -; libsrc/apple/conio.pla: 0501: is $C0 -_B058 -; libsrc/apple/conio.pla: 0502: key = $D0 // P -; libsrc/apple/conio.pla: 0503: break - !BYTE $2A,$D0 ; CB 208 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -; libsrc/apple/conio.pla: 0504: is $DD -_B059 -; libsrc/apple/conio.pla: 0505: key = $CD // M -; libsrc/apple/conio.pla: 0506: break - !BYTE $2A,$CD ; CB 205 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -; libsrc/apple/conio.pla: 0507: is $DE -_B060 -; libsrc/apple/conio.pla: 0508: key = $CE // N -; libsrc/apple/conio.pla: 0509: wend - !BYTE $2A,$CE ; CB 206 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B057 - !BYTE $03 ; CASEBLOCK - !WORD $00C0 - !WORD _B058-* - !WORD $00DD - !WORD _B059-* - !WORD $00DE - !WORD _B060-* -_B056 -; libsrc/apple/conio.pla: 0510: else - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -_B054 -; libsrc/apple/conio.pla: 0511: key = key | $E0 -; libsrc/apple/conio.pla: 0512: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$E0 ; ORI 224 - !BYTE $74,$00 ; SLB [0] -_B055 -; libsrc/apple/conio.pla: 0513: fin -_B052 -_B053 -; libsrc/apple/conio.pla: 0514: wend -_B038 -; libsrc/apple/conio.pla: 0515: return (pushbttn2 & $80) | (key & $7F) - !BYTE $00 ; CN 0 - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $96 ; OR - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/conio.pla: 0516: end -; libsrc/apple/conio.pla: 0517: def a2egetkey -_C012 ; a2egetkey() -; libsrc/apple/conio.pla: 0518: byte key - ; key -> [0] -; libsrc/apple/conio.pla: 0519: -; libsrc/apple/conio.pla: 0520: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B062 -; libsrc/apple/conio.pla: 0521: *a2rndnum++ - !BYTE $6A,$4E,$00 ; LAW 78 - !BYTE $8C ; INCR -; libsrc/apple/conio.pla: 0522: key = ^keyboard -; libsrc/apple/conio.pla: 0523: until key >= 128 - !BYTE $7A,$4E,$00 ; SAW 78 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $74,$00 ; SLB [0] -_B063 - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$80 ; CB 128 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* -_B061 -; libsrc/apple/conio.pla: 0524: ^keystrobe -; libsrc/apple/conio.pla: 0525: return (^pushbttn2 & $80) | (key & $7F) - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $68,$62,$C0 ; LAB 49250 - !BYTE $3C,$80 ; ANDI 128 - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $96 ; OR - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/conio.pla: 0526: end -; libsrc/apple/conio.pla: 0527: def a2clear(clr) - ; clr -> [0] -_P004 ; a2clear(clr)() -_C013 ; a2clear() -; libsrc/apple/conio.pla: 0528: when clr - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B065-* -; libsrc/apple/conio.pla: 0529: is cleol // clear EOL -_B066 -; libsrc/apple/conio.pla: 0530: call($FC9C, 0, 0, 0, 0) // CLEOL -; libsrc/apple/conio.pla: 0531: break - !BYTE $2C,$9C,$FC ; CW 64668 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F025 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -; libsrc/apple/conio.pla: 0532: is cls // home -_B067 -; libsrc/apple/conio.pla: 0533: call($FC58, 0, 0, 0, 0) // HOME -; libsrc/apple/conio.pla: 0534: break - !BYTE $2C,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F026 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -; libsrc/apple/conio.pla: 0535: is cleos // clear OES -_B068 -; libsrc/apple/conio.pla: 0536: call($FC42, 0, 0, 0, 0) // CLREOP -; libsrc/apple/conio.pla: 0537: break - !BYTE $2C,$42,$FC ; CW 64578 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F027 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -; libsrc/apple/conio.pla: 0538: wend - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -_B065 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B066-* - !WORD $0002 - !WORD _B068-* - !WORD $0003 - !WORD _B067-* -_B064 -; libsrc/apple/conio.pla: 0539: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0540: end -; libsrc/apple/conio.pla: 0541: def a2clear80(clr) - ; clr -> [0] -_C014 ; a2clear80() -; libsrc/apple/conio.pla: 0542: when clr - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B070-* -; libsrc/apple/conio.pla: 0543: is cleol // clear EOL -_B071 -; libsrc/apple/conio.pla: 0544: a2cout(29) // GS -; libsrc/apple/conio.pla: 0545: break - !BYTE $2A,$1D ; CB 29 - !BYTE $54 ; CALL _A004 -_F028 !WORD _A004 - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -; libsrc/apple/conio.pla: 0546: is cls // home -_B072 -; libsrc/apple/conio.pla: 0547: a2cout(12) // FF -; libsrc/apple/conio.pla: 0548: break - !BYTE $18 ; CN 12 - !BYTE $54 ; CALL _A004 -_F029 !WORD _A004 - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -; libsrc/apple/conio.pla: 0549: is cleos // clear OES -_B073 -; libsrc/apple/conio.pla: 0550: a2cout(11) // VT -; libsrc/apple/conio.pla: 0551: break - !BYTE $16 ; CN 11 - !BYTE $54 ; CALL _A004 -_F030 !WORD _A004 - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -; libsrc/apple/conio.pla: 0552: wend - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B070 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B071-* - !WORD $0002 - !WORD _B073-* - !WORD $0003 - !WORD _B072-* -_B069 -; libsrc/apple/conio.pla: 0553: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0554: end -; libsrc/apple/conio.pla: 0555: def a2gotoxy(x, y) - ; x -> [0] - ; y -> [2] -_P005 ; a2gotoxy(x, y)() -_C015 ; a2gotoxy() -; libsrc/apple/conio.pla: 0556: ^CURSH = x - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0557: return call($FB5B, y + ^WNDTOP, 0, 0, 0) // TABV - !BYTE $66,$00 ; LLW [0] - !BYTE $78,$24,$00 ; SAB 36 - !BYTE $2C,$5B,$FB ; CW 64347 - !BYTE $66,$02 ; LLW [2] - !BYTE $B4,$22,$00 ; ADDAB 34 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F031 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0558: end -; libsrc/apple/conio.pla: 0559: def a2gotoxy80e(x, y) - ; x -> [0] - ; y -> [2] -_C016 ; a2gotoxy80e() -; libsrc/apple/conio.pla: 0560: ^CURSH80 = x - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0561: return call($FB5B, y + ^WNDTOP, 0, 0, 0) // TABV - !BYTE $66,$00 ; LLW [0] - !BYTE $78,$7B,$05 ; SAB 1403 - !BYTE $2C,$5B,$FB ; CW 64347 - !BYTE $66,$02 ; LLW [2] - !BYTE $B4,$22,$00 ; ADDAB 34 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F032 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0562: end -; libsrc/apple/conio.pla: 0563: def a2gotoxy80v(x, y) - ; x -> [0] - ; y -> [2] -_C017 ; a2gotoxy80v() -; libsrc/apple/conio.pla: 0564: a2cout(30); a2cout(x + ' '); a2cout(y + ' ') - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/conio.pla: 0565: return 0 - !BYTE $2A,$1E ; CB 30 - !BYTE $54 ; CALL _A004 -_F033 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$20 ; ADDI 32 - !BYTE $54 ; CALL _A004 -_F034 !WORD _A004 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$20 ; ADDI 32 - !BYTE $54 ; CALL _A004 -_F035 !WORD _A004 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/conio.pla: 0566: end -; libsrc/apple/conio.pla: 0567: def a2viewport(left, top, width, height) - ; left -> [0] - ; top -> [2] - ; width -> [4] - ; height -> [6] -_P006 ; a2viewport(left, top, width, height)() -_C018 ; a2viewport() -; libsrc/apple/conio.pla: 0568: if !width or !height - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/conio.pla: 0569: left = 0 -; libsrc/apple/conio.pla: 0570: top = 0 -; libsrc/apple/conio.pla: 0571: width = flags & txt80 ?? 80 :: 40 -; libsrc/apple/conio.pla: 0572: height = 24 -; libsrc/apple/conio.pla: 0573: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B074 - !WORD _B074-* - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT -_B074 - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $68 ; LAB _D044+0 -_F036 !WORD _D044+0 - !BYTE $3C,$70 ; ANDI 112 - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $2A,$50 ; CB 80 - !BYTE $50 ; BRNCH _B078 - !WORD _B078-* -_B077 - !BYTE $2A,$28 ; CB 40 -_B078 - !BYTE $76,$04 ; SLW [4] - !BYTE $2A,$18 ; CB 24 - !BYTE $76,$06 ; SLW [6] -_B075 -_B076 -; libsrc/apple/conio.pla: 0574: ^WNDLEFT = left -; libsrc/apple/conio.pla: 0575: ^WNDWIDTH = width -; libsrc/apple/conio.pla: 0576: ^WNDTOP = top -; libsrc/apple/conio.pla: 0577: ^WNDBOTTOM = height + top -; libsrc/apple/conio.pla: 0578: return conio:gotoxy(0, 0) - !BYTE $66,$00 ; LLW [0] - !BYTE $78,$20,$00 ; SAB 32 - !BYTE $66,$04 ; LLW [4] - !BYTE $78,$21,$00 ; SAB 33 - !BYTE $66,$02 ; LLW [2] - !BYTE $78,$22,$00 ; SAB 34 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $78,$23,$00 ; SAB 35 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D041+8 -_F037 !WORD _D041+8 - !BYTE $56 ; ICAL - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0579: end -; libsrc/apple/conio.pla: 0580: def a2ctrl(code, param)#1 - ; code -> [0] - ; param -> [2] -_P003 ; a2ctrl(code, param)#1() -_C019 ; a2ctrl() -; libsrc/apple/conio.pla: 0581: word handled - ; handled -> [4] -; libsrc/apple/conio.pla: 0582: byte row - ; row -> [6] -; libsrc/apple/conio.pla: 0583: -; libsrc/apple/conio.pla: 0584: handled = FALSE - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/apple/conio.pla: 0585: when code - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B080-* -; libsrc/apple/conio.pla: 0586: is ctrlattr -_B081 -; libsrc/apple/conio.pla: 0587: ^$32 = param -; libsrc/apple/conio.pla: 0588: handled = TRUE -; libsrc/apple/conio.pla: 0589: break - !BYTE $66,$02 ; LLW [2] - !BYTE $78,$32,$00 ; SAB 50 - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/apple/conio.pla: 0590: is ctrlecho -_B082 -; libsrc/apple/conio.pla: 0591: if param -; libsrc/apple/conio.pla: 0592: flags = flags | echo -; libsrc/apple/conio.pla: 0593: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $68 ; LAB _D044+0 -_F038 !WORD _D044+0 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D044+0 -_F039 !WORD _D044+0 - !BYTE $50 ; BRNCH _B084 - !WORD _B084-* -_B083 -; libsrc/apple/conio.pla: 0594: flags = flags & ~echo -; libsrc/apple/conio.pla: 0595: fin - !BYTE $68 ; LAB _D044+0 -_F040 !WORD _D044+0 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D044+0 -_F041 !WORD _D044+0 -_B084 -; libsrc/apple/conio.pla: 0596: handled = TRUE -; libsrc/apple/conio.pla: 0597: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/apple/conio.pla: 0598: is ctrlcursor -_B085 -; libsrc/apple/conio.pla: 0599: if param -; libsrc/apple/conio.pla: 0600: flags = flags | showcurs -; libsrc/apple/conio.pla: 0601: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $68 ; LAB _D044+0 -_F042 !WORD _D044+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D044+0 -_F043 !WORD _D044+0 - !BYTE $50 ; BRNCH _B087 - !WORD _B087-* -_B086 -; libsrc/apple/conio.pla: 0602: flags = flags & ~showcurs -; libsrc/apple/conio.pla: 0603: fin - !BYTE $68 ; LAB _D044+0 -_F044 !WORD _D044+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D044+0 -_F045 !WORD _D044+0 -_B087 -; libsrc/apple/conio.pla: 0604: handled = TRUE -; libsrc/apple/conio.pla: 0605: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/apple/conio.pla: 0606: is ctrlscroll -_B088 -; libsrc/apple/conio.pla: 0607: if param > 0 -; libsrc/apple/conio.pla: 0608: for row = ^WNDTOP to ^WNDBOTTOM - param - 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $68,$23,$00 ; LAB 35 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $68,$22,$00 ; LAB 34 - !BYTE $A0 ; BRGT _B091 - !WORD _B091-* -_B092 - !BYTE $6C,$06 ; DLB [6] -; libsrc/apple/conio.pla: 0609: vidcpy(txt1scrn[row], txt1scrn[row + param]) -; libsrc/apple/conio.pla: 0610: next - !BYTE $26 ; LA _D042+0 -_F046 !WORD _D042+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D042+0 -_F047 !WORD _D042+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A007 -_F048 !WORD _A007 -_B093 - !BYTE $A4 ; INCBRLE _B092 - !WORD _B092-* -_B091 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0611: elsif param < 0 - !BYTE $50 ; BRNCH _B090 - !WORD _B090-* -_B089 -; libsrc/apple/conio.pla: 0612: for row = ^WNDBOTTOM - 1 downto ^WNDTOP - param - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $68,$22,$00 ; LAB 34 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $68,$23,$00 ; LAB 35 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B095 - !WORD _B095-* -_B096 - !BYTE $6C,$06 ; DLB [6] -; libsrc/apple/conio.pla: 0613: vidcpy(txt1scrn[row], txt1scrn[row + param]) -; libsrc/apple/conio.pla: 0614: next - !BYTE $26 ; LA _D042+0 -_F049 !WORD _D042+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D042+0 -_F050 !WORD _D042+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A007 -_F051 !WORD _A007 -_B097 - !BYTE $A8 ; DECBRGE _B096 - !WORD _B096-* -_B095 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0615: fin -_B094 -_B090 -; libsrc/apple/conio.pla: 0616: handled = TRUE -; libsrc/apple/conio.pla: 0617: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/apple/conio.pla: 0618: is ctrlcase -_B098 -; libsrc/apple/conio.pla: 0619: if not (flags & txt80) -; libsrc/apple/conio.pla: 0620: flags = flags ^ uppercase -; libsrc/apple/conio.pla: 0621: conio:putchars = flags & uppercase ?? @a2putuprchars :: @a2putchars -; libsrc/apple/conio.pla: 0622: fin - !BYTE $68 ; LAB _D044+0 -_F052 !WORD _D044+0 - !BYTE $3C,$70 ; ANDI 112 - !BYTE $4E ; BRTRU _B099 - !WORD _B099-* - !BYTE $68 ; LAB _D044+0 -_F053 !WORD _D044+0 - !BYTE $10 ; CN 8 - !BYTE $98 ; XOR - !BYTE $7C ; DAB _D044+0 -_F054 !WORD _D044+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $26 ; LA _A006+0 -_F055 !WORD _A006+0 - !BYTE $50 ; BRNCH _B102 - !WORD _B102-* -_B101 - !BYTE $26 ; LA _A005+0 -_F056 !WORD _A005+0 -_B102 - !BYTE $7A ; SAW _D041+4 -_F057 !WORD _D041+4 -_B099 -_B100 -; libsrc/apple/conio.pla: 0623: handled = TRUE -; libsrc/apple/conio.pla: 0624: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/apple/conio.pla: 0625: wend - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B080 - !BYTE $05 ; CASEBLOCK - !WORD $0001 - !WORD _B081-* - !WORD $0002 - !WORD _B082-* - !WORD $0003 - !WORD _B085-* - !WORD $0004 - !WORD _B098-* - !WORD $0005 - !WORD _B088-* -_B079 -; libsrc/apple/conio.pla: 0626: return handled - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/conio.pla: 0627: end -; libsrc/apple/conio.pla: 0628: def a2ctrl80e(code, param)#1 - ; code -> [0] - ; param -> [2] -_C020 ; a2ctrl80e() -; libsrc/apple/conio.pla: 0629: word handled - ; handled -> [4] -; libsrc/apple/conio.pla: 0630: byte row - ; row -> [6] -; libsrc/apple/conio.pla: 0631: -; libsrc/apple/conio.pla: 0632: handled = FALSE - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/apple/conio.pla: 0633: when code - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B104-* -; libsrc/apple/conio.pla: 0634: is ctrlattr -_B105 -; libsrc/apple/conio.pla: 0635: ^$32 = param -; libsrc/apple/conio.pla: 0636: handled = TRUE -; libsrc/apple/conio.pla: 0637: break - !BYTE $66,$02 ; LLW [2] - !BYTE $78,$32,$00 ; SAB 50 - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -; libsrc/apple/conio.pla: 0638: is ctrlecho -_B106 -; libsrc/apple/conio.pla: 0639: if param -; libsrc/apple/conio.pla: 0640: flags = flags | echo -; libsrc/apple/conio.pla: 0641: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $68 ; LAB _D044+0 -_F058 !WORD _D044+0 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D044+0 -_F059 !WORD _D044+0 - !BYTE $50 ; BRNCH _B108 - !WORD _B108-* -_B107 -; libsrc/apple/conio.pla: 0642: flags = flags & ~echo -; libsrc/apple/conio.pla: 0643: fin - !BYTE $68 ; LAB _D044+0 -_F060 !WORD _D044+0 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D044+0 -_F061 !WORD _D044+0 -_B108 -; libsrc/apple/conio.pla: 0644: handled = TRUE -; libsrc/apple/conio.pla: 0645: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -; libsrc/apple/conio.pla: 0646: is ctrlcursor -_B109 -; libsrc/apple/conio.pla: 0647: if param -; libsrc/apple/conio.pla: 0648: flags = flags | showcurs -; libsrc/apple/conio.pla: 0649: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $68 ; LAB _D044+0 -_F062 !WORD _D044+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D044+0 -_F063 !WORD _D044+0 - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B110 -; libsrc/apple/conio.pla: 0650: flags = flags & ~showcurs -; libsrc/apple/conio.pla: 0651: fin - !BYTE $68 ; LAB _D044+0 -_F064 !WORD _D044+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D044+0 -_F065 !WORD _D044+0 -_B111 -; libsrc/apple/conio.pla: 0652: handled = TRUE -; libsrc/apple/conio.pla: 0653: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -; libsrc/apple/conio.pla: 0654: is ctrlscroll -_B112 -; libsrc/apple/conio.pla: 0655: if param > 0 -; libsrc/apple/conio.pla: 0656: for row = ^WNDTOP to ^WNDBOTTOM - param - 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B113 - !WORD _B113-* - !BYTE $68,$23,$00 ; LAB 35 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $68,$22,$00 ; LAB 34 - !BYTE $A0 ; BRGT _B115 - !WORD _B115-* -_B116 - !BYTE $6C,$06 ; DLB [6] -; libsrc/apple/conio.pla: 0657: vidxcpy(txt1scrn[row], txt1scrn[row + param]) -; libsrc/apple/conio.pla: 0658: next - !BYTE $26 ; LA _D042+0 -_F066 !WORD _D042+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D042+0 -_F067 !WORD _D042+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A008 -_F068 !WORD _A008 -_B117 - !BYTE $A4 ; INCBRLE _B116 - !WORD _B116-* -_B115 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0659: elsif param < 0 - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B113 -; libsrc/apple/conio.pla: 0660: for row = ^WNDBOTTOM - 1 downto ^WNDTOP - param - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B118 - !WORD _B118-* - !BYTE $68,$22,$00 ; LAB 34 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $68,$23,$00 ; LAB 35 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B119 - !WORD _B119-* -_B120 - !BYTE $6C,$06 ; DLB [6] -; libsrc/apple/conio.pla: 0661: vidxcpy(txt1scrn[row], txt1scrn[row + param]) -; libsrc/apple/conio.pla: 0662: next - !BYTE $26 ; LA _D042+0 -_F069 !WORD _D042+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D042+0 -_F070 !WORD _D042+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A008 -_F071 !WORD _A008 -_B121 - !BYTE $A8 ; DECBRGE _B120 - !WORD _B120-* -_B119 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0663: fin -_B118 -_B114 -; libsrc/apple/conio.pla: 0664: handled = TRUE -; libsrc/apple/conio.pla: 0665: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -; libsrc/apple/conio.pla: 0666: wend - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B104 - !BYTE $04 ; CASEBLOCK - !WORD $0001 - !WORD _B105-* - !WORD $0002 - !WORD _B106-* - !WORD $0003 - !WORD _B109-* - !WORD $0005 - !WORD _B112-* -_B103 -; libsrc/apple/conio.pla: 0667: return handled - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/conio.pla: 0668: end -; libsrc/apple/conio.pla: 0669: def a2ctrl80v(code, param)#1 - ; code -> [0] - ; param -> [2] -_C021 ; a2ctrl80v() -; libsrc/apple/conio.pla: 0670: word handled - ; handled -> [4] -; libsrc/apple/conio.pla: 0671: byte row - ; row -> [6] -; libsrc/apple/conio.pla: 0672: -; libsrc/apple/conio.pla: 0673: handled = FALSE - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/apple/conio.pla: 0674: when code - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B123-* -; libsrc/apple/conio.pla: 0675: is ctrlattr -_B124 -; libsrc/apple/conio.pla: 0676: ^$32 = param -; libsrc/apple/conio.pla: 0677: handled = TRUE -; libsrc/apple/conio.pla: 0678: break - !BYTE $66,$02 ; LLW [2] - !BYTE $78,$32,$00 ; SAB 50 - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; libsrc/apple/conio.pla: 0679: is ctrlecho -_B125 -; libsrc/apple/conio.pla: 0680: if param -; libsrc/apple/conio.pla: 0681: flags = flags | echo -; libsrc/apple/conio.pla: 0682: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B126 - !WORD _B126-* - !BYTE $68 ; LAB _D044+0 -_F072 !WORD _D044+0 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D044+0 -_F073 !WORD _D044+0 - !BYTE $50 ; BRNCH _B127 - !WORD _B127-* -_B126 -; libsrc/apple/conio.pla: 0683: flags = flags & ~echo -; libsrc/apple/conio.pla: 0684: fin - !BYTE $68 ; LAB _D044+0 -_F074 !WORD _D044+0 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D044+0 -_F075 !WORD _D044+0 -_B127 -; libsrc/apple/conio.pla: 0685: handled = TRUE -; libsrc/apple/conio.pla: 0686: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; libsrc/apple/conio.pla: 0687: is ctrlcursor -_B128 -; libsrc/apple/conio.pla: 0688: when param - !BYTE $66,$02 ; LLW [2] - !BYTE $52 ; SEL - !WORD _B130-* -; libsrc/apple/conio.pla: 0689: is OFF -_B131 -; libsrc/apple/conio.pla: 0690: if flags & txt80v -; libsrc/apple/conio.pla: 0691: ^$C0B0 = $0A -; libsrc/apple/conio.pla: 0692: ^$C0B1 = $20 -; libsrc/apple/conio.pla: 0693: elsif flags & txt80a - !BYTE $68 ; LAB _D044+0 -_F076 !WORD _D044+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B132 - !WORD _B132-* - !BYTE $14 ; CN 10 - !BYTE $78,$B0,$C0 ; SAB 49328 - !BYTE $2A,$20 ; CB 32 - !BYTE $78,$B1,$C0 ; SAB 49329 - !BYTE $50 ; BRNCH _B133 - !WORD _B133-* -_B132 -; libsrc/apple/conio.pla: 0694: a2cout(20) // Ctrl-T -; libsrc/apple/conio.pla: 0695: a2cout('C') -; libsrc/apple/conio.pla: 0696: a2cout('7') -; libsrc/apple/conio.pla: 0697: fin - !BYTE $68 ; LAB _D044+0 -_F077 !WORD _D044+0 - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B134 - !WORD _B134-* - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _A004 -_F078 !WORD _A004 - !BYTE $2A,$43 ; CB 67 - !BYTE $54 ; CALL _A004 -_F079 !WORD _A004 - !BYTE $2A,$37 ; CB 55 - !BYTE $54 ; CALL _A004 -_F080 !WORD _A004 -_B134 -_B133 -; libsrc/apple/conio.pla: 0698: break - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -; libsrc/apple/conio.pla: 0699: is INVERSE -_B135 -; libsrc/apple/conio.pla: 0700: if flags & txt80v -; libsrc/apple/conio.pla: 0701: ^$C0B0 = $0A -; libsrc/apple/conio.pla: 0702: ^$C0B1 = $00 -; libsrc/apple/conio.pla: 0703: elsif flags & txt80a - !BYTE $68 ; LAB _D044+0 -_F081 !WORD _D044+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $14 ; CN 10 - !BYTE $78,$B0,$C0 ; SAB 49328 - !BYTE $00 ; CN 0 - !BYTE $78,$B1,$C0 ; SAB 49329 - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B136 -; libsrc/apple/conio.pla: 0704: a2cout(20) // Ctrl-T -; libsrc/apple/conio.pla: 0705: a2cout('C') -; libsrc/apple/conio.pla: 0706: a2cout('3') -; libsrc/apple/conio.pla: 0707: fin - !BYTE $68 ; LAB _D044+0 -_F082 !WORD _D044+0 - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B138 - !WORD _B138-* - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _A004 -_F083 !WORD _A004 - !BYTE $2A,$43 ; CB 67 - !BYTE $54 ; CALL _A004 -_F084 !WORD _A004 - !BYTE $2A,$33 ; CB 51 - !BYTE $54 ; CALL _A004 -_F085 !WORD _A004 -_B138 -_B137 -; libsrc/apple/conio.pla: 0708: break - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -; libsrc/apple/conio.pla: 0709: otherwise -_B130 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B131-* - !WORD $003F - !WORD _B135-* -; libsrc/apple/conio.pla: 0710: if flags & txt80v -; libsrc/apple/conio.pla: 0711: ^$C0B0 = $0A -; libsrc/apple/conio.pla: 0712: ^$C0B1 = $C0 -; libsrc/apple/conio.pla: 0713: elsif flags & txt80a - !BYTE $68 ; LAB _D044+0 -_F086 !WORD _D044+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B139 - !WORD _B139-* - !BYTE $14 ; CN 10 - !BYTE $78,$B0,$C0 ; SAB 49328 - !BYTE $2A,$C0 ; CB 192 - !BYTE $78,$B1,$C0 ; SAB 49329 - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B139 -; libsrc/apple/conio.pla: 0714: a2cout(20) // Ctrl-T -; libsrc/apple/conio.pla: 0715: a2cout('C') -; libsrc/apple/conio.pla: 0716: a2cout('3') -; libsrc/apple/conio.pla: 0717: fin - !BYTE $68 ; LAB _D044+0 -_F087 !WORD _D044+0 - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B141 - !WORD _B141-* - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _A004 -_F088 !WORD _A004 - !BYTE $2A,$43 ; CB 67 - !BYTE $54 ; CALL _A004 -_F089 !WORD _A004 - !BYTE $2A,$33 ; CB 51 - !BYTE $54 ; CALL _A004 -_F090 !WORD _A004 -_B141 -_B140 -; libsrc/apple/conio.pla: 0718: wend -_B129 -; libsrc/apple/conio.pla: 0719: handled = TRUE -; libsrc/apple/conio.pla: 0720: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; libsrc/apple/conio.pla: 0721: is ctrlscroll -_B142 -; libsrc/apple/conio.pla: 0722: if param == UP -; libsrc/apple/conio.pla: 0723: a2cout(30); a2cout(' '); a2cout(^WNDBOTTOM + ' ' - 1); a2cout(10) -; libsrc/apple/conio.pla: 0724: handled = TRUE -; libsrc/apple/conio.pla: 0725: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B143 - !WORD _B143-* - !BYTE $2A,$1E ; CB 30 - !BYTE $54 ; CALL _A004 -_F091 !WORD _A004 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _A004 -_F092 !WORD _A004 - !BYTE $68,$23,$00 ; LAB 35 - !BYTE $38,$20 ; ADDI 32 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _A004 -_F093 !WORD _A004 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _A004 -_F094 !WORD _A004 - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] -_B143 -_B144 -; libsrc/apple/conio.pla: 0726: break - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; libsrc/apple/conio.pla: 0727: wend - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -_B123 - !BYTE $04 ; CASEBLOCK - !WORD $0001 - !WORD _B124-* - !WORD $0002 - !WORD _B125-* - !WORD $0003 - !WORD _B128-* - !WORD $0005 - !WORD _B142-* -_B122 -; libsrc/apple/conio.pla: 0728: return handled - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/conio.pla: 0729: end -; libsrc/apple/conio.pla: 0730: def a2textmode(columns) - ; columns -> [0] -_P007 ; a2textmode(columns)() -_C022 ; a2textmode() -; libsrc/apple/conio.pla: 0731: byte height - ; height -> [2] -; libsrc/apple/conio.pla: 0732: -; libsrc/apple/conio.pla: 0733: height = 24 - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/apple/conio.pla: 0734: if columns == 0 -; libsrc/apple/conio.pla: 0735: columns = (cmdsys:_sysflags_ & vid80col) ?? 80 :: 40 -; libsrc/apple/conio.pla: 0736: fin - !BYTE $2A,$18 ; CB 24 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B145 - !WORD _B145-* - !BYTE $6A ; LAW _X000+23 -_F095 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $2A,$50 ; CB 80 - !BYTE $50 ; BRNCH _B148 - !WORD _B148-* -_B147 - !BYTE $2A,$28 ; CB 40 -_B148 - !BYTE $76,$00 ; SLW [0] -_B145 -_B146 -; libsrc/apple/conio.pla: 0737: if columns >= 80 and MACHID & MACHID_80COL -; libsrc/apple/conio.pla: 0738: //if not (flags & txt80) -; libsrc/apple/conio.pla: 0739: *CSW = $C300 -; libsrc/apple/conio.pla: 0740: //fin -; libsrc/apple/conio.pla: 0741: if MACHID & $C0 == MACHID_IIE -; libsrc/apple/conio.pla: 0742: conio:clear = @a2clear80 -; libsrc/apple/conio.pla: 0743: conio:gotoxy = @a2gotoxy80e -; libsrc/apple/conio.pla: 0744: conio:textctrl = @a2ctrl80e -; libsrc/apple/conio.pla: 0745: columns = 80 -; libsrc/apple/conio.pla: 0746: flags = flags | txt80e -; libsrc/apple/conio.pla: 0747: else // MACHID_II - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$50 ; CB 80 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B149 - !WORD _B149-* - !BYTE $68 ; LAB _X001+0 -_F096 !WORD 0+0 - !BYTE $3C,$02 ; ANDI 2 -_B149 - !BYTE $4C ; BRFLS _B150 - !WORD _B150-* - !BYTE $2C,$00,$C3 ; CW 49920 - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $68 ; LAB _X001+0 -_F097 !WORD 0+0 - !BYTE $3C,$C0 ; ANDI 192 - !BYTE $2A,$80 ; CB 128 - !BYTE $24 ; BRNE _B152 - !WORD _B152-* - !BYTE $26 ; LA _C014+0 -_F098 !WORD _C014+0 - !BYTE $7A ; SAW _D041+6 -_F099 !WORD _D041+6 - !BYTE $26 ; LA _C016+0 -_F100 !WORD _C016+0 - !BYTE $7A ; SAW _D041+8 -_F101 !WORD _D041+8 - !BYTE $26 ; LA _C020+0 -_F102 !WORD _C020+0 - !BYTE $7A ; SAW _D041+12 -_F103 !WORD _D041+12 - !BYTE $2A,$50 ; CB 80 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D044+0 -_F104 !WORD _D044+0 - !BYTE $3E,$10 ; ORI 16 - !BYTE $78 ; SAB _D044+0 -_F105 !WORD _D044+0 - !BYTE $50 ; BRNCH _B153 - !WORD _B153-* -_B152 -; libsrc/apple/conio.pla: 0748: conio:clear = @a2clear80 -; libsrc/apple/conio.pla: 0749: conio:gotoxy = @a2gotoxy80v -; libsrc/apple/conio.pla: 0750: conio:textctrl = @a2ctrl80v -; libsrc/apple/conio.pla: 0751: conio:putchars = @a2putchars -; libsrc/apple/conio.pla: 0752: if ^$C304 == $1E // Try and identify different cards -; libsrc/apple/conio.pla: 0753: flags = flags | txt80a // ALS SmartTerm (hopefully) -; libsrc/apple/conio.pla: 0754: columns = 80 -; libsrc/apple/conio.pla: 0755: else - !BYTE $26 ; LA _C014+0 -_F106 !WORD _C014+0 - !BYTE $7A ; SAW _D041+6 -_F107 !WORD _D041+6 - !BYTE $26 ; LA _C017+0 -_F108 !WORD _C017+0 - !BYTE $7A ; SAW _D041+8 -_F109 !WORD _D041+8 - !BYTE $26 ; LA _C021+0 -_F110 !WORD _C021+0 - !BYTE $7A ; SAW _D041+12 -_F111 !WORD _D041+12 - !BYTE $26 ; LA _A005+0 -_F112 !WORD _A005+0 - !BYTE $7A ; SAW _D041+4 -_F113 !WORD _D041+4 - !BYTE $68,$04,$C3 ; LAB 49924 - !BYTE $2A,$1E ; CB 30 - !BYTE $24 ; BRNE _B154 - !WORD _B154-* - !BYTE $68 ; LAB _D044+0 -_F114 !WORD _D044+0 - !BYTE $3E,$40 ; ORI 64 - !BYTE $78 ; SAB _D044+0 -_F115 !WORD _D044+0 - !BYTE $2A,$50 ; CB 80 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -_B154 -; libsrc/apple/conio.pla: 0756: flags = flags | txt80v // Treat anything else as VIDEX -; libsrc/apple/conio.pla: 0757: ^$C059 -; libsrc/apple/conio.pla: 0758: if columns > 80 and columns <= 88 \ -; libsrc/apple/conio.pla: 0759: if columns > 80 and columns <= 88 and ^$C304 == $39 // Check for UltraTerm modes -; libsrc/apple/conio.pla: 0760: a2cout(22); a2cout(columns - 80 + '0') -; libsrc/apple/conio.pla: 0761: height = UltraTermHeight[columns - 81] -; libsrc/apple/conio.pla: 0762: else - !BYTE $68 ; LAB _D044+0 -_F116 !WORD _D044+0 - !BYTE $3E,$20 ; ORI 32 - !BYTE $78 ; SAB _D044+0 -_F117 !WORD _D044+0 - !BYTE $68,$59,$C0 ; LAB 49241 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$50 ; CB 80 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B156 - !WORD _B156-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$58 ; CB 88 - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B157 - !WORD _B157-* - !BYTE $68,$04,$C3 ; LAB 49924 - !BYTE $2A,$39 ; CB 57 - !BYTE $40 ; ISEQ -_B157 -_B156 - !BYTE $4C ; BRFLS _B158 - !WORD _B158-* - !BYTE $2A,$16 ; CB 22 - !BYTE $54 ; CALL _A004 -_F118 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$50 ; SUBI 80 - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A004 -_F119 !WORD _A004 - !BYTE $26 ; LA _D045+0 -_F120 !WORD _D045+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$51 ; SUBI 81 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B159 - !WORD _B159-* -_B158 -; libsrc/apple/conio.pla: 0763: a2cout(22); a2cout('1') // Ensure 80x24 -; libsrc/apple/conio.pla: 0764: columns = 80 -; libsrc/apple/conio.pla: 0765: fin - !BYTE $2A,$16 ; CB 22 - !BYTE $54 ; CALL _A004 -_F121 !WORD _A004 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _A004 -_F122 !WORD _A004 - !BYTE $2A,$50 ; CB 80 - !BYTE $76,$00 ; SLW [0] -_B159 -; libsrc/apple/conio.pla: 0766: fin -_B155 -; libsrc/apple/conio.pla: 0767: fin -_B153 -; libsrc/apple/conio.pla: 0768: else - !BYTE $50 ; BRNCH _B151 - !WORD _B151-* -_B150 -; libsrc/apple/conio.pla: 0769: if flags & txt80 -; libsrc/apple/conio.pla: 0770: if flags & txt80e // IIe disable -; libsrc/apple/conio.pla: 0771: a2cout(21) -; libsrc/apple/conio.pla: 0772: elsif flags & txt80v // Videx disable - !BYTE $68 ; LAB _D044+0 -_F123 !WORD _D044+0 - !BYTE $3C,$70 ; ANDI 112 - !BYTE $4C ; BRFLS _B160 - !WORD _B160-* - !BYTE $68 ; LAB _D044+0 -_F124 !WORD _D044+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $2A,$15 ; CB 21 - !BYTE $54 ; CALL _A004 -_F125 !WORD _A004 - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -_B162 -; libsrc/apple/conio.pla: 0773: a2cout(26); a2cout('1') -; libsrc/apple/conio.pla: 0774: ^$C058 -; libsrc/apple/conio.pla: 0775: elsif flags & txt80a // ALS SmartTerm disable - !BYTE $68 ; LAB _D044+0 -_F126 !WORD _D044+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B164 - !WORD _B164-* - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _A004 -_F127 !WORD _A004 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _A004 -_F128 !WORD _A004 - !BYTE $68,$58,$C0 ; LAB 49240 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -_B164 -; libsrc/apple/conio.pla: 0776: a2cout(20); a2cout('A'); a2cout('1') -; libsrc/apple/conio.pla: 0777: fin - !BYTE $68 ; LAB _D044+0 -_F129 !WORD _D044+0 - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B165 - !WORD _B165-* - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _A004 -_F130 !WORD _A004 - !BYTE $2A,$41 ; CB 65 - !BYTE $54 ; CALL _A004 -_F131 !WORD _A004 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _A004 -_F132 !WORD _A004 -_B165 -_B163 -; libsrc/apple/conio.pla: 0778: flags = flags & ~txt80 -; libsrc/apple/conio.pla: 0779: fin - !BYTE $68 ; LAB _D044+0 -_F133 !WORD _D044+0 - !BYTE $5E,$8F ; CFFB -113 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D044+0 -_F134 !WORD _D044+0 -_B160 -_B161 -; libsrc/apple/conio.pla: 0780: call($FE89, 0, 0, 0, 0) // IN#0 -; libsrc/apple/conio.pla: 0781: call($FE93, 0, 0, 0, 0) // PR#0 -; libsrc/apple/conio.pla: 0782: call($FB2F, 0, 0, 0, 0) // INIT -; libsrc/apple/conio.pla: 0783: a2clear(cls) -; libsrc/apple/conio.pla: 0784: conio:putchars = flags & uppercase ?? @a2putuprchars :: @a2putchars -; libsrc/apple/conio.pla: 0785: conio:clear = @a2clear -; libsrc/apple/conio.pla: 0786: conio:gotoxy = @a2gotoxy -; libsrc/apple/conio.pla: 0787: conio:textctrl = @a2ctrl -; libsrc/apple/conio.pla: 0788: columns = 40 -; libsrc/apple/conio.pla: 0789: fin - !BYTE $2C,$89,$FE ; CW 65161 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F135 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$93,$FE ; CW 65171 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F136 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F137 !WORD 0 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C013 -_F138 !WORD _C013 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D044+0 -_F139 !WORD _D044+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $26 ; LA _A006+0 -_F140 !WORD _A006+0 - !BYTE $50 ; BRNCH _B167 - !WORD _B167-* -_B166 - !BYTE $26 ; LA _A005+0 -_F141 !WORD _A005+0 -_B167 - !BYTE $7A ; SAW _D041+4 -_F142 !WORD _D041+4 - !BYTE $26 ; LA _C013+0 -_F143 !WORD _C013+0 - !BYTE $7A ; SAW _D041+6 -_F144 !WORD _D041+6 - !BYTE $26 ; LA _C015+0 -_F145 !WORD _C015+0 - !BYTE $7A ; SAW _D041+8 -_F146 !WORD _D041+8 - !BYTE $26 ; LA _C019+0 -_F147 !WORD _C019+0 - !BYTE $7A ; SAW _D041+12 -_F148 !WORD _D041+12 - !BYTE $2A,$28 ; CB 40 - !BYTE $76,$00 ; SLW [0] -_B151 -; libsrc/apple/conio.pla: 0790: ^showtext -; libsrc/apple/conio.pla: 0791: ^showfull -; libsrc/apple/conio.pla: 0792: a2viewport(0, 0, columns, height) -; libsrc/apple/conio.pla: 0793: conio:clear(cls) -; libsrc/apple/conio.pla: 0794: return columns - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C018 -_F149 !WORD _C018 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _D041+6 -_F150 !WORD _D041+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/conio.pla: 0795: end -; libsrc/apple/conio.pla: 0796: def a2grmode(mix) - ; mix -> [0] -_P008 ; a2grmode(mix)() -_C023 ; a2grmode() -; libsrc/apple/conio.pla: 0797: a2textmode(40) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/conio.pla: 0798: call($FB2F, 0, 0, 0, 0) // initmode() -; libsrc/apple/conio.pla: 0799: call($FB40, 0, 0, 0, 0) // grmode() -; libsrc/apple/conio.pla: 0800: if !mix -; libsrc/apple/conio.pla: 0801: ^showfull -; libsrc/apple/conio.pla: 0802: fin - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _C022 -_F151 !WORD _C022 - !BYTE $30 ; DROP - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F152 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$40,$FB ; CW 64320 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F153 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B168 - !WORD _B168-* - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP -_B168 -_B169 -; libsrc/apple/conio.pla: 0803: a2clear(cls) -; libsrc/apple/conio.pla: 0804: return a2grscrn(@txt1scrn) // point to lo-res screen - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C013 -_F154 !WORD _C013 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D042+0 -_F155 !WORD _D042+0 - !BYTE $54 ; CALL _A001 -_F156 !WORD _A001 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0805: end -; libsrc/apple/conio.pla: 0806: def a2tone(duration, delay) - ; duration -> [0] - ; delay -> [2] -_P011 ; a2tone(duration, delay)() -_C024 ; a2tone() -; libsrc/apple/conio.pla: 0807: byte i - ; i -> [4] -; libsrc/apple/conio.pla: 0808: -; libsrc/apple/conio.pla: 0809: while duration - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -_B170 -; libsrc/apple/conio.pla: 0810: ^speaker // toggle speaker -; libsrc/apple/conio.pla: 0811: for i = delay downto 0; next - !BYTE $68,$30,$C0 ; LAB 49200 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $A2 ; BRLT _B173 - !WORD _B173-* -_B174 - !BYTE $6C,$04 ; DLB [4] -_B175 - !BYTE $A8 ; DECBRGE _B174 - !WORD _B174-* -_B173 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0812: duration-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/conio.pla: 0813: loop - !BYTE $76,$00 ; SLW [0] -_B172 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B170 - !WORD _B170-* -_B171 -; libsrc/apple/conio.pla: 0814: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/conio.pla: 0815: end -; libsrc/apple/conio.pla: 0816: def a2rnd -_P012 ; a2rnd() -_C025 ; a2rnd() -; libsrc/apple/conio.pla: 0817: *a2rndnum = ^a2rndh ^ ^a2rndl ^ (*a2rndnum << 1) + 125 -; libsrc/apple/conio.pla: 0818: return *a2rndnum & $7FFF - !BYTE $68,$4F,$00 ; LAB 79 - !BYTE $68,$4E,$00 ; LAB 78 - !BYTE $98 ; XOR - !BYTE $6A,$4E,$00 ; LAW 78 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $38,$7D ; ADDI 125 - !BYTE $98 ; XOR - !BYTE $7E,$4E,$00 ; DAW 78 - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 0819: end -; libsrc/apple/conio.pla: 0820: // -; libsrc/apple/conio.pla: 0821: // Apple III routines. -; libsrc/apple/conio.pla: 0822: // -; libsrc/apple/conio.pla: 0823: def cons_control(code, list) - ; code -> [0] - ; list -> [2] -_C026 ; cons_control() -; libsrc/apple/conio.pla: 0824: byte params[5] - ; params -> [4] -; libsrc/apple/conio.pla: 0825: -; libsrc/apple/conio.pla: 0826: params.0 = 3 - !BYTE $58,$09,$02 ; ENTER 9,2 -; libsrc/apple/conio.pla: 0827: params.1 = cmdsys.devcons -; libsrc/apple/conio.pla: 0828: params.2 = code -; libsrc/apple/conio.pla: 0829: params:3 = list -; libsrc/apple/conio.pla: 0830: return syscall($83, @params) - !BYTE $06 ; CN 3 - !BYTE $74,$04 ; SLB [4] - !BYTE $68 ; LAB _X000+20 -_F157 !WORD 0+20 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$07 ; SLW [7] - !BYTE $2A,$83 ; CB 131 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F158 !WORD 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/conio.pla: 0831: end -; libsrc/apple/conio.pla: 0832: def cons_keyavail -_C027 ; cons_keyavail() -; libsrc/apple/conio.pla: 0833: byte params[5] - ; params -> [0] -; libsrc/apple/conio.pla: 0834: byte count - ; count -> [5] -; libsrc/apple/conio.pla: 0835: -; libsrc/apple/conio.pla: 0836: params.0 = 3 - !BYTE $58,$06,$00 ; ENTER 6,0 -; libsrc/apple/conio.pla: 0837: params.1 = cmdsys.devcons -; libsrc/apple/conio.pla: 0838: params.2 = 5 -; libsrc/apple/conio.pla: 0839: params:3 = @count -; libsrc/apple/conio.pla: 0840: return syscall($82, @params) ?? 0 :: count - !BYTE $06 ; CN 3 - !BYTE $74,$00 ; SLB [0] - !BYTE $68 ; LAB _X000+20 -_F159 !WORD 0+20 - !BYTE $74,$01 ; SLB [1] - !BYTE $0A ; CN 5 - !BYTE $74,$02 ; SLB [2] - !BYTE $28,$05 ; LLA [5] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$82 ; CB 130 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _X011 -_F160 !WORD 0 - !BYTE $4C ; BRFLS _B176 - !WORD _B176-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B177 - !WORD _B177-* -_B176 - !BYTE $64,$05 ; LLB [5] -_B177 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/conio.pla: 0841: end -; libsrc/apple/conio.pla: 0842: def cons_keyread -_C028 ; cons_keyread() -; libsrc/apple/conio.pla: 0843: byte params[8] - ; params -> [0] -; libsrc/apple/conio.pla: 0844: byte key - ; key -> [8] -; libsrc/apple/conio.pla: 0845: -; libsrc/apple/conio.pla: 0846: params.0 = 4 - !BYTE $58,$09,$00 ; ENTER 9,0 -; libsrc/apple/conio.pla: 0847: params.1 = cmdsys.refcons -; libsrc/apple/conio.pla: 0848: params:2 = @key -; libsrc/apple/conio.pla: 0849: params:4 = 1 -; libsrc/apple/conio.pla: 0850: params:6 = 0 -; libsrc/apple/conio.pla: 0851: syscall($CA, @params) -; libsrc/apple/conio.pla: 0852: return params:6 ?? key :: 0 - !BYTE $08 ; CN 4 - !BYTE $74,$00 ; SLB [0] - !BYTE $68 ; LAB _X000+19 -_F161 !WORD 0+19 - !BYTE $74,$01 ; SLB [1] - !BYTE $28,$08 ; LLA [8] - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$CA ; CB 202 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _X011 -_F162 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B178 - !WORD _B178-* - !BYTE $64,$08 ; LLB [8] - !BYTE $50 ; BRNCH _B179 - !WORD _B179-* -_B178 - !BYTE $00 ; CN 0 -_B179 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/conio.pla: 0853: end -; libsrc/apple/conio.pla: 0854: def a3keypressed -_C029 ; a3keypressed() -; libsrc/apple/conio.pla: 0855: byte count - ; count -> [0] -; libsrc/apple/conio.pla: 0856: -; libsrc/apple/conio.pla: 0857: count = cons_keyavail - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/apple/conio.pla: 0858: if count -; libsrc/apple/conio.pla: 0859: a3keyqueue = cons_keyread -; libsrc/apple/conio.pla: 0860: fin - !BYTE $54 ; CALL _C027 -_F163 !WORD _C027 - !BYTE $6C,$00 ; DLB [0] - !BYTE $4C ; BRFLS _B180 - !WORD _B180-* - !BYTE $54 ; CALL _C028 -_F164 !WORD _C028 - !BYTE $78 ; SAB _D047+0 -_F165 !WORD _D047+0 -_B180 -_B181 -; libsrc/apple/conio.pla: 0861: return a3keyqueue ?? a3keyqueue | $80 :: 0 - !BYTE $68 ; LAB _D047+0 -_F166 !WORD _D047+0 - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $68 ; LAB _D047+0 -_F167 !WORD _D047+0 - !BYTE $3E,$80 ; ORI 128 - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -_B182 - !BYTE $00 ; CN 0 -_B183 - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/conio.pla: 0862: end -; libsrc/apple/conio.pla: 0863: def a3getkey -_C030 ; a3getkey() -; libsrc/apple/conio.pla: 0864: byte keycode - ; keycode -> [0] -; libsrc/apple/conio.pla: 0865: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B185 -; libsrc/apple/conio.pla: 0866: randnum = randnum + 123 -; libsrc/apple/conio.pla: 0867: a3keypressed -; libsrc/apple/conio.pla: 0868: keycode = a3keyqueue -; libsrc/apple/conio.pla: 0869: until keycode - !BYTE $6A ; LAW _D048+0 -_F168 !WORD _D048+0 - !BYTE $38,$7B ; ADDI 123 - !BYTE $7A ; SAW _D048+0 -_F169 !WORD _D048+0 - !BYTE $54 ; CALL _C029 -_F170 !WORD _C029 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D047+0 -_F171 !WORD _D047+0 - !BYTE $74,$00 ; SLB [0] -_B186 - !BYTE $64,$00 ; LLB [0] - !BYTE $4C ; BRFLS _B185 - !WORD _B185-* -_B184 -; libsrc/apple/conio.pla: 0870: a3keyqueue = 0 -; libsrc/apple/conio.pla: 0871: return keycode - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D047+0 -_F172 !WORD _D047+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/conio.pla: 0872: end -; libsrc/apple/conio.pla: 0873: def a3putchar(chr)#0 - ; chr -> [0] -_C031 ; a3putchar() -; libsrc/apple/conio.pla: 0874: byte params[6] - ; params -> [2] -; libsrc/apple/conio.pla: 0875: -; libsrc/apple/conio.pla: 0876: params.0 = 3 - !BYTE $58,$08,$01 ; ENTER 8,1 -; libsrc/apple/conio.pla: 0877: params.1 = cmdsys.refcons -; libsrc/apple/conio.pla: 0878: params:2 = @chr -; libsrc/apple/conio.pla: 0879: params:4 = 1 -; libsrc/apple/conio.pla: 0880: syscall($CB, @params) -; libsrc/apple/conio.pla: 0881: end - !BYTE $06 ; CN 3 - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _X000+19 -_F173 !WORD 0+19 - !BYTE $74,$03 ; SLB [3] - !BYTE $28,$00 ; LLA [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $02 ; CN 1 - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F174 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0882: def a3putchars(cnt, chrs) - ; cnt -> [0] - ; chrs -> [2] -_C032 ; a3putchars() -; libsrc/apple/conio.pla: 0883: byte params[6] - ; params -> [4] -; libsrc/apple/conio.pla: 0884: byte c - ; c -> [10] -; libsrc/apple/conio.pla: 0885: -; libsrc/apple/conio.pla: 0886: params.0 = 3 - !BYTE $58,$0B,$02 ; ENTER 11,2 -; libsrc/apple/conio.pla: 0887: params.1 = cmdsys.refcons -; libsrc/apple/conio.pla: 0888: if chrs & $FF00 -; libsrc/apple/conio.pla: 0889: params:2 = chrs -; libsrc/apple/conio.pla: 0890: params:4 = cnt -; libsrc/apple/conio.pla: 0891: syscall($CB, @params) -; libsrc/apple/conio.pla: 0892: else - !BYTE $06 ; CN 3 - !BYTE $74,$04 ; SLB [4] - !BYTE $68 ; LAB _X000+19 -_F175 !WORD 0+19 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B187 - !WORD _B187-* - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F176 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B188 - !WORD _B188-* -_B187 -; libsrc/apple/conio.pla: 0893: params:2 = @chrs -; libsrc/apple/conio.pla: 0894: params:4 = 1 -; libsrc/apple/conio.pla: 0895: for c = 1 to cnt - !BYTE $28,$02 ; LLA [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $02 ; CN 1 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B189 - !WORD _B189-* -_B190 - !BYTE $6C,$0A ; DLB [10] -; libsrc/apple/conio.pla: 0896: syscall($CB, @params) -; libsrc/apple/conio.pla: 0897: next - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F177 !WORD 0 - !BYTE $30 ; DROP -_B191 - !BYTE $A4 ; INCBRLE _B190 - !WORD _B190-* -_B189 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0898: fin -_B188 -; libsrc/apple/conio.pla: 0899: return cnt - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$0B ; LEAVE 11 -; libsrc/apple/conio.pla: 0900: end -; libsrc/apple/conio.pla: 0901: def a3clear(clr) - ; clr -> [0] -_C033 ; a3clear() -; libsrc/apple/conio.pla: 0902: when clr - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B193-* -; libsrc/apple/conio.pla: 0903: is cleol // clear EOL -_B194 -; libsrc/apple/conio.pla: 0904: a3putchar(31) // GS -; libsrc/apple/conio.pla: 0905: break - !BYTE $2A,$1F ; CB 31 - !BYTE $54 ; CALL _C031 -_F178 !WORD _C031 - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; libsrc/apple/conio.pla: 0906: is cls // home -_B195 -; libsrc/apple/conio.pla: 0907: a3putchar(28) // FF -; libsrc/apple/conio.pla: 0908: break - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _C031 -_F179 !WORD _C031 - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; libsrc/apple/conio.pla: 0909: is cleos // clear OES -_B196 -; libsrc/apple/conio.pla: 0910: a3putchar(29) // VT -; libsrc/apple/conio.pla: 0911: break - !BYTE $2A,$1D ; CB 29 - !BYTE $54 ; CALL _C031 -_F180 !WORD _C031 - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; libsrc/apple/conio.pla: 0912: wend - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -_B193 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B194-* - !WORD $0002 - !WORD _B196-* - !WORD $0003 - !WORD _B195-* -_B192 -; libsrc/apple/conio.pla: 0913: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0914: end -; libsrc/apple/conio.pla: 0915: def a3gotoxy(x, y) - ; x -> [0] - ; y -> [2] -_C034 ; a3gotoxy() -; libsrc/apple/conio.pla: 0916: char chrs[3] - ; chrs -> [4] -; libsrc/apple/conio.pla: 0917: -; libsrc/apple/conio.pla: 0918: chrs[0] = 26 - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/apple/conio.pla: 0919: chrs[1] = x -; libsrc/apple/conio.pla: 0920: chrs[2] = y -; libsrc/apple/conio.pla: 0921: a3putchars(3, @chrs) -; libsrc/apple/conio.pla: 0922: return 0 - !BYTE $2A,$1A ; CB 26 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$06 ; SLB [6] - !BYTE $06 ; CN 3 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C032 -_F181 !WORD _C032 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/conio.pla: 0923: end -; libsrc/apple/conio.pla: 0924: def a3viewport(left, top, width, height) - ; left -> [0] - ; top -> [2] - ; width -> [4] - ; height -> [6] -_C035 ; a3viewport() -; libsrc/apple/conio.pla: 0925: if !width or !height - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/conio.pla: 0926: // -; libsrc/apple/conio.pla: 0927: // Reset the full-screen viewport -; libsrc/apple/conio.pla: 0928: // -; libsrc/apple/conio.pla: 0929: left = 0 -; libsrc/apple/conio.pla: 0930: top = 0 -; libsrc/apple/conio.pla: 0931: width = 40//textcols -; libsrc/apple/conio.pla: 0932: height = 24 -; libsrc/apple/conio.pla: 0933: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B197 - !WORD _B197-* - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT -_B197 - !BYTE $4C ; BRFLS _B198 - !WORD _B198-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$28 ; CB 40 - !BYTE $76,$04 ; SLW [4] - !BYTE $2A,$18 ; CB 24 - !BYTE $76,$06 ; SLW [6] -_B198 -_B199 -; libsrc/apple/conio.pla: 0934: a3putchar(1) // Reset viewport -; libsrc/apple/conio.pla: 0935: a3putchar(26) -; libsrc/apple/conio.pla: 0936: a3putchar(left) -; libsrc/apple/conio.pla: 0937: a3putchar(top) -; libsrc/apple/conio.pla: 0938: a3putchar(2) -; libsrc/apple/conio.pla: 0939: a3putchar(26) -; libsrc/apple/conio.pla: 0940: a3putchar(left + width - 1) -; libsrc/apple/conio.pla: 0941: a3putchar(top + height - 1) -; libsrc/apple/conio.pla: 0942: a3putchar(3) -; libsrc/apple/conio.pla: 0943: return a3gotoxy(0, 0) - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C031 -_F182 !WORD _C031 - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _C031 -_F183 !WORD _C031 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C031 -_F184 !WORD _C031 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C031 -_F185 !WORD _C031 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C031 -_F186 !WORD _C031 - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _C031 -_F187 !WORD _C031 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C031 -_F188 !WORD _C031 - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C031 -_F189 !WORD _C031 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C031 -_F190 !WORD _C031 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C034 -_F191 !WORD _C034 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/conio.pla: 0944: end -; libsrc/apple/conio.pla: 0945: def a3ctrl(code, param)#1 - ; code -> [0] - ; param -> [2] -_C036 ; a3ctrl() -; libsrc/apple/conio.pla: 0946: word handled - ; handled -> [4] -; libsrc/apple/conio.pla: 0947: byte row - ; row -> [6] -; libsrc/apple/conio.pla: 0948: -; libsrc/apple/conio.pla: 0949: handled = FALSE - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/apple/conio.pla: 0950: when code - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B201-* -; libsrc/apple/conio.pla: 0951: is ctrlattr -_B202 -; libsrc/apple/conio.pla: 0952: a3putchar(param == INVERSE ?? 18 :: 17) -; libsrc/apple/conio.pla: 0953: break - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$3F ; CB 63 - !BYTE $24 ; BRNE _B205 - !WORD _B205-* - !BYTE $2A,$12 ; CB 18 - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -_B205 - !BYTE $2A,$11 ; CB 17 -_B206 - !BYTE $54 ; CALL _C031 -_F192 !WORD _C031 - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -; libsrc/apple/conio.pla: 0954: is ctrlecho -_B207 -; libsrc/apple/conio.pla: 0955: param = param ?? $80 :: 0 -; libsrc/apple/conio.pla: 0956: cons_control(11, @param) -; libsrc/apple/conio.pla: 0957: handled = TRUE -; libsrc/apple/conio.pla: 0958: break - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B208 - !WORD _B208-* - !BYTE $2A,$80 ; CB 128 - !BYTE $50 ; BRNCH _B209 - !WORD _B209-* -_B208 - !BYTE $00 ; CN 0 -_B209 - !BYTE $76,$02 ; SLW [2] - !BYTE $16 ; CN 11 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C026 -_F193 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -; libsrc/apple/conio.pla: 0959: is ctrlcursor -_B210 -; libsrc/apple/conio.pla: 0960: a3putchar(param == OFF ?? 6 :: 5) -; libsrc/apple/conio.pla: 0961: handled = TRUE -; libsrc/apple/conio.pla: 0962: break - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B213 - !WORD _B213-* - !BYTE $0C ; CN 6 - !BYTE $50 ; BRNCH _B214 - !WORD _B214-* -_B213 - !BYTE $0A ; CN 5 -_B214 - !BYTE $54 ; CALL _C031 -_F194 !WORD _C031 - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -; libsrc/apple/conio.pla: 0963: is ctrlscroll -_B215 -; libsrc/apple/conio.pla: 0964: if param > 0 -; libsrc/apple/conio.pla: 0965: for row = 0 to 23 - param - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B216 - !WORD _B216-* - !BYTE $2A,$17 ; CB 23 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B218 - !WORD _B218-* -_B219 - !BYTE $6C,$06 ; DLB [6] -; libsrc/apple/conio.pla: 0966: vid3cpy(txt1scrn[row], txt1scrn[row + param]) -; libsrc/apple/conio.pla: 0967: vid3cpy(txt2scrn[row], txt2scrn[row + param]) -; libsrc/apple/conio.pla: 0968: next - !BYTE $26 ; LA _D042+0 -_F195 !WORD _D042+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D042+0 -_F196 !WORD _D042+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A009 -_F197 !WORD _A009 - !BYTE $26 ; LA _D043+0 -_F198 !WORD _D043+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F199 !WORD _D043+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A009 -_F200 !WORD _A009 -_B220 - !BYTE $A4 ; INCBRLE _B219 - !WORD _B219-* -_B218 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0969: elsif param < 0 - !BYTE $50 ; BRNCH _B217 - !WORD _B217-* -_B216 -; libsrc/apple/conio.pla: 0970: for row = 23 downto -param - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B221 - !WORD _B221-* - !BYTE $66,$02 ; LLW [2] - !BYTE $90 ; NEG - !BYTE $2A,$17 ; CB 23 - !BYTE $A2 ; BRLT _B222 - !WORD _B222-* -_B223 - !BYTE $6C,$06 ; DLB [6] -; libsrc/apple/conio.pla: 0971: vid3cpy(txt1scrn[row], txt1scrn[row + param]) -; libsrc/apple/conio.pla: 0972: vid3cpy(txt2scrn[row], txt2scrn[row + param]) -; libsrc/apple/conio.pla: 0973: next - !BYTE $26 ; LA _D042+0 -_F201 !WORD _D042+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D042+0 -_F202 !WORD _D042+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A009 -_F203 !WORD _A009 - !BYTE $26 ; LA _D043+0 -_F204 !WORD _D043+0 - !BYTE $B8,$06 ; IDXLB [6] - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F205 !WORD _D043+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _A009 -_F206 !WORD _A009 -_B224 - !BYTE $A8 ; DECBRGE _B223 - !WORD _B223-* -_B222 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 0974: fin -_B221 -_B217 -; libsrc/apple/conio.pla: 0975: handled = TRUE -; libsrc/apple/conio.pla: 0976: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -; libsrc/apple/conio.pla: 0977: wend - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -_B201 - !BYTE $04 ; CASEBLOCK - !WORD $0001 - !WORD _B202-* - !WORD $0002 - !WORD _B207-* - !WORD $0003 - !WORD _B210-* - !WORD $0005 - !WORD _B215-* -_B200 -; libsrc/apple/conio.pla: 0978: return handled - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/conio.pla: 0979: end -; libsrc/apple/conio.pla: 0980: def a3textmode(columns) - ; columns -> [0] -_C037 ; a3textmode() -; libsrc/apple/conio.pla: 0981: a3putchar(16) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/conio.pla: 0982: if columns == 0 or columns >= 80 -; libsrc/apple/conio.pla: 0983: a3putchar(2) -; libsrc/apple/conio.pla: 0984: columns = 80 -; libsrc/apple/conio.pla: 0985: else - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C031 -_F207 !WORD _C031 - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B225 - !WORD _B225-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$50 ; CB 80 - !BYTE $48 ; ISGE -_B225 - !BYTE $4C ; BRFLS _B226 - !WORD _B226-* - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C031 -_F208 !WORD _C031 - !BYTE $2A,$50 ; CB 80 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B227 - !WORD _B227-* -_B226 -; libsrc/apple/conio.pla: 0986: a3putchar(0) -; libsrc/apple/conio.pla: 0987: columns = 40 -; libsrc/apple/conio.pla: 0988: fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C031 -_F209 !WORD _C031 - !BYTE $2A,$28 ; CB 40 - !BYTE $76,$00 ; SLW [0] -_B227 -; libsrc/apple/conio.pla: 0989: a3putchar(1) // Reset viewport -; libsrc/apple/conio.pla: 0990: a3putchar(28) // CLS -; libsrc/apple/conio.pla: 0991: a3ctrl(ctrlecho, ON) -; libsrc/apple/conio.pla: 0992: a3ctrl(ctrlcursor, OFF) -; libsrc/apple/conio.pla: 0993: return columns - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C031 -_F210 !WORD _C031 - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _C031 -_F211 !WORD _C031 - !BYTE $04 ; CN 2 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C036 -_F212 !WORD _C036 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C036 -_F213 !WORD _C036 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/conio.pla: 0994: end -; libsrc/apple/conio.pla: 0995: def a3grmode(mix) - ; mix -> [0] -_C038 ; a3grmode() -; libsrc/apple/conio.pla: 0996: byte i - ; i -> [2] -; libsrc/apple/conio.pla: 0997: if mix - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/apple/conio.pla: 0998: mix = 19 -; libsrc/apple/conio.pla: 0999: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B228 - !WORD _B228-* - !BYTE $2A,$13 ; CB 19 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B229 - !WORD _B229-* -_B228 -; libsrc/apple/conio.pla: 1000: mix = 23 -; libsrc/apple/conio.pla: 1001: fin - !BYTE $2A,$17 ; CB 23 - !BYTE $76,$00 ; SLW [0] -_B229 -; libsrc/apple/conio.pla: 1002: a3putchar(16); putc(1) // TEXT 40 COLOR MODE -; libsrc/apple/conio.pla: 1003: cons_control(17, @grcharset) -; libsrc/apple/conio.pla: 1004: a3viewport(0, 20, 40, 4) -; libsrc/apple/conio.pla: 1005: a3putchar(28) -; libsrc/apple/conio.pla: 1006: for i = 0 to mix - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C031 -_F214 !WORD _C031 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X002 -_F215 !WORD 0 - !BYTE $2A,$11 ; CB 17 - !BYTE $26 ; LA _D046+0 -_F216 !WORD _D046+0 - !BYTE $54 ; CALL _C026 -_F217 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $2A,$28 ; CB 40 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C035 -_F218 !WORD _C035 - !BYTE $30 ; DROP - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _C031 -_F219 !WORD _C031 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B230 - !WORD _B230-* -_B231 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/conio.pla: 1007: memset(txt1scrn[i], $0000, 40) // text screen -; libsrc/apple/conio.pla: 1008: memset(txt2scrn[i], $0000, 40) // color screen -; libsrc/apple/conio.pla: 1009: next - !BYTE $26 ; LA _D042+0 -_F220 !WORD _D042+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X017 -_F221 !WORD 0 - !BYTE $26 ; LA _D043+0 -_F222 !WORD _D043+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X017 -_F223 !WORD 0 -_B232 - !BYTE $A4 ; INCBRLE _B231 - !WORD _B231-* -_B230 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/conio.pla: 1010: return a2grscrn(@txt2scrn) // point to color screen - !BYTE $26 ; LA _D043+0 -_F224 !WORD _D043+0 - !BYTE $54 ; CALL _A001 -_F225 !WORD _A001 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/conio.pla: 1011: end -; libsrc/apple/conio.pla: 1012: def a3tone(duration, pitch) - ; duration -> [0] - ; pitch -> [2] -_C039 ; a3tone() -; libsrc/apple/conio.pla: 1013: byte env - ; env -> [4] -; libsrc/apple/conio.pla: 1014: -; libsrc/apple/conio.pla: 1015: env = ^ENV_REG - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/conio.pla: 1016: ^ENV_REG = env | $C0 -; libsrc/apple/conio.pla: 1017: a2tone(duration, pitch) -; libsrc/apple/conio.pla: 1018: ^ENV_REG = env -; libsrc/apple/conio.pla: 1019: return 0 - !BYTE $68,$DF,$FF ; LAB 65503 - !BYTE $6C,$04 ; DLB [4] - !BYTE $3E,$C0 ; ORI 192 - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F226 !WORD _C024 - !BYTE $30 ; DROP - !BYTE $64,$04 ; LLB [4] - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/conio.pla: 1020: end -; libsrc/apple/conio.pla: 1021: // -; libsrc/apple/conio.pla: 1022: // Apple 1 and III combined routines. -; libsrc/apple/conio.pla: 1023: // -; libsrc/apple/conio.pla: 1024: def a13rnd -_C040 ; a13rnd() -; libsrc/apple/conio.pla: 1025: randnum = (randnum << 1) + randnum + 123 -; libsrc/apple/conio.pla: 1026: return randnum & $7FFF - !BYTE $6A ; LAW _D048+0 -_F227 !WORD _D048+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $B6 ; ADDAW _D048+0 -_F228 !WORD _D048+0 - !BYTE $38,$7B ; ADDI 123 - !BYTE $7E ; DAW _D048+0 -_F229 !WORD _D048+0 - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 1027: end -; libsrc/apple/conio.pla: 1028: // -; libsrc/apple/conio.pla: 1029: // Machine specific initialization. -; libsrc/apple/conio.pla: 1030: // -; libsrc/apple/conio.pla: 1031: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F230 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B234-* -; libsrc/apple/conio.pla: 1032: is MACHID_III -_B235 -; libsrc/apple/conio.pla: 1033: conio:keypressed = @a3keypressed -; libsrc/apple/conio.pla: 1034: conio:getkey = @a3getkey -; libsrc/apple/conio.pla: 1035: conio:putchars = @a3putchars -; libsrc/apple/conio.pla: 1036: conio:clear = @a3clear -; libsrc/apple/conio.pla: 1037: conio:gotoxy = @a3gotoxy -; libsrc/apple/conio.pla: 1038: conio:viewport = @a3viewport -; libsrc/apple/conio.pla: 1039: conio:textctrl = @a3ctrl -; libsrc/apple/conio.pla: 1040: conio:textmode = @a3textmode -; libsrc/apple/conio.pla: 1041: conio:grmode = @a3grmode -; libsrc/apple/conio.pla: 1042: conio:tone = @a3tone -; libsrc/apple/conio.pla: 1043: conio:rnd = @a13rnd -; libsrc/apple/conio.pla: 1044: break - !BYTE $26 ; LA _C029+0 -_F231 !WORD _C029+0 - !BYTE $7A ; SAW _D041+0 -_F232 !WORD _D041+0 - !BYTE $26 ; LA _C030+0 -_F233 !WORD _C030+0 - !BYTE $7A ; SAW _D041+2 -_F234 !WORD _D041+2 - !BYTE $26 ; LA _C032+0 -_F235 !WORD _C032+0 - !BYTE $7A ; SAW _D041+4 -_F236 !WORD _D041+4 - !BYTE $26 ; LA _C033+0 -_F237 !WORD _C033+0 - !BYTE $7A ; SAW _D041+6 -_F238 !WORD _D041+6 - !BYTE $26 ; LA _C034+0 -_F239 !WORD _C034+0 - !BYTE $7A ; SAW _D041+8 -_F240 !WORD _D041+8 - !BYTE $26 ; LA _C035+0 -_F241 !WORD _C035+0 - !BYTE $7A ; SAW _D041+10 -_F242 !WORD _D041+10 - !BYTE $26 ; LA _C036+0 -_F243 !WORD _C036+0 - !BYTE $7A ; SAW _D041+12 -_F244 !WORD _D041+12 - !BYTE $26 ; LA _C037+0 -_F245 !WORD _C037+0 - !BYTE $7A ; SAW _D041+14 -_F246 !WORD _D041+14 - !BYTE $26 ; LA _C038+0 -_F247 !WORD _C038+0 - !BYTE $7A ; SAW _D041+16 -_F248 !WORD _D041+16 - !BYTE $26 ; LA _C039+0 -_F249 !WORD _C039+0 - !BYTE $7A ; SAW _D041+22 -_F250 !WORD _D041+22 - !BYTE $26 ; LA _C040+0 -_F251 !WORD _C040+0 - !BYTE $7A ; SAW _D041+24 -_F252 !WORD _D041+24 - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -; libsrc/apple/conio.pla: 1045: is MACHID_IIC -_B236 -; libsrc/apple/conio.pla: 1046: is MACHID_IIE -_B237 -; libsrc/apple/conio.pla: 1047: conio:getkey = @a2egetkey -; libsrc/apple/conio.pla: 1048: conio:putchars = @a2putchars -; libsrc/apple/conio.pla: 1049: break - !BYTE $26 ; LA _C012+0 -_F253 !WORD _C012+0 - !BYTE $7A ; SAW _D041+2 -_F254 !WORD _D041+2 - !BYTE $26 ; LA _A005+0 -_F255 !WORD _A005+0 - !BYTE $7A ; SAW _D041+4 -_F256 !WORD _D041+4 - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -; libsrc/apple/conio.pla: 1050: is MACHID_IIPLUS -_B238 -; libsrc/apple/conio.pla: 1051: is MACHID_II -_B239 -; libsrc/apple/conio.pla: 1052: flags = flags | uppercase | shiftlock -; libsrc/apple/conio.pla: 1053: conio:putchars = @a2putuprchars -; libsrc/apple/conio.pla: 1054: break - !BYTE $68 ; LAB _D044+0 -_F257 !WORD _D044+0 - !BYTE $3E,$08 ; ORI 8 - !BYTE $3E,$02 ; ORI 2 - !BYTE $78 ; SAB _D044+0 -_F258 !WORD _D044+0 - !BYTE $26 ; LA _A006+0 -_F259 !WORD _A006+0 - !BYTE $7A ; SAW _D041+4 -_F260 !WORD _D041+4 - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -; libsrc/apple/conio.pla: 1055: is MACHID_I -_B240 -; libsrc/apple/conio.pla: 1056: conio:keypressed = @a1keypressed -; libsrc/apple/conio.pla: 1057: conio:getkey = @a1getkey -; libsrc/apple/conio.pla: 1058: conio:putchars = @a1putchars -; libsrc/apple/conio.pla: 1059: conio:clear = @a1clear -; libsrc/apple/conio.pla: 1060: conio:gotoxy = @a1gotoxy -; libsrc/apple/conio.pla: 1061: conio:viewport = @a1viewport -; libsrc/apple/conio.pla: 1062: conio:textctrl = @a1ctrl -; libsrc/apple/conio.pla: 1063: conio:textmode = @a1textmode -; libsrc/apple/conio.pla: 1064: conio:grmode = @a1grmode -; libsrc/apple/conio.pla: 1065: conio:tone = @a1tone -; libsrc/apple/conio.pla: 1066: conio:rnd = @a13rnd -; libsrc/apple/conio.pla: 1067: break - !BYTE $26 ; LA _C000+0 -_F261 !WORD _C000+0 - !BYTE $7A ; SAW _D041+0 -_F262 !WORD _D041+0 - !BYTE $26 ; LA _C001+0 -_F263 !WORD _C001+0 - !BYTE $7A ; SAW _D041+2 -_F264 !WORD _D041+2 - !BYTE $26 ; LA _C002+0 -_F265 !WORD _C002+0 - !BYTE $7A ; SAW _D041+4 -_F266 !WORD _D041+4 - !BYTE $26 ; LA _C003+0 -_F267 !WORD _C003+0 - !BYTE $7A ; SAW _D041+6 -_F268 !WORD _D041+6 - !BYTE $26 ; LA _C004+0 -_F269 !WORD _C004+0 - !BYTE $7A ; SAW _D041+8 -_F270 !WORD _D041+8 - !BYTE $26 ; LA _C005+0 -_F271 !WORD _C005+0 - !BYTE $7A ; SAW _D041+10 -_F272 !WORD _D041+10 - !BYTE $26 ; LA _C006+0 -_F273 !WORD _C006+0 - !BYTE $7A ; SAW _D041+12 -_F274 !WORD _D041+12 - !BYTE $26 ; LA _C007+0 -_F275 !WORD _C007+0 - !BYTE $7A ; SAW _D041+14 -_F276 !WORD _D041+14 - !BYTE $26 ; LA _C008+0 -_F277 !WORD _C008+0 - !BYTE $7A ; SAW _D041+16 -_F278 !WORD _D041+16 - !BYTE $26 ; LA _C009+0 -_F279 !WORD _C009+0 - !BYTE $7A ; SAW _D041+22 -_F280 !WORD _D041+22 - !BYTE $26 ; LA _C040+0 -_F281 !WORD _C040+0 - !BYTE $7A ; SAW _D041+24 -_F282 !WORD _D041+24 - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -; libsrc/apple/conio.pla: 1068: wend - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -_B234 - !BYTE $06 ; CASEBLOCK - !WORD $0000 - !WORD _B239-* - !WORD $0008 - !WORD _B240-* - !WORD $0040 - !WORD _B238-* - !WORD $0080 - !WORD _B237-* - !WORD $0088 - !WORD _B236-* - !WORD $00C0 - !WORD _B235-* -_B233 -; libsrc/apple/conio.pla: 1069: if cmdsys:_sysflags_ & vid80col; conio:textmode(80); fin - !BYTE $6A ; LAW _X000+23 -_F283 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B241 - !WORD _B241-* - !BYTE $2A,$50 ; CB 80 - !BYTE $6A ; LAW _D041+14 -_F284 !WORD _D041+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B241 -_B242 -; libsrc/apple/conio.pla: 1070: // -; libsrc/apple/conio.pla: 1071: // Keep module in memory -; libsrc/apple/conio.pla: 1072: // -; libsrc/apple/conio.pla: 1073: return modkeep - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/conio.pla: 1074: done -_DEFCNT = 42 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/dgrlib.a b/src/libsrc/apple/dgrlib.a deleted file mode 100644 index ea96797..0000000 --- a/src/libsrc/apple/dgrlib.a +++ /dev/null @@ -1,1924 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/dgrlib.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/dgrlib.pla: 0001: -; libsrc/apple/dgrlib.pla: 0002: // -; libsrc/apple/dgrlib.pla: 0003: // Apple II hardware constants. -; libsrc/apple/dgrlib.pla: 0004: // -; libsrc/apple/dgrlib.pla: 0005: const showgraphics = $C050 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; showgraphics = 49232 -; libsrc/apple/dgrlib.pla: 0006: const showtext = $C051 - ; showtext = 49233 -; libsrc/apple/dgrlib.pla: 0007: const showfull = $C052 - ; showfull = 49234 -; libsrc/apple/dgrlib.pla: 0008: const showmix = $C053 - ; showmix = 49235 -; libsrc/apple/dgrlib.pla: 0009: const showpage1 = $C054 - ; showpage1 = 49236 -; libsrc/apple/dgrlib.pla: 0010: const showpage2 = $C055 - ; showpage2 = 49237 -; libsrc/apple/dgrlib.pla: 0011: const showlores = $C056 - ; showlores = 49238 -; libsrc/apple/dgrlib.pla: 0012: const showhires = $C057 - ; showhires = 49239 -; libsrc/apple/dgrlib.pla: 0013: const show40 = $C00C - ; show40 = 49164 -; libsrc/apple/dgrlib.pla: 0014: const show80 = $C00D - ; show80 = 49165 -; libsrc/apple/dgrlib.pla: 0015: const mapmain = $C000 - ; mapmain = 49152 -; libsrc/apple/dgrlib.pla: 0016: const mapaux = $C001 - ; mapaux = 49153 -; libsrc/apple/dgrlib.pla: 0017: const an3on = $C05E - ; an3on = 49246 -; libsrc/apple/dgrlib.pla: 0018: const an3off = $C05F - ; an3off = 49247 -; libsrc/apple/dgrlib.pla: 0019: const ena80 = $C07E - ; ena80 = 49278 -; libsrc/apple/dgrlib.pla: 0020: const dis80 = $C07F - ; dis80 = 49279 -; libsrc/apple/dgrlib.pla: 0021: const page1 = 0 - ; page1 = 0 -; libsrc/apple/dgrlib.pla: 0022: const page2 = 1 - ; page2 = 1 -; libsrc/apple/dgrlib.pla: 0023: // -; libsrc/apple/dgrlib.pla: 0024: // Screen row address arrays. -; libsrc/apple/dgrlib.pla: 0025: // -; libsrc/apple/dgrlib.pla: 0026: word[] dgr1row = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 -_D028 ; dgr1row = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 - !WORD $0400 - !WORD $0480 - !WORD $0500 - !WORD $0580 - !WORD $0600 - !WORD $0680 - !WORD $0700 - !WORD $0780 -; libsrc/apple/dgrlib.pla: 0027: word = $0428,$04A8,$0528,$05A8,$0628,$06A8,$0728,$07A8 - !WORD $0428 - !WORD $04A8 - !WORD $0528 - !WORD $05A8 - !WORD $0628 - !WORD $06A8 - !WORD $0728 - !WORD $07A8 -; libsrc/apple/dgrlib.pla: 0028: word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0 - !WORD $0450 - !WORD $04D0 - !WORD $0550 - !WORD $05D0 - !WORD $0650 - !WORD $06D0 - !WORD $0750 - !WORD $07D0 -; libsrc/apple/dgrlib.pla: 0029: word[] dgr2row = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 -_D029 ; dgr2row = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 - !WORD $0800 - !WORD $0880 - !WORD $0900 - !WORD $0980 - !WORD $0A00 - !WORD $0A80 - !WORD $0B00 - !WORD $0B80 -; libsrc/apple/dgrlib.pla: 0030: word = $0828,$08A8,$0928,$09A8,$0A28,$0AA8,$0B28,$0BA8 - !WORD $0828 - !WORD $08A8 - !WORD $0928 - !WORD $09A8 - !WORD $0A28 - !WORD $0AA8 - !WORD $0B28 - !WORD $0BA8 -; libsrc/apple/dgrlib.pla: 0031: word = $0850,$08D0,$0950,$09D0,$0A50,$0AD0,$0B50,$0BD0 - !WORD $0850 - !WORD $08D0 - !WORD $0950 - !WORD $09D0 - !WORD $0A50 - !WORD $0AD0 - !WORD $0B50 - !WORD $0BD0 -; libsrc/apple/dgrlib.pla: 0032: word[] dgrbuff = @dgr1row, @dgr2row -_D030 ; dgrbuff = @dgr1row, @dgr2row -_F000 !WORD _D028 -_F001 !WORD _D029 -; libsrc/apple/dgrlib.pla: 0033: word drawbuff -_D031 !FILL 2 ; drawbuff -; libsrc/apple/dgrlib.pla: 0034: byte drawpage -_D032 !FILL 1 ; drawpage -; libsrc/apple/dgrlib.pla: 0035: // -; libsrc/apple/dgrlib.pla: 0036: // Color mapping. -; libsrc/apple/dgrlib.pla: 0037: // -; libsrc/apple/dgrlib.pla: 0038: byte[] evnclr = $00,$88,$11,$99,$22,$AA,$33,$BB -_D033 ; evnclr = $00,$88,$11,$99,$22,$AA,$33,$BB - !BYTE $00 - !BYTE $88 - !BYTE $11 - !BYTE $99 - !BYTE $22 - !BYTE $AA - !BYTE $33 - !BYTE $BB -; libsrc/apple/dgrlib.pla: 0039: byte[] = $44,$CC,$55,$DD,$66,$EE,$77,$FF - !BYTE $44 - !BYTE $CC - !BYTE $55 - !BYTE $DD - !BYTE $66 - !BYTE $EE - !BYTE $77 - !BYTE $FF -; libsrc/apple/dgrlib.pla: 0040: byte[] oddclr = $00,$11,$22,$33,$44,$55,$66,$77 -_D034 ; oddclr = $00,$11,$22,$33,$44,$55,$66,$77 - !BYTE $00 - !BYTE $11 - !BYTE $22 - !BYTE $33 - !BYTE $44 - !BYTE $55 - !BYTE $66 - !BYTE $77 -; libsrc/apple/dgrlib.pla: 0041: byte[] = $88,$99,$AA,$BB,$CC,$DD,$EE,$FF - !BYTE $88 - !BYTE $99 - !BYTE $AA - !BYTE $BB - !BYTE $CC - !BYTE $DD - !BYTE $EE - !BYTE $FF -; libsrc/apple/dgrlib.pla: 0042: -; libsrc/apple/dgrlib.pla: 0043: asm dgrInc(buff) -_A000 ; dgrInc() -; libsrc/apple/dgrlib.pla: 0044: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/dgrlib.pla: 0045: GBASL = $26 -GBASL = $26 -; libsrc/apple/dgrlib.pla: 0046: GBASH = $27 -GBASH = $27 -; libsrc/apple/dgrlib.pla: 0047: GBASE = GBASL -GBASE = GBASL -; libsrc/apple/dgrlib.pla: 0048: GCLR = $30 -GCLR = $30 -; libsrc/apple/dgrlib.pla: 0049: end -; libsrc/apple/dgrlib.pla: 0050: // -; libsrc/apple/dgrlib.pla: 0051: // Plot pixel -; libsrc/apple/dgrlib.pla: 0052: // -; libsrc/apple/dgrlib.pla: 0053: export asm dgrPlot(x, y)#0 -_A001 ; dgrPlot() -; libsrc/apple/dgrlib.pla: 0054: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/dgrlib.pla: 0055: LDA $3000 - LDA $3000 -; libsrc/apple/dgrlib.pla: 0056: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0057: LDA $3001 - LDA $3001 -; libsrc/apple/dgrlib.pla: 0058: STA SRCH - STA SRCH -; libsrc/apple/dgrlib.pla: 0059: STX ESP - STX ESP -; libsrc/apple/dgrlib.pla: 0060: LDA ESTKL,X ; Y COORD - LDA ESTKL,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0061: AND #$FE - AND #$FE -; libsrc/apple/dgrlib.pla: 0062: TAY - TAY -; libsrc/apple/dgrlib.pla: 0063: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0064: STA GBASL - STA GBASL -; libsrc/apple/dgrlib.pla: 0065: INY - INY -; libsrc/apple/dgrlib.pla: 0066: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0067: STA GBASH - STA GBASH -; libsrc/apple/dgrlib.pla: 0068: LDA ESTKL+1,X ; X COORD - LDA ESTKL+1,X ; X COORD -; libsrc/apple/dgrlib.pla: 0069: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/dgrlib.pla: 0070: LDX GCLR ; COLOR - LDX GCLR ; COLOR -; libsrc/apple/dgrlib.pla: 0071: PHP - PHP -; libsrc/apple/dgrlib.pla: 0072: SEI - SEI -; libsrc/apple/dgrlib.pla: 0073: end -; libsrc/apple/dgrlib.pla: 0074: asm _dgrPlotPix -_A002 ; _dgrPlotPix() -; libsrc/apple/dgrlib.pla: 0075: JSR $3000 ; _dgrSetPix - JSR $3000 ; _dgrSetPix -; libsrc/apple/dgrlib.pla: 0076: PLP - PLP -; libsrc/apple/dgrlib.pla: 0077: LDX ESP - LDX ESP -; libsrc/apple/dgrlib.pla: 0078: INX - INX -; libsrc/apple/dgrlib.pla: 0079: INX - INX -; libsrc/apple/dgrlib.pla: 0080: RTS - RTS -; libsrc/apple/dgrlib.pla: 0081: end -; libsrc/apple/dgrlib.pla: 0082: // -; libsrc/apple/dgrlib.pla: 0083: // Plot horizontal row of pixels -; libsrc/apple/dgrlib.pla: 0084: // -; libsrc/apple/dgrlib.pla: 0085: export asm dgrHLin(x1, x2, y)#0 -_A003 ; dgrHLin() -; libsrc/apple/dgrlib.pla: 0086: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/dgrlib.pla: 0087: LDA $3000 - LDA $3000 -; libsrc/apple/dgrlib.pla: 0088: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0089: LDA $3001 - LDA $3001 -; libsrc/apple/dgrlib.pla: 0090: STA SRCH - STA SRCH -; libsrc/apple/dgrlib.pla: 0091: STX ESP - STX ESP -; libsrc/apple/dgrlib.pla: 0092: LDA ESTKL+1,X ; X2 COORD - LDA ESTKL+1,X ; X2 COORD -; libsrc/apple/dgrlib.pla: 0093: STA TMPH - STA TMPH -; libsrc/apple/dgrlib.pla: 0094: LDA ESTKL+0,X ; Y COORD - LDA ESTKL+0,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0095: AND #$FE - AND #$FE -; libsrc/apple/dgrlib.pla: 0096: TAY - TAY -; libsrc/apple/dgrlib.pla: 0097: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0098: STA GBASL - STA GBASL -; libsrc/apple/dgrlib.pla: 0099: INY - INY -; libsrc/apple/dgrlib.pla: 0100: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0101: STA GBASH - STA GBASH -; libsrc/apple/dgrlib.pla: 0102: LDY ESTKL+2,X ; X1 COORD - LDY ESTKL+2,X ; X1 COORD -; libsrc/apple/dgrlib.pla: 0103: PHP - PHP -; libsrc/apple/dgrlib.pla: 0104: SEI - SEI -; libsrc/apple/dgrlib.pla: 0105: - LDA ESTKL+0,X ; Y COORD -- LDA ESTKL+0,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0106: LSR - LSR -; libsrc/apple/dgrlib.pla: 0107: TYA - TYA -; libsrc/apple/dgrlib.pla: 0108: LDX GCLR ; COLOR - LDX GCLR ; COLOR -; libsrc/apple/dgrlib.pla: 0109: end -; libsrc/apple/dgrlib.pla: 0110: asm _dgrHLinPix -_A004 ; _dgrHLinPix() -; libsrc/apple/dgrlib.pla: 0111: JSR $3000 ; _dgrSetPix - JSR $3000 ; _dgrSetPix -; libsrc/apple/dgrlib.pla: 0112: LDX ESP - LDX ESP -; libsrc/apple/dgrlib.pla: 0113: INC ESTKL+2,X ; X1 COORD - INC ESTKL+2,X ; X1 COORD -; libsrc/apple/dgrlib.pla: 0114: LDY ESTKL+2,X - LDY ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0115: CPY TMPH ; X2 COORD - CPY TMPH ; X2 COORD -; libsrc/apple/dgrlib.pla: 0116: BCC - - BCC - -; libsrc/apple/dgrlib.pla: 0117: BEQ - - BEQ - -; libsrc/apple/dgrlib.pla: 0118: PLP - PLP -; libsrc/apple/dgrlib.pla: 0119: INX - INX -; libsrc/apple/dgrlib.pla: 0120: INX - INX -; libsrc/apple/dgrlib.pla: 0121: INX - INX -; libsrc/apple/dgrlib.pla: 0122: RTS - RTS -; libsrc/apple/dgrlib.pla: 0123: end -; libsrc/apple/dgrlib.pla: 0124: // -; libsrc/apple/dgrlib.pla: 0125: // Plot horizontal row of pixels -; libsrc/apple/dgrlib.pla: 0126: // -; libsrc/apple/dgrlib.pla: 0127: export asm dgrVLin(y1, y2, x)#0 -_A005 ; dgrVLin() -; libsrc/apple/dgrlib.pla: 0128: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/dgrlib.pla: 0129: LDA $3000 - LDA $3000 -; libsrc/apple/dgrlib.pla: 0130: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0131: LDA $3001 - LDA $3001 -; libsrc/apple/dgrlib.pla: 0132: STA SRCH - STA SRCH -; libsrc/apple/dgrlib.pla: 0133: STX ESP - STX ESP -; libsrc/apple/dgrlib.pla: 0134: LDA ESTKL+2,X ; Y1 COORD - LDA ESTKL+2,X ; Y1 COORD -; libsrc/apple/dgrlib.pla: 0135: PHP - PHP -; libsrc/apple/dgrlib.pla: 0136: SEI - SEI -; libsrc/apple/dgrlib.pla: 0137: - AND #$FE -- AND #$FE -; libsrc/apple/dgrlib.pla: 0138: TAY - TAY -; libsrc/apple/dgrlib.pla: 0139: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0140: STA GBASL - STA GBASL -; libsrc/apple/dgrlib.pla: 0141: INY - INY -; libsrc/apple/dgrlib.pla: 0142: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0143: STA GBASH - STA GBASH -; libsrc/apple/dgrlib.pla: 0144: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0145: LSR - LSR -; libsrc/apple/dgrlib.pla: 0146: LDA ESTKL+0,X ; X COORD - LDA ESTKL+0,X ; X COORD -; libsrc/apple/dgrlib.pla: 0147: LDX GCLR ; COLOR - LDX GCLR ; COLOR -; libsrc/apple/dgrlib.pla: 0148: end -; libsrc/apple/dgrlib.pla: 0149: asm _dgrVLinPix -_A006 ; _dgrVLinPix() -; libsrc/apple/dgrlib.pla: 0150: JSR $3000 ; _dgrSetPix - JSR $3000 ; _dgrSetPix -; libsrc/apple/dgrlib.pla: 0151: LDX ESP - LDX ESP -; libsrc/apple/dgrlib.pla: 0152: INC ESTKL+2,X ; Y1 COORD - INC ESTKL+2,X ; Y1 COORD -; libsrc/apple/dgrlib.pla: 0153: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0154: CMP ESTKL+1,X ; Y2 COORD - CMP ESTKL+1,X ; Y2 COORD -; libsrc/apple/dgrlib.pla: 0155: BCC - - BCC - -; libsrc/apple/dgrlib.pla: 0156: BEQ - - BEQ - -; libsrc/apple/dgrlib.pla: 0157: PLP - PLP -; libsrc/apple/dgrlib.pla: 0158: INX - INX -; libsrc/apple/dgrlib.pla: 0159: INX - INX -; libsrc/apple/dgrlib.pla: 0160: INX - INX -; libsrc/apple/dgrlib.pla: 0161: RTS - RTS -; libsrc/apple/dgrlib.pla: 0162: end -; libsrc/apple/dgrlib.pla: 0163: // -; libsrc/apple/dgrlib.pla: 0164: // Draw sprite -; libsrc/apple/dgrlib.pla: 0165: // -; libsrc/apple/dgrlib.pla: 0166: export asm dgrBLT(x, y, width, height, src)#0 -_A007 ; dgrBLT() -; libsrc/apple/dgrlib.pla: 0167: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/dgrlib.pla: 0168: LDA $3000 - LDA $3000 -; libsrc/apple/dgrlib.pla: 0169: STA DSTL - STA DSTL -; libsrc/apple/dgrlib.pla: 0170: LDA $3001 - LDA $3001 -; libsrc/apple/dgrlib.pla: 0171: STA DSTH - STA DSTH -; libsrc/apple/dgrlib.pla: 0172: LDA ESTKL,X ; SPRITE - LDA ESTKL,X ; SPRITE -; libsrc/apple/dgrlib.pla: 0173: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0174: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/dgrlib.pla: 0175: STA SRCH - STA SRCH -; libsrc/apple/dgrlib.pla: 0176: LDA ESTKL+4,X ; X1 COORD - LDA ESTKL+4,X ; X1 COORD -; libsrc/apple/dgrlib.pla: 0177: CMP #80 - CMP #80 -; libsrc/apple/dgrlib.pla: 0178: BPL ++++ - BPL ++++ -; libsrc/apple/dgrlib.pla: 0179: CLC - CLC -; libsrc/apple/dgrlib.pla: 0180: ADC ESTKL+2,X - ADC ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0181: BMI ++++ - BMI ++++ -; libsrc/apple/dgrlib.pla: 0182: STA ESTKH+2,X ; X2 COORD - STA ESTKH+2,X ; X2 COORD -; libsrc/apple/dgrlib.pla: 0183: LDA ESTKL+3,X ; Y1 COORD - LDA ESTKL+3,X ; Y1 COORD -; libsrc/apple/dgrlib.pla: 0184: CMP #48 - CMP #48 -; libsrc/apple/dgrlib.pla: 0185: BPL ++++ - BPL ++++ -; libsrc/apple/dgrlib.pla: 0186: STA ESTKH+3,X ; Y COORD - STA ESTKH+3,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0187: CLC - CLC -; libsrc/apple/dgrlib.pla: 0188: ADC ESTKL+1,X - ADC ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0189: BMI ++++ - BMI ++++ -; libsrc/apple/dgrlib.pla: 0190: STA ESTKH+1,X ; Y2 COORD - STA ESTKH+1,X ; Y2 COORD -; libsrc/apple/dgrlib.pla: 0191: STX ESP - STX ESP -; libsrc/apple/dgrlib.pla: 0192: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/apple/dgrlib.pla: 0193: - CMP #48 -- CMP #48 -; libsrc/apple/dgrlib.pla: 0194: BCC + - BCC + -; libsrc/apple/dgrlib.pla: 0195: LDA SRCL ; SKIP TO NEXT ROW - LDA SRCL ; SKIP TO NEXT ROW -; libsrc/apple/dgrlib.pla: 0196: CLC - CLC -; libsrc/apple/dgrlib.pla: 0197: ADC ESTKL+2,X ; WIDTH - ADC ESTKL+2,X ; WIDTH -; libsrc/apple/dgrlib.pla: 0198: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0199: BCC +++ - BCC +++ -; libsrc/apple/dgrlib.pla: 0200: INC SRCH - INC SRCH -; libsrc/apple/dgrlib.pla: 0201: BNE +++ - BNE +++ -; libsrc/apple/dgrlib.pla: 0202: + AND #$FE -+ AND #$FE -; libsrc/apple/dgrlib.pla: 0203: TAY - TAY -; libsrc/apple/dgrlib.pla: 0204: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/dgrlib.pla: 0205: STA GBASL - STA GBASL -; libsrc/apple/dgrlib.pla: 0206: INY - INY -; libsrc/apple/dgrlib.pla: 0207: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/dgrlib.pla: 0208: STA GBASH - STA GBASH -; libsrc/apple/dgrlib.pla: 0209: LDA ESTKL+4,X ; X1 COORD - LDA ESTKL+4,X ; X1 COORD -; libsrc/apple/dgrlib.pla: 0210: STA ESTKH+4,X ; X COORD - STA ESTKH+4,X ; X COORD -; libsrc/apple/dgrlib.pla: 0211: PHP - PHP -; libsrc/apple/dgrlib.pla: 0212: SEI - SEI -; libsrc/apple/dgrlib.pla: 0213: -- CMP #80 --- CMP #80 -; libsrc/apple/dgrlib.pla: 0214: BCS ++ - BCS ++ -; libsrc/apple/dgrlib.pla: 0215: STA TMP - STA TMP -; libsrc/apple/dgrlib.pla: 0216: LDA ESTKH+3,X ; Y COORD - LDA ESTKH+3,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0217: LSR - LSR -; libsrc/apple/dgrlib.pla: 0218: LDY #$00 - LDY #$00 -; libsrc/apple/dgrlib.pla: 0219: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/dgrlib.pla: 0220: BMI ++ - BMI ++ -; libsrc/apple/dgrlib.pla: 0221: TAX - TAX -; libsrc/apple/dgrlib.pla: 0222: LDA TMP - LDA TMP -; libsrc/apple/dgrlib.pla: 0223: end -; libsrc/apple/dgrlib.pla: 0224: asm _dgrBLTPix -_A008 ; _dgrBLTPix() -; libsrc/apple/dgrlib.pla: 0225: JSR $4000 ; _dgrSetPix - JSR $4000 ; _dgrSetPix -; libsrc/apple/dgrlib.pla: 0226: LDX ESP - LDX ESP -; libsrc/apple/dgrlib.pla: 0227: ++ INC SRCL -++ INC SRCL -; libsrc/apple/dgrlib.pla: 0228: BNE + - BNE + -; libsrc/apple/dgrlib.pla: 0229: INC SRCH - INC SRCH -; libsrc/apple/dgrlib.pla: 0230: + INC ESTKH+4,X ; X COORD -+ INC ESTKH+4,X ; X COORD -; libsrc/apple/dgrlib.pla: 0231: LDA ESTKH+4,X - LDA ESTKH+4,X -; libsrc/apple/dgrlib.pla: 0232: BMI -- - BMI -- -; libsrc/apple/dgrlib.pla: 0233: CMP ESTKH+2,X ; X2 COORD - CMP ESTKH+2,X ; X2 COORD -; libsrc/apple/dgrlib.pla: 0234: BCC -- - BCC -- -; libsrc/apple/dgrlib.pla: 0235: PLP - PLP -; libsrc/apple/dgrlib.pla: 0236: +++ INC ESTKH+3,X ; Y COORD -+++ INC ESTKH+3,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0237: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/apple/dgrlib.pla: 0238: BMI - - BMI - -; libsrc/apple/dgrlib.pla: 0239: CMP ESTKH+1,X ; Y2 COORD - CMP ESTKH+1,X ; Y2 COORD -; libsrc/apple/dgrlib.pla: 0240: BCC - - BCC - -; libsrc/apple/dgrlib.pla: 0241: ++++ INX -++++ INX -; libsrc/apple/dgrlib.pla: 0242: INX - INX -; libsrc/apple/dgrlib.pla: 0243: INX - INX -; libsrc/apple/dgrlib.pla: 0244: INX - INX -; libsrc/apple/dgrlib.pla: 0245: INX - INX -; libsrc/apple/dgrlib.pla: 0246: RTS - RTS -; libsrc/apple/dgrlib.pla: 0247: end -; libsrc/apple/dgrlib.pla: 0248: // -; libsrc/apple/dgrlib.pla: 0249: // Internal set pixel routine -; libsrc/apple/dgrlib.pla: 0250: // - It expects the carry to be set for even or odd scanlines. Bad. -; libsrc/apple/dgrlib.pla: 0251: // - ACCUM has horizontal coordinate -; libsrc/apple/dgrlib.pla: 0252: // - X_REG has color -; libsrc/apple/dgrlib.pla: 0253: // - GBASE points to scanline -; libsrc/apple/dgrlib.pla: 0254: // -; libsrc/apple/dgrlib.pla: 0255: asm _dgrSetPix -_A009 ; _dgrSetPix() -; libsrc/apple/dgrlib.pla: 0256: BCS ++ - BCS ++ -; libsrc/apple/dgrlib.pla: 0257: ; EVEN ROW - ; EVEN ROW -; libsrc/apple/dgrlib.pla: 0258: LSR - LSR -; libsrc/apple/dgrlib.pla: 0259: TAY - TAY -; libsrc/apple/dgrlib.pla: 0260: BCS + - BCS + -; libsrc/apple/dgrlib.pla: 0261: end -; libsrc/apple/dgrlib.pla: 0262: asm _dgrSetEvnEvn -_A010 ; _dgrSetEvnEvn() -; libsrc/apple/dgrlib.pla: 0263: ; EVEN PIXEL - ; EVEN PIXEL -; libsrc/apple/dgrlib.pla: 0264: LDA $2000,X - LDA $2000,X -; libsrc/apple/dgrlib.pla: 0265: AND #$0F - AND #$0F -; libsrc/apple/dgrlib.pla: 0266: STA TMP - STA TMP -; libsrc/apple/dgrlib.pla: 0267: JSR $0100 ; LDA AUX (DST),Y - JSR $0100 ; LDA AUX (DST),Y -; libsrc/apple/dgrlib.pla: 0268: AND #$F0 - AND #$F0 -; libsrc/apple/dgrlib.pla: 0269: ORA TMP - ORA TMP -; libsrc/apple/dgrlib.pla: 0270: STA $C005 ; WRITE AUX MEM - STA $C005 ; WRITE AUX MEM -; libsrc/apple/dgrlib.pla: 0271: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0272: STA $C004 ; WRITE MAIN MEM - STA $C004 ; WRITE MAIN MEM -; libsrc/apple/dgrlib.pla: 0273: RTS - RTS -; libsrc/apple/dgrlib.pla: 0274: end -; libsrc/apple/dgrlib.pla: 0275: asm _dgrSetEvnOdd -_A011 ; _dgrSetEvnOdd() -; libsrc/apple/dgrlib.pla: 0276: ; ODD PIXEL - ; ODD PIXEL -; libsrc/apple/dgrlib.pla: 0277: + LDA $1000,X -+ LDA $1000,X -; libsrc/apple/dgrlib.pla: 0278: AND #$0F - AND #$0F -; libsrc/apple/dgrlib.pla: 0279: STA TMP - STA TMP -; libsrc/apple/dgrlib.pla: 0280: LDA (GBASE),Y - LDA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0281: AND #$F0 - AND #$F0 -; libsrc/apple/dgrlib.pla: 0282: ORA TMP - ORA TMP -; libsrc/apple/dgrlib.pla: 0283: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0284: RTS - RTS -; libsrc/apple/dgrlib.pla: 0285: ; ODD ROW - ; ODD ROW -; libsrc/apple/dgrlib.pla: 0286: ++ LSR -++ LSR -; libsrc/apple/dgrlib.pla: 0287: TAY - TAY -; libsrc/apple/dgrlib.pla: 0288: BCS +++ - BCS +++ -; libsrc/apple/dgrlib.pla: 0289: end -; libsrc/apple/dgrlib.pla: 0290: asm _dgrSetOddEvn -_A012 ; _dgrSetOddEvn() -; libsrc/apple/dgrlib.pla: 0291: ; EVEN PIXEL - ; EVEN PIXEL -; libsrc/apple/dgrlib.pla: 0292: LDA $2000,X - LDA $2000,X -; libsrc/apple/dgrlib.pla: 0293: AND #$F0 - AND #$F0 -; libsrc/apple/dgrlib.pla: 0294: STA TMP - STA TMP -; libsrc/apple/dgrlib.pla: 0295: JSR $0100 ; LDA AUX (DST),Y - JSR $0100 ; LDA AUX (DST),Y -; libsrc/apple/dgrlib.pla: 0296: AND #$0F - AND #$0F -; libsrc/apple/dgrlib.pla: 0297: ORA TMP - ORA TMP -; libsrc/apple/dgrlib.pla: 0298: STA $C005 ; WRITE AUX MEM - STA $C005 ; WRITE AUX MEM -; libsrc/apple/dgrlib.pla: 0299: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0300: STA $C004 ; WRITE MAIN MEM - STA $C004 ; WRITE MAIN MEM -; libsrc/apple/dgrlib.pla: 0301: RTS - RTS -; libsrc/apple/dgrlib.pla: 0302: end -; libsrc/apple/dgrlib.pla: 0303: asm _dgrSetOddOdd -_A013 ; _dgrSetOddOdd() -; libsrc/apple/dgrlib.pla: 0304: ; ODD PIXEL - ; ODD PIXEL -; libsrc/apple/dgrlib.pla: 0305: +++ LDA $1000,X -+++ LDA $1000,X -; libsrc/apple/dgrlib.pla: 0306: AND #$F0 - AND #$F0 -; libsrc/apple/dgrlib.pla: 0307: STA TMP - STA TMP -; libsrc/apple/dgrlib.pla: 0308: LDA (GBASE),Y - LDA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0309: AND #$0F - AND #$0F -; libsrc/apple/dgrlib.pla: 0310: ORA TMP - ORA TMP -; libsrc/apple/dgrlib.pla: 0311: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0312: RTS - RTS -; libsrc/apple/dgrlib.pla: 0313: end -; libsrc/apple/dgrlib.pla: 0314: // -; libsrc/apple/dgrlib.pla: 0315: // This gets copied to $0100!!! -; libsrc/apple/dgrlib.pla: 0316: // -; libsrc/apple/dgrlib.pla: 0317: asm auxRead -_A014 ; auxRead() -; libsrc/apple/dgrlib.pla: 0318: STA $C003 ; READ AUX MEM - STA $C003 ; READ AUX MEM -; libsrc/apple/dgrlib.pla: 0319: LDA (GBASE),Y - LDA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0320: STA $C002 ; READ MAIN MEM - STA $C002 ; READ MAIN MEM -; libsrc/apple/dgrlib.pla: 0321: RTS - RTS -; libsrc/apple/dgrlib.pla: 0322: end -; libsrc/apple/dgrlib.pla: 0323: // -; libsrc/apple/dgrlib.pla: 0324: // Draw 8x8 tile (forced to 2x2 block address) -; libsrc/apple/dgrlib.pla: 0325: // -; libsrc/apple/dgrlib.pla: 0326: export asm dgrTile(x, y, src)#0 -_A015 ; dgrTile() -; libsrc/apple/dgrlib.pla: 0327: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/dgrlib.pla: 0328: LDA $3000 - LDA $3000 -; libsrc/apple/dgrlib.pla: 0329: STA DSTL - STA DSTL -; libsrc/apple/dgrlib.pla: 0330: LDA $3001 - LDA $3001 -; libsrc/apple/dgrlib.pla: 0331: STA DSTH - STA DSTH -; libsrc/apple/dgrlib.pla: 0332: STX ESP - STX ESP -; libsrc/apple/dgrlib.pla: 0333: LDA ESTKL,X ; TILE - LDA ESTKL,X ; TILE -; libsrc/apple/dgrlib.pla: 0334: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0335: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/dgrlib.pla: 0336: STA SRCH - STA SRCH -; libsrc/apple/dgrlib.pla: 0337: LDA ESTKL+2,X ; X1 COORD - LDA ESTKL+2,X ; X1 COORD -; libsrc/apple/dgrlib.pla: 0338: CMP #80 - CMP #80 -; libsrc/apple/dgrlib.pla: 0339: BPL ++++ - BPL ++++ -; libsrc/apple/dgrlib.pla: 0340: CLC - CLC -; libsrc/apple/dgrlib.pla: 0341: ADC #$08 - ADC #$08 -; libsrc/apple/dgrlib.pla: 0342: BMI ++++ - BMI ++++ -; libsrc/apple/dgrlib.pla: 0343: STA ESTKH+2,X ; X2 COORD - STA ESTKH+2,X ; X2 COORD -; libsrc/apple/dgrlib.pla: 0344: LDA ESTKL+1,X ; Y1 COORD - LDA ESTKL+1,X ; Y1 COORD -; libsrc/apple/dgrlib.pla: 0345: CMP #48 - CMP #48 -; libsrc/apple/dgrlib.pla: 0346: BPL ++++ - BPL ++++ -; libsrc/apple/dgrlib.pla: 0347: STA TMPL ; Y COORD - STA TMPL ; Y COORD -; libsrc/apple/dgrlib.pla: 0348: CLC - CLC -; libsrc/apple/dgrlib.pla: 0349: ADC #$08 - ADC #$08 -; libsrc/apple/dgrlib.pla: 0350: BMI ++++ - BMI ++++ -; libsrc/apple/dgrlib.pla: 0351: STA ESTKH+1,X ; Y2 COORD - STA ESTKH+1,X ; Y2 COORD -; libsrc/apple/dgrlib.pla: 0352: LDA TMPL ; Y COORD - LDA TMPL ; Y COORD -; libsrc/apple/dgrlib.pla: 0353: - CMP #48 -- CMP #48 -; libsrc/apple/dgrlib.pla: 0354: BCC + - BCC + -; libsrc/apple/dgrlib.pla: 0355: LDA SRCL ; SKIP TO NEXT ROW - LDA SRCL ; SKIP TO NEXT ROW -; libsrc/apple/dgrlib.pla: 0356: ADC #$07 ; CARRY = 1 - ADC #$07 ; CARRY = 1 -; libsrc/apple/dgrlib.pla: 0357: STA SRCL - STA SRCL -; libsrc/apple/dgrlib.pla: 0358: BCC +++ - BCC +++ -; libsrc/apple/dgrlib.pla: 0359: INC SRCH - INC SRCH -; libsrc/apple/dgrlib.pla: 0360: BNE +++ - BNE +++ -; libsrc/apple/dgrlib.pla: 0361: + AND #$FE -+ AND #$FE -; libsrc/apple/dgrlib.pla: 0362: TAY - TAY -; libsrc/apple/dgrlib.pla: 0363: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/dgrlib.pla: 0364: STA GBASL - STA GBASL -; libsrc/apple/dgrlib.pla: 0365: INY - INY -; libsrc/apple/dgrlib.pla: 0366: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/dgrlib.pla: 0367: STA GBASH - STA GBASH -; libsrc/apple/dgrlib.pla: 0368: LDA ESTKL+2,X ; X1 COORD - LDA ESTKL+2,X ; X1 COORD -; libsrc/apple/dgrlib.pla: 0369: STA TMPH ; X COORD - STA TMPH ; X COORD -; libsrc/apple/dgrlib.pla: 0370: PHP - PHP -; libsrc/apple/dgrlib.pla: 0371: SEI - SEI -; libsrc/apple/dgrlib.pla: 0372: -- LSR --- LSR -; libsrc/apple/dgrlib.pla: 0373: TAY - TAY -; libsrc/apple/dgrlib.pla: 0374: CMP #40 - CMP #40 -; libsrc/apple/dgrlib.pla: 0375: LDX #$00 - LDX #$00 -; libsrc/apple/dgrlib.pla: 0376: LDA (SRC,X) - LDA (SRC,X) -; libsrc/apple/dgrlib.pla: 0377: INC SRCL - INC SRCL -; libsrc/apple/dgrlib.pla: 0378: BNE + - BNE + -; libsrc/apple/dgrlib.pla: 0379: INC SRCH - INC SRCH -; libsrc/apple/dgrlib.pla: 0380: + BCS + -+ BCS + -; libsrc/apple/dgrlib.pla: 0381: STA $C005 ; WRITE AUX MEM - STA $C005 ; WRITE AUX MEM -; libsrc/apple/dgrlib.pla: 0382: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0383: STA $C004 ; WRITE MAIN MEM - STA $C004 ; WRITE MAIN MEM -; libsrc/apple/dgrlib.pla: 0384: + LDA (SRC,X) -+ LDA (SRC,X) -; libsrc/apple/dgrlib.pla: 0385: INC SRCL - INC SRCL -; libsrc/apple/dgrlib.pla: 0386: BNE + - BNE + -; libsrc/apple/dgrlib.pla: 0387: INC SRCH - INC SRCH -; libsrc/apple/dgrlib.pla: 0388: + BCS ++ -+ BCS ++ -; libsrc/apple/dgrlib.pla: 0389: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/dgrlib.pla: 0390: ++ INC TMPH ; X COORD -++ INC TMPH ; X COORD -; libsrc/apple/dgrlib.pla: 0391: INC TMPH ; X COORD - INC TMPH ; X COORD -; libsrc/apple/dgrlib.pla: 0392: LDA TMPH - LDA TMPH -; libsrc/apple/dgrlib.pla: 0393: BMI -- - BMI -- -; libsrc/apple/dgrlib.pla: 0394: LDX ESP - LDX ESP -; libsrc/apple/dgrlib.pla: 0395: CMP ESTKH+2,X ; X2 COORD - CMP ESTKH+2,X ; X2 COORD -; libsrc/apple/dgrlib.pla: 0396: BCC -- - BCC -- -; libsrc/apple/dgrlib.pla: 0397: PLP - PLP -; libsrc/apple/dgrlib.pla: 0398: +++ INC TMPL ; Y COORD -+++ INC TMPL ; Y COORD -; libsrc/apple/dgrlib.pla: 0399: INC TMPL ; Y COORD - INC TMPL ; Y COORD -; libsrc/apple/dgrlib.pla: 0400: LDA TMPL - LDA TMPL -; libsrc/apple/dgrlib.pla: 0401: BMI - - BMI - -; libsrc/apple/dgrlib.pla: 0402: CMP ESTKH+1,X ; Y2 COORD - CMP ESTKH+1,X ; Y2 COORD -; libsrc/apple/dgrlib.pla: 0403: BCC - - BCC - -; libsrc/apple/dgrlib.pla: 0404: ++++ INX -++++ INX -; libsrc/apple/dgrlib.pla: 0405: INX - INX -; libsrc/apple/dgrlib.pla: 0406: INX - INX -; libsrc/apple/dgrlib.pla: 0407: RTS - RTS -; libsrc/apple/dgrlib.pla: 0408: end -; libsrc/apple/dgrlib.pla: 0409: // -; libsrc/apple/dgrlib.pla: 0410: // Draw a string of tiles -; libsrc/apple/dgrlib.pla: 0411: // -; libsrc/apple/dgrlib.pla: 0412: export asm dgrTileStr(x, y, tilestr, strlen, tilebuff)#0 -_A016 ; dgrTileStr() -; libsrc/apple/dgrlib.pla: 0413: - DEX -- DEX -; libsrc/apple/dgrlib.pla: 0414: DEX - DEX -; libsrc/apple/dgrlib.pla: 0415: DEX - DEX -; libsrc/apple/dgrlib.pla: 0416: LDA ESTKL+7,X ; X COORD - LDA ESTKL+7,X ; X COORD -; libsrc/apple/dgrlib.pla: 0417: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0418: LDA ESTKL+6,X ; Y COORD - LDA ESTKL+6,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0419: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0420: LDA ESTKL+3,X ; TILE - LDA ESTKL+3,X ; TILE -; libsrc/apple/dgrlib.pla: 0421: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/dgrlib.pla: 0422: LDA ESTKH+3,X ; TILE - LDA ESTKH+3,X ; TILE -; libsrc/apple/dgrlib.pla: 0423: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/dgrlib.pla: 0424: end -; libsrc/apple/dgrlib.pla: 0425: asm _dgrTileTile -_A017 ; _dgrTileTile() -; libsrc/apple/dgrlib.pla: 0426: JSR $5000 - JSR $5000 -; libsrc/apple/dgrlib.pla: 0427: LDA ESTKL+4,X ; UPDATE X COORD - LDA ESTKL+4,X ; UPDATE X COORD -; libsrc/apple/dgrlib.pla: 0428: CLC - CLC -; libsrc/apple/dgrlib.pla: 0429: ADC #$08 - ADC #$08 -; libsrc/apple/dgrlib.pla: 0430: CMP #80 ; OFF RIGHT SIDE - CMP #80 ; OFF RIGHT SIDE -; libsrc/apple/dgrlib.pla: 0431: BPL + - BPL + -; libsrc/apple/dgrlib.pla: 0432: STA ESTKL+4,X - STA ESTKL+4,X -; libsrc/apple/dgrlib.pla: 0433: DEC ESTKL+1,X ; DEC STRLEN - DEC ESTKL+1,X ; DEC STRLEN -; libsrc/apple/dgrlib.pla: 0434: BNE - - BNE - -; libsrc/apple/dgrlib.pla: 0435: + INX -+ INX -; libsrc/apple/dgrlib.pla: 0436: INX - INX -; libsrc/apple/dgrlib.pla: 0437: INX - INX -; libsrc/apple/dgrlib.pla: 0438: INX - INX -; libsrc/apple/dgrlib.pla: 0439: INX - INX -; libsrc/apple/dgrlib.pla: 0440: RTS - RTS -; libsrc/apple/dgrlib.pla: 0441: end -; libsrc/apple/dgrlib.pla: 0442: // -; libsrc/apple/dgrlib.pla: 0443: // Fill a buffer with tiles -; libsrc/apple/dgrlib.pla: 0444: // -; libsrc/apple/dgrlib.pla: 0445: export asm dgrFill(x, y, tile)#0 -_A018 ; dgrFill() -; libsrc/apple/dgrlib.pla: 0446: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0447: AND #$0F - AND #$0F -; libsrc/apple/dgrlib.pla: 0448: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0449: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0450: AND #$0F - AND #$0F -; libsrc/apple/dgrlib.pla: 0451: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0452: LDA #$00 - LDA #$00 -; libsrc/apple/dgrlib.pla: 0453: SEC - SEC -; libsrc/apple/dgrlib.pla: 0454: SBC ESTKL+2,X ; ORIGINAL X - SBC ESTKL+2,X ; ORIGINAL X -; libsrc/apple/dgrlib.pla: 0455: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0456: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/apple/dgrlib.pla: 0457: LDA #$00 - LDA #$00 -; libsrc/apple/dgrlib.pla: 0458: SEC - SEC -; libsrc/apple/dgrlib.pla: 0459: SBC ESTKL+1,X - SBC ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0460: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0461: - DEX -- DEX -; libsrc/apple/dgrlib.pla: 0462: DEX - DEX -; libsrc/apple/dgrlib.pla: 0463: DEX - DEX -; libsrc/apple/dgrlib.pla: 0464: LDA ESTKL+5,X ; X COORD - LDA ESTKL+5,X ; X COORD -; libsrc/apple/dgrlib.pla: 0465: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0466: LDA ESTKL+4,X ; Y COORD - LDA ESTKL+4,X ; Y COORD -; libsrc/apple/dgrlib.pla: 0467: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0468: LDA ESTKL+3,X ; TILE - LDA ESTKL+3,X ; TILE -; libsrc/apple/dgrlib.pla: 0469: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/dgrlib.pla: 0470: LDA ESTKH+3,X ; TILE - LDA ESTKH+3,X ; TILE -; libsrc/apple/dgrlib.pla: 0471: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/dgrlib.pla: 0472: end -; libsrc/apple/dgrlib.pla: 0473: asm _dgrFillTile -_A019 ; _dgrFillTile() -; libsrc/apple/dgrlib.pla: 0474: JSR $5000 - JSR $5000 -; libsrc/apple/dgrlib.pla: 0475: LDA ESTKL+2,X ; UPDATE X COORD - LDA ESTKL+2,X ; UPDATE X COORD -; libsrc/apple/dgrlib.pla: 0476: CLC - CLC -; libsrc/apple/dgrlib.pla: 0477: ADC #$08 - ADC #$08 -; libsrc/apple/dgrlib.pla: 0478: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0479: CMP #80 ; OFF RIGHT SIDE? - CMP #80 ; OFF RIGHT SIDE? -; libsrc/apple/dgrlib.pla: 0480: BMI - - BMI - -; libsrc/apple/dgrlib.pla: 0481: LDA ESTKH+2,X ; RESTORE X COORD - LDA ESTKH+2,X ; RESTORE X COORD -; libsrc/apple/dgrlib.pla: 0482: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/dgrlib.pla: 0483: LDA ESTKL+1,X ; UPDATE Y COORD - LDA ESTKL+1,X ; UPDATE Y COORD -; libsrc/apple/dgrlib.pla: 0484: CLC - CLC -; libsrc/apple/dgrlib.pla: 0485: ADC #$08 - ADC #$08 -; libsrc/apple/dgrlib.pla: 0486: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/dgrlib.pla: 0487: CMP #48 ; OFF BOTTOM? - CMP #48 ; OFF BOTTOM? -; libsrc/apple/dgrlib.pla: 0488: BMI - - BMI - -; libsrc/apple/dgrlib.pla: 0489: INX - INX -; libsrc/apple/dgrlib.pla: 0490: INX - INX -; libsrc/apple/dgrlib.pla: 0491: INX - INX -; libsrc/apple/dgrlib.pla: 0492: RTS - RTS -; libsrc/apple/dgrlib.pla: 0493: end -; libsrc/apple/dgrlib.pla: 0494: // -; libsrc/apple/dgrlib.pla: 0495: // Clear the buffer -; libsrc/apple/dgrlib.pla: 0496: // -; libsrc/apple/dgrlib.pla: 0497: export def dgrClear(clr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; clr -> [0] -_C000 ; dgrClear() -; libsrc/apple/dgrlib.pla: 0498: byte[32] clrtile - ; clrtile -> [2] -; libsrc/apple/dgrlib.pla: 0499: -; libsrc/apple/dgrlib.pla: 0500: clr = evnclr[clr&$0F] | (oddclr[clr&$0F] << 8) - !BYTE $58,$22,$01 ; ENTER 34,1 -; libsrc/apple/dgrlib.pla: 0501: memset(@clrtile, clr, 32) -; libsrc/apple/dgrlib.pla: 0502: dgrFill(0, 0, @clrtile) -; libsrc/apple/dgrlib.pla: 0503: end - !BYTE $26 ; LA _D033+0 -_F002 !WORD _D033+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F003 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $76,$00 ; SLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X017 -_F004 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A018 -_F005 !WORD _A018 - !BYTE $5A,$22 ; LEAVE 34 -; libsrc/apple/dgrlib.pla: 0504: export def dgrMode(mode)#1 - ; mode -> [0] -_C001 ; dgrMode() -; libsrc/apple/dgrlib.pla: 0505: when mode - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B002-* -; libsrc/apple/dgrlib.pla: 0506: is page1 -_B003 -; libsrc/apple/dgrlib.pla: 0507: // -; libsrc/apple/dgrlib.pla: 0508: // Set double lores graphics, return draw buffer -; libsrc/apple/dgrlib.pla: 0509: // -; libsrc/apple/dgrlib.pla: 0510: putc(17) // Set 40 column mode if in 80 column mode -; libsrc/apple/dgrlib.pla: 0511: ^showlores -; libsrc/apple/dgrlib.pla: 0512: ^showfull -; libsrc/apple/dgrlib.pla: 0513: ^showgraphics -; libsrc/apple/dgrlib.pla: 0514: ^showpage1 -; libsrc/apple/dgrlib.pla: 0515: ^ena80 = 0 -; libsrc/apple/dgrlib.pla: 0516: ^show80 = 0 -; libsrc/apple/dgrlib.pla: 0517: ^an3on -; libsrc/apple/dgrlib.pla: 0518: drawpage = page2 -; libsrc/apple/dgrlib.pla: 0519: drawbuff = dgrbuff[page2] -; libsrc/apple/dgrlib.pla: 0520: break - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _X002 -_F006 !WORD 0 - !BYTE $68,$56,$C0 ; LAB 49238 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0D,$C0 ; SAB 49165 - !BYTE $68,$5E,$C0 ; LAB 49246 - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D032+0 -_F007 !WORD _D032+0 - !BYTE $6A ; LAW _D030+2 -_F008 !WORD _D030+2 - !BYTE $7A ; SAW _D031+0 -_F009 !WORD _D031+0 - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; libsrc/apple/dgrlib.pla: 0521: is page2 -_B004 -; libsrc/apple/dgrlib.pla: 0522: // -; libsrc/apple/dgrlib.pla: 0523: // Set double lores graphics, return draw buffer -; libsrc/apple/dgrlib.pla: 0524: // -; libsrc/apple/dgrlib.pla: 0525: putc(17) // Set 40 column mode if in 80 column mode -; libsrc/apple/dgrlib.pla: 0526: ^showlores -; libsrc/apple/dgrlib.pla: 0527: ^showfull -; libsrc/apple/dgrlib.pla: 0528: ^showgraphics -; libsrc/apple/dgrlib.pla: 0529: ^showpage1 -; libsrc/apple/dgrlib.pla: 0530: ^ena80 = 0 -; libsrc/apple/dgrlib.pla: 0531: ^show80 = 0 -; libsrc/apple/dgrlib.pla: 0532: ^an3on -; libsrc/apple/dgrlib.pla: 0533: drawpage = page1 -; libsrc/apple/dgrlib.pla: 0534: drawbuff = dgrbuff[page1] -; libsrc/apple/dgrlib.pla: 0535: break - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _X002 -_F010 !WORD 0 - !BYTE $68,$56,$C0 ; LAB 49238 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0D,$C0 ; SAB 49165 - !BYTE $68,$5E,$C0 ; LAB 49246 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D032+0 -_F011 !WORD _D032+0 - !BYTE $6A ; LAW _D030+0 -_F012 !WORD _D030+0 - !BYTE $7A ; SAW _D031+0 -_F013 !WORD _D031+0 - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; libsrc/apple/dgrlib.pla: 0536: otherwise -_B002 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B003-* - !WORD $0001 - !WORD _B004-* -; libsrc/apple/dgrlib.pla: 0537: // -; libsrc/apple/dgrlib.pla: 0538: // Set text mode -; libsrc/apple/dgrlib.pla: 0539: // -; libsrc/apple/dgrlib.pla: 0540: ^showtext -; libsrc/apple/dgrlib.pla: 0541: ^showpage1 -; libsrc/apple/dgrlib.pla: 0542: ^ena80 = 0 -; libsrc/apple/dgrlib.pla: 0543: ^show40 = 0 -; libsrc/apple/dgrlib.pla: 0544: ^mapmain = 0 -; libsrc/apple/dgrlib.pla: 0545: ^an3off -; libsrc/apple/dgrlib.pla: 0546: call($FB2F, 0, 0, 0, 0) // INIT -; libsrc/apple/dgrlib.pla: 0547: if cmdsys:_sysflags_ & vid80col; putc(18); fin // Set 80 column mode if active - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0C,$C0 ; SAB 49164 - !BYTE $00 ; CN 0 - !BYTE $78,$00,$C0 ; SAB 49152 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $30 ; DROP - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F014 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X000+23 -_F015 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $2A,$12 ; CB 18 - !BYTE $54 ; CALL _X002 -_F016 !WORD 0 -_B005 -_B006 -; libsrc/apple/dgrlib.pla: 0548: call($FC58, 0, 0, 0, 0) // home() -; libsrc/apple/dgrlib.pla: 0549: wend - !BYTE $2C,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F017 !WORD 0 - !BYTE $30 ; DROP -_B001 -; libsrc/apple/dgrlib.pla: 0550: return mode - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0551: end -; libsrc/apple/dgrlib.pla: 0552: // -; libsrc/apple/dgrlib.pla: 0553: // Set display page, return other page -; libsrc/apple/dgrlib.pla: 0554: // -; libsrc/apple/dgrlib.pla: 0555: export def dgrShow(page)#1 - ; page -> [0] -_C002 ; dgrShow() -; libsrc/apple/dgrlib.pla: 0556: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0557: ^(showpage1 + page) -; libsrc/apple/dgrlib.pla: 0558: return page ^ 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $76,$00 ; SLW [0] - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0559: end -; libsrc/apple/dgrlib.pla: 0560: export def dgrSwap#0 -_C003 ; dgrSwap() -; libsrc/apple/dgrlib.pla: 0561: ^(showpage1 + drawpage) -; libsrc/apple/dgrlib.pla: 0562: drawpage = drawpage ^ 1 -; libsrc/apple/dgrlib.pla: 0563: drawbuff = dgrbuff[drawpage] -; libsrc/apple/dgrlib.pla: 0564: end - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D032+0 -_F018 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D032+0 -_F019 !WORD _D032+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D032+0 -_F020 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F021 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F022 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F023 !WORD _D031+0 - !BYTE $5C ; RET -; libsrc/apple/dgrlib.pla: 0565: export def dgrDrawBuf(page)#0 - ; page -> [0] -_C004 ; dgrDrawBuf() -; libsrc/apple/dgrlib.pla: 0566: drawpage = page - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0567: drawbuff = dgrbuff[drawpage] -; libsrc/apple/dgrlib.pla: 0568: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D032+0 -_F024 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F025 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F026 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F027 !WORD _D031+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0569: // -; libsrc/apple/dgrlib.pla: 0570: // Set color for clear & plot routines -; libsrc/apple/dgrlib.pla: 0571: // -; libsrc/apple/dgrlib.pla: 0572: export def dgrColor(clr)#0 - ; clr -> [0] -_C005 ; dgrColor() -; libsrc/apple/dgrlib.pla: 0573: ^$30 = clr & $0F - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/dgrlib.pla: 0574: end - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $78,$30,$00 ; SAB 48 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/dgrlib.pla: 0575: // -; libsrc/apple/dgrlib.pla: 0576: // Make sure we are a 128K //e or //c -; libsrc/apple/dgrlib.pla: 0577: // -; libsrc/apple/dgrlib.pla: 0578: if MACHID & $F0 <> $B0 -_INIT -; libsrc/apple/dgrlib.pla: 0579: puts("\n128K required for double-lores.\n") - !BYTE $68 ; LAB _X001+0 -_F028 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$B0 ; CB 176 - !BYTE $22 ; BREQ _B007 - !WORD _B007-* - !BYTE $2E ; CS - !BYTE $21 - !BYTE $0D,$31,$32,$38,$4B,$20,$72,$65 - !BYTE $71,$75,$69,$72,$65,$64,$20,$66 - !BYTE $6F,$72,$20,$64,$6F,$75,$62,$6C - !BYTE $65,$2D,$6C,$6F,$72,$65,$73,$2E - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 -; libsrc/apple/dgrlib.pla: 0580: ^$C010 -; libsrc/apple/dgrlib.pla: 0581: while ^$C000 < 128; loop - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B009 -_B011 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* -_B010 -; libsrc/apple/dgrlib.pla: 0582: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/dgrlib.pla: 0583: fin -_B007 -_B008 -; libsrc/apple/dgrlib.pla: 0584: // -; libsrc/apple/dgrlib.pla: 0585: // Assembly fixups -; libsrc/apple/dgrlib.pla: 0586: // -; libsrc/apple/dgrlib.pla: 0587: _dgrPlotPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0588: _dgrHLinPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0589: _dgrVLinPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0590: _dgrBLTPix:1 = @_dgrSetPix -; libsrc/apple/dgrlib.pla: 0591: _dgrTileTile:1 = @dgrTile -; libsrc/apple/dgrlib.pla: 0592: _dgrFillTile:1 = @dgrTile -; libsrc/apple/dgrlib.pla: 0593: _dgrSetEvnEvn:1 = @evnclr -; libsrc/apple/dgrlib.pla: 0594: _dgrSetEvnOdd:1 = @oddclr -; libsrc/apple/dgrlib.pla: 0595: _dgrSetOddEvn:1 = @evnclr -; libsrc/apple/dgrlib.pla: 0596: _dgrSetOddOdd:1 = @oddclr -; libsrc/apple/dgrlib.pla: 0597: // -; libsrc/apple/dgrlib.pla: 0598: // Fixups for drawbuff -; libsrc/apple/dgrlib.pla: 0599: // -; libsrc/apple/dgrlib.pla: 0600: dgrPlot:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0601: dgrPlot:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0602: dgrHLin:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0603: dgrHLin:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0604: dgrVLin:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0605: dgrVLin:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0606: dgrBLT:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0607: dgrBLT:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0608: dgrTile:1 = @drawbuff -; libsrc/apple/dgrlib.pla: 0609: dgrTile:6 = @drawbuff+1 -; libsrc/apple/dgrlib.pla: 0610: // Put read AUX mem routine in scary location -; libsrc/apple/dgrlib.pla: 0611: memcpy($0100, @auxRead, 9) -; libsrc/apple/dgrlib.pla: 0612: // -; libsrc/apple/dgrlib.pla: 0613: // Keep module in memory -; libsrc/apple/dgrlib.pla: 0614: // -; libsrc/apple/dgrlib.pla: 0615: return modkeep - !BYTE $26 ; LA _A009+0 -_F030 !WORD _A009+0 - !BYTE $7A ; SAW _A002+1 -_F031 !WORD _A002+1 - !BYTE $26 ; LA _A009+0 -_F032 !WORD _A009+0 - !BYTE $7A ; SAW _A004+1 -_F033 !WORD _A004+1 - !BYTE $26 ; LA _A009+0 -_F034 !WORD _A009+0 - !BYTE $7A ; SAW _A006+1 -_F035 !WORD _A006+1 - !BYTE $26 ; LA _A009+0 -_F036 !WORD _A009+0 - !BYTE $7A ; SAW _A008+1 -_F037 !WORD _A008+1 - !BYTE $26 ; LA _A015+0 -_F038 !WORD _A015+0 - !BYTE $7A ; SAW _A017+1 -_F039 !WORD _A017+1 - !BYTE $26 ; LA _A015+0 -_F040 !WORD _A015+0 - !BYTE $7A ; SAW _A019+1 -_F041 !WORD _A019+1 - !BYTE $26 ; LA _D033+0 -_F042 !WORD _D033+0 - !BYTE $7A ; SAW _A010+1 -_F043 !WORD _A010+1 - !BYTE $26 ; LA _D034+0 -_F044 !WORD _D034+0 - !BYTE $7A ; SAW _A011+1 -_F045 !WORD _A011+1 - !BYTE $26 ; LA _D033+0 -_F046 !WORD _D033+0 - !BYTE $7A ; SAW _A012+1 -_F047 !WORD _A012+1 - !BYTE $26 ; LA _D034+0 -_F048 !WORD _D034+0 - !BYTE $7A ; SAW _A013+1 -_F049 !WORD _A013+1 - !BYTE $26 ; LA _D031+0 -_F050 !WORD _D031+0 - !BYTE $7A ; SAW _A001+1 -_F051 !WORD _A001+1 - !BYTE $26 ; LA _D031+1 -_F052 !WORD _D031+1 - !BYTE $7A ; SAW _A001+6 -_F053 !WORD _A001+6 - !BYTE $26 ; LA _D031+0 -_F054 !WORD _D031+0 - !BYTE $7A ; SAW _A003+1 -_F055 !WORD _A003+1 - !BYTE $26 ; LA _D031+1 -_F056 !WORD _D031+1 - !BYTE $7A ; SAW _A003+6 -_F057 !WORD _A003+6 - !BYTE $26 ; LA _D031+0 -_F058 !WORD _D031+0 - !BYTE $7A ; SAW _A005+1 -_F059 !WORD _A005+1 - !BYTE $26 ; LA _D031+1 -_F060 !WORD _D031+1 - !BYTE $7A ; SAW _A005+6 -_F061 !WORD _A005+6 - !BYTE $26 ; LA _D031+0 -_F062 !WORD _D031+0 - !BYTE $7A ; SAW _A007+1 -_F063 !WORD _A007+1 - !BYTE $26 ; LA _D031+1 -_F064 !WORD _D031+1 - !BYTE $7A ; SAW _A007+6 -_F065 !WORD _A007+6 - !BYTE $26 ; LA _D031+0 -_F066 !WORD _D031+0 - !BYTE $7A ; SAW _A015+1 -_F067 !WORD _A015+1 - !BYTE $26 ; LA _D031+1 -_F068 !WORD _D031+1 - !BYTE $7A ; SAW _A015+6 -_F069 !WORD _A015+6 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $26 ; LA _A014+0 -_F070 !WORD _A014+0 - !BYTE $12 ; CN 9 - !BYTE $54 ; CALL _X018 -_F071 !WORD 0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/dgrlib.pla: 0616: done -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: DGRPLOT - !BYTE $C4,$C7,$D2,$D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: DGRHLIN - !BYTE $C4,$C7,$D2,$C8,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: DGRVLIN - !BYTE $C4,$C7,$D2,$D6,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: DGRBLT - !BYTE $C4,$C7,$D2,$C2,$CC,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A007 - ; DCI STRING: DGRTILE - !BYTE $C4,$C7,$D2,$D4,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A015 - ; DCI STRING: DGRTILESTR - !BYTE $C4,$C7,$D2,$D4,$C9,$CC,$C5,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A016 - ; DCI STRING: DGRFILL - !BYTE $C4,$C7,$D2,$C6,$C9,$CC,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A018 - ; DCI STRING: DGRCLEAR - !BYTE $C4,$C7,$D2,$C3,$CC,$C5,$C1,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: DGRMODE - !BYTE $C4,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: DGRSHOW - !BYTE $C4,$C7,$D2,$D3,$C8,$CF,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: DGRSWAP - !BYTE $C4,$C7,$D2,$D3,$D7,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: DGRDRAWBUF - !BYTE $C4,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: DGRCOLOR - !BYTE $C4,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/fileio.a b/src/libsrc/apple/fileio.a deleted file mode 100644 index 86bb0cf..0000000 --- a/src/libsrc/apple/fileio.a +++ /dev/null @@ -1,2845 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/fileio.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/fileio.pla: 0001: -; libsrc/apple/fileio.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr -; inc/fileio.plh: 0082: end -; libsrc/apple/fileio.pla: 0002: -; libsrc/apple/fileio.pla: 0003: // -; libsrc/apple/fileio.pla: 0004: // CFFA1 addresses. -; libsrc/apple/fileio.pla: 0005: // -; libsrc/apple/fileio.pla: 0006: const CFFA1Dest = $00 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; CFFA1Dest = 0 -; libsrc/apple/fileio.pla: 0007: const CFFA1FileName = $02 - ; CFFA1FileName = 2 -; libsrc/apple/fileio.pla: 0008: const CFFA1OldName = $04 - ; CFFA1OldName = 4 -; libsrc/apple/fileio.pla: 0009: const CFFA1FileType = $06 - ; CFFA1FileType = 6 -; libsrc/apple/fileio.pla: 0010: const CFFA1AuxType = $07 - ; CFFA1AuxType = 7 -; libsrc/apple/fileio.pla: 0011: const CFFA1FileSize = $09 - ; CFFA1FileSize = 9 -; libsrc/apple/fileio.pla: 0012: const CFFA1EntryPtr = $0B - ; CFFA1EntryPtr = 11 -; libsrc/apple/fileio.pla: 0013: // -; libsrc/apple/fileio.pla: 0014: // SOS access modes -; libsrc/apple/fileio.pla: 0015: // -; libsrc/apple/fileio.pla: 0016: const O_READ = 1 - ; O_READ = 1 -; libsrc/apple/fileio.pla: 0017: const O_WRITE = 2 - ; O_WRITE = 2 -; libsrc/apple/fileio.pla: 0018: const O_READ_WRITE = 3 - ; O_READ_WRITE = 3 -; libsrc/apple/fileio.pla: 0019: // -; libsrc/apple/fileio.pla: 0020: // System I/O buffer for PLASMA. Used when loading modules, free otherwise -; libsrc/apple/fileio.pla: 0021: // -; libsrc/apple/fileio.pla: 0022: const sysbuf = $0800 - ; sysbuf = 2048 -; libsrc/apple/fileio.pla: 0023: // -; libsrc/apple/fileio.pla: 0024: // External interface -; libsrc/apple/fileio.pla: 0025: // -; libsrc/apple/fileio.pla: 0026: predef a2getpfx(path), a2setpfx(path), a2getfileinfo(path, fileinfo), a2setfileinfo(path, fileinfo), a23geteof(refnum)#2, a23seteof(refnum, eofl, eofh), a2iobufs(iobufs), a2open(path), a2close(refnum) -; libsrc/apple/fileio.pla: 0027: predef a23read(refnum, buf, len), a2write(refnum, buf, len), a2create(path, type, aux), a23destroy(path), a23rename(path, newpath) -; libsrc/apple/fileio.pla: 0028: predef a2newline(refnum, emask, nlchar), a2online(unit, buf), a2readblock(unit, buf, block), a2writeblock(unit, buf, block) -; libsrc/apple/fileio.pla: 0029: predef a23getmark(refnum)#2, a23setmark(refnum, eofl, eofh) -; libsrc/apple/fileio.pla: 0030: // -; libsrc/apple/fileio.pla: 0031: // Exported function table. -; libsrc/apple/fileio.pla: 0032: // -; libsrc/apple/fileio.pla: 0033: word fileio[] -_D048 ; fileio[] -; libsrc/apple/fileio.pla: 0034: word = @a2getpfx, @a2setpfx, @a2getfileinfo, @a2setfileinfo, @a23geteof, @a23seteof, @a2iobufs, @a2open, @a2close -_F000 !WORD _P000 -_F001 !WORD _P001 -_F002 !WORD _P002 -_F003 !WORD _P003 -_F004 !WORD _P004 -_F005 !WORD _P005 -_F006 !WORD _P006 -_F007 !WORD _P007 -_F008 !WORD _P008 -; libsrc/apple/fileio.pla: 0035: word = @a23read, @a2write, @a2create, @a23destroy, @a23rename -_F009 !WORD _P009 -_F010 !WORD _P010 -_F011 !WORD _P011 -_F012 !WORD _P012 -_F013 !WORD _P013 -; libsrc/apple/fileio.pla: 0036: word = @a2newline, @a2online, @a2readblock, @a2writeblock, @a23getmark, @a23setmark -_F014 !WORD _P014 -_F015 !WORD _P015 -_F016 !WORD _P016 -_F017 !WORD _P017 -_F018 !WORD _P018 -_F019 !WORD _P019 -; libsrc/apple/fileio.pla: 0037: // -; libsrc/apple/fileio.pla: 0038: // SOS/ProDOS error code -; libsrc/apple/fileio.pla: 0039: // -; libsrc/apple/fileio.pla: 0040: export byte perr -_D049 !FILL 1 ; perr -; libsrc/apple/fileio.pla: 0041: // -; libsrc/apple/fileio.pla: 0042: // I/O buffers -; libsrc/apple/fileio.pla: 0043: // -; libsrc/apple/fileio.pla: 0044: const MAX_IOBUFS = 4 - ; MAX_IOBUFS = 4 -; libsrc/apple/fileio.pla: 0045: byte iobuf_ref[MAX_IOBUFS] -_D050 !FILL 4 ; iobuf_ref[MAX_IOBUFS] -; libsrc/apple/fileio.pla: 0046: word iobuf_addr[MAX_IOBUFS] = sysbuf -_D051 ; iobuf_addr[MAX_IOBUFS] = sysbuf - !WORD $0800 - !FILL $06 -; libsrc/apple/fileio.pla: 0047: // -; libsrc/apple/fileio.pla: 0048: // ProDOS/SOS routines -; libsrc/apple/fileio.pla: 0049: // -; libsrc/apple/fileio.pla: 0050: def a1getpfx(path) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; path -> [0] -_C000 ; a1getpfx() -; libsrc/apple/fileio.pla: 0051: ^path = 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/fileio.pla: 0052: return path - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0053: end -; libsrc/apple/fileio.pla: 0054: def a2getpfx(path) - ; path -> [0] -_P000 ; a2getpfx(path)() -_C001 ; a2getpfx() -; libsrc/apple/fileio.pla: 0055: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0056: -; libsrc/apple/fileio.pla: 0057: ^path = 0 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0058: params.0 = 1 -; libsrc/apple/fileio.pla: 0059: params:1 = path -; libsrc/apple/fileio.pla: 0060: perr = syscall($C7, @params) -; libsrc/apple/fileio.pla: 0061: return path - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$C7 ; CB 199 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F020 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F021 !WORD _D049+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0062: end -; libsrc/apple/fileio.pla: 0063: def a3getpfx(path) - ; path -> [0] -_C002 ; a3getpfx() -; libsrc/apple/fileio.pla: 0064: byte params[4] - ; params -> [2] -; libsrc/apple/fileio.pla: 0065: -; libsrc/apple/fileio.pla: 0066: params.0 = 2 - !BYTE $58,$06,$01 ; ENTER 6,1 -; libsrc/apple/fileio.pla: 0067: params:1 = path -; libsrc/apple/fileio.pla: 0068: params.3 = 64 -; libsrc/apple/fileio.pla: 0069: perr = syscall($C7, @params) -; libsrc/apple/fileio.pla: 0070: return path - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$40 ; CB 64 - !BYTE $74,$05 ; SLB [5] - !BYTE $2A,$C7 ; CB 199 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F022 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F023 !WORD _D049+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0071: end -; libsrc/apple/fileio.pla: 0072: def a1setpfx(path) - ; path -> [0] -_C003 ; a1setpfx() -; libsrc/apple/fileio.pla: 0073: return path - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0074: end -; libsrc/apple/fileio.pla: 0075: def a2setpfx(path) - ; path -> [0] -_P001 ; a2setpfx(path)() -_C004 ; a2setpfx() -; libsrc/apple/fileio.pla: 0076: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0077: -; libsrc/apple/fileio.pla: 0078: params.0 = 1 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0079: params:1 = path -; libsrc/apple/fileio.pla: 0080: perr = syscall($C6, @params) -; libsrc/apple/fileio.pla: 0081: return path - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$C6 ; CB 198 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F024 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F025 !WORD _D049+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0082: end -; libsrc/apple/fileio.pla: 0083: def a3setpfx(path) - ; path -> [0] -_C005 ; a3setpfx() -; libsrc/apple/fileio.pla: 0084: byte params[6] - ; params -> [2] -; libsrc/apple/fileio.pla: 0085: byte fileinfo[2] - ; fileinfo -> [8] -; libsrc/apple/fileio.pla: 0086: char fullpath[65] - ; fullpath -> [10] -; libsrc/apple/fileio.pla: 0087: -; libsrc/apple/fileio.pla: 0088: if ^path and ^(path + 1) <> '/' and ^(path + 1) <> '.' - !BYTE $58,$4B,$01 ; ENTER 75,1 -; libsrc/apple/fileio.pla: 0089: a3getpfx(@fullpath) -; libsrc/apple/fileio.pla: 0090: strcat(@fullpath, path) -; libsrc/apple/fileio.pla: 0091: path = @fullpath -; libsrc/apple/fileio.pla: 0092: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B001 - !WORD _B001-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B002 - !WORD _B002-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE -_B002 -_B001 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _C002 -_F026 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $28,$0A ; LLA [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X020 -_F027 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$0A ; LLA [10] - !BYTE $76,$00 ; SLW [0] -_B003 -_B004 -; libsrc/apple/fileio.pla: 0093: params.0 = 3 -; libsrc/apple/fileio.pla: 0094: params:1 = path -; libsrc/apple/fileio.pla: 0095: params:3 = @fileinfo -; libsrc/apple/fileio.pla: 0096: params.5 = 2 -; libsrc/apple/fileio.pla: 0097: if not syscall($C4, @params) and (fileinfo.1 == $00 or fileinfo.1 == $0F) // Make sure it's a directory -; libsrc/apple/fileio.pla: 0098: params.0 = 1 -; libsrc/apple/fileio.pla: 0099: params:1 = path -; libsrc/apple/fileio.pla: 0100: syscall($C6, @params) -; libsrc/apple/fileio.pla: 0101: else - !BYTE $06 ; CN 3 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $28,$08 ; LLA [8] - !BYTE $76,$05 ; SLW [5] - !BYTE $04 ; CN 2 - !BYTE $74,$07 ; SLB [7] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F028 !WORD 0 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B005 - !WORD _B005-* - !BYTE $64,$09 ; LLB [9] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B006 - !WORD _B006-* - !BYTE $64,$09 ; LLB [9] - !BYTE $1E ; CN 15 - !BYTE $40 ; ISEQ -_B006 -_B005 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$C6 ; CB 198 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F029 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; libsrc/apple/fileio.pla: 0102: a3getpfx(path) // Get current path -; libsrc/apple/fileio.pla: 0103: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F030 !WORD _C002 - !BYTE $30 ; DROP -_B008 -; libsrc/apple/fileio.pla: 0104: return path - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$4B ; LEAVE 75 -; libsrc/apple/fileio.pla: 0105: end -; libsrc/apple/fileio.pla: 0106: def a1getfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C006 ; a1getfileinfo() -; libsrc/apple/fileio.pla: 0107: perr = $01 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0108: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D049+0 -_F031 !WORD _D049+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0109: end -; libsrc/apple/fileio.pla: 0110: def a2getfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_P002 ; a2getfileinfo(path, fileinfo)() -_C007 ; a2getfileinfo() -; libsrc/apple/fileio.pla: 0111: byte params[18] - ; params -> [4] -; libsrc/apple/fileio.pla: 0112: -; libsrc/apple/fileio.pla: 0113: params.0 = 10 - !BYTE $58,$16,$02 ; ENTER 22,2 -; libsrc/apple/fileio.pla: 0114: params:1 = path -; libsrc/apple/fileio.pla: 0115: perr = syscall($C4, @params) -; libsrc/apple/fileio.pla: 0116: memcpy(fileinfo, @params + 3, 15) -; libsrc/apple/fileio.pla: 0117: return perr - !BYTE $14 ; CN 10 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F032 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F033 !WORD _D049+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$07 ; LLA [7] - !BYTE $1E ; CN 15 - !BYTE $54 ; CALL _X018 -_F034 !WORD 0 - !BYTE $68 ; LAB _D049+0 -_F035 !WORD _D049+0 - !BYTE $5A,$16 ; LEAVE 22 -; libsrc/apple/fileio.pla: 0118: end -; libsrc/apple/fileio.pla: 0119: def a3getfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C008 ; a3getfileinfo() -; libsrc/apple/fileio.pla: 0120: byte params[6] - ; params -> [4] -; libsrc/apple/fileio.pla: 0121: -; libsrc/apple/fileio.pla: 0122: params.0 = 3 - !BYTE $58,$0A,$02 ; ENTER 10,2 -; libsrc/apple/fileio.pla: 0123: params:1 = path -; libsrc/apple/fileio.pla: 0124: params:3 = fileinfo -; libsrc/apple/fileio.pla: 0125: params.5 = 15 -; libsrc/apple/fileio.pla: 0126: perr = syscall($C4, @params) -; libsrc/apple/fileio.pla: 0127: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$07 ; SLW [7] - !BYTE $1E ; CN 15 - !BYTE $74,$09 ; SLB [9] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F036 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F037 !WORD _D049+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0128: end -; libsrc/apple/fileio.pla: 0129: def a1setfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C009 ; a1setfileinfo() -; libsrc/apple/fileio.pla: 0130: perr = $01 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0131: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D049+0 -_F038 !WORD _D049+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0132: end -; libsrc/apple/fileio.pla: 0133: def a2setfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_P003 ; a2setfileinfo(path, fileinfo)() -_C010 ; a2setfileinfo() -; libsrc/apple/fileio.pla: 0134: byte params[14] - ; params -> [4] -; libsrc/apple/fileio.pla: 0135: -; libsrc/apple/fileio.pla: 0136: params.0 = 7 - !BYTE $58,$12,$02 ; ENTER 18,2 -; libsrc/apple/fileio.pla: 0137: params:1 = path -; libsrc/apple/fileio.pla: 0138: memcpy(@params + 3, fileinfo, 11) -; libsrc/apple/fileio.pla: 0139: perr = syscall($C3, @params) -; libsrc/apple/fileio.pla: 0140: return perr - !BYTE $0E ; CN 7 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $28,$07 ; LLA [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $16 ; CN 11 - !BYTE $54 ; CALL _X018 -_F039 !WORD 0 - !BYTE $2A,$C3 ; CB 195 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F040 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F041 !WORD _D049+0 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/fileio.pla: 0141: end -; libsrc/apple/fileio.pla: 0142: def a3setfileinfo(path, fileinfo) - ; path -> [0] - ; fileinfo -> [2] -_C011 ; a3setfileinfo() -; libsrc/apple/fileio.pla: 0143: byte params[6] - ; params -> [4] -; libsrc/apple/fileio.pla: 0144: -; libsrc/apple/fileio.pla: 0145: params.0 = 3 - !BYTE $58,$0A,$02 ; ENTER 10,2 -; libsrc/apple/fileio.pla: 0146: params:1 = path -; libsrc/apple/fileio.pla: 0147: params:3 = fileinfo -; libsrc/apple/fileio.pla: 0148: params.5 = 15 -; libsrc/apple/fileio.pla: 0149: perr = syscall($C3, @params) -; libsrc/apple/fileio.pla: 0150: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$07 ; SLW [7] - !BYTE $1E ; CN 15 - !BYTE $74,$09 ; SLB [9] - !BYTE $2A,$C3 ; CB 195 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F042 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F043 !WORD _D049+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0151: end -; libsrc/apple/fileio.pla: 0152: def a1geteof(refnum)#2 - ; refnum -> [0] -_C012 ; a1geteof() -; libsrc/apple/fileio.pla: 0153: return 0, 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0154: end -; libsrc/apple/fileio.pla: 0155: def a23geteof(refnum)#2 - ; refnum -> [0] -_P004 ; a23geteof(refnum)#2() -_C013 ; a23geteof() -; libsrc/apple/fileio.pla: 0156: byte params[5] - ; params -> [2] -; libsrc/apple/fileio.pla: 0157: -; libsrc/apple/fileio.pla: 0158: params.0 = 2 - !BYTE $58,$07,$01 ; ENTER 7,1 -; libsrc/apple/fileio.pla: 0159: params.1 = refnum -; libsrc/apple/fileio.pla: 0160: params:2 = 0 -; libsrc/apple/fileio.pla: 0161: params.4 = 0 -; libsrc/apple/fileio.pla: 0162: syscall($D1, @params) -; libsrc/apple/fileio.pla: 0163: return params:2, params.4 - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $2A,$D1 ; CB 209 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F044 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0164: end -; libsrc/apple/fileio.pla: 0165: def a1seteof(refnum, eofl, eofh) - ; refnum -> [0] - ; eofl -> [2] - ; eofh -> [4] -_C014 ; a1seteof() -; libsrc/apple/fileio.pla: 0166: return -1 - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0167: end -; libsrc/apple/fileio.pla: 0168: def a23seteof(refnum, eofl, eofh) - ; refnum -> [0] - ; eofl -> [2] - ; eofh -> [4] -_P005 ; a23seteof(refnum, eofl, eofh)() -_C015 ; a23seteof() -; libsrc/apple/fileio.pla: 0169: byte params[5] - ; params -> [6] -; libsrc/apple/fileio.pla: 0170: -; libsrc/apple/fileio.pla: 0171: params.0 = 2 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; libsrc/apple/fileio.pla: 0172: params.1 = refnum -; libsrc/apple/fileio.pla: 0173: params:2 = eofl -; libsrc/apple/fileio.pla: 0174: params.4 = eofh -; libsrc/apple/fileio.pla: 0175: perr = syscall($D0, @params) -; libsrc/apple/fileio.pla: 0176: return perr - !BYTE $04 ; CN 2 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$0A ; SLB [10] - !BYTE $2A,$D0 ; CB 208 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F045 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F046 !WORD _D049+0 - !BYTE $5A,$0B ; LEAVE 11 -; libsrc/apple/fileio.pla: 0177: end -; libsrc/apple/fileio.pla: 0178: def a1getmark(refnum)#2 - ; refnum -> [0] -_C016 ; a1getmark() -; libsrc/apple/fileio.pla: 0179: return 0, 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0180: end -; libsrc/apple/fileio.pla: 0181: def a23getmark(refnum)#2 - ; refnum -> [0] -_P018 ; a23getmark(refnum)#2() -_C017 ; a23getmark() -; libsrc/apple/fileio.pla: 0182: byte params[5] - ; params -> [2] -; libsrc/apple/fileio.pla: 0183: -; libsrc/apple/fileio.pla: 0184: params.0 = 2 - !BYTE $58,$07,$01 ; ENTER 7,1 -; libsrc/apple/fileio.pla: 0185: params.1 = refnum -; libsrc/apple/fileio.pla: 0186: params:2 = 0 -; libsrc/apple/fileio.pla: 0187: params.4 = 0 -; libsrc/apple/fileio.pla: 0188: syscall($CF, @params) -; libsrc/apple/fileio.pla: 0189: return params:2, params.4 - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $2A,$CF ; CB 207 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F047 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0190: end -; libsrc/apple/fileio.pla: 0191: def a1setmark(refnum, eofl, eofh) - ; refnum -> [0] - ; eofl -> [2] - ; eofh -> [4] -_C018 ; a1setmark() -; libsrc/apple/fileio.pla: 0192: return -1 - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0193: end -; libsrc/apple/fileio.pla: 0194: def a23setmark(refnum, eofl, eofh) - ; refnum -> [0] - ; eofl -> [2] - ; eofh -> [4] -_P019 ; a23setmark(refnum, eofl, eofh)() -_C019 ; a23setmark() -; libsrc/apple/fileio.pla: 0195: byte params[5] - ; params -> [6] -; libsrc/apple/fileio.pla: 0196: -; libsrc/apple/fileio.pla: 0197: params.0 = 2 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; libsrc/apple/fileio.pla: 0198: params.1 = refnum -; libsrc/apple/fileio.pla: 0199: params:2 = eofl -; libsrc/apple/fileio.pla: 0200: params.4 = eofh -; libsrc/apple/fileio.pla: 0201: perr = syscall($CE, @params) -; libsrc/apple/fileio.pla: 0202: return perr - !BYTE $04 ; CN 2 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$0A ; SLB [10] - !BYTE $2A,$CE ; CB 206 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F048 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F049 !WORD _D049+0 - !BYTE $5A,$0B ; LEAVE 11 -; libsrc/apple/fileio.pla: 0203: end -; libsrc/apple/fileio.pla: 0204: def a1open(path) - ; path -> [0] -_C020 ; a1open() -; libsrc/apple/fileio.pla: 0205: *CFFA1FileName = path - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/fileio.pla: 0206: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A,$02,$00 ; SAW 2 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0207: end -; libsrc/apple/fileio.pla: 0208: def a2iobufs(iobufs) - ; iobufs -> [0] -_P006 ; a2iobufs(iobufs)() -_C021 ; a2iobufs() -; libsrc/apple/fileio.pla: 0209: byte i - ; i -> [2] -; libsrc/apple/fileio.pla: 0210: word freebuf, bufaddr - ; freebuf -> [3] - ; bufaddr -> [5] -; libsrc/apple/fileio.pla: 0211: -; libsrc/apple/fileio.pla: 0212: if iobufs > MAX_IOBUFS - !BYTE $58,$07,$01 ; ENTER 7,1 -; libsrc/apple/fileio.pla: 0213: iobufs = MAX_IOBUFS -; libsrc/apple/fileio.pla: 0214: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $08 ; CN 4 - !BYTE $76,$00 ; SLW [0] -_B009 -_B010 -; libsrc/apple/fileio.pla: 0215: if iobufs -; libsrc/apple/fileio.pla: 0216: iobufs-- // Subtract off system I/O buffer - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/fileio.pla: 0217: if iobufs -; libsrc/apple/fileio.pla: 0218: bufaddr = heapallocalign(1024 * iobufs, 8, @freebuf) -; libsrc/apple/fileio.pla: 0219: for i = 1 to MAX_IOBUFS-1 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $66,$00 ; LLW [0] - !BYTE $86 ; MUL - !BYTE $10 ; CN 8 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _X013 -_F050 !WORD 0 - !BYTE $76,$05 ; SLW [5] - !BYTE $06 ; CN 3 - !BYTE $02 ; CN 1 -_B016 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0220: if not iobuf_addr[i] -; libsrc/apple/fileio.pla: 0221: iobuf_addr[i] = bufaddr -; libsrc/apple/fileio.pla: 0222: bufaddr = bufaddr + 1024 -; libsrc/apple/fileio.pla: 0223: iobufs-- - !BYTE $26 ; LA _D051+0 -_F051 !WORD _D051+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* - !BYTE $66,$05 ; LLW [5] - !BYTE $26 ; LA _D051+0 -_F052 !WORD _D051+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $82 ; ADD - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; libsrc/apple/fileio.pla: 0224: if not iobufs -; libsrc/apple/fileio.pla: 0225: return freebuf - !BYTE $6E,$00 ; DLW [0] - !BYTE $4E ; BRTRU _B020 - !WORD _B020-* - !BYTE $32 ; DROP2 - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0226: fin -_B020 -_B021 -; libsrc/apple/fileio.pla: 0227: fin -_B018 -_B019 -; libsrc/apple/fileio.pla: 0228: next -_B017 - !BYTE $A4 ; INCBRLE _B016 - !WORD _B016-* -_B015 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0229: return freebuf - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0230: fin -_B013 -_B014 -; libsrc/apple/fileio.pla: 0231: else - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B011 -; libsrc/apple/fileio.pla: 0232: for i = 1 to MAX_IOBUFS-1 - !BYTE $06 ; CN 3 - !BYTE $02 ; CN 1 -_B023 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0233: iobuf_addr[i] = 0 // Free I/O buffers if 0 passed in -; libsrc/apple/fileio.pla: 0234: next - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D051+0 -_F053 !WORD _D051+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $72 ; SW -_B024 - !BYTE $A4 ; INCBRLE _B023 - !WORD _B023-* -_B022 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0235: fin -_B012 -; libsrc/apple/fileio.pla: 0236: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/fileio.pla: 0237: end -; libsrc/apple/fileio.pla: 0238: def a13iobufs(iobufs) - ; iobufs -> [0] -_C022 ; a13iobufs() -; libsrc/apple/fileio.pla: 0239: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0240: end -; libsrc/apple/fileio.pla: 0241: def a2open(path) - ; path -> [0] -_P007 ; a2open(path)() -_C023 ; a2open() -; libsrc/apple/fileio.pla: 0242: byte i, params[6] - ; i -> [2] - ; params -> [3] -; libsrc/apple/fileio.pla: 0243: -; libsrc/apple/fileio.pla: 0244: for i = MAX_IOBUFS-1 downto 0 - !BYTE $58,$09,$01 ; ENTER 9,1 - !BYTE $00 ; CN 0 - !BYTE $06 ; CN 3 -_B026 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0245: if iobuf_addr[i] and not iobuf_ref[i] -; libsrc/apple/fileio.pla: 0246: params.0 = 3 -; libsrc/apple/fileio.pla: 0247: params:1 = path -; libsrc/apple/fileio.pla: 0248: params:3 = iobuf_addr[i] -; libsrc/apple/fileio.pla: 0249: params.5 = 0 -; libsrc/apple/fileio.pla: 0250: perr = syscall($C8, @params) -; libsrc/apple/fileio.pla: 0251: iobuf_ref[i] = params.5 -; libsrc/apple/fileio.pla: 0252: return params.5 - !BYTE $26 ; LA _D051+0 -_F054 !WORD _D051+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $26 ; LA _D050+0 -_F055 !WORD _D050+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $80 ; NOT -_B028 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $06 ; CN 3 - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $26 ; LA _D051+0 -_F056 !WORD _D051+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $2A,$C8 ; CB 200 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _X011 -_F057 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F058 !WORD _D049+0 - !BYTE $64,$08 ; LLB [8] - !BYTE $26 ; LA _D050+0 -_F059 !WORD _D050+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB - !BYTE $32 ; DROP2 - !BYTE $64,$08 ; LLB [8] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0253: fin -_B029 -_B030 -; libsrc/apple/fileio.pla: 0254: next -_B027 - !BYTE $A8 ; DECBRGE _B026 - !WORD _B026-* -_B025 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0255: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0256: end -; libsrc/apple/fileio.pla: 0257: def a3open(path) - ; path -> [0] -_C024 ; a3open() -; libsrc/apple/fileio.pla: 0258: byte params[7] - ; params -> [2] -; libsrc/apple/fileio.pla: 0259: -; libsrc/apple/fileio.pla: 0260: params.0 = 4 - !BYTE $58,$09,$01 ; ENTER 9,1 -; libsrc/apple/fileio.pla: 0261: params:1 = path -; libsrc/apple/fileio.pla: 0262: params.3 = 0 -; libsrc/apple/fileio.pla: 0263: params:4 = 0 -; libsrc/apple/fileio.pla: 0264: params.6 = 0 -; libsrc/apple/fileio.pla: 0265: perr = syscall($C8, @params) -; libsrc/apple/fileio.pla: 0266: return params.3 - !BYTE $08 ; CN 4 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $2A,$C8 ; CB 200 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F060 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F061 !WORD _D049+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0267: end -; libsrc/apple/fileio.pla: 0268: def a1close(refnum) - ; refnum -> [0] -_C025 ; a1close() -; libsrc/apple/fileio.pla: 0269: return perr - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $68 ; LAB _D049+0 -_F062 !WORD _D049+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0270: end -; libsrc/apple/fileio.pla: 0271: def a2close(refnum) - ; refnum -> [0] -_P008 ; a2close(refnum)() -_C026 ; a2close() -; libsrc/apple/fileio.pla: 0272: byte i, params[2] - ; i -> [2] - ; params -> [3] -; libsrc/apple/fileio.pla: 0273: -; libsrc/apple/fileio.pla: 0274: for i = MAX_IOBUFS-1 downto 0 - !BYTE $58,$05,$01 ; ENTER 5,1 - !BYTE $00 ; CN 0 - !BYTE $06 ; CN 3 -_B032 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/fileio.pla: 0275: if refnum == iobuf_ref[i] -; libsrc/apple/fileio.pla: 0276: iobuf_ref[i] = 0 -; libsrc/apple/fileio.pla: 0277: params.0 = 1 -; libsrc/apple/fileio.pla: 0278: params.1 = refnum -; libsrc/apple/fileio.pla: 0279: perr = syscall($CC, @params) -; libsrc/apple/fileio.pla: 0280: return perr - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D050+0 -_F063 !WORD _D050+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B034 - !WORD _B034-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D050+0 -_F064 !WORD _D050+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$04 ; SLB [4] - !BYTE $2A,$CC ; CB 204 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _X011 -_F065 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F066 !WORD _D049+0 - !BYTE $32 ; DROP2 - !BYTE $68 ; LAB _D049+0 -_F067 !WORD _D049+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0281: fin -_B034 -_B035 -; libsrc/apple/fileio.pla: 0282: next -_B033 - !BYTE $A8 ; DECBRGE _B032 - !WORD _B032-* -_B031 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0283: perr = $45 -; libsrc/apple/fileio.pla: 0284: return perr - !BYTE $2A,$45 ; CB 69 - !BYTE $7C ; DAB _D049+0 -_F068 !WORD _D049+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0285: end -; libsrc/apple/fileio.pla: 0286: def a3close(refnum) - ; refnum -> [0] -_C027 ; a3close() -; libsrc/apple/fileio.pla: 0287: byte params[2] - ; params -> [2] -; libsrc/apple/fileio.pla: 0288: -; libsrc/apple/fileio.pla: 0289: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/apple/fileio.pla: 0290: params.1 = refnum -; libsrc/apple/fileio.pla: 0291: perr = syscall($CC, @params) -; libsrc/apple/fileio.pla: 0292: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$CC ; CB 204 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F069 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F070 !WORD _D049+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0293: end -; libsrc/apple/fileio.pla: 0294: def a1read(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_C028 ; a1read() -; libsrc/apple/fileio.pla: 0295: *CFFA1Dest = buf - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/fileio.pla: 0296: perr = syscall($22, 0) // This reads the entire file from CFFA -; libsrc/apple/fileio.pla: 0297: return perr - !BYTE $66,$02 ; LLW [2] - !BYTE $7A,$00,$00 ; SAW 0 - !BYTE $2A,$22 ; CB 34 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X011 -_F071 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F072 !WORD _D049+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0298: end -; libsrc/apple/fileio.pla: 0299: def a23read(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_P009 ; a23read(refnum, buf, len)() -_C029 ; a23read() -; libsrc/apple/fileio.pla: 0300: byte params[8] - ; params -> [6] -; libsrc/apple/fileio.pla: 0301: -; libsrc/apple/fileio.pla: 0302: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; libsrc/apple/fileio.pla: 0303: params.1 = refnum -; libsrc/apple/fileio.pla: 0304: params:2 = buf -; libsrc/apple/fileio.pla: 0305: params:4 = len -; libsrc/apple/fileio.pla: 0306: params:6 = 0 -; libsrc/apple/fileio.pla: 0307: perr = syscall($CA, @params) -; libsrc/apple/fileio.pla: 0308: return params:6 - !BYTE $08 ; CN 4 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$CA ; CB 202 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F073 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F074 !WORD _D049+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/fileio.pla: 0309: end -; libsrc/apple/fileio.pla: 0310: def a1write(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_C030 ; a1write() -; libsrc/apple/fileio.pla: 0311: return perr - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $68 ; LAB _D049+0 -_F075 !WORD _D049+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0312: end -; libsrc/apple/fileio.pla: 0313: def a2write(refnum, buf, len) - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_P010 ; a2write(refnum, buf, len)() -_C031 ; a2write() -; libsrc/apple/fileio.pla: 0314: byte params[8] - ; params -> [6] -; libsrc/apple/fileio.pla: 0315: -; libsrc/apple/fileio.pla: 0316: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; libsrc/apple/fileio.pla: 0317: params.1 = refnum -; libsrc/apple/fileio.pla: 0318: params:2 = buf -; libsrc/apple/fileio.pla: 0319: params:4 = len -; libsrc/apple/fileio.pla: 0320: params:6 = 0 -; libsrc/apple/fileio.pla: 0321: perr = syscall($CB, @params) -; libsrc/apple/fileio.pla: 0322: return params:6 - !BYTE $08 ; CN 4 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F076 !WORD 0 - !BYTE $78 ; SAB _D049+0 -_F077 !WORD _D049+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/fileio.pla: 0323: end -; libsrc/apple/fileio.pla: 0324: def a3write(refnum, buff, len) - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_C032 ; a3write() -; libsrc/apple/fileio.pla: 0325: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0326: -; libsrc/apple/fileio.pla: 0327: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; libsrc/apple/fileio.pla: 0328: params.1 = refnum -; libsrc/apple/fileio.pla: 0329: params:2 = buff -; libsrc/apple/fileio.pla: 0330: params:4 = len -; libsrc/apple/fileio.pla: 0331: perr = syscall($CB, @params) -; libsrc/apple/fileio.pla: 0332: return perr ?? 0 :: len - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F078 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F079 !WORD _D049+0 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B036 - !BYTE $66,$04 ; LLW [4] -_B037 - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/fileio.pla: 0333: end -; libsrc/apple/fileio.pla: 0334: def a1create(path, type, aux) - ; path -> [0] - ; type -> [2] - ; aux -> [4] -_C033 ; a1create() -; libsrc/apple/fileio.pla: 0335: return perr - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $68 ; LAB _D049+0 -_F080 !WORD _D049+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0336: end -; libsrc/apple/fileio.pla: 0337: def a2create(path, type, aux) - ; path -> [0] - ; type -> [2] - ; aux -> [4] -_P011 ; a2create(path, type, aux)() -_C034 ; a2create() -; libsrc/apple/fileio.pla: 0338: byte params[12] - ; params -> [6] -; libsrc/apple/fileio.pla: 0339: -; libsrc/apple/fileio.pla: 0340: params.0 = 7 - !BYTE $58,$12,$03 ; ENTER 18,3 -; libsrc/apple/fileio.pla: 0341: params:1 = path -; libsrc/apple/fileio.pla: 0342: params.3 = $C3 -; libsrc/apple/fileio.pla: 0343: params.4 = type -; libsrc/apple/fileio.pla: 0344: params:5 = aux -; libsrc/apple/fileio.pla: 0345: params.7 = type == $0F ?? $0D :: $01 -; libsrc/apple/fileio.pla: 0346: params:8 = 0 -; libsrc/apple/fileio.pla: 0347: params:10 = 0 -; libsrc/apple/fileio.pla: 0348: perr = syscall($C0, @params) -; libsrc/apple/fileio.pla: 0349: return perr - !BYTE $0E ; CN 7 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$07 ; SLW [7] - !BYTE $2A,$C3 ; CB 195 - !BYTE $74,$09 ; SLB [9] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$0A ; SLB [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$02 ; LLW [2] - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B038 - !WORD _B038-* - !BYTE $1A ; CN 13 - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -_B038 - !BYTE $02 ; CN 1 -_B039 - !BYTE $74,$0D ; SLB [13] - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $2A,$C0 ; CB 192 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F081 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F082 !WORD _D049+0 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/fileio.pla: 0350: end -; libsrc/apple/fileio.pla: 0351: def a3create(path, type, aux) - ; path -> [0] - ; type -> [2] - ; aux -> [4] -_C035 ; a3create() -; libsrc/apple/fileio.pla: 0352: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0353: byte options[4] - ; options -> [12] -; libsrc/apple/fileio.pla: 0354: -; libsrc/apple/fileio.pla: 0355: params.0 = 3 - !BYTE $58,$10,$03 ; ENTER 16,3 -; libsrc/apple/fileio.pla: 0356: params:1 = path -; libsrc/apple/fileio.pla: 0357: params:3 = @options -; libsrc/apple/fileio.pla: 0358: params.5 = 4 -; libsrc/apple/fileio.pla: 0359: options.0 = type -; libsrc/apple/fileio.pla: 0360: options:1 = aux -; libsrc/apple/fileio.pla: 0361: options.3 = type == $0F ?? $0D :: $01 -; libsrc/apple/fileio.pla: 0362: perr = syscall($C0, @params) -; libsrc/apple/fileio.pla: 0363: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$07 ; SLW [7] - !BYTE $28,$0C ; LLA [12] - !BYTE $76,$09 ; SLW [9] - !BYTE $08 ; CN 4 - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$0C ; SLB [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0D ; SLW [13] - !BYTE $66,$02 ; LLW [2] - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B040 - !WORD _B040-* - !BYTE $1A ; CN 13 - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B040 - !BYTE $02 ; CN 1 -_B041 - !BYTE $74,$0F ; SLB [15] - !BYTE $2A,$C0 ; CB 192 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F083 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F084 !WORD _D049+0 - !BYTE $5A,$10 ; LEAVE 16 -; libsrc/apple/fileio.pla: 0364: end -; libsrc/apple/fileio.pla: 0365: def a1destroy(path) - ; path -> [0] -_C036 ; a1destroy() -; libsrc/apple/fileio.pla: 0366: perr = $01 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/fileio.pla: 0367: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D049+0 -_F085 !WORD _D049+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/fileio.pla: 0368: end -; libsrc/apple/fileio.pla: 0369: def a23destroy(path) - ; path -> [0] -_P012 ; a23destroy(path)() -_C037 ; a23destroy() -; libsrc/apple/fileio.pla: 0370: byte params[3] - ; params -> [2] -; libsrc/apple/fileio.pla: 0371: -; libsrc/apple/fileio.pla: 0372: params.0 = 1 - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/fileio.pla: 0373: params:1 = path -; libsrc/apple/fileio.pla: 0374: perr = syscall($C1, @params) -; libsrc/apple/fileio.pla: 0375: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$C1 ; CB 193 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F086 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F087 !WORD _D049+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/fileio.pla: 0376: end -; libsrc/apple/fileio.pla: 0377: def a1rename(oldpath, newpath) - ; oldpath -> [0] - ; newpath -> [2] -_C038 ; a1rename() -; libsrc/apple/fileio.pla: 0378: perr = $01 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0379: return perr - !BYTE $02 ; CN 1 - !BYTE $7C ; DAB _D049+0 -_F088 !WORD _D049+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0380: end -; libsrc/apple/fileio.pla: 0381: def a23rename(path, newpath) - ; path -> [0] - ; newpath -> [2] -_P013 ; a23rename(path, newpath)() -_C039 ; a23rename() -; libsrc/apple/fileio.pla: 0382: byte params[5] - ; params -> [4] -; libsrc/apple/fileio.pla: 0383: -; libsrc/apple/fileio.pla: 0384: params.0 = 2 - !BYTE $58,$09,$02 ; ENTER 9,2 -; libsrc/apple/fileio.pla: 0385: params:1 = path -; libsrc/apple/fileio.pla: 0386: params:3 = newpath -; libsrc/apple/fileio.pla: 0387: perr = syscall($C2, @params) -; libsrc/apple/fileio.pla: 0388: return perr - !BYTE $04 ; CN 2 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$07 ; SLW [7] - !BYTE $2A,$C2 ; CB 194 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F089 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F090 !WORD _D049+0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/fileio.pla: 0389: end -; libsrc/apple/fileio.pla: 0390: def a1newline(refnum, emask, nlchar) - ; refnum -> [0] - ; emask -> [2] - ; nlchar -> [4] -_C040 ; a1newline() -; libsrc/apple/fileio.pla: 0391: return perr - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $68 ; LAB _D049+0 -_F091 !WORD _D049+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0392: end -; libsrc/apple/fileio.pla: 0393: def a2newline(refnum, emask, nlchar) - ; refnum -> [0] - ; emask -> [2] - ; nlchar -> [4] -_P014 ; a2newline(refnum, emask, nlchar)() -_C041 ; a2newline() -; libsrc/apple/fileio.pla: 0394: byte params[4] - ; params -> [6] -; libsrc/apple/fileio.pla: 0395: -; libsrc/apple/fileio.pla: 0396: params.0 = 3 - !BYTE $58,$0A,$03 ; ENTER 10,3 -; libsrc/apple/fileio.pla: 0397: params.1 = refnum -; libsrc/apple/fileio.pla: 0398: params.2 = emask -; libsrc/apple/fileio.pla: 0399: params.3 = nlchar -; libsrc/apple/fileio.pla: 0400: perr = syscall($C9, @params) -; libsrc/apple/fileio.pla: 0401: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$09 ; SLB [9] - !BYTE $2A,$C9 ; CB 201 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F092 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F093 !WORD _D049+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0402: end -; libsrc/apple/fileio.pla: 0403: def a3newline(refnum, emask, nlchar) - ; refnum -> [0] - ; emask -> [2] - ; nlchar -> [4] -_C042 ; a3newline() -; libsrc/apple/fileio.pla: 0404: byte params[4] - ; params -> [6] -; libsrc/apple/fileio.pla: 0405: -; libsrc/apple/fileio.pla: 0406: params.0 = 3 - !BYTE $58,$0A,$03 ; ENTER 10,3 -; libsrc/apple/fileio.pla: 0407: params.1 = refnum -; libsrc/apple/fileio.pla: 0408: params.2 = emask ?? $FF :: $00 -; libsrc/apple/fileio.pla: 0409: params.3 = nlchar -; libsrc/apple/fileio.pla: 0410: perr = syscall($C9, @params) -; libsrc/apple/fileio.pla: 0411: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $2A,$FF ; CB 255 - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B042 - !BYTE $00 ; CN 0 -_B043 - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$09 ; SLB [9] - !BYTE $2A,$C9 ; CB 201 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F094 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F095 !WORD _D049+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/fileio.pla: 0412: end -; libsrc/apple/fileio.pla: 0413: def a1online(unit, buf) - ; unit -> [0] - ; buf -> [2] -_C043 ; a1online() -; libsrc/apple/fileio.pla: 0414: perr = $27 // IOERR - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/fileio.pla: 0415: return perr - !BYTE $2A,$27 ; CB 39 - !BYTE $7C ; DAB _D049+0 -_F096 !WORD _D049+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/fileio.pla: 0416: end -; libsrc/apple/fileio.pla: 0417: def a2online(unit, buf) - ; unit -> [0] - ; buf -> [2] -_P015 ; a2online(unit, buf)() -_C044 ; a2online() -; libsrc/apple/fileio.pla: 0418: byte params[4] - ; params -> [4] -; libsrc/apple/fileio.pla: 0419: -; libsrc/apple/fileio.pla: 0420: params.0 = 2 - !BYTE $58,$08,$02 ; ENTER 8,2 -; libsrc/apple/fileio.pla: 0421: params.1 = unit -; libsrc/apple/fileio.pla: 0422: params:2 = buf -; libsrc/apple/fileio.pla: 0423: perr = syscall($C5, @params) -; libsrc/apple/fileio.pla: 0424: return perr - !BYTE $04 ; CN 2 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F097 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F098 !WORD _D049+0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/fileio.pla: 0425: end -; libsrc/apple/fileio.pla: 0426: def a3volume(unit, volname) - ; unit -> [0] - ; volname -> [2] -_C045 ; a3volume() -; libsrc/apple/fileio.pla: 0427: byte devname[17] - ; devname -> [4] -; libsrc/apple/fileio.pla: 0428: byte info[11] - ; info -> [21] -; libsrc/apple/fileio.pla: 0429: byte params[9] - ; params -> [32] -; libsrc/apple/fileio.pla: 0430: -; libsrc/apple/fileio.pla: 0431: ^volname = 0 - !BYTE $58,$29,$02 ; ENTER 41,2 -; libsrc/apple/fileio.pla: 0432: params.0 = 4 -; libsrc/apple/fileio.pla: 0433: params.1 = unit -; libsrc/apple/fileio.pla: 0434: params:2 = @devname -; libsrc/apple/fileio.pla: 0435: params:4 = @info -; libsrc/apple/fileio.pla: 0436: params.6 = 11 -; libsrc/apple/fileio.pla: 0437: if syscall($85, @params) == 0 -; libsrc/apple/fileio.pla: 0438: params.0 = 4 -; libsrc/apple/fileio.pla: 0439: params:1 = @devname -; libsrc/apple/fileio.pla: 0440: params:3 = volname -; libsrc/apple/fileio.pla: 0441: params:5 = 0 -; libsrc/apple/fileio.pla: 0442: params:7 = 0 -; libsrc/apple/fileio.pla: 0443: return syscall($C5, @params) - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $74,$20 ; SLB [32] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$21 ; SLB [33] - !BYTE $28,$04 ; LLA [4] - !BYTE $76,$22 ; SLW [34] - !BYTE $28,$15 ; LLA [21] - !BYTE $76,$24 ; SLW [36] - !BYTE $16 ; CN 11 - !BYTE $74,$26 ; SLB [38] - !BYTE $2A,$85 ; CB 133 - !BYTE $28,$20 ; LLA [32] - !BYTE $54 ; CALL _X011 -_F099 !WORD 0 - !BYTE $4E ; BRTRU _B044 - !WORD _B044-* - !BYTE $08 ; CN 4 - !BYTE $74,$20 ; SLB [32] - !BYTE $28,$04 ; LLA [4] - !BYTE $76,$21 ; SLW [33] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$23 ; SLW [35] - !BYTE $00 ; CN 0 - !BYTE $76,$25 ; SLW [37] - !BYTE $00 ; CN 0 - !BYTE $76,$27 ; SLW [39] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$20 ; LLA [32] - !BYTE $54 ; CALL _X011 -_F100 !WORD 0 - !BYTE $5A,$29 ; LEAVE 41 -; libsrc/apple/fileio.pla: 0444: fin -_B044 -_B045 -; libsrc/apple/fileio.pla: 0445: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$29 ; LEAVE 41 -; libsrc/apple/fileio.pla: 0446: end -; libsrc/apple/fileio.pla: 0447: def a3online(unit, buf) - ; unit -> [0] - ; buf -> [2] -_C046 ; a3online() -; libsrc/apple/fileio.pla: 0448: byte info[11] - ; info -> [4] -; libsrc/apple/fileio.pla: 0449: byte volname[17] - ; volname -> [15] -; libsrc/apple/fileio.pla: 0450: byte i - ; i -> [32] -; libsrc/apple/fileio.pla: 0451: -; libsrc/apple/fileio.pla: 0452: if unit == 0 - !BYTE $58,$21,$02 ; ENTER 33,2 -; libsrc/apple/fileio.pla: 0453: for i = $01 to $0F - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* - !BYTE $1E ; CN 15 - !BYTE $02 ; CN 1 -_B049 - !BYTE $6C,$20 ; DLB [32] -; libsrc/apple/fileio.pla: 0454: if a3volume(i, buf) == 0 -; libsrc/apple/fileio.pla: 0455: ^buf = ^buf | (i << 4) -; libsrc/apple/fileio.pla: 0456: fin - !BYTE $64,$20 ; LLB [32] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C045 -_F101 !WORD _C045 - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $64,$20 ; LLB [32] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB -_B051 -_B052 -; libsrc/apple/fileio.pla: 0457: buf = buf + 16 -; libsrc/apple/fileio.pla: 0458: next - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] -_B050 - !BYTE $A4 ; INCBRLE _B049 - !WORD _B049-* -_B048 - !BYTE $74,$20 ; SLB [32] - !BYTE $30 ; DROP -; libsrc/apple/fileio.pla: 0459: else - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 -; libsrc/apple/fileio.pla: 0460: return a3volume(unit, buf) - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C045 -_F102 !WORD _C045 - !BYTE $5A,$21 ; LEAVE 33 -; libsrc/apple/fileio.pla: 0461: fin -_B047 -; libsrc/apple/fileio.pla: 0462: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$21 ; LEAVE 33 -; libsrc/apple/fileio.pla: 0463: end -; libsrc/apple/fileio.pla: 0464: def a13readblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_C047 ; a13readblock() -; libsrc/apple/fileio.pla: 0465: perr = $27 // IOERR - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/fileio.pla: 0466: return perr - !BYTE $2A,$27 ; CB 39 - !BYTE $7C ; DAB _D049+0 -_F103 !WORD _D049+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0467: end -; libsrc/apple/fileio.pla: 0468: def a2readblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_P016 ; a2readblock(unit, buf, block)() -_C048 ; a2readblock() -; libsrc/apple/fileio.pla: 0469: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0470: -; libsrc/apple/fileio.pla: 0471: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; libsrc/apple/fileio.pla: 0472: params.1 = unit -; libsrc/apple/fileio.pla: 0473: params:2 = buf -; libsrc/apple/fileio.pla: 0474: params:4 = block -; libsrc/apple/fileio.pla: 0475: perr = syscall($80, @params) -; libsrc/apple/fileio.pla: 0476: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $2A,$80 ; CB 128 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F104 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F105 !WORD _D049+0 - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/fileio.pla: 0477: end -; libsrc/apple/fileio.pla: 0478: def a13writeblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_C049 ; a13writeblock() -; libsrc/apple/fileio.pla: 0479: perr = $27 // IOERR - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/fileio.pla: 0480: return perr - !BYTE $2A,$27 ; CB 39 - !BYTE $7C ; DAB _D049+0 -_F106 !WORD _D049+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/fileio.pla: 0481: end -; libsrc/apple/fileio.pla: 0482: def a2writeblock(unit, buf, block) - ; unit -> [0] - ; buf -> [2] - ; block -> [4] -_P017 ; a2writeblock(unit, buf, block)() -_C050 ; a2writeblock() -; libsrc/apple/fileio.pla: 0483: byte params[6] - ; params -> [6] -; libsrc/apple/fileio.pla: 0484: -; libsrc/apple/fileio.pla: 0485: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; libsrc/apple/fileio.pla: 0486: params.1 = unit -; libsrc/apple/fileio.pla: 0487: params:2 = buf -; libsrc/apple/fileio.pla: 0488: params:4 = block -; libsrc/apple/fileio.pla: 0489: perr = syscall($81, @params) -; libsrc/apple/fileio.pla: 0490: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $2A,$81 ; CB 129 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X011 -_F107 !WORD 0 - !BYTE $7C ; DAB _D049+0 -_F108 !WORD _D049+0 - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/fileio.pla: 0491: end -; libsrc/apple/fileio.pla: 0492: // -; libsrc/apple/fileio.pla: 0493: // Machine specific initialization. -; libsrc/apple/fileio.pla: 0494: // -; libsrc/apple/fileio.pla: 0495: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F109 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B054-* -; libsrc/apple/fileio.pla: 0496: is MACHID_III -_B055 -; libsrc/apple/fileio.pla: 0497: fileio:getpfx = @a3getpfx -; libsrc/apple/fileio.pla: 0498: fileio:setpfx = @a3setpfx -; libsrc/apple/fileio.pla: 0499: fileio:getfileinfo = @a3getfileinfo -; libsrc/apple/fileio.pla: 0500: fileio:setfileinfo = @a3setfileinfo -; libsrc/apple/fileio.pla: 0501: fileio:iobufalloc = @a13iobufs -; libsrc/apple/fileio.pla: 0502: fileio:open = @a3open -; libsrc/apple/fileio.pla: 0503: fileio:close = @a3close -; libsrc/apple/fileio.pla: 0504: fileio:write = @a3write -; libsrc/apple/fileio.pla: 0505: fileio:create = @a3create -; libsrc/apple/fileio.pla: 0506: fileio:newline = @a3newline -; libsrc/apple/fileio.pla: 0507: fileio:online = @a3online -; libsrc/apple/fileio.pla: 0508: fileio:readblock = @a13readblock -; libsrc/apple/fileio.pla: 0509: fileio:writeblock = @a13writeblock -; libsrc/apple/fileio.pla: 0510: break - !BYTE $26 ; LA _C002+0 -_F110 !WORD _C002+0 - !BYTE $7A ; SAW _D048+0 -_F111 !WORD _D048+0 - !BYTE $26 ; LA _C005+0 -_F112 !WORD _C005+0 - !BYTE $7A ; SAW _D048+2 -_F113 !WORD _D048+2 - !BYTE $26 ; LA _C008+0 -_F114 !WORD _C008+0 - !BYTE $7A ; SAW _D048+4 -_F115 !WORD _D048+4 - !BYTE $26 ; LA _C011+0 -_F116 !WORD _C011+0 - !BYTE $7A ; SAW _D048+6 -_F117 !WORD _D048+6 - !BYTE $26 ; LA _C022+0 -_F118 !WORD _C022+0 - !BYTE $7A ; SAW _D048+12 -_F119 !WORD _D048+12 - !BYTE $26 ; LA _C024+0 -_F120 !WORD _C024+0 - !BYTE $7A ; SAW _D048+14 -_F121 !WORD _D048+14 - !BYTE $26 ; LA _C027+0 -_F122 !WORD _C027+0 - !BYTE $7A ; SAW _D048+16 -_F123 !WORD _D048+16 - !BYTE $26 ; LA _C032+0 -_F124 !WORD _C032+0 - !BYTE $7A ; SAW _D048+20 -_F125 !WORD _D048+20 - !BYTE $26 ; LA _C035+0 -_F126 !WORD _C035+0 - !BYTE $7A ; SAW _D048+22 -_F127 !WORD _D048+22 - !BYTE $26 ; LA _C042+0 -_F128 !WORD _C042+0 - !BYTE $7A ; SAW _D048+28 -_F129 !WORD _D048+28 - !BYTE $26 ; LA _C046+0 -_F130 !WORD _C046+0 - !BYTE $7A ; SAW _D048+30 -_F131 !WORD _D048+30 - !BYTE $26 ; LA _C047+0 -_F132 !WORD _C047+0 - !BYTE $7A ; SAW _D048+32 -_F133 !WORD _D048+32 - !BYTE $26 ; LA _C049+0 -_F134 !WORD _C049+0 - !BYTE $7A ; SAW _D048+34 -_F135 !WORD _D048+34 - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -; libsrc/apple/fileio.pla: 0511: is MACHID_I -_B056 -; libsrc/apple/fileio.pla: 0512: fileio:getpfx = @a1getpfx -; libsrc/apple/fileio.pla: 0513: fileio:setpfx = @a1setpfx -; libsrc/apple/fileio.pla: 0514: fileio:getfileinfo = @a1getfileinfo -; libsrc/apple/fileio.pla: 0515: fileio:setfileinfo = @a1setfileinfo -; libsrc/apple/fileio.pla: 0516: fileio:geteof = @a1geteof -; libsrc/apple/fileio.pla: 0517: fileio:seteof = @a1seteof -; libsrc/apple/fileio.pla: 0518: fileio:getmark = @a1getmark -; libsrc/apple/fileio.pla: 0519: fileio:setmark = @a1setmark -; libsrc/apple/fileio.pla: 0520: fileio:iobufalloc = @a13iobufs -; libsrc/apple/fileio.pla: 0521: fileio:open = @a1open -; libsrc/apple/fileio.pla: 0522: fileio:close = @a1close -; libsrc/apple/fileio.pla: 0523: fileio:read = @a1read -; libsrc/apple/fileio.pla: 0524: fileio:write = @a1write -; libsrc/apple/fileio.pla: 0525: fileio:create = @a1create -; libsrc/apple/fileio.pla: 0526: fileio:destroy = @a1destroy -; libsrc/apple/fileio.pla: 0527: fileio:rename = @a1rename -; libsrc/apple/fileio.pla: 0528: fileio:newline = @a1newline -; libsrc/apple/fileio.pla: 0529: fileio:online = @a1online -; libsrc/apple/fileio.pla: 0530: fileio:readblock = @a13readblock -; libsrc/apple/fileio.pla: 0531: fileio:writeblock = @a13writeblock -; libsrc/apple/fileio.pla: 0532: break - !BYTE $26 ; LA _C000+0 -_F136 !WORD _C000+0 - !BYTE $7A ; SAW _D048+0 -_F137 !WORD _D048+0 - !BYTE $26 ; LA _C003+0 -_F138 !WORD _C003+0 - !BYTE $7A ; SAW _D048+2 -_F139 !WORD _D048+2 - !BYTE $26 ; LA _C006+0 -_F140 !WORD _C006+0 - !BYTE $7A ; SAW _D048+4 -_F141 !WORD _D048+4 - !BYTE $26 ; LA _C009+0 -_F142 !WORD _C009+0 - !BYTE $7A ; SAW _D048+6 -_F143 !WORD _D048+6 - !BYTE $26 ; LA _C012+0 -_F144 !WORD _C012+0 - !BYTE $7A ; SAW _D048+8 -_F145 !WORD _D048+8 - !BYTE $26 ; LA _C014+0 -_F146 !WORD _C014+0 - !BYTE $7A ; SAW _D048+10 -_F147 !WORD _D048+10 - !BYTE $26 ; LA _C016+0 -_F148 !WORD _C016+0 - !BYTE $7A ; SAW _D048+36 -_F149 !WORD _D048+36 - !BYTE $26 ; LA _C018+0 -_F150 !WORD _C018+0 - !BYTE $7A ; SAW _D048+38 -_F151 !WORD _D048+38 - !BYTE $26 ; LA _C022+0 -_F152 !WORD _C022+0 - !BYTE $7A ; SAW _D048+12 -_F153 !WORD _D048+12 - !BYTE $26 ; LA _C020+0 -_F154 !WORD _C020+0 - !BYTE $7A ; SAW _D048+14 -_F155 !WORD _D048+14 - !BYTE $26 ; LA _C025+0 -_F156 !WORD _C025+0 - !BYTE $7A ; SAW _D048+16 -_F157 !WORD _D048+16 - !BYTE $26 ; LA _C028+0 -_F158 !WORD _C028+0 - !BYTE $7A ; SAW _D048+18 -_F159 !WORD _D048+18 - !BYTE $26 ; LA _C030+0 -_F160 !WORD _C030+0 - !BYTE $7A ; SAW _D048+20 -_F161 !WORD _D048+20 - !BYTE $26 ; LA _C033+0 -_F162 !WORD _C033+0 - !BYTE $7A ; SAW _D048+22 -_F163 !WORD _D048+22 - !BYTE $26 ; LA _C036+0 -_F164 !WORD _C036+0 - !BYTE $7A ; SAW _D048+24 -_F165 !WORD _D048+24 - !BYTE $26 ; LA _C038+0 -_F166 !WORD _C038+0 - !BYTE $7A ; SAW _D048+26 -_F167 !WORD _D048+26 - !BYTE $26 ; LA _C040+0 -_F168 !WORD _C040+0 - !BYTE $7A ; SAW _D048+28 -_F169 !WORD _D048+28 - !BYTE $26 ; LA _C043+0 -_F170 !WORD _C043+0 - !BYTE $7A ; SAW _D048+30 -_F171 !WORD _D048+30 - !BYTE $26 ; LA _C047+0 -_F172 !WORD _C047+0 - !BYTE $7A ; SAW _D048+32 -_F173 !WORD _D048+32 - !BYTE $26 ; LA _C049+0 -_F174 !WORD _C049+0 - !BYTE $7A ; SAW _D048+34 -_F175 !WORD _D048+34 - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -; libsrc/apple/fileio.pla: 0533: otherwise // Apple ][ -_B054 - !BYTE $02 ; CASEBLOCK - !WORD $0008 - !WORD _B056-* - !WORD $00C0 - !WORD _B055-* -; libsrc/apple/fileio.pla: 0534: wend -_B053 -; libsrc/apple/fileio.pla: 0535: // -; libsrc/apple/fileio.pla: 0536: // Keep module in memory -; libsrc/apple/fileio.pla: 0537: // -; libsrc/apple/fileio.pla: 0538: return modkeep - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/fileio.pla: 0539: done -_SYSFLAGS = 0 -_DEFCNT = 52 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D049 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/grafix.a b/src/libsrc/apple/grafix.a deleted file mode 100644 index a55dc00..0000000 --- a/src/libsrc/apple/grafix.a +++ /dev/null @@ -1,1401 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/grafix.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/grafix.pla: 0001: -; libsrc/apple/grafix.pla: 0002: -; libsrc/apple/grafix.pla: 0003: byte gfxref, gfxseg - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D028 !FILL 1 ; gfxref, gfxseg -_D029 !FILL 1 ; gfxseg -; libsrc/apple/grafix.pla: 0004: byte params[8], cmd[16] -_D030 !FILL 8 ; params[8], cmd[16] -_D031 !FILL 16 ; cmd[16] -; libsrc/apple/grafix.pla: 0005: byte textmode[] = 16, 0, 15 -_D032 ; textmode[] = 16, 0, 15 - !BYTE $10 - !BYTE $00 - !BYTE $0F -; libsrc/apple/grafix.pla: 0006: -; libsrc/apple/grafix.pla: 0007: export def pencolor(clr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; clr -> [0] -_C000 ; pencolor() -; libsrc/apple/grafix.pla: 0008: params:4 = 2 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0009: cmd.0 = 19 // Pen color -; libsrc/apple/grafix.pla: 0010: cmd.1 = clr -; libsrc/apple/grafix.pla: 0011: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0012: end - !BYTE $04 ; CN 2 - !BYTE $7A ; SAW _D030+4 -_F000 !WORD _D030+4 - !BYTE $2A,$13 ; CB 19 - !BYTE $78 ; SAB _D031+0 -_F001 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D031+1 -_F002 !WORD _D031+1 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F003 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F004 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0013: -; libsrc/apple/grafix.pla: 0014: export def fillcolor(clr)#0 - ; clr -> [0] -_C001 ; fillcolor() -; libsrc/apple/grafix.pla: 0015: params:4 = 2 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0016: cmd.0 = 20 // Fill color -; libsrc/apple/grafix.pla: 0017: cmd.1 = clr -; libsrc/apple/grafix.pla: 0018: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0019: end - !BYTE $04 ; CN 2 - !BYTE $7A ; SAW _D030+4 -_F005 !WORD _D030+4 - !BYTE $2A,$14 ; CB 20 - !BYTE $78 ; SAB _D031+0 -_F006 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D031+1 -_F007 !WORD _D031+1 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F008 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F009 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0020: -; libsrc/apple/grafix.pla: 0021: export def fillscreen()#0 -_C002 ; fillscreen() -; libsrc/apple/grafix.pla: 0022: params:4 = 1 -; libsrc/apple/grafix.pla: 0023: cmd.9 = 28 // Clear viewport -; libsrc/apple/grafix.pla: 0024: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0025: end - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D030+4 -_F010 !WORD _D030+4 - !BYTE $2A,$1C ; CB 28 - !BYTE $78 ; SAB _D031+9 -_F011 !WORD _D031+9 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F012 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F013 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; libsrc/apple/grafix.pla: 0026: -; libsrc/apple/grafix.pla: 0027: export def penmove(x, y)#0 - ; x -> [0] - ; y -> [2] -_C003 ; penmove() -; libsrc/apple/grafix.pla: 0028: params:4 = 5 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/grafix.pla: 0029: cmd.0 = 26 // Move pen -; libsrc/apple/grafix.pla: 0030: cmd:1 = x -; libsrc/apple/grafix.pla: 0031: cmd:3 = y -; libsrc/apple/grafix.pla: 0032: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0033: end - !BYTE $0A ; CN 5 - !BYTE $7A ; SAW _D030+4 -_F014 !WORD _D030+4 - !BYTE $2A,$1A ; CB 26 - !BYTE $78 ; SAB _D031+0 -_F015 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F016 !WORD _D031+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+3 -_F017 !WORD _D031+3 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F018 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F019 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/grafix.pla: 0034: -; libsrc/apple/grafix.pla: 0035: export def plot(x, y)#0 - ; x -> [0] - ; y -> [2] -_C004 ; plot() -; libsrc/apple/grafix.pla: 0036: params:4 = 5 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/grafix.pla: 0037: cmd.0 = 25 // Plot -; libsrc/apple/grafix.pla: 0038: cmd:1 = x -; libsrc/apple/grafix.pla: 0039: cmd:3 = y -; libsrc/apple/grafix.pla: 0040: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0041: end - !BYTE $0A ; CN 5 - !BYTE $7A ; SAW _D030+4 -_F020 !WORD _D030+4 - !BYTE $2A,$19 ; CB 25 - !BYTE $78 ; SAB _D031+0 -_F021 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F022 !WORD _D031+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+3 -_F023 !WORD _D031+3 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F024 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F025 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/grafix.pla: 0042: -; libsrc/apple/grafix.pla: 0043: export def line(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C005 ; line() -; libsrc/apple/grafix.pla: 0044: params:4 = 10 - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/grafix.pla: 0045: cmd.0 = 26 // Move pen -; libsrc/apple/grafix.pla: 0046: cmd:1 = x1 -; libsrc/apple/grafix.pla: 0047: cmd:3 = y1 -; libsrc/apple/grafix.pla: 0048: cmd.5 = 24 // Line -; libsrc/apple/grafix.pla: 0049: cmd:6 = x2 -; libsrc/apple/grafix.pla: 0050: cmd:8 = y2 -; libsrc/apple/grafix.pla: 0051: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0052: end - !BYTE $14 ; CN 10 - !BYTE $7A ; SAW _D030+4 -_F026 !WORD _D030+4 - !BYTE $2A,$1A ; CB 26 - !BYTE $78 ; SAB _D031+0 -_F027 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F028 !WORD _D031+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+3 -_F029 !WORD _D031+3 - !BYTE $2A,$18 ; CB 24 - !BYTE $78 ; SAB _D031+5 -_F030 !WORD _D031+5 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D031+6 -_F031 !WORD _D031+6 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D031+8 -_F032 !WORD _D031+8 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F033 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F034 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/grafix.pla: 0053: -; libsrc/apple/grafix.pla: 0054: export def lineto(x, y)#0 - ; x -> [0] - ; y -> [2] -_C006 ; lineto() -; libsrc/apple/grafix.pla: 0055: params:4 = 5 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/grafix.pla: 0056: cmd.0 = 24 // Line -; libsrc/apple/grafix.pla: 0057: cmd:1 = x -; libsrc/apple/grafix.pla: 0058: cmd:3 = y -; libsrc/apple/grafix.pla: 0059: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0060: end - !BYTE $0A ; CN 5 - !BYTE $7A ; SAW _D030+4 -_F035 !WORD _D030+4 - !BYTE $2A,$18 ; CB 24 - !BYTE $78 ; SAB _D031+0 -_F036 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F037 !WORD _D031+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+3 -_F038 !WORD _D031+3 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F039 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F040 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/grafix.pla: 0061: -; libsrc/apple/grafix.pla: 0062: export def rect(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C007 ; rect() -; libsrc/apple/grafix.pla: 0063: params:4 = 10 - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/grafix.pla: 0064: cmd.0 = 26 // Move pen -; libsrc/apple/grafix.pla: 0065: cmd:1 = x1 -; libsrc/apple/grafix.pla: 0066: cmd:3 = y1 -; libsrc/apple/grafix.pla: 0067: cmd.5 = 24 // Line -; libsrc/apple/grafix.pla: 0068: cmd:6 = x2 -; libsrc/apple/grafix.pla: 0069: cmd:8 = y1 -; libsrc/apple/grafix.pla: 0070: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0071: params:4 = 15 -; libsrc/apple/grafix.pla: 0072: cmd.0 = 24 // Line -; libsrc/apple/grafix.pla: 0073: cmd:1 = x2 -; libsrc/apple/grafix.pla: 0074: cmd:3 = y2 -; libsrc/apple/grafix.pla: 0075: cmd.5 = 24 // Line -; libsrc/apple/grafix.pla: 0076: cmd:6 = x1 -; libsrc/apple/grafix.pla: 0077: cmd:8 = y2 -; libsrc/apple/grafix.pla: 0078: cmd.10 = 24 // Line -; libsrc/apple/grafix.pla: 0079: cmd:11 = x1 -; libsrc/apple/grafix.pla: 0080: cmd:13 = y1 -; libsrc/apple/grafix.pla: 0081: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0082: end - !BYTE $14 ; CN 10 - !BYTE $7A ; SAW _D030+4 -_F041 !WORD _D030+4 - !BYTE $2A,$1A ; CB 26 - !BYTE $78 ; SAB _D031+0 -_F042 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F043 !WORD _D031+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+3 -_F044 !WORD _D031+3 - !BYTE $2A,$18 ; CB 24 - !BYTE $78 ; SAB _D031+5 -_F045 !WORD _D031+5 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D031+6 -_F046 !WORD _D031+6 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+8 -_F047 !WORD _D031+8 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F048 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F049 !WORD 0 - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $7A ; SAW _D030+4 -_F050 !WORD _D030+4 - !BYTE $2A,$18 ; CB 24 - !BYTE $78 ; SAB _D031+0 -_F051 !WORD _D031+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D031+1 -_F052 !WORD _D031+1 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D031+3 -_F053 !WORD _D031+3 - !BYTE $2A,$18 ; CB 24 - !BYTE $78 ; SAB _D031+5 -_F054 !WORD _D031+5 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+6 -_F055 !WORD _D031+6 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D031+8 -_F056 !WORD _D031+8 - !BYTE $2A,$18 ; CB 24 - !BYTE $78 ; SAB _D031+10 -_F057 !WORD _D031+10 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+11 -_F058 !WORD _D031+11 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+13 -_F059 !WORD _D031+13 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F060 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F061 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/grafix.pla: 0083: -; libsrc/apple/grafix.pla: 0084: export def fillrect(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C008 ; fillrect() -; libsrc/apple/grafix.pla: 0085: params:4 = 11 - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/grafix.pla: 0086: cmd.0 = 2 // Set viewport -; libsrc/apple/grafix.pla: 0087: cmd:1 = x1 -; libsrc/apple/grafix.pla: 0088: cmd:3 = x2 -; libsrc/apple/grafix.pla: 0089: cmd:5 = y1 -; libsrc/apple/grafix.pla: 0090: cmd:7 = y2 -; libsrc/apple/grafix.pla: 0091: cmd.9 = 28 // Clear viewport -; libsrc/apple/grafix.pla: 0092: cmd.10 = 1 // Reset viewport -; libsrc/apple/grafix.pla: 0093: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0094: end - !BYTE $16 ; CN 11 - !BYTE $7A ; SAW _D030+4 -_F062 !WORD _D030+4 - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D031+0 -_F063 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F064 !WORD _D031+1 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D031+3 -_F065 !WORD _D031+3 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+5 -_F066 !WORD _D031+5 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D031+7 -_F067 !WORD _D031+7 - !BYTE $2A,$1C ; CB 28 - !BYTE $78 ; SAB _D031+9 -_F068 !WORD _D031+9 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D031+10 -_F069 !WORD _D031+10 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F070 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F071 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/grafix.pla: 0095: -; libsrc/apple/grafix.pla: 0096: export def bitblt(bits, pitch, x, y, width, height)#0 - ; bits -> [0] - ; pitch -> [2] - ; x -> [4] - ; y -> [6] - ; width -> [8] - ; height -> [10] -_C009 ; bitblt() -; libsrc/apple/grafix.pla: 0097: params:4 = 14 - !BYTE $58,$0C,$06 ; ENTER 12,6 -; libsrc/apple/grafix.pla: 0098: cmd.0 = 4 // Draw block -; libsrc/apple/grafix.pla: 0099: cmd:1 = bits -; libsrc/apple/grafix.pla: 0100: cmd.3 = ^$FFED & $8F -; libsrc/apple/grafix.pla: 0101: cmd:4 = pitch -; libsrc/apple/grafix.pla: 0102: cmd:6 = x -; libsrc/apple/grafix.pla: 0103: cmd:8 = y -; libsrc/apple/grafix.pla: 0104: cmd:10 = width -; libsrc/apple/grafix.pla: 0105: cmd:12 = height -; libsrc/apple/grafix.pla: 0106: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0107: end - !BYTE $1C ; CN 14 - !BYTE $7A ; SAW _D030+4 -_F072 !WORD _D030+4 - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D031+0 -_F073 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+1 -_F074 !WORD _D031+1 - !BYTE $68,$ED,$FF ; LAB 65517 - !BYTE $3C,$8F ; ANDI 143 - !BYTE $78 ; SAB _D031+3 -_F075 !WORD _D031+3 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D031+4 -_F076 !WORD _D031+4 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D031+6 -_F077 !WORD _D031+6 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D031+8 -_F078 !WORD _D031+8 - !BYTE $66,$08 ; LLW [8] - !BYTE $7A ; SAW _D031+10 -_F079 !WORD _D031+10 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D031+12 -_F080 !WORD _D031+12 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F081 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F082 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0C ; LEAVE 12 -; libsrc/apple/grafix.pla: 0108: -; libsrc/apple/grafix.pla: 0109: export def drawmode(mode)#0 - ; mode -> [0] -_C010 ; drawmode() -; libsrc/apple/grafix.pla: 0110: params:4 = 2 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0111: cmd.0 = 21 // Transfer mode -; libsrc/apple/grafix.pla: 0112: cmd.1 = mode -; libsrc/apple/grafix.pla: 0113: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0114: end - !BYTE $04 ; CN 2 - !BYTE $7A ; SAW _D030+4 -_F083 !WORD _D030+4 - !BYTE $2A,$15 ; CB 21 - !BYTE $78 ; SAB _D031+0 -_F084 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D031+1 -_F085 !WORD _D031+1 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F086 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F087 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0115: -; libsrc/apple/grafix.pla: 0116: def gfxopen#1 -_C011 ; gfxopen() -; libsrc/apple/grafix.pla: 0117: // -; libsrc/apple/grafix.pla: 0118: // Allocate bank 0 -; libsrc/apple/grafix.pla: 0119: // -; libsrc/apple/grafix.pla: 0120: params.0 = 4 -; libsrc/apple/grafix.pla: 0121: params:1 = $2000 -; libsrc/apple/grafix.pla: 0122: params:3 = $9F00 -; libsrc/apple/grafix.pla: 0123: params.5 = $10 -; libsrc/apple/grafix.pla: 0124: params.6 = $00 -; libsrc/apple/grafix.pla: 0125: syscall($40, @params) -; libsrc/apple/grafix.pla: 0126: gfxseg = params.6 -; libsrc/apple/grafix.pla: 0127: ^$1907 = $80 // Set graphics pages allocated -; libsrc/apple/grafix.pla: 0128: // -; libsrc/apple/grafix.pla: 0129: // Open graphics driver -; libsrc/apple/grafix.pla: 0130: // -; libsrc/apple/grafix.pla: 0131: params.0 = 4 -; libsrc/apple/grafix.pla: 0132: params:1 = ".GRAFIX" - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D030+0 -_F088 !WORD _D030+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $7A ; SAW _D030+1 -_F089 !WORD _D030+1 - !BYTE $2C,$00,$9F ; CW 40704 - !BYTE $7A ; SAW _D030+3 -_F090 !WORD _D030+3 - !BYTE $2A,$10 ; CB 16 - !BYTE $78 ; SAB _D030+5 -_F091 !WORD _D030+5 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D030+6 -_F092 !WORD _D030+6 - !BYTE $2A,$40 ; CB 64 - !BYTE $26 ; LA _D030+0 -_F093 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F094 !WORD 0 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D030+6 -_F095 !WORD _D030+6 - !BYTE $78 ; SAB _D029+0 -_F096 !WORD _D029+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $78,$07,$19 ; SAB 6407 - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D030+0 -_F097 !WORD _D030+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $2E,$47,$52,$41,$46,$49,$58 - !BYTE $7A ; SAW _D030+1 -_F098 !WORD _D030+1 -; libsrc/apple/grafix.pla: 0133: params.3 = 0 -; libsrc/apple/grafix.pla: 0134: params:4 = 0 -; libsrc/apple/grafix.pla: 0135: params.6 = 0 -; libsrc/apple/grafix.pla: 0136: syscall($C8, @params) -; libsrc/apple/grafix.pla: 0137: gfxref = params.3 -; libsrc/apple/grafix.pla: 0138: return gfxref <> 0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D030+3 -_F099 !WORD _D030+3 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D030+4 -_F100 !WORD _D030+4 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D030+6 -_F101 !WORD _D030+6 - !BYTE $2A,$C8 ; CB 200 - !BYTE $26 ; LA _D030+0 -_F102 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F103 !WORD 0 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D030+3 -_F104 !WORD _D030+3 - !BYTE $7C ; DAB _D028+0 -_F105 !WORD _D028+0 - !BYTE $5C ; RET -; libsrc/apple/grafix.pla: 0139: end -; libsrc/apple/grafix.pla: 0140: -; libsrc/apple/grafix.pla: 0141: export def setmode(mode)#0 - ; mode -> [0] -_C012 ; setmode() -; libsrc/apple/grafix.pla: 0142: if mode < 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grafix.pla: 0143: // -; libsrc/apple/grafix.pla: 0144: // Free driver -; libsrc/apple/grafix.pla: 0145: // -; libsrc/apple/grafix.pla: 0146: params.0 = 1 -; libsrc/apple/grafix.pla: 0147: params.1 = gfxref -; libsrc/apple/grafix.pla: 0148: syscall($CC, @params) -; libsrc/apple/grafix.pla: 0149: gfxref = 0 -; libsrc/apple/grafix.pla: 0150: // -; libsrc/apple/grafix.pla: 0151: // Deallocate bank 0 -; libsrc/apple/grafix.pla: 0152: // -; libsrc/apple/grafix.pla: 0153: params.0 = 1 -; libsrc/apple/grafix.pla: 0154: params.1 = gfxseg -; libsrc/apple/grafix.pla: 0155: syscall($45, @params) -; libsrc/apple/grafix.pla: 0156: ^$1907 = $00 // Unset graphics pages allocated -; libsrc/apple/grafix.pla: 0157: // -; libsrc/apple/grafix.pla: 0158: // Reset textmode -; libsrc/apple/grafix.pla: 0159: // -; libsrc/apple/grafix.pla: 0160: cmdsys:syswrite(cmdsys.refcons, @textmode, 3) -; libsrc/apple/grafix.pla: 0161: return - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D030+0 -_F106 !WORD _D030+0 - !BYTE $68 ; LAB _D028+0 -_F107 !WORD _D028+0 - !BYTE $78 ; SAB _D030+1 -_F108 !WORD _D030+1 - !BYTE $2A,$CC ; CB 204 - !BYTE $26 ; LA _D030+0 -_F109 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F110 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D028+0 -_F111 !WORD _D028+0 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D030+0 -_F112 !WORD _D030+0 - !BYTE $68 ; LAB _D029+0 -_F113 !WORD _D029+0 - !BYTE $78 ; SAB _D030+1 -_F114 !WORD _D030+1 - !BYTE $2A,$45 ; CB 69 - !BYTE $26 ; LA _D030+0 -_F115 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F116 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$07,$19 ; SAB 6407 - !BYTE $68 ; LAB _X000+19 -_F117 !WORD 0+19 - !BYTE $26 ; LA _D032+0 -_F118 !WORD _D032+0 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X000+14 -_F119 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0162: elsif not gfxref - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; libsrc/apple/grafix.pla: 0163: gfxopen -; libsrc/apple/grafix.pla: 0164: fin - !BYTE $68 ; LAB _D028+0 -_F120 !WORD _D028+0 - !BYTE $4E ; BRTRU _B003 - !WORD _B003-* - !BYTE $54 ; CALL _C011 -_F121 !WORD _C011 - !BYTE $30 ; DROP -_B003 -_B002 -; libsrc/apple/grafix.pla: 0165: params.0 = 3 -; libsrc/apple/grafix.pla: 0166: params.1 = gfxref -; libsrc/apple/grafix.pla: 0167: params:2 = @cmd -; libsrc/apple/grafix.pla: 0168: params:4 = 8 -; libsrc/apple/grafix.pla: 0169: cmd.0 = 16 // Set mode -; libsrc/apple/grafix.pla: 0170: cmd.1 = mode -; libsrc/apple/grafix.pla: 0171: cmd.2 = 19 // Pen color -; libsrc/apple/grafix.pla: 0172: cmd.3 = 0 -; libsrc/apple/grafix.pla: 0173: cmd.4 = 1 // Reset viewport -; libsrc/apple/grafix.pla: 0174: cmd.5 = 28 // Clear viewport -; libsrc/apple/grafix.pla: 0175: cmd.7 = 15 // Turn on screen -; libsrc/apple/grafix.pla: 0176: syscall($CB, @params) -; libsrc/apple/grafix.pla: 0177: end - !BYTE $06 ; CN 3 - !BYTE $78 ; SAB _D030+0 -_F122 !WORD _D030+0 - !BYTE $68 ; LAB _D028+0 -_F123 !WORD _D028+0 - !BYTE $78 ; SAB _D030+1 -_F124 !WORD _D030+1 - !BYTE $26 ; LA _D031+0 -_F125 !WORD _D031+0 - !BYTE $7A ; SAW _D030+2 -_F126 !WORD _D030+2 - !BYTE $10 ; CN 8 - !BYTE $7A ; SAW _D030+4 -_F127 !WORD _D030+4 - !BYTE $2A,$10 ; CB 16 - !BYTE $78 ; SAB _D031+0 -_F128 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D031+1 -_F129 !WORD _D031+1 - !BYTE $2A,$13 ; CB 19 - !BYTE $78 ; SAB _D031+2 -_F130 !WORD _D031+2 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D031+3 -_F131 !WORD _D031+3 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D031+4 -_F132 !WORD _D031+4 - !BYTE $2A,$1C ; CB 28 - !BYTE $78 ; SAB _D031+5 -_F133 !WORD _D031+5 - !BYTE $1E ; CN 15 - !BYTE $78 ; SAB _D031+7 -_F134 !WORD _D031+7 - !BYTE $2A,$CB ; CB 203 - !BYTE $26 ; LA _D030+0 -_F135 !WORD _D030+0 - !BYTE $54 ; CALL _X011 -_F136 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grafix.pla: 0178: -; libsrc/apple/grafix.pla: 0179: if MACHID <> $F2 -_INIT -; libsrc/apple/grafix.pla: 0180: puts("Apple /// only.\n") - !BYTE $68 ; LAB _X001+0 -_F137 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $22 ; BREQ _B004 - !WORD _B004-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $41,$70,$70,$6C,$65,$20,$2F,$2F - !BYTE $2F,$20,$6F,$6E,$6C,$79,$2E,$0D - !BYTE $54 ; CALL _X004 -_F138 !WORD 0 -; libsrc/apple/grafix.pla: 0181: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/grafix.pla: 0182: fin -_B004 -_B005 -; libsrc/apple/grafix.pla: 0183: // -; libsrc/apple/grafix.pla: 0184: // Keep module in memory -; libsrc/apple/grafix.pla: 0185: // -; libsrc/apple/grafix.pla: 0186: return gfxopen ?? modkeep :: -1 - !BYTE $54 ; CALL _C011 -_F139 !WORD _C011 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 - !BYTE $20 ; MINUS ONE -_B007 - !BYTE $5C ; RET -; libsrc/apple/grafix.pla: 0187: done -_SYSFLAGS = 0 -_DEFCNT = 14 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: PENCOLOR - !BYTE $D0,$C5,$CE,$C3,$CF,$CC,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: FILLCOLOR - !BYTE $C6,$C9,$CC,$CC,$C3,$CF,$CC,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: FILLSCREEN - !BYTE $C6,$C9,$CC,$CC,$D3,$C3,$D2,$C5,$C5,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: PENMOVE - !BYTE $D0,$C5,$CE,$CD,$CF,$D6,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: PLOT - !BYTE $D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: LINE - !BYTE $CC,$C9,$CE,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: LINETO - !BYTE $CC,$C9,$CE,$C5,$D4,$4F - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: RECT - !BYTE $D2,$C5,$C3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - ; DCI STRING: FILLRECT - !BYTE $C6,$C9,$CC,$CC,$D2,$C5,$C3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C008 - ; DCI STRING: BITBLT - !BYTE $C2,$C9,$D4,$C2,$CC,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - ; DCI STRING: DRAWMODE - !BYTE $C4,$D2,$C1,$D7,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C010 - ; DCI STRING: SETMODE - !BYTE $D3,$C5,$D4,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C012 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/grlib.a b/src/libsrc/apple/grlib.a deleted file mode 100644 index 2ecff8c..0000000 --- a/src/libsrc/apple/grlib.a +++ /dev/null @@ -1,1592 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/grlib.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/grlib.pla: 0001: -; libsrc/apple/grlib.pla: 0002: // -; libsrc/apple/grlib.pla: 0003: // Apple II hardware constants. -; libsrc/apple/grlib.pla: 0004: // -; libsrc/apple/grlib.pla: 0005: const showgraphics = $C050 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; showgraphics = 49232 -; libsrc/apple/grlib.pla: 0006: const showtext = $C051 - ; showtext = 49233 -; libsrc/apple/grlib.pla: 0007: const showfull = $C052 - ; showfull = 49234 -; libsrc/apple/grlib.pla: 0008: const showmix = $C053 - ; showmix = 49235 -; libsrc/apple/grlib.pla: 0009: const showpage1 = $C054 - ; showpage1 = 49236 -; libsrc/apple/grlib.pla: 0010: const showpage2 = $C055 - ; showpage2 = 49237 -; libsrc/apple/grlib.pla: 0011: const showlores = $C056 - ; showlores = 49238 -; libsrc/apple/grlib.pla: 0012: const showhires = $C057 - ; showhires = 49239 -; libsrc/apple/grlib.pla: 0013: const show40 = $C00C - ; show40 = 49164 -; libsrc/apple/grlib.pla: 0014: const show80 = $C00D - ; show80 = 49165 -; libsrc/apple/grlib.pla: 0015: const mapmain = $C000 - ; mapmain = 49152 -; libsrc/apple/grlib.pla: 0016: const mapaux = $C001 - ; mapaux = 49153 -; libsrc/apple/grlib.pla: 0017: const an3on = $C05E - ; an3on = 49246 -; libsrc/apple/grlib.pla: 0018: const an3off = $C05F - ; an3off = 49247 -; libsrc/apple/grlib.pla: 0019: const ena80 = $C07E - ; ena80 = 49278 -; libsrc/apple/grlib.pla: 0020: const dis80 = $C07F - ; dis80 = 49279 -; libsrc/apple/grlib.pla: 0021: const page1 = 0 - ; page1 = 0 -; libsrc/apple/grlib.pla: 0022: const page2 = 1 - ; page2 = 1 -; libsrc/apple/grlib.pla: 0023: // -; libsrc/apple/grlib.pla: 0024: // Screen row address arrays. -; libsrc/apple/grlib.pla: 0025: // -; libsrc/apple/grlib.pla: 0026: word[] gr1row = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 -_D028 ; gr1row = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 - !WORD $0400 - !WORD $0480 - !WORD $0500 - !WORD $0580 - !WORD $0600 - !WORD $0680 - !WORD $0700 - !WORD $0780 -; libsrc/apple/grlib.pla: 0027: word = $0428,$04A8,$0528,$05A8,$0628,$06A8,$0728,$07A8 - !WORD $0428 - !WORD $04A8 - !WORD $0528 - !WORD $05A8 - !WORD $0628 - !WORD $06A8 - !WORD $0728 - !WORD $07A8 -; libsrc/apple/grlib.pla: 0028: word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0 - !WORD $0450 - !WORD $04D0 - !WORD $0550 - !WORD $05D0 - !WORD $0650 - !WORD $06D0 - !WORD $0750 - !WORD $07D0 -; libsrc/apple/grlib.pla: 0029: word[] gr2row = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 -_D029 ; gr2row = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80 - !WORD $0800 - !WORD $0880 - !WORD $0900 - !WORD $0980 - !WORD $0A00 - !WORD $0A80 - !WORD $0B00 - !WORD $0B80 -; libsrc/apple/grlib.pla: 0030: word = $0828,$08A8,$0928,$09A8,$0A28,$0AA8,$0B28,$0BA8 - !WORD $0828 - !WORD $08A8 - !WORD $0928 - !WORD $09A8 - !WORD $0A28 - !WORD $0AA8 - !WORD $0B28 - !WORD $0BA8 -; libsrc/apple/grlib.pla: 0031: word = $0850,$08D0,$0950,$09D0,$0A50,$0AD0,$0B50,$0BD0 - !WORD $0850 - !WORD $08D0 - !WORD $0950 - !WORD $09D0 - !WORD $0A50 - !WORD $0AD0 - !WORD $0B50 - !WORD $0BD0 -; libsrc/apple/grlib.pla: 0032: word[] grbuff = @gr1row, @gr2row -_D030 ; grbuff = @gr1row, @gr2row -_F000 !WORD _D028 -_F001 !WORD _D029 -; libsrc/apple/grlib.pla: 0033: word drawbuff -_D031 !FILL 2 ; drawbuff -; libsrc/apple/grlib.pla: 0034: byte drawpage -_D032 !FILL 1 ; drawpage -; libsrc/apple/grlib.pla: 0035: -; libsrc/apple/grlib.pla: 0036: asm grInc(buff) -_A000 ; grInc() -; libsrc/apple/grlib.pla: 0037: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/grlib.pla: 0038: GBASL = $26 -GBASL = $26 -; libsrc/apple/grlib.pla: 0039: GBASH = $27 -GBASH = $27 -; libsrc/apple/grlib.pla: 0040: GBASE = GBASL -GBASE = GBASL -; libsrc/apple/grlib.pla: 0041: GCLR = $30 -GCLR = $30 -; libsrc/apple/grlib.pla: 0042: end -; libsrc/apple/grlib.pla: 0043: // -; libsrc/apple/grlib.pla: 0044: // Plot pixel -; libsrc/apple/grlib.pla: 0045: // -; libsrc/apple/grlib.pla: 0046: export asm grPlot(x, y)#0 -_A001 ; grPlot() -; libsrc/apple/grlib.pla: 0047: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/grlib.pla: 0048: LDA $3000 - LDA $3000 -; libsrc/apple/grlib.pla: 0049: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0050: LDA $3001 - LDA $3001 -; libsrc/apple/grlib.pla: 0051: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0052: LDA ESTKL,X ; Y COORD - LDA ESTKL,X ; Y COORD -; libsrc/apple/grlib.pla: 0053: AND #$FE - AND #$FE -; libsrc/apple/grlib.pla: 0054: TAY - TAY -; libsrc/apple/grlib.pla: 0055: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0056: STA GBASL - STA GBASL -; libsrc/apple/grlib.pla: 0057: INY - INY -; libsrc/apple/grlib.pla: 0058: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0059: STA GBASH - STA GBASH -; libsrc/apple/grlib.pla: 0060: LDY ESTKL+1,X ; X COORD - LDY ESTKL+1,X ; X COORD -; libsrc/apple/grlib.pla: 0061: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/grlib.pla: 0062: LDA GCLR ; COLOR - LDA GCLR ; COLOR -; libsrc/apple/grlib.pla: 0063: EOR (GBASE),Y - EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0064: BCS + - BCS + -; libsrc/apple/grlib.pla: 0065: ; EVEN ROW - ; EVEN ROW -; libsrc/apple/grlib.pla: 0066: AND #$0F - AND #$0F -; libsrc/apple/grlib.pla: 0067: BCC ++ - BCC ++ -; libsrc/apple/grlib.pla: 0068: ; ODD ROW - ; ODD ROW -; libsrc/apple/grlib.pla: 0069: + AND #$F0 -+ AND #$F0 -; libsrc/apple/grlib.pla: 0070: ++ EOR (GBASE),Y -++ EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0071: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/grlib.pla: 0072: INX - INX -; libsrc/apple/grlib.pla: 0073: INX - INX -; libsrc/apple/grlib.pla: 0074: RTS - RTS -; libsrc/apple/grlib.pla: 0075: end -; libsrc/apple/grlib.pla: 0076: // -; libsrc/apple/grlib.pla: 0077: // Plot horizontal row of pixels -; libsrc/apple/grlib.pla: 0078: // -; libsrc/apple/grlib.pla: 0079: export asm grHLin(x1, x2, y)#0 -_A002 ; grHLin() -; libsrc/apple/grlib.pla: 0080: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/grlib.pla: 0081: LDA $3000 - LDA $3000 -; libsrc/apple/grlib.pla: 0082: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0083: LDA $3001 - LDA $3001 -; libsrc/apple/grlib.pla: 0084: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0085: LDA ESTKL+1,X ; X2 COORD - LDA ESTKL+1,X ; X2 COORD -; libsrc/apple/grlib.pla: 0086: STA TMPH - STA TMPH -; libsrc/apple/grlib.pla: 0087: LDA ESTKL+0,X ; Y COORD - LDA ESTKL+0,X ; Y COORD -; libsrc/apple/grlib.pla: 0088: AND #$FE - AND #$FE -; libsrc/apple/grlib.pla: 0089: TAY - TAY -; libsrc/apple/grlib.pla: 0090: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0091: STA GBASL - STA GBASL -; libsrc/apple/grlib.pla: 0092: INY - INY -; libsrc/apple/grlib.pla: 0093: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0094: STA GBASH - STA GBASH -; libsrc/apple/grlib.pla: 0095: LDY ESTKL+2,X ; X1 COORD - LDY ESTKL+2,X ; X1 COORD -; libsrc/apple/grlib.pla: 0096: - LDA ESTKL+0,X ; Y COORD -- LDA ESTKL+0,X ; Y COORD -; libsrc/apple/grlib.pla: 0097: LSR - LSR -; libsrc/apple/grlib.pla: 0098: LDA GCLR ; COLOR - LDA GCLR ; COLOR -; libsrc/apple/grlib.pla: 0099: ; EVEN ROW - ; EVEN ROW -; libsrc/apple/grlib.pla: 0100: EOR (GBASE),Y - EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0101: BCS + - BCS + -; libsrc/apple/grlib.pla: 0102: AND #$0F - AND #$0F -; libsrc/apple/grlib.pla: 0103: BCC ++ - BCC ++ -; libsrc/apple/grlib.pla: 0104: ; ODD ROW - ; ODD ROW -; libsrc/apple/grlib.pla: 0105: + AND #$F0 -+ AND #$F0 -; libsrc/apple/grlib.pla: 0106: ++ EOR (GBASE),Y -++ EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0107: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/grlib.pla: 0108: INC ESTKL+2,X ; X1 COORD - INC ESTKL+2,X ; X1 COORD -; libsrc/apple/grlib.pla: 0109: LDY ESTKL+2,X - LDY ESTKL+2,X -; libsrc/apple/grlib.pla: 0110: CPY TMPH ; X2 COORD - CPY TMPH ; X2 COORD -; libsrc/apple/grlib.pla: 0111: BCC - - BCC - -; libsrc/apple/grlib.pla: 0112: BEQ - - BEQ - -; libsrc/apple/grlib.pla: 0113: INX - INX -; libsrc/apple/grlib.pla: 0114: INX - INX -; libsrc/apple/grlib.pla: 0115: INX - INX -; libsrc/apple/grlib.pla: 0116: RTS - RTS -; libsrc/apple/grlib.pla: 0117: end -; libsrc/apple/grlib.pla: 0118: // -; libsrc/apple/grlib.pla: 0119: // Plot horizontal row of pixels -; libsrc/apple/grlib.pla: 0120: // -; libsrc/apple/grlib.pla: 0121: export asm grVLin(y1, y2, x)#0 -_A003 ; grVLin() -; libsrc/apple/grlib.pla: 0122: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/grlib.pla: 0123: LDA $3000 - LDA $3000 -; libsrc/apple/grlib.pla: 0124: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0125: LDA $3001 - LDA $3001 -; libsrc/apple/grlib.pla: 0126: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0127: LDA ESTKL+2,X ; Y1 COORD - LDA ESTKL+2,X ; Y1 COORD -; libsrc/apple/grlib.pla: 0128: - AND #$FE -- AND #$FE -; libsrc/apple/grlib.pla: 0129: TAY - TAY -; libsrc/apple/grlib.pla: 0130: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0131: STA GBASL - STA GBASL -; libsrc/apple/grlib.pla: 0132: INY - INY -; libsrc/apple/grlib.pla: 0133: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0134: STA GBASH - STA GBASH -; libsrc/apple/grlib.pla: 0135: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/grlib.pla: 0136: LSR - LSR -; libsrc/apple/grlib.pla: 0137: LDY ESTKL+0,X ; X COORD - LDY ESTKL+0,X ; X COORD -; libsrc/apple/grlib.pla: 0138: LDA GCLR ; COLOR - LDA GCLR ; COLOR -; libsrc/apple/grlib.pla: 0139: ; EVEN ROW - ; EVEN ROW -; libsrc/apple/grlib.pla: 0140: EOR (GBASE),Y - EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0141: BCS + - BCS + -; libsrc/apple/grlib.pla: 0142: AND #$0F - AND #$0F -; libsrc/apple/grlib.pla: 0143: BCC ++ - BCC ++ -; libsrc/apple/grlib.pla: 0144: ; ODD ROW - ; ODD ROW -; libsrc/apple/grlib.pla: 0145: + AND #$F0 -+ AND #$F0 -; libsrc/apple/grlib.pla: 0146: ++ EOR (GBASE),Y -++ EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0147: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/grlib.pla: 0148: INC ESTKL+2,X ; Y1 COORD - INC ESTKL+2,X ; Y1 COORD -; libsrc/apple/grlib.pla: 0149: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/grlib.pla: 0150: CMP ESTKL+1,X ; Y2 COORD - CMP ESTKL+1,X ; Y2 COORD -; libsrc/apple/grlib.pla: 0151: BCC - - BCC - -; libsrc/apple/grlib.pla: 0152: BEQ - - BEQ - -; libsrc/apple/grlib.pla: 0153: INX - INX -; libsrc/apple/grlib.pla: 0154: INX - INX -; libsrc/apple/grlib.pla: 0155: INX - INX -; libsrc/apple/grlib.pla: 0156: RTS - RTS -; libsrc/apple/grlib.pla: 0157: end -; libsrc/apple/grlib.pla: 0158: // -; libsrc/apple/grlib.pla: 0159: // Draw sprite -; libsrc/apple/grlib.pla: 0160: // -; libsrc/apple/grlib.pla: 0161: export asm grBLT(x, y, width, height, src)#0 -_A004 ; grBLT() -; libsrc/apple/grlib.pla: 0162: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/grlib.pla: 0163: LDA $3000 - LDA $3000 -; libsrc/apple/grlib.pla: 0164: STA DSTL - STA DSTL -; libsrc/apple/grlib.pla: 0165: LDA $3001 - LDA $3001 -; libsrc/apple/grlib.pla: 0166: STA DSTH - STA DSTH -; libsrc/apple/grlib.pla: 0167: LDA ESTKL,X ; SPRITE - LDA ESTKL,X ; SPRITE -; libsrc/apple/grlib.pla: 0168: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0169: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/grlib.pla: 0170: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0171: LDA ESTKL+4,X ; X1 COORD - LDA ESTKL+4,X ; X1 COORD -; libsrc/apple/grlib.pla: 0172: CMP #40 - CMP #40 -; libsrc/apple/grlib.pla: 0173: BPL ++++ - BPL ++++ -; libsrc/apple/grlib.pla: 0174: CLC - CLC -; libsrc/apple/grlib.pla: 0175: ADC ESTKL+2,X - ADC ESTKL+2,X -; libsrc/apple/grlib.pla: 0176: BMI ++++ - BMI ++++ -; libsrc/apple/grlib.pla: 0177: STA ESTKH+2,X ; X2 COORD - STA ESTKH+2,X ; X2 COORD -; libsrc/apple/grlib.pla: 0178: LDA ESTKL+3,X ; Y1 COORD - LDA ESTKL+3,X ; Y1 COORD -; libsrc/apple/grlib.pla: 0179: CMP #48 - CMP #48 -; libsrc/apple/grlib.pla: 0180: BPL ++++ - BPL ++++ -; libsrc/apple/grlib.pla: 0181: STA ESTKH+3,X ; Y COORD - STA ESTKH+3,X ; Y COORD -; libsrc/apple/grlib.pla: 0182: CLC - CLC -; libsrc/apple/grlib.pla: 0183: ADC ESTKL+1,X - ADC ESTKL+1,X -; libsrc/apple/grlib.pla: 0184: BMI ++++ - BMI ++++ -; libsrc/apple/grlib.pla: 0185: STA ESTKH+1,X ; Y2 COORD - STA ESTKH+1,X ; Y2 COORD -; libsrc/apple/grlib.pla: 0186: STX ESP - STX ESP -; libsrc/apple/grlib.pla: 0187: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/apple/grlib.pla: 0188: - CMP #48 -- CMP #48 -; libsrc/apple/grlib.pla: 0189: BCC + - BCC + -; libsrc/apple/grlib.pla: 0190: LDA SRCL ; SKIP TO NEXT ROW - LDA SRCL ; SKIP TO NEXT ROW -; libsrc/apple/grlib.pla: 0191: CLC - CLC -; libsrc/apple/grlib.pla: 0192: ADC ESTKL+2,X ; WIDTH - ADC ESTKL+2,X ; WIDTH -; libsrc/apple/grlib.pla: 0193: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0194: LDA SRCH - LDA SRCH -; libsrc/apple/grlib.pla: 0195: ADC #$00 - ADC #$00 -; libsrc/apple/grlib.pla: 0196: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0197: BNE +++ - BNE +++ -; libsrc/apple/grlib.pla: 0198: + AND #$FE -+ AND #$FE -; libsrc/apple/grlib.pla: 0199: TAY - TAY -; libsrc/apple/grlib.pla: 0200: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/grlib.pla: 0201: STA GBASL - STA GBASL -; libsrc/apple/grlib.pla: 0202: INY - INY -; libsrc/apple/grlib.pla: 0203: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/grlib.pla: 0204: STA GBASH - STA GBASH -; libsrc/apple/grlib.pla: 0205: LDA ESTKL+4,X ; X1 COORD - LDA ESTKL+4,X ; X1 COORD -; libsrc/apple/grlib.pla: 0206: STA ESTKH+4,X ; X COORD - STA ESTKH+4,X ; X COORD -; libsrc/apple/grlib.pla: 0207: -- CMP #40 --- CMP #40 -; libsrc/apple/grlib.pla: 0208: BCS ++ - BCS ++ -; libsrc/apple/grlib.pla: 0209: STA TMP - STA TMP -; libsrc/apple/grlib.pla: 0210: LDA ESTKH+3,X ; Y COORD - LDA ESTKH+3,X ; Y COORD -; libsrc/apple/grlib.pla: 0211: LSR - LSR -; libsrc/apple/grlib.pla: 0212: LDY #$00 - LDY #$00 -; libsrc/apple/grlib.pla: 0213: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/grlib.pla: 0214: BMI ++ - BMI ++ -; libsrc/apple/grlib.pla: 0215: LDY TMP - LDY TMP -; libsrc/apple/grlib.pla: 0216: BCS oddBLT - BCS oddBLT -; libsrc/apple/grlib.pla: 0217: ; EVEN ROW - ; EVEN ROW -; libsrc/apple/grlib.pla: 0218: EOR (GBASE),Y - EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0219: AND #$0F - AND #$0F -; libsrc/apple/grlib.pla: 0220: BCC evnBLT - BCC evnBLT -; libsrc/apple/grlib.pla: 0221: ; ODD ROW - ; ODD ROW -; libsrc/apple/grlib.pla: 0222: oddBLT ASL -oddBLT ASL -; libsrc/apple/grlib.pla: 0223: ASL - ASL -; libsrc/apple/grlib.pla: 0224: ASL - ASL -; libsrc/apple/grlib.pla: 0225: ASL - ASL -; libsrc/apple/grlib.pla: 0226: EOR (GBASE),Y - EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0227: AND #$F0 - AND #$F0 -; libsrc/apple/grlib.pla: 0228: evnBLT EOR (GBASE),Y -evnBLT EOR (GBASE),Y -; libsrc/apple/grlib.pla: 0229: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/grlib.pla: 0230: ++ INC SRCL -++ INC SRCL -; libsrc/apple/grlib.pla: 0231: BNE + - BNE + -; libsrc/apple/grlib.pla: 0232: INC SRCH - INC SRCH -; libsrc/apple/grlib.pla: 0233: + INC ESTKH+4,X ; X COORD -+ INC ESTKH+4,X ; X COORD -; libsrc/apple/grlib.pla: 0234: LDA ESTKH+4,X - LDA ESTKH+4,X -; libsrc/apple/grlib.pla: 0235: BMI -- - BMI -- -; libsrc/apple/grlib.pla: 0236: CMP ESTKH+2,X ; X2 COORD - CMP ESTKH+2,X ; X2 COORD -; libsrc/apple/grlib.pla: 0237: BCC -- - BCC -- -; libsrc/apple/grlib.pla: 0238: +++ INC ESTKH+3,X ; Y COORD -+++ INC ESTKH+3,X ; Y COORD -; libsrc/apple/grlib.pla: 0239: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/apple/grlib.pla: 0240: BMI - - BMI - -; libsrc/apple/grlib.pla: 0241: CMP ESTKH+1,X ; Y2 COORD - CMP ESTKH+1,X ; Y2 COORD -; libsrc/apple/grlib.pla: 0242: BCC - - BCC - -; libsrc/apple/grlib.pla: 0243: ++++ INX -++++ INX -; libsrc/apple/grlib.pla: 0244: INX - INX -; libsrc/apple/grlib.pla: 0245: INX - INX -; libsrc/apple/grlib.pla: 0246: INX - INX -; libsrc/apple/grlib.pla: 0247: INX - INX -; libsrc/apple/grlib.pla: 0248: RTS - RTS -; libsrc/apple/grlib.pla: 0249: end -; libsrc/apple/grlib.pla: 0250: // -; libsrc/apple/grlib.pla: 0251: // Draw 8x8 tile (forced to 1x2 block address) -; libsrc/apple/grlib.pla: 0252: // -; libsrc/apple/grlib.pla: 0253: export asm grTile(x, y, src)#0 -_A005 ; grTile() -; libsrc/apple/grlib.pla: 0254: ; GET ROW BUFFER ADDRESSES - ; GET ROW BUFFER ADDRESSES -; libsrc/apple/grlib.pla: 0255: LDA $3000 - LDA $3000 -; libsrc/apple/grlib.pla: 0256: STA DSTL - STA DSTL -; libsrc/apple/grlib.pla: 0257: LDA $3001 - LDA $3001 -; libsrc/apple/grlib.pla: 0258: STA DSTH - STA DSTH -; libsrc/apple/grlib.pla: 0259: STX ESP - STX ESP -; libsrc/apple/grlib.pla: 0260: LDA ESTKL,X ; TILE - LDA ESTKL,X ; TILE -; libsrc/apple/grlib.pla: 0261: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0262: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/grlib.pla: 0263: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0264: LDA ESTKL+2,X ; X1 COORD - LDA ESTKL+2,X ; X1 COORD -; libsrc/apple/grlib.pla: 0265: CMP #40 - CMP #40 -; libsrc/apple/grlib.pla: 0266: BPL ++++ - BPL ++++ -; libsrc/apple/grlib.pla: 0267: CLC - CLC -; libsrc/apple/grlib.pla: 0268: ADC #$08 - ADC #$08 -; libsrc/apple/grlib.pla: 0269: BMI ++++ - BMI ++++ -; libsrc/apple/grlib.pla: 0270: STA ESTKH+2,X ; X2 COORD - STA ESTKH+2,X ; X2 COORD -; libsrc/apple/grlib.pla: 0271: LDA ESTKL+1,X ; Y1 COORD - LDA ESTKL+1,X ; Y1 COORD -; libsrc/apple/grlib.pla: 0272: CMP #48 - CMP #48 -; libsrc/apple/grlib.pla: 0273: BPL ++++ - BPL ++++ -; libsrc/apple/grlib.pla: 0274: STA TMPL ; Y COORD - STA TMPL ; Y COORD -; libsrc/apple/grlib.pla: 0275: CLC - CLC -; libsrc/apple/grlib.pla: 0276: ADC #$08 - ADC #$08 -; libsrc/apple/grlib.pla: 0277: BMI ++++ - BMI ++++ -; libsrc/apple/grlib.pla: 0278: STA ESTKH+1,X ; Y2 COORD - STA ESTKH+1,X ; Y2 COORD -; libsrc/apple/grlib.pla: 0279: LDA TMPL ; Y COORD - LDA TMPL ; Y COORD -; libsrc/apple/grlib.pla: 0280: - CMP #48 -- CMP #48 -; libsrc/apple/grlib.pla: 0281: BCC + - BCC + -; libsrc/apple/grlib.pla: 0282: LDA SRCL ; SKIP TO NEXT ROW - LDA SRCL ; SKIP TO NEXT ROW -; libsrc/apple/grlib.pla: 0283: ADC #$07 ; CARRY = 1 - ADC #$07 ; CARRY = 1 -; libsrc/apple/grlib.pla: 0284: STA SRCL - STA SRCL -; libsrc/apple/grlib.pla: 0285: LDA SRCH - LDA SRCH -; libsrc/apple/grlib.pla: 0286: ADC #$00 - ADC #$00 -; libsrc/apple/grlib.pla: 0287: STA SRCH - STA SRCH -; libsrc/apple/grlib.pla: 0288: BNE +++ - BNE +++ -; libsrc/apple/grlib.pla: 0289: + AND #$FE -+ AND #$FE -; libsrc/apple/grlib.pla: 0290: TAY - TAY -; libsrc/apple/grlib.pla: 0291: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/grlib.pla: 0292: STA GBASL - STA GBASL -; libsrc/apple/grlib.pla: 0293: INY - INY -; libsrc/apple/grlib.pla: 0294: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/grlib.pla: 0295: STA GBASH - STA GBASH -; libsrc/apple/grlib.pla: 0296: LDA ESTKL+2,X ; X1 COORD - LDA ESTKL+2,X ; X1 COORD -; libsrc/apple/grlib.pla: 0297: STA TMPH ; X COORD - STA TMPH ; X COORD -; libsrc/apple/grlib.pla: 0298: -- TAY --- TAY -; libsrc/apple/grlib.pla: 0299: CMP #40 - CMP #40 -; libsrc/apple/grlib.pla: 0300: LDX #$00 - LDX #$00 -; libsrc/apple/grlib.pla: 0301: LDA (SRC,X) - LDA (SRC,X) -; libsrc/apple/grlib.pla: 0302: INC SRCL - INC SRCL -; libsrc/apple/grlib.pla: 0303: BNE + - BNE + -; libsrc/apple/grlib.pla: 0304: INC SRCH - INC SRCH -; libsrc/apple/grlib.pla: 0305: + BCS ++ -+ BCS ++ -; libsrc/apple/grlib.pla: 0306: STA (GBASE),Y - STA (GBASE),Y -; libsrc/apple/grlib.pla: 0307: ++ INC TMPH ; X COORD -++ INC TMPH ; X COORD -; libsrc/apple/grlib.pla: 0308: LDA TMPH - LDA TMPH -; libsrc/apple/grlib.pla: 0309: BMI -- - BMI -- -; libsrc/apple/grlib.pla: 0310: LDX ESP - LDX ESP -; libsrc/apple/grlib.pla: 0311: CMP ESTKH+2,X ; X2 COORD - CMP ESTKH+2,X ; X2 COORD -; libsrc/apple/grlib.pla: 0312: BCC -- - BCC -- -; libsrc/apple/grlib.pla: 0313: +++ INC TMPL ; Y COORD -+++ INC TMPL ; Y COORD -; libsrc/apple/grlib.pla: 0314: INC TMPL ; Y COORD - INC TMPL ; Y COORD -; libsrc/apple/grlib.pla: 0315: LDA TMPL - LDA TMPL -; libsrc/apple/grlib.pla: 0316: BMI - - BMI - -; libsrc/apple/grlib.pla: 0317: CMP ESTKH+1,X ; Y2 COORD - CMP ESTKH+1,X ; Y2 COORD -; libsrc/apple/grlib.pla: 0318: BCC - - BCC - -; libsrc/apple/grlib.pla: 0319: ++++ INX -++++ INX -; libsrc/apple/grlib.pla: 0320: INX - INX -; libsrc/apple/grlib.pla: 0321: INX - INX -; libsrc/apple/grlib.pla: 0322: RTS - RTS -; libsrc/apple/grlib.pla: 0323: end -; libsrc/apple/grlib.pla: 0324: // -; libsrc/apple/grlib.pla: 0325: // Draw a string of tiles -; libsrc/apple/grlib.pla: 0326: // -; libsrc/apple/grlib.pla: 0327: export asm grTileStr(x, y, tilestr, strlen, tilebuff)#0 -_A006 ; grTileStr() -; libsrc/apple/grlib.pla: 0328: - DEX -- DEX -; libsrc/apple/grlib.pla: 0329: DEX - DEX -; libsrc/apple/grlib.pla: 0330: DEX - DEX -; libsrc/apple/grlib.pla: 0331: LDA ESTKL+7,X ; X COORD - LDA ESTKL+7,X ; X COORD -; libsrc/apple/grlib.pla: 0332: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/grlib.pla: 0333: LDA ESTKL+6,X ; Y COORD - LDA ESTKL+6,X ; Y COORD -; libsrc/apple/grlib.pla: 0334: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/grlib.pla: 0335: LDA ESTKL+3,X ; TILE - LDA ESTKL+3,X ; TILE -; libsrc/apple/grlib.pla: 0336: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/grlib.pla: 0337: LDA ESTKH+3,X ; TILE - LDA ESTKH+3,X ; TILE -; libsrc/apple/grlib.pla: 0338: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/grlib.pla: 0339: end -; libsrc/apple/grlib.pla: 0340: asm _grTileTile -_A007 ; _grTileTile() -; libsrc/apple/grlib.pla: 0341: JSR $5000 - JSR $5000 -; libsrc/apple/grlib.pla: 0342: LDA ESTKL+4,X ; UPDATE X COORD - LDA ESTKL+4,X ; UPDATE X COORD -; libsrc/apple/grlib.pla: 0343: CLC - CLC -; libsrc/apple/grlib.pla: 0344: ADC #$08 - ADC #$08 -; libsrc/apple/grlib.pla: 0345: CMP #40 ; OFF RIGHT SIDE - CMP #40 ; OFF RIGHT SIDE -; libsrc/apple/grlib.pla: 0346: BPL + - BPL + -; libsrc/apple/grlib.pla: 0347: STA ESTKL+4,X - STA ESTKL+4,X -; libsrc/apple/grlib.pla: 0348: DEC ESTKL+1,X ; DEC STRLEN - DEC ESTKL+1,X ; DEC STRLEN -; libsrc/apple/grlib.pla: 0349: BNE - - BNE - -; libsrc/apple/grlib.pla: 0350: + INX -+ INX -; libsrc/apple/grlib.pla: 0351: INX - INX -; libsrc/apple/grlib.pla: 0352: INX - INX -; libsrc/apple/grlib.pla: 0353: INX - INX -; libsrc/apple/grlib.pla: 0354: INX - INX -; libsrc/apple/grlib.pla: 0355: RTS - RTS -; libsrc/apple/grlib.pla: 0356: end -; libsrc/apple/grlib.pla: 0357: // -; libsrc/apple/grlib.pla: 0358: // Fill a buffer with tiles -; libsrc/apple/grlib.pla: 0359: // -; libsrc/apple/grlib.pla: 0360: export asm grFill(x, y, tile)#0 -_A008 ; grFill() -; libsrc/apple/grlib.pla: 0361: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/grlib.pla: 0362: AND #$0F - AND #$0F -; libsrc/apple/grlib.pla: 0363: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/grlib.pla: 0364: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/grlib.pla: 0365: AND #$0F - AND #$0F -; libsrc/apple/grlib.pla: 0366: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/grlib.pla: 0367: LDA #$00 - LDA #$00 -; libsrc/apple/grlib.pla: 0368: SEC - SEC -; libsrc/apple/grlib.pla: 0369: SBC ESTKL+2,X ; ORIGINAL X - SBC ESTKL+2,X ; ORIGINAL X -; libsrc/apple/grlib.pla: 0370: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/grlib.pla: 0371: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/apple/grlib.pla: 0372: LDA #$00 - LDA #$00 -; libsrc/apple/grlib.pla: 0373: SEC - SEC -; libsrc/apple/grlib.pla: 0374: SBC ESTKL+1,X - SBC ESTKL+1,X -; libsrc/apple/grlib.pla: 0375: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/grlib.pla: 0376: - DEX -- DEX -; libsrc/apple/grlib.pla: 0377: DEX - DEX -; libsrc/apple/grlib.pla: 0378: DEX - DEX -; libsrc/apple/grlib.pla: 0379: LDA ESTKL+5,X ; X COORD - LDA ESTKL+5,X ; X COORD -; libsrc/apple/grlib.pla: 0380: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/grlib.pla: 0381: LDA ESTKL+4,X ; Y COORD - LDA ESTKL+4,X ; Y COORD -; libsrc/apple/grlib.pla: 0382: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/grlib.pla: 0383: LDA ESTKL+3,X ; TILE - LDA ESTKL+3,X ; TILE -; libsrc/apple/grlib.pla: 0384: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/grlib.pla: 0385: LDA ESTKH+3,X ; TILE - LDA ESTKH+3,X ; TILE -; libsrc/apple/grlib.pla: 0386: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/grlib.pla: 0387: end -; libsrc/apple/grlib.pla: 0388: asm _grFillTile -_A009 ; _grFillTile() -; libsrc/apple/grlib.pla: 0389: JSR $5000 - JSR $5000 -; libsrc/apple/grlib.pla: 0390: LDA ESTKL+2,X ; UPDATE X COORD - LDA ESTKL+2,X ; UPDATE X COORD -; libsrc/apple/grlib.pla: 0391: CLC - CLC -; libsrc/apple/grlib.pla: 0392: ADC #$08 - ADC #$08 -; libsrc/apple/grlib.pla: 0393: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/grlib.pla: 0394: CMP #40 ; OFF RIGHT SIDE? - CMP #40 ; OFF RIGHT SIDE? -; libsrc/apple/grlib.pla: 0395: BMI - - BMI - -; libsrc/apple/grlib.pla: 0396: LDA ESTKH+2,X ; RESTORE X COORD - LDA ESTKH+2,X ; RESTORE X COORD -; libsrc/apple/grlib.pla: 0397: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/grlib.pla: 0398: LDA ESTKL+1,X ; UPDATE Y COORD - LDA ESTKL+1,X ; UPDATE Y COORD -; libsrc/apple/grlib.pla: 0399: CLC - CLC -; libsrc/apple/grlib.pla: 0400: ADC #$08 - ADC #$08 -; libsrc/apple/grlib.pla: 0401: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/grlib.pla: 0402: CMP #48 ; OFF BOTTOM? - CMP #48 ; OFF BOTTOM? -; libsrc/apple/grlib.pla: 0403: BMI - - BMI - -; libsrc/apple/grlib.pla: 0404: INX - INX -; libsrc/apple/grlib.pla: 0405: INX - INX -; libsrc/apple/grlib.pla: 0406: INX - INX -; libsrc/apple/grlib.pla: 0407: RTS - RTS -; libsrc/apple/grlib.pla: 0408: end -; libsrc/apple/grlib.pla: 0409: // -; libsrc/apple/grlib.pla: 0410: // Clear the buffer -; libsrc/apple/grlib.pla: 0411: // -; libsrc/apple/grlib.pla: 0412: export def grClear(clr)#0 -_SUBSEG ; BYTECODE STARTS - ; clr -> [0] -_C000 ; grClear() -; libsrc/apple/grlib.pla: 0413: byte[32] clrtile - ; clrtile -> [2] -; libsrc/apple/grlib.pla: 0414: -; libsrc/apple/grlib.pla: 0415: clr = (clr & $0F) | (clr << 4) - !BYTE $58,$22,$01 ; ENTER 34,1 -; libsrc/apple/grlib.pla: 0416: clr = (clr & $FF) | (clr << 8) -; libsrc/apple/grlib.pla: 0417: memset(@clrtile, clr, 32) -; libsrc/apple/grlib.pla: 0418: grFill(0, 0, @clrtile) -; libsrc/apple/grlib.pla: 0419: end - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6E,$00 ; DLW [0] - !BYTE $3C,$FF ; ANDI 255 - !BYTE $66,$00 ; LLW [0] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $76,$00 ; SLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X017 -_F002 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A008 -_F003 !WORD _A008 - !BYTE $5A,$22 ; LEAVE 34 -; libsrc/apple/grlib.pla: 0420: // -; libsrc/apple/grlib.pla: 0421: // Set lores graphics, return draw buffer -; libsrc/apple/grlib.pla: 0422: // -; libsrc/apple/grlib.pla: 0423: export def grMode(mode)#1 - ; mode -> [0] -_C001 ; grMode() -; libsrc/apple/grlib.pla: 0424: when mode - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B002-* -; libsrc/apple/grlib.pla: 0425: is page1 -_B003 -; libsrc/apple/grlib.pla: 0426: // -; libsrc/apple/grlib.pla: 0427: // Set GR mode -; libsrc/apple/grlib.pla: 0428: // -; libsrc/apple/grlib.pla: 0429: putc(17) // Set 40 column mode if in 80 column mode -; libsrc/apple/grlib.pla: 0430: ^showlores -; libsrc/apple/grlib.pla: 0431: ^showfull -; libsrc/apple/grlib.pla: 0432: ^showgraphics -; libsrc/apple/grlib.pla: 0433: ^showpage1 -; libsrc/apple/grlib.pla: 0434: ^ena80 = 0 -; libsrc/apple/grlib.pla: 0435: ^show40 = 0 -; libsrc/apple/grlib.pla: 0436: ^mapmain = 0 -; libsrc/apple/grlib.pla: 0437: ^an3off -; libsrc/apple/grlib.pla: 0438: drawpage = page2 -; libsrc/apple/grlib.pla: 0439: drawbuff = grbuff[page2] -; libsrc/apple/grlib.pla: 0440: break - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _X002 -_F004 !WORD 0 - !BYTE $68,$56,$C0 ; LAB 49238 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0C,$C0 ; SAB 49164 - !BYTE $00 ; CN 0 - !BYTE $78,$00,$C0 ; SAB 49152 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D032+0 -_F005 !WORD _D032+0 - !BYTE $6A ; LAW _D030+2 -_F006 !WORD _D030+2 - !BYTE $7A ; SAW _D031+0 -_F007 !WORD _D031+0 - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; libsrc/apple/grlib.pla: 0441: is page2 -_B004 -; libsrc/apple/grlib.pla: 0442: // -; libsrc/apple/grlib.pla: 0443: // Set GR mode -; libsrc/apple/grlib.pla: 0444: // -; libsrc/apple/grlib.pla: 0445: putc(17) // Set 40 column mode if in 80 column mode -; libsrc/apple/grlib.pla: 0446: ^showlores -; libsrc/apple/grlib.pla: 0447: ^showfull -; libsrc/apple/grlib.pla: 0448: ^showgraphics -; libsrc/apple/grlib.pla: 0449: ^showpage2 -; libsrc/apple/grlib.pla: 0450: ^ena80 = 0 -; libsrc/apple/grlib.pla: 0451: ^show40 = 0 -; libsrc/apple/grlib.pla: 0452: ^mapmain = 0 -; libsrc/apple/grlib.pla: 0453: ^an3off -; libsrc/apple/grlib.pla: 0454: drawpage = page1 -; libsrc/apple/grlib.pla: 0455: drawbuff = grbuff[page1] -; libsrc/apple/grlib.pla: 0456: break - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _X002 -_F008 !WORD 0 - !BYTE $68,$56,$C0 ; LAB 49238 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $68,$55,$C0 ; LAB 49237 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0C,$C0 ; SAB 49164 - !BYTE $00 ; CN 0 - !BYTE $78,$00,$C0 ; SAB 49152 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D032+0 -_F009 !WORD _D032+0 - !BYTE $6A ; LAW _D030+0 -_F010 !WORD _D030+0 - !BYTE $7A ; SAW _D031+0 -_F011 !WORD _D031+0 - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; libsrc/apple/grlib.pla: 0457: otherwise -_B002 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B003-* - !WORD $0001 - !WORD _B004-* -; libsrc/apple/grlib.pla: 0458: // -; libsrc/apple/grlib.pla: 0459: // Set text mode -; libsrc/apple/grlib.pla: 0460: // -; libsrc/apple/grlib.pla: 0461: ^showtext -; libsrc/apple/grlib.pla: 0462: ^showpage1 -; libsrc/apple/grlib.pla: 0463: ^ena80 = 0 -; libsrc/apple/grlib.pla: 0464: ^show40 = 0 -; libsrc/apple/grlib.pla: 0465: ^mapmain = 0 -; libsrc/apple/grlib.pla: 0466: ^an3off -; libsrc/apple/grlib.pla: 0467: call($FB2F, 0, 0, 0, 0) // INIT -; libsrc/apple/grlib.pla: 0468: if cmdsys:_sysflags_ & vid80col; putc(18); fin // Set 80 column mode if active - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78,$7E,$C0 ; SAB 49278 - !BYTE $00 ; CN 0 - !BYTE $78,$0C,$C0 ; SAB 49164 - !BYTE $00 ; CN 0 - !BYTE $78,$00,$C0 ; SAB 49152 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $30 ; DROP - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F012 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X000+23 -_F013 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $2A,$12 ; CB 18 - !BYTE $54 ; CALL _X002 -_F014 !WORD 0 -_B005 -_B006 -; libsrc/apple/grlib.pla: 0469: call($FC58, 0, 0, 0, 0) // home() -; libsrc/apple/grlib.pla: 0470: wend - !BYTE $2C,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F015 !WORD 0 - !BYTE $30 ; DROP -_B001 -; libsrc/apple/grlib.pla: 0471: return mode - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0472: end -; libsrc/apple/grlib.pla: 0473: // -; libsrc/apple/grlib.pla: 0474: // Set display page, return other page -; libsrc/apple/grlib.pla: 0475: // -; libsrc/apple/grlib.pla: 0476: export def grShow(page)#1 - ; page -> [0] -_C002 ; grShow() -; libsrc/apple/grlib.pla: 0477: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0478: ^(showpage1 + page) -; libsrc/apple/grlib.pla: 0479: return page ^ 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $76,$00 ; SLW [0] - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0480: end -; libsrc/apple/grlib.pla: 0481: export def grSwap#0 -_C003 ; grSwap() -; libsrc/apple/grlib.pla: 0482: //vlbWait -; libsrc/apple/grlib.pla: 0483: ^(showpage1 + drawpage) -; libsrc/apple/grlib.pla: 0484: drawpage = drawpage ^ 1 -; libsrc/apple/grlib.pla: 0485: drawbuff = grbuff[drawpage] -; libsrc/apple/grlib.pla: 0486: end - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D032+0 -_F016 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D032+0 -_F017 !WORD _D032+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D032+0 -_F018 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F019 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F020 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F021 !WORD _D031+0 - !BYTE $5C ; RET -; libsrc/apple/grlib.pla: 0487: export def grDrawBuf(page)#0 - ; page -> [0] -_C004 ; grDrawBuf() -; libsrc/apple/grlib.pla: 0488: drawpage = page - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0489: drawbuff = grbuff[drawpage] -; libsrc/apple/grlib.pla: 0490: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _D032+0 -_F022 !WORD _D032+0 - !BYTE $26 ; LA _D030+0 -_F023 !WORD _D030+0 - !BYTE $BC ; IDXAB _D032+0 -_F024 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D031+0 -_F025 !WORD _D031+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0491: // -; libsrc/apple/grlib.pla: 0492: // Set color for clear & plot routines -; libsrc/apple/grlib.pla: 0493: // -; libsrc/apple/grlib.pla: 0494: export def grColor(clr)#0 - ; clr -> [0] -_C005 ; grColor() -; libsrc/apple/grlib.pla: 0495: ^$30 = (clr & $0F) | (clr << 4) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/grlib.pla: 0496: end - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $78,$30,$00 ; SAB 48 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/grlib.pla: 0497: // -; libsrc/apple/grlib.pla: 0498: // Assembly fixups -; libsrc/apple/grlib.pla: 0499: // -; libsrc/apple/grlib.pla: 0500: _grTileTile:1 = @grTile -_INIT -; libsrc/apple/grlib.pla: 0501: _grFillTile:1 = @grTile -; libsrc/apple/grlib.pla: 0502: // -; libsrc/apple/grlib.pla: 0503: // Fixups for drawbuff -; libsrc/apple/grlib.pla: 0504: // -; libsrc/apple/grlib.pla: 0505: grPlot:1 = @drawbuff -; libsrc/apple/grlib.pla: 0506: grPlot:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0507: grHLin:1 = @drawbuff -; libsrc/apple/grlib.pla: 0508: grHLin:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0509: grVLin:1 = @drawbuff -; libsrc/apple/grlib.pla: 0510: grVLin:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0511: grBLT:1 = @drawbuff -; libsrc/apple/grlib.pla: 0512: grBLT:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0513: grTile:1 = @drawbuff -; libsrc/apple/grlib.pla: 0514: grTile:6 = @drawbuff+1 -; libsrc/apple/grlib.pla: 0515: // -; libsrc/apple/grlib.pla: 0516: // Keep module in memory -; libsrc/apple/grlib.pla: 0517: // -; libsrc/apple/grlib.pla: 0518: return modkeep - !BYTE $26 ; LA _A005+0 -_F026 !WORD _A005+0 - !BYTE $7A ; SAW _A007+1 -_F027 !WORD _A007+1 - !BYTE $26 ; LA _A005+0 -_F028 !WORD _A005+0 - !BYTE $7A ; SAW _A009+1 -_F029 !WORD _A009+1 - !BYTE $26 ; LA _D031+0 -_F030 !WORD _D031+0 - !BYTE $7A ; SAW _A001+1 -_F031 !WORD _A001+1 - !BYTE $26 ; LA _D031+1 -_F032 !WORD _D031+1 - !BYTE $7A ; SAW _A001+6 -_F033 !WORD _A001+6 - !BYTE $26 ; LA _D031+0 -_F034 !WORD _D031+0 - !BYTE $7A ; SAW _A002+1 -_F035 !WORD _A002+1 - !BYTE $26 ; LA _D031+1 -_F036 !WORD _D031+1 - !BYTE $7A ; SAW _A002+6 -_F037 !WORD _A002+6 - !BYTE $26 ; LA _D031+0 -_F038 !WORD _D031+0 - !BYTE $7A ; SAW _A003+1 -_F039 !WORD _A003+1 - !BYTE $26 ; LA _D031+1 -_F040 !WORD _D031+1 - !BYTE $7A ; SAW _A003+6 -_F041 !WORD _A003+6 - !BYTE $26 ; LA _D031+0 -_F042 !WORD _D031+0 - !BYTE $7A ; SAW _A004+1 -_F043 !WORD _A004+1 - !BYTE $26 ; LA _D031+1 -_F044 !WORD _D031+1 - !BYTE $7A ; SAW _A004+6 -_F045 !WORD _A004+6 - !BYTE $26 ; LA _D031+0 -_F046 !WORD _D031+0 - !BYTE $7A ; SAW _A005+1 -_F047 !WORD _A005+1 - !BYTE $26 ; LA _D031+1 -_F048 !WORD _D031+1 - !BYTE $7A ; SAW _A005+6 -_F049 !WORD _A005+6 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/grlib.pla: 0519: done -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: GRPLOT - !BYTE $C7,$D2,$D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: GRHLIN - !BYTE $C7,$D2,$C8,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A002 - ; DCI STRING: GRVLIN - !BYTE $C7,$D2,$D6,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: GRBLT - !BYTE $C7,$D2,$C2,$CC,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A004 - ; DCI STRING: GRTILE - !BYTE $C7,$D2,$D4,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: GRTILESTR - !BYTE $C7,$D2,$D4,$C9,$CC,$C5,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A006 - ; DCI STRING: GRFILL - !BYTE $C7,$D2,$C6,$C9,$CC,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A008 - ; DCI STRING: GRCLEAR - !BYTE $C7,$D2,$C3,$CC,$C5,$C1,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: GRMODE - !BYTE $C7,$D2,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: GRSHOW - !BYTE $C7,$D2,$D3,$C8,$CF,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: GRSWAP - !BYTE $C7,$D2,$D3,$D7,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: GRDRAWBUF - !BYTE $C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: GRCOLOR - !BYTE $C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/hgrfont.a b/src/libsrc/apple/hgrfont.a deleted file mode 100644 index 489b9a4..0000000 --- a/src/libsrc/apple/hgrfont.a +++ /dev/null @@ -1,2423 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/hgrfont.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/hgrfont.pla: 0001: -; libsrc/apple/hgrfont.pla: 0002: include "inc/hgrtile.plh" -; inc/hgrtile.plh: 0001: import hgrtile - ; DCI STRING: HGRTILE - !BYTE $C8,$C7,$D2,$D4,$C9,$CC,$45 - ; HGRTILE -> X028 -; inc/hgrtile.plh: 0002: predef tileDraw(x, y, tileptr)#0 - ; TILEDRAW -> X029 -; inc/hgrtile.plh: 0003: predef tileXorDraw(x, y, tileptr)#0 - ; TILEXORDRAW -> X030 -; inc/hgrtile.plh: 0004: predef tileOrDraw(x, y, tileptr)#0 - ; TILEORDRAW -> X031 -; inc/hgrtile.plh: 0005: predef tileAndDraw(x, y, tileptr)#0 - ; TILEANDDRAW -> X032 -; inc/hgrtile.plh: 0006: predef tileDrawStr(x, y, strptr, strlen, tileset)#0 - ; TILEDRAWSTR -> X033 -; inc/hgrtile.plh: 0007: predef tileFromText(txtpage, tileset)#0 - ; TILEFROMTEXT -> X034 -; inc/hgrtile.plh: 0008: predef tileDrawBuf(page)#1 - ; TILEDRAWBUF -> X035 -; inc/hgrtile.plh: 0009: end -; libsrc/apple/hgrfont.pla: 0002: -; libsrc/apple/hgrfont.pla: 0003: // -; libsrc/apple/hgrfont.pla: 0004: // Apple //e hires character font -; libsrc/apple/hgrfont.pla: 0005: // -; libsrc/apple/hgrfont.pla: 0006: byte hgrFont[] - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D036 ; hgrFont[] -; libsrc/apple/hgrfont.pla: 0007: byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00 - !BYTE $1C - !BYTE $22 - !BYTE $2A - !BYTE $3A - !BYTE $1A - !BYTE $02 - !BYTE $3C - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0008: byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0009: byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0010: byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $3C - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $32 - !BYTE $22 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0011: byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0012: byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $22 - !BYTE $12 - !BYTE $0A - !BYTE $06 - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0013: byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $22 - !BYTE $36 - !BYTE $2A - !BYTE $2A - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0014: byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $32 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0015: byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0016: byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $1C - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0017: byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0018: byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $2A - !BYTE $36 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0019: byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0020: byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0021: byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00 - !BYTE $00 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0022: byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $7F -; libsrc/apple/hgrfont.pla: 0023: byte = $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$08,$08,$08,$00,$08,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0024: byte = $14,$14,$14,$00,$00,$00,$00,$00,$14,$14,$3E,$14,$3E,$14,$14,$00 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $14 - !BYTE $14 - !BYTE $3E - !BYTE $14 - !BYTE $3E - !BYTE $14 - !BYTE $14 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0025: byte = $08,$3C,$0A,$1C,$28,$1E,$08,$00,$06,$26,$10,$08,$04,$32,$30,$00 - !BYTE $08 - !BYTE $3C - !BYTE $0A - !BYTE $1C - !BYTE $28 - !BYTE $1E - !BYTE $08 - !BYTE $00 - !BYTE $06 - !BYTE $26 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $32 - !BYTE $30 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0026: byte = $04,$0A,$0A,$04,$2A,$12,$2C,$00,$08,$08,$08,$00,$00,$00,$00,$00 - !BYTE $04 - !BYTE $0A - !BYTE $0A - !BYTE $04 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0027: byte = $08,$04,$02,$02,$02,$04,$08,$00,$08,$10,$20,$20,$20,$10,$08,$00 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0028: byte = $08,$2A,$1C,$08,$1C,$2A,$08,$00,$00,$08,$08,$3E,$08,$08,$00,$00 - !BYTE $08 - !BYTE $2A - !BYTE $1C - !BYTE $08 - !BYTE $1C - !BYTE $2A - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0029: byte = $00,$00,$00,$00,$08,$08,$04,$00,$00,$00,$00,$3E,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $04 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0030: byte = $00,$00,$00,$00,$00,$00,$08,$00,$00,$20,$10,$08,$04,$02,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0031: byte = $1C,$22,$32,$2A,$26,$22,$1C,$00,$08,$0C,$08,$08,$08,$08,$1C,$00 - !BYTE $1C - !BYTE $22 - !BYTE $32 - !BYTE $2A - !BYTE $26 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $08 - !BYTE $0C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0032: byte = $1C,$22,$20,$18,$04,$02,$3E,$00,$3E,$20,$10,$18,$20,$22,$1C,$00 - !BYTE $1C - !BYTE $22 - !BYTE $20 - !BYTE $18 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $18 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0033: byte = $10,$18,$14,$12,$3E,$10,$10,$00,$3E,$02,$1E,$20,$20,$22,$1C,$00 - !BYTE $10 - !BYTE $18 - !BYTE $14 - !BYTE $12 - !BYTE $3E - !BYTE $10 - !BYTE $10 - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $1E - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0034: byte = $38,$04,$02,$1E,$22,$22,$1C,$00,$3E,$20,$10,$08,$04,$04,$04,$00 - !BYTE $38 - !BYTE $04 - !BYTE $02 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0035: byte = $1C,$22,$22,$1C,$22,$22,$1C,$00,$1C,$22,$22,$3C,$20,$10,$0E,$00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $20 - !BYTE $10 - !BYTE $0E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0036: byte = $00,$00,$08,$00,$08,$00,$00,$00,$00,$00,$08,$00,$08,$08,$04,$00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $04 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0037: byte = $10,$08,$04,$02,$04,$08,$10,$00,$00,$00,$3E,$00,$3E,$00,$00,$00 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0038: byte = $04,$08,$10,$20,$10,$08,$04,$00,$1C,$22,$10,$08,$08,$00,$08,$00 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $10 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0039: byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00 - !BYTE $1C - !BYTE $22 - !BYTE $2A - !BYTE $3A - !BYTE $1A - !BYTE $02 - !BYTE $3C - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0040: byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0041: byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0042: byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $3C - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $32 - !BYTE $22 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0043: byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0044: byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $22 - !BYTE $12 - !BYTE $0A - !BYTE $06 - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0045: byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $22 - !BYTE $36 - !BYTE $2A - !BYTE $2A - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0046: byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $32 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0047: byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0048: byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $1C - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0049: byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0050: byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $2A - !BYTE $36 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0051: byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0052: byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0053: byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00 - !BYTE $00 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0054: byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $7F -; libsrc/apple/hgrfont.pla: 0055: byte = $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$08,$08,$08,$00,$08,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0056: byte = $14,$14,$14,$00,$00,$00,$00,$00,$14,$14,$3E,$14,$3E,$14,$14,$00 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $14 - !BYTE $14 - !BYTE $3E - !BYTE $14 - !BYTE $3E - !BYTE $14 - !BYTE $14 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0057: byte = $08,$3C,$0A,$1C,$28,$1E,$08,$00,$06,$26,$10,$08,$04,$32,$30,$00 - !BYTE $08 - !BYTE $3C - !BYTE $0A - !BYTE $1C - !BYTE $28 - !BYTE $1E - !BYTE $08 - !BYTE $00 - !BYTE $06 - !BYTE $26 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $32 - !BYTE $30 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0058: byte = $04,$0A,$0A,$04,$2A,$12,$2C,$00,$08,$08,$08,$00,$00,$00,$00,$00 - !BYTE $04 - !BYTE $0A - !BYTE $0A - !BYTE $04 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0059: byte = $08,$04,$02,$02,$02,$04,$08,$00,$08,$10,$20,$20,$20,$10,$08,$00 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0060: byte = $08,$2A,$1C,$08,$1C,$2A,$08,$00,$00,$08,$08,$3E,$08,$08,$00,$00 - !BYTE $08 - !BYTE $2A - !BYTE $1C - !BYTE $08 - !BYTE $1C - !BYTE $2A - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0061: byte = $00,$00,$00,$00,$08,$08,$04,$00,$00,$00,$00,$3E,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $04 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0062: byte = $00,$00,$00,$00,$00,$00,$08,$00,$00,$20,$10,$08,$04,$02,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0063: byte = $1C,$22,$32,$2A,$26,$22,$1C,$00,$08,$0C,$08,$08,$08,$08,$1C,$00 - !BYTE $1C - !BYTE $22 - !BYTE $32 - !BYTE $2A - !BYTE $26 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $08 - !BYTE $0C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0064: byte = $1C,$22,$20,$18,$04,$02,$3E,$00,$3E,$20,$10,$18,$20,$22,$1C,$00 - !BYTE $1C - !BYTE $22 - !BYTE $20 - !BYTE $18 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $18 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0065: byte = $10,$18,$14,$12,$3E,$10,$10,$00,$3E,$02,$1E,$20,$20,$22,$1C,$00 - !BYTE $10 - !BYTE $18 - !BYTE $14 - !BYTE $12 - !BYTE $3E - !BYTE $10 - !BYTE $10 - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $1E - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0066: byte = $38,$04,$02,$1E,$22,$22,$1C,$00,$3E,$20,$10,$08,$04,$04,$04,$00 - !BYTE $38 - !BYTE $04 - !BYTE $02 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0067: byte = $1C,$22,$22,$1C,$22,$22,$1C,$00,$1C,$22,$22,$3C,$20,$10,$0E,$00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $20 - !BYTE $10 - !BYTE $0E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0068: byte = $00,$00,$08,$00,$08,$00,$00,$00,$00,$00,$08,$00,$08,$08,$04,$00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $04 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0069: byte = $10,$08,$04,$02,$04,$08,$10,$00,$00,$00,$3E,$00,$3E,$00,$00,$00 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0070: byte = $04,$08,$10,$20,$10,$08,$04,$00,$1C,$22,$10,$08,$08,$00,$08,$00 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $10 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0071: byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00 - !BYTE $1C - !BYTE $22 - !BYTE $2A - !BYTE $3A - !BYTE $1A - !BYTE $02 - !BYTE $3C - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0072: byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0073: byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0074: byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $3C - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $32 - !BYTE $22 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0075: byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0076: byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $22 - !BYTE $12 - !BYTE $0A - !BYTE $06 - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0077: byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $22 - !BYTE $36 - !BYTE $2A - !BYTE $2A - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0078: byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $32 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0079: byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0080: byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $1C - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0081: byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0082: byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $2A - !BYTE $36 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0083: byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0084: byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0085: byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00 - !BYTE $00 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0086: byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $7F -; libsrc/apple/hgrfont.pla: 0087: byte = $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$08,$08,$08,$00,$08,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0088: byte = $14,$14,$14,$00,$00,$00,$00,$00,$14,$14,$3E,$14,$3E,$14,$14,$00 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $14 - !BYTE $14 - !BYTE $3E - !BYTE $14 - !BYTE $3E - !BYTE $14 - !BYTE $14 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0089: byte = $08,$3C,$0A,$1C,$28,$1E,$08,$00,$06,$26,$10,$08,$04,$32,$30,$00 - !BYTE $08 - !BYTE $3C - !BYTE $0A - !BYTE $1C - !BYTE $28 - !BYTE $1E - !BYTE $08 - !BYTE $00 - !BYTE $06 - !BYTE $26 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $32 - !BYTE $30 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0090: byte = $04,$0A,$0A,$04,$2A,$12,$2C,$00,$08,$08,$08,$00,$00,$00,$00,$00 - !BYTE $04 - !BYTE $0A - !BYTE $0A - !BYTE $04 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0091: byte = $08,$04,$02,$02,$02,$04,$08,$00,$08,$10,$20,$20,$20,$10,$08,$00 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0092: byte = $08,$2A,$1C,$08,$1C,$2A,$08,$00,$00,$08,$08,$3E,$08,$08,$00,$00 - !BYTE $08 - !BYTE $2A - !BYTE $1C - !BYTE $08 - !BYTE $1C - !BYTE $2A - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0093: byte = $00,$00,$00,$00,$08,$08,$04,$00,$00,$00,$00,$3E,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $04 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0094: byte = $00,$00,$00,$00,$00,$00,$08,$00,$00,$20,$10,$08,$04,$02,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0095: byte = $1C,$22,$32,$2A,$26,$22,$1C,$00,$08,$0C,$08,$08,$08,$08,$1C,$00 - !BYTE $1C - !BYTE $22 - !BYTE $32 - !BYTE $2A - !BYTE $26 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $08 - !BYTE $0C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0096: byte = $1C,$22,$20,$18,$04,$02,$3E,$00,$3E,$20,$10,$18,$20,$22,$1C,$00 - !BYTE $1C - !BYTE $22 - !BYTE $20 - !BYTE $18 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $18 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0097: byte = $10,$18,$14,$12,$3E,$10,$10,$00,$3E,$02,$1E,$20,$20,$22,$1C,$00 - !BYTE $10 - !BYTE $18 - !BYTE $14 - !BYTE $12 - !BYTE $3E - !BYTE $10 - !BYTE $10 - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $1E - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0098: byte = $38,$04,$02,$1E,$22,$22,$1C,$00,$3E,$20,$10,$08,$04,$04,$04,$00 - !BYTE $38 - !BYTE $04 - !BYTE $02 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0099: byte = $1C,$22,$22,$1C,$22,$22,$1C,$00,$1C,$22,$22,$3C,$20,$10,$0E,$00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $20 - !BYTE $10 - !BYTE $0E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0100: byte = $00,$00,$08,$00,$08,$00,$00,$00,$00,$00,$08,$00,$08,$08,$04,$00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $08 - !BYTE $04 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0101: byte = $10,$08,$04,$02,$04,$08,$10,$00,$00,$00,$3E,$00,$3E,$00,$00,$00 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0102: byte = $04,$08,$10,$20,$10,$08,$04,$00,$1C,$22,$10,$08,$08,$00,$08,$00 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $10 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0103: byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00 - !BYTE $1C - !BYTE $22 - !BYTE $2A - !BYTE $3A - !BYTE $1A - !BYTE $02 - !BYTE $3C - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0104: byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0105: byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0106: byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00 - !BYTE $3E - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $3C - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $32 - !BYTE $22 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0107: byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $3E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0108: byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 - !BYTE $22 - !BYTE $12 - !BYTE $0A - !BYTE $06 - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0109: byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $22 - !BYTE $36 - !BYTE $2A - !BYTE $2A - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0110: byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $22 - !BYTE $22 - !BYTE $26 - !BYTE $2A - !BYTE $32 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0111: byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $12 - !BYTE $2C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0112: byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $0A - !BYTE $12 - !BYTE $22 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $02 - !BYTE $1C - !BYTE $20 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0113: byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00 - !BYTE $3E - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0114: byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $2A - !BYTE $36 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0115: byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0116: byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00 - !BYTE $3E - !BYTE $20 - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $02 - !BYTE $3E - !BYTE $00 - !BYTE $3E - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $06 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0117: byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00 - !BYTE $00 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $20 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $30 - !BYTE $3E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0118: byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $7F -; libsrc/apple/hgrfont.pla: 0119: byte = $04,$08,$10,$00,$00,$00,$00,$00,$00,$00,$1C,$20,$3C,$22,$3C,$00 - !BYTE $04 - !BYTE $08 - !BYTE $10 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $1C - !BYTE $20 - !BYTE $3C - !BYTE $22 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0120: byte = $02,$02,$1E,$22,$22,$22,$1E,$00,$00,$00,$3C,$02,$02,$02,$3C,$00 - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3C - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0121: byte = $20,$20,$3C,$22,$22,$22,$3C,$00,$00,$00,$1C,$22,$3E,$02,$3C,$00 - !BYTE $20 - !BYTE $20 - !BYTE $3C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $3E - !BYTE $02 - !BYTE $3C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0122: byte = $18,$24,$04,$1E,$04,$04,$04,$00,$00,$00,$1C,$22,$22,$3C,$20,$1C - !BYTE $18 - !BYTE $24 - !BYTE $04 - !BYTE $1E - !BYTE $04 - !BYTE $04 - !BYTE $04 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $20 - !BYTE $1C -; libsrc/apple/hgrfont.pla: 0123: byte = $02,$02,$1E,$22,$22,$22,$22,$00,$08,$00,$0C,$08,$08,$08,$1C,$00 - !BYTE $02 - !BYTE $02 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $0C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0124: byte = $10,$00,$18,$10,$10,$10,$12,$0C,$02,$02,$22,$12,$0E,$12,$22,$00 - !BYTE $10 - !BYTE $00 - !BYTE $18 - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $12 - !BYTE $0C - !BYTE $02 - !BYTE $02 - !BYTE $22 - !BYTE $12 - !BYTE $0E - !BYTE $12 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0125: byte = $0C,$08,$08,$08,$08,$08,$1C,$00,$00,$00,$36,$2A,$2A,$22,$22,$00 - !BYTE $0C - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $1C - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $36 - !BYTE $2A - !BYTE $2A - !BYTE $22 - !BYTE $22 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0126: byte = $00,$00,$1E,$22,$22,$22,$22,$00,$00,$00,$1C,$22,$22,$22,$1C,$00 - !BYTE $00 - !BYTE $00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $1C - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $1C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0127: byte = $00,$00,$1E,$22,$22,$1E,$02,$02,$00,$00,$3C,$22,$22,$3C,$20,$20 - !BYTE $00 - !BYTE $00 - !BYTE $1E - !BYTE $22 - !BYTE $22 - !BYTE $1E - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $00 - !BYTE $3C - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $20 - !BYTE $20 -; libsrc/apple/hgrfont.pla: 0128: byte = $00,$00,$3A,$06,$02,$02,$02,$00,$00,$00,$3C,$02,$1C,$20,$1E,$00 - !BYTE $00 - !BYTE $00 - !BYTE $3A - !BYTE $06 - !BYTE $02 - !BYTE $02 - !BYTE $02 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $3C - !BYTE $02 - !BYTE $1C - !BYTE $20 - !BYTE $1E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0129: byte = $04,$04,$1E,$04,$04,$24,$18,$00,$00,$00,$22,$22,$22,$32,$2C,$00 - !BYTE $04 - !BYTE $04 - !BYTE $1E - !BYTE $04 - !BYTE $04 - !BYTE $24 - !BYTE $18 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $32 - !BYTE $2C - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0130: byte = $00,$00,$22,$22,$22,$14,$08,$00,$00,$00,$22,$22,$2A,$2A,$36,$00 - !BYTE $00 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $2A - !BYTE $2A - !BYTE $36 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0131: byte = $00,$00,$22,$14,$08,$14,$22,$00,$00,$00,$22,$22,$22,$3C,$20,$1C - !BYTE $00 - !BYTE $00 - !BYTE $22 - !BYTE $14 - !BYTE $08 - !BYTE $14 - !BYTE $22 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $3C - !BYTE $20 - !BYTE $1C -; libsrc/apple/hgrfont.pla: 0132: byte = $00,$00,$3E,$10,$08,$04,$3E,$00,$38,$0C,$0C,$06,$0C,$0C,$38,$00 - !BYTE $00 - !BYTE $00 - !BYTE $3E - !BYTE $10 - !BYTE $08 - !BYTE $04 - !BYTE $3E - !BYTE $00 - !BYTE $38 - !BYTE $0C - !BYTE $0C - !BYTE $06 - !BYTE $0C - !BYTE $0C - !BYTE $38 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0133: byte = $08,$08,$08,$08,$08,$08,$08,$08,$0E,$18,$18,$30,$18,$18,$0E,$00 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $0E - !BYTE $18 - !BYTE $18 - !BYTE $30 - !BYTE $18 - !BYTE $18 - !BYTE $0E - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0134: byte = $00,$2C,$1A,$00,$00,$00,$00,$00,$00,$2A,$14,$2A,$14,$2A,$00,$00 - !BYTE $00 - !BYTE $2C - !BYTE $1A - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $2A - !BYTE $14 - !BYTE $2A - !BYTE $14 - !BYTE $2A - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrfont.pla: 0135: // -; libsrc/apple/hgrfont.pla: 0136: // Print string with HGR tile library -; libsrc/apple/hgrfont.pla: 0137: // -; libsrc/apple/hgrfont.pla: 0138: export def hgrPutStr(x, y, strptr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; x -> [0] - ; y -> [2] - ; strptr -> [4] -_C000 ; hgrPutStr() -; libsrc/apple/hgrfont.pla: 0139: tileDrawStr(x, y, strptr + 1, ^strptr, @hgrFont + 1024) // Offset into regular char - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/hgrfont.pla: 0140: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $26 ; LA _D036+1024 -_F000 !WORD _D036+1024 - !BYTE $54 ; CALL _X033 -_F001 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/hgrfont.pla: 0141: // -; libsrc/apple/hgrfont.pla: 0142: // Keep module in memory -; libsrc/apple/hgrfont.pla: 0143: // -; libsrc/apple/hgrfont.pla: 0144: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/hgrfont.pla: 0145: done -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: TILEDRAWSTR - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$D7,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: HGRPUTSTR - !BYTE $C8,$C7,$D2,$D0,$D5,$D4,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/hgrlib.a b/src/libsrc/apple/hgrlib.a deleted file mode 100644 index 0bd7646..0000000 --- a/src/libsrc/apple/hgrlib.a +++ /dev/null @@ -1,4099 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/hgrlib.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/hgrlib.pla: 0001: -; libsrc/apple/hgrlib.pla: 0002: // -; libsrc/apple/hgrlib.pla: 0003: // Hardware addresses -; libsrc/apple/hgrlib.pla: 0004: // -; libsrc/apple/hgrlib.pla: 0005: const showgraphics = $C050 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; showgraphics = 49232 -; libsrc/apple/hgrlib.pla: 0006: const showtext = $C051 - ; showtext = 49233 -; libsrc/apple/hgrlib.pla: 0007: const showfull = $C052 - ; showfull = 49234 -; libsrc/apple/hgrlib.pla: 0008: const showmix = $C053 - ; showmix = 49235 -; libsrc/apple/hgrlib.pla: 0009: const showpage1 = $C054 - ; showpage1 = 49236 -; libsrc/apple/hgrlib.pla: 0010: const showpage2 = $C055 - ; showpage2 = 49237 -; libsrc/apple/hgrlib.pla: 0011: const showlores = $C056 - ; showlores = 49238 -; libsrc/apple/hgrlib.pla: 0012: const showhires = $C057 - ; showhires = 49239 -; libsrc/apple/hgrlib.pla: 0013: const keyboard = $C000 - ; keyboard = 49152 -; libsrc/apple/hgrlib.pla: 0014: const keystrobe = $C010 - ; keystrobe = 49168 -; libsrc/apple/hgrlib.pla: 0015: const hgr1 = $2000 - ; hgr1 = 8192 -; libsrc/apple/hgrlib.pla: 0016: const hgr2 = $4000 - ; hgr2 = 16384 -; libsrc/apple/hgrlib.pla: 0017: const page1 = 0 - ; page1 = 0 -; libsrc/apple/hgrlib.pla: 0018: const page2 = 1 - ; page2 = 1 -; libsrc/apple/hgrlib.pla: 0019: // -; libsrc/apple/hgrlib.pla: 0020: // Apple III hardware constants. -; libsrc/apple/hgrlib.pla: 0021: // -; libsrc/apple/hgrlib.pla: 0022: const ENV_REG = $FFDF - ; ENV_REG = 65503 -; libsrc/apple/hgrlib.pla: 0023: // -; libsrc/apple/hgrlib.pla: 0024: // Screen addresses -; libsrc/apple/hgrlib.pla: 0025: // -; libsrc/apple/hgrlib.pla: 0026: word hgrbuff[] = hgr1, hgr2 -_D028 ; hgrbuff[] = hgr1, hgr2 - !WORD $2000 - !WORD $4000 -; libsrc/apple/hgrlib.pla: 0027: //word hgrscan[] = $0000,$0400,$0800,$0C00,$1000,$1400,$1800,$1C00 -; libsrc/apple/hgrlib.pla: 0028: //word = $0080,$0480,$0880,$0C80,$1080,$1480,$1880,$1C80 -; libsrc/apple/hgrlib.pla: 0029: //word = $0100,$0500,$0900,$0D00,$1100,$1500,$1900,$1D00 -; libsrc/apple/hgrlib.pla: 0030: //word = $0180,$0580,$0980,$0D80,$1180,$1580,$1980,$1D80 -; libsrc/apple/hgrlib.pla: 0031: //word = $0200,$0600,$0A00,$0E00,$1200,$1600,$1A00,$1E00 -; libsrc/apple/hgrlib.pla: 0032: //word = $0280,$0680,$0A80,$0E80,$1280,$1680,$1A80,$1E80 -; libsrc/apple/hgrlib.pla: 0033: //word = $0300,$0700,$0B00,$0F00,$1300,$1700,$1B00,$1F00 -; libsrc/apple/hgrlib.pla: 0034: //word = $0380,$0780,$0B80,$0F80,$1380,$1780,$1B80,$1F80 -; libsrc/apple/hgrlib.pla: 0035: //word = $0028,$0428,$0828,$0C28,$1028,$1428,$1828,$1C28 -; libsrc/apple/hgrlib.pla: 0036: //word = $00A8,$04A8,$08A8,$0CA8,$10A8,$14A8,$18A8,$1CA8 -; libsrc/apple/hgrlib.pla: 0037: //word = $0128,$0528,$0928,$0D28,$1128,$1528,$1928,$1D28 -; libsrc/apple/hgrlib.pla: 0038: //word = $01A8,$05A8,$09A8,$0DA8,$11A8,$15A8,$19A8,$1DA8 -; libsrc/apple/hgrlib.pla: 0039: //word = $0228,$0628,$0A28,$0E28,$1228,$1628,$1A28,$1E28 -; libsrc/apple/hgrlib.pla: 0040: //word = $02A8,$06A8,$0AA8,$0EA8,$12A8,$16A8,$1AA8,$1EA8 -; libsrc/apple/hgrlib.pla: 0041: //word = $0328,$0728,$0B28,$0F28,$1328,$1728,$1B28,$1F28 -; libsrc/apple/hgrlib.pla: 0042: //word = $03A8,$07A8,$0BA8,$0FA8,$13A8,$17A8,$1BA8,$1FA8 -; libsrc/apple/hgrlib.pla: 0043: //word = $0050,$0450,$0850,$0C50,$1050,$1450,$1850,$1C50 -; libsrc/apple/hgrlib.pla: 0044: //word = $00D0,$04D0,$08D0,$0CD0,$10D0,$14D0,$18D0,$1CD0 -; libsrc/apple/hgrlib.pla: 0045: //word = $0150,$0550,$0950,$0D50,$1150,$1550,$1950,$1D50 -; libsrc/apple/hgrlib.pla: 0046: //word = $01D0,$05D0,$09D0,$0DD0,$11D0,$15D0,$19D0,$1DD0 -; libsrc/apple/hgrlib.pla: 0047: //word = $0250,$0650,$0A50,$0E50,$1250,$1650,$1A50,$1E50 -; libsrc/apple/hgrlib.pla: 0048: //word = $02D0,$06D0,$0AD0,$0ED0,$12D0,$16D0,$1AD0,$1ED0 -; libsrc/apple/hgrlib.pla: 0049: //word = $0350,$0750,$0B50,$0F50,$1350,$1750,$1B50,$1F50 -; libsrc/apple/hgrlib.pla: 0050: //word = $03D0,$07D0,$0BD0,$0FD0,$13D0,$17D0,$1BD0,$1FD0 -; libsrc/apple/hgrlib.pla: 0051: //word hmask = $8081,$8082,$8084,$8088,$8090,$80A0,$80C0 -; libsrc/apple/hgrlib.pla: 0052: //word = $8180,$8280,$8480,$8880,$9080,$A080,$C080 -; libsrc/apple/hgrlib.pla: 0053: byte hgrscanl[]= $00,$00,$00,$00,$00,$00,$00,$00 -_D029 ; hgrscanl[]= $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrlib.pla: 0054: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; libsrc/apple/hgrlib.pla: 0055: byte = $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrlib.pla: 0056: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; libsrc/apple/hgrlib.pla: 0057: byte = $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrlib.pla: 0058: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; libsrc/apple/hgrlib.pla: 0059: byte = $00,$00,$00,$00,$00,$00,$00,$00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/apple/hgrlib.pla: 0060: byte = $80,$80,$80,$80,$80,$80,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 - !BYTE $80 -; libsrc/apple/hgrlib.pla: 0061: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; libsrc/apple/hgrlib.pla: 0062: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; libsrc/apple/hgrlib.pla: 0063: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; libsrc/apple/hgrlib.pla: 0064: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; libsrc/apple/hgrlib.pla: 0065: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; libsrc/apple/hgrlib.pla: 0066: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; libsrc/apple/hgrlib.pla: 0067: byte = $28,$28,$28,$28,$28,$28,$28,$28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 - !BYTE $28 -; libsrc/apple/hgrlib.pla: 0068: byte = $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 - !BYTE $A8 -; libsrc/apple/hgrlib.pla: 0069: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; libsrc/apple/hgrlib.pla: 0070: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; libsrc/apple/hgrlib.pla: 0071: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; libsrc/apple/hgrlib.pla: 0072: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; libsrc/apple/hgrlib.pla: 0073: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; libsrc/apple/hgrlib.pla: 0074: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; libsrc/apple/hgrlib.pla: 0075: byte = $50,$50,$50,$50,$50,$50,$50,$50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $50 -; libsrc/apple/hgrlib.pla: 0076: byte = $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 - !BYTE $D0 -; libsrc/apple/hgrlib.pla: 0077: byte hgrscanh[]= $00,$04,$08,$0C,$10,$14,$18,$1C -_D030 ; hgrscanh[]= $00,$04,$08,$0C,$10,$14,$18,$1C - !BYTE $00 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $10 - !BYTE $14 - !BYTE $18 - !BYTE $1C -; libsrc/apple/hgrlib.pla: 0078: byte = $00,$04,$08,$0C,$10,$14,$18,$1C - !BYTE $00 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $10 - !BYTE $14 - !BYTE $18 - !BYTE $1C -; libsrc/apple/hgrlib.pla: 0079: byte = $01,$05,$09,$0D,$11,$15,$19,$1D - !BYTE $01 - !BYTE $05 - !BYTE $09 - !BYTE $0D - !BYTE $11 - !BYTE $15 - !BYTE $19 - !BYTE $1D -; libsrc/apple/hgrlib.pla: 0080: byte = $01,$05,$09,$0D,$11,$15,$19,$1D - !BYTE $01 - !BYTE $05 - !BYTE $09 - !BYTE $0D - !BYTE $11 - !BYTE $15 - !BYTE $19 - !BYTE $1D -; libsrc/apple/hgrlib.pla: 0081: byte = $02,$06,$0A,$0E,$12,$16,$1A,$1E - !BYTE $02 - !BYTE $06 - !BYTE $0A - !BYTE $0E - !BYTE $12 - !BYTE $16 - !BYTE $1A - !BYTE $1E -; libsrc/apple/hgrlib.pla: 0082: byte = $02,$06,$0A,$0E,$12,$16,$1A,$1E - !BYTE $02 - !BYTE $06 - !BYTE $0A - !BYTE $0E - !BYTE $12 - !BYTE $16 - !BYTE $1A - !BYTE $1E -; libsrc/apple/hgrlib.pla: 0083: byte = $03,$07,$0B,$0F,$13,$17,$1B,$1F - !BYTE $03 - !BYTE $07 - !BYTE $0B - !BYTE $0F - !BYTE $13 - !BYTE $17 - !BYTE $1B - !BYTE $1F -; libsrc/apple/hgrlib.pla: 0084: byte = $03,$07,$0B,$0F,$13,$17,$1B,$1F - !BYTE $03 - !BYTE $07 - !BYTE $0B - !BYTE $0F - !BYTE $13 - !BYTE $17 - !BYTE $1B - !BYTE $1F -; libsrc/apple/hgrlib.pla: 0085: byte = $00,$04,$08,$0C,$10,$14,$18,$1C - !BYTE $00 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $10 - !BYTE $14 - !BYTE $18 - !BYTE $1C -; libsrc/apple/hgrlib.pla: 0086: byte = $00,$04,$08,$0C,$10,$14,$18,$1C - !BYTE $00 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $10 - !BYTE $14 - !BYTE $18 - !BYTE $1C -; libsrc/apple/hgrlib.pla: 0087: byte = $01,$05,$09,$0D,$11,$15,$19,$1D - !BYTE $01 - !BYTE $05 - !BYTE $09 - !BYTE $0D - !BYTE $11 - !BYTE $15 - !BYTE $19 - !BYTE $1D -; libsrc/apple/hgrlib.pla: 0088: byte = $01,$05,$09,$0D,$11,$15,$19,$1D - !BYTE $01 - !BYTE $05 - !BYTE $09 - !BYTE $0D - !BYTE $11 - !BYTE $15 - !BYTE $19 - !BYTE $1D -; libsrc/apple/hgrlib.pla: 0089: byte = $02,$06,$0A,$0E,$12,$16,$1A,$1E - !BYTE $02 - !BYTE $06 - !BYTE $0A - !BYTE $0E - !BYTE $12 - !BYTE $16 - !BYTE $1A - !BYTE $1E -; libsrc/apple/hgrlib.pla: 0090: byte = $02,$06,$0A,$0E,$12,$16,$1A,$1E - !BYTE $02 - !BYTE $06 - !BYTE $0A - !BYTE $0E - !BYTE $12 - !BYTE $16 - !BYTE $1A - !BYTE $1E -; libsrc/apple/hgrlib.pla: 0091: byte = $03,$07,$0B,$0F,$13,$17,$1B,$1F - !BYTE $03 - !BYTE $07 - !BYTE $0B - !BYTE $0F - !BYTE $13 - !BYTE $17 - !BYTE $1B - !BYTE $1F -; libsrc/apple/hgrlib.pla: 0092: byte = $03,$07,$0B,$0F,$13,$17,$1B,$1F - !BYTE $03 - !BYTE $07 - !BYTE $0B - !BYTE $0F - !BYTE $13 - !BYTE $17 - !BYTE $1B - !BYTE $1F -; libsrc/apple/hgrlib.pla: 0093: byte = $00,$04,$08,$0C,$10,$14,$18,$1C - !BYTE $00 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $10 - !BYTE $14 - !BYTE $18 - !BYTE $1C -; libsrc/apple/hgrlib.pla: 0094: byte = $00,$04,$08,$0C,$10,$14,$18,$1C - !BYTE $00 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $10 - !BYTE $14 - !BYTE $18 - !BYTE $1C -; libsrc/apple/hgrlib.pla: 0095: byte = $01,$05,$09,$0D,$11,$15,$19,$1D - !BYTE $01 - !BYTE $05 - !BYTE $09 - !BYTE $0D - !BYTE $11 - !BYTE $15 - !BYTE $19 - !BYTE $1D -; libsrc/apple/hgrlib.pla: 0096: byte = $01,$05,$09,$0D,$11,$15,$19,$1D - !BYTE $01 - !BYTE $05 - !BYTE $09 - !BYTE $0D - !BYTE $11 - !BYTE $15 - !BYTE $19 - !BYTE $1D -; libsrc/apple/hgrlib.pla: 0097: byte = $02,$06,$0A,$0E,$12,$16,$1A,$1E - !BYTE $02 - !BYTE $06 - !BYTE $0A - !BYTE $0E - !BYTE $12 - !BYTE $16 - !BYTE $1A - !BYTE $1E -; libsrc/apple/hgrlib.pla: 0098: byte = $02,$06,$0A,$0E,$12,$16,$1A,$1E - !BYTE $02 - !BYTE $06 - !BYTE $0A - !BYTE $0E - !BYTE $12 - !BYTE $16 - !BYTE $1A - !BYTE $1E -; libsrc/apple/hgrlib.pla: 0099: byte = $03,$07,$0B,$0F,$13,$17,$1B,$1F - !BYTE $03 - !BYTE $07 - !BYTE $0B - !BYTE $0F - !BYTE $13 - !BYTE $17 - !BYTE $1B - !BYTE $1F -; libsrc/apple/hgrlib.pla: 0100: byte = $03,$07,$0B,$0F,$13,$17,$1B,$1F - !BYTE $03 - !BYTE $07 - !BYTE $0B - !BYTE $0F - !BYTE $13 - !BYTE $17 - !BYTE $1B - !BYTE $1F -; libsrc/apple/hgrlib.pla: 0101: byte hbmask = $81,$82,$84,$88,$90,$A0,$C0 -_D031 ; hbmask = $81,$82,$84,$88,$90,$A0,$C0 - !BYTE $81 - !BYTE $82 - !BYTE $84 - !BYTE $88 - !BYTE $90 - !BYTE $A0 - !BYTE $C0 -; libsrc/apple/hgrlib.pla: 0102: byte hlmask = $FF,$FE,$FC,$F8,$F0,$E0,$C0 -_D032 ; hlmask = $FF,$FE,$FC,$F8,$F0,$E0,$C0 - !BYTE $FF - !BYTE $FE - !BYTE $FC - !BYTE $F8 - !BYTE $F0 - !BYTE $E0 - !BYTE $C0 -; libsrc/apple/hgrlib.pla: 0103: byte hrmask = $81,$83,$87,$8F,$9F,$BF,$FF -_D033 ; hrmask = $81,$83,$87,$8F,$9F,$BF,$FF - !BYTE $81 - !BYTE $83 - !BYTE $87 - !BYTE $8F - !BYTE $9F - !BYTE $BF - !BYTE $FF -; libsrc/apple/hgrlib.pla: 0104: word hcolor[] = $0000,$552A,$2A55,$7F7F,$8080,$D5AA,$AAD5,$FFFF -_D034 ; hcolor[] = $0000,$552A,$2A55,$7F7F,$8080,$D5AA,$AAD5,$FFFF - !WORD $0000 - !WORD $552A - !WORD $2A55 - !WORD $7F7F - !WORD $8080 - !WORD $D5AA - !WORD $AAD5 - !WORD $FFFF -; libsrc/apple/hgrlib.pla: 0105: word curhclr -_D035 !FILL 2 ; curhclr -; libsrc/apple/hgrlib.pla: 0106: byte drawpage = 1 -_D036 ; drawpage = 1 - !BYTE $01 -; libsrc/apple/hgrlib.pla: 0107: word drawbuff = hgr2 -_D037 ; drawbuff = hgr2 - !WORD $4000 -; libsrc/apple/hgrlib.pla: 0108: -; libsrc/apple/hgrlib.pla: 0109: export asm divmod7(x)#2 -_A000 ; divmod7() -; libsrc/apple/hgrlib.pla: 0110: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/hgrlib.pla: 0111: LDA ESTKL+0,X ; X COORDL - LDA ESTKL+0,X ; X COORDL -; libsrc/apple/hgrlib.pla: 0112: LDY ESTKH+0,X ; X COORDH - LDY ESTKH+0,X ; X COORDH -; libsrc/apple/hgrlib.pla: 0113: BPL + - BPL + -; libsrc/apple/hgrlib.pla: 0114: TYA ; DEAL WITH NEG X COORD - TYA ; DEAL WITH NEG X COORD -; libsrc/apple/hgrlib.pla: 0115: EOR #$FF - EOR #$FF -; libsrc/apple/hgrlib.pla: 0116: TAY - TAY -; libsrc/apple/hgrlib.pla: 0117: LDA ESTKL+0,X - LDA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0118: EOR #$FF - EOR #$FF -; libsrc/apple/hgrlib.pla: 0119: + CPY #$01 -+ CPY #$01 -; libsrc/apple/hgrlib.pla: 0120: BEQ ++ ; MUST BE >= 140 - BEQ ++ ; MUST BE >= 140 -; libsrc/apple/hgrlib.pla: 0121: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0122: LDY #40 ; > 512 SO CLIP AT MAX - LDY #40 ; > 512 SO CLIP AT MAX -; libsrc/apple/hgrlib.pla: 0123: LDA #00 - LDA #00 -; libsrc/apple/hgrlib.pla: 0124: BEQ +++ - BEQ +++ -; libsrc/apple/hgrlib.pla: 0125: + CMP #140 -+ CMP #140 -; libsrc/apple/hgrlib.pla: 0126: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0127: ++ SEC -++ SEC -; libsrc/apple/hgrlib.pla: 0128: SBC #140 - SBC #140 -; libsrc/apple/hgrlib.pla: 0129: LDY #20 - LDY #20 -; libsrc/apple/hgrlib.pla: 0130: + CMP #70 -+ CMP #70 -; libsrc/apple/hgrlib.pla: 0131: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0132: SBC #70 - SBC #70 -; libsrc/apple/hgrlib.pla: 0133: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0134: TYA - TYA -; libsrc/apple/hgrlib.pla: 0135: ADC #9 - ADC #9 -; libsrc/apple/hgrlib.pla: 0136: TAY - TAY -; libsrc/apple/hgrlib.pla: 0137: LDA ESTKL+0,X - LDA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0138: + CMP #35 -+ CMP #35 -; libsrc/apple/hgrlib.pla: 0139: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0140: SBC #35 - SBC #35 -; libsrc/apple/hgrlib.pla: 0141: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0142: TYA - TYA -; libsrc/apple/hgrlib.pla: 0143: ADC #4 - ADC #4 -; libsrc/apple/hgrlib.pla: 0144: TAY - TAY -; libsrc/apple/hgrlib.pla: 0145: LDA ESTKL+0,X - LDA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0146: + -+ -; libsrc/apple/hgrlib.pla: 0147: - CMP #7 -- CMP #7 -; libsrc/apple/hgrlib.pla: 0148: BCC +++ - BCC +++ -; libsrc/apple/hgrlib.pla: 0149: SBC #7 - SBC #7 -; libsrc/apple/hgrlib.pla: 0150: INY - INY -; libsrc/apple/hgrlib.pla: 0151: BNE - - BNE - -; libsrc/apple/hgrlib.pla: 0152: +++ DEX -+++ DEX -; libsrc/apple/hgrlib.pla: 0153: ASL ESTKH+1,X ; CHECK SIGN OF XCOORD - ASL ESTKH+1,X ; CHECK SIGN OF XCOORD -; libsrc/apple/hgrlib.pla: 0154: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0155: STA ESTKL+0,X ; REMAINDERL - STA ESTKL+0,X ; REMAINDERL -; libsrc/apple/hgrlib.pla: 0156: STY ESTKL+1,X ; QUOTIENTL - STY ESTKL+1,X ; QUOTIENTL -; libsrc/apple/hgrlib.pla: 0157: LDY #$00 - LDY #$00 -; libsrc/apple/hgrlib.pla: 0158: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0159: STY ESTKH+1,X - STY ESTKH+1,X -; libsrc/apple/hgrlib.pla: 0160: RTS - RTS -; libsrc/apple/hgrlib.pla: 0161: + EOR #$07 -+ EOR #$07 -; libsrc/apple/hgrlib.pla: 0162: SBC #$01 - SBC #$01 -; libsrc/apple/hgrlib.pla: 0163: STA ESTKL+0,X ; REMAINDERL - STA ESTKL+0,X ; REMAINDERL -; libsrc/apple/hgrlib.pla: 0164: TYA - TYA -; libsrc/apple/hgrlib.pla: 0165: EOR #$FF - EOR #$FF -; libsrc/apple/hgrlib.pla: 0166: STA ESTKL+1,X ; QUOTIENTL - STA ESTKL+1,X ; QUOTIENTL -; libsrc/apple/hgrlib.pla: 0167: LDY #$00 - LDY #$00 -; libsrc/apple/hgrlib.pla: 0168: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0169: DEY - DEY -; libsrc/apple/hgrlib.pla: 0170: STY ESTKH+1,X - STY ESTKH+1,X -; libsrc/apple/hgrlib.pla: 0171: RTS - RTS -; libsrc/apple/hgrlib.pla: 0172: end -; libsrc/apple/hgrlib.pla: 0173: asm clipsrc(ofst, y, w, h, srcptr)#0 -_A001 ; clipsrc() -; libsrc/apple/hgrlib.pla: 0174: LDA ESTKL+0,X ; SRC PTR - LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 0175: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0176: LDA ESTKH+0,X - LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0177: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 0178: LDA ESTKL+2,X ; WIDTH (SRC PITCH) - LDA ESTKL+2,X ; WIDTH (SRC PITCH) -; libsrc/apple/hgrlib.pla: 0179: STA TMPH ; WIDTH (DRAW WIDTH) - STA TMPH ; WIDTH (DRAW WIDTH) -; libsrc/apple/hgrlib.pla: 0180: ; CLPTOP -; CLPTOP -; libsrc/apple/hgrlib.pla: 0181: LDY ESTKH+3,X ; Y COORDH - LDY ESTKH+3,X ; Y COORDH -; libsrc/apple/hgrlib.pla: 0182: BPL CLPBOTM - BPL CLPBOTM -; libsrc/apple/hgrlib.pla: 0183: INY - INY -; libsrc/apple/hgrlib.pla: 0184: ; STY ESTKH+3,X ; Y COORDH -; STY ESTKH+3,X ; Y COORDH -; libsrc/apple/hgrlib.pla: 0185: BNE CLPPED - BNE CLPPED -; libsrc/apple/hgrlib.pla: 0186: LDY ESTKL+3,X ; Y COORDL - LDY ESTKL+3,X ; Y COORDL -; libsrc/apple/hgrlib.pla: 0187: - LDA SRCL -- LDA SRCL -; libsrc/apple/hgrlib.pla: 0188: CLC - CLC -; libsrc/apple/hgrlib.pla: 0189: ADC ESTKL+2,X ; PITCH - ADC ESTKL+2,X ; PITCH -; libsrc/apple/hgrlib.pla: 0190: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0191: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0192: INC SRCH - INC SRCH -; libsrc/apple/hgrlib.pla: 0193: + DEC ESTKL+1,X ; HEIGHT -+ DEC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0194: BEQ CLPPED - BEQ CLPPED -; libsrc/apple/hgrlib.pla: 0195: INY ; Y COORDL - INY ; Y COORDL -; libsrc/apple/hgrlib.pla: 0196: BNE - - BNE - -; libsrc/apple/hgrlib.pla: 0197: STY ESTKL+3,X ; Y COORDL - STY ESTKL+3,X ; Y COORDL -; libsrc/apple/hgrlib.pla: 0198: BEQ CLPLEFT ; BETTER BE ZERO - BEQ CLPLEFT ; BETTER BE ZERO -; libsrc/apple/hgrlib.pla: 0199: CLPBOTM BNE CLPPED -CLPBOTM BNE CLPPED -; libsrc/apple/hgrlib.pla: 0200: LDA ESTKL+3,X ; YCOORDL - LDA ESTKL+3,X ; YCOORDL -; libsrc/apple/hgrlib.pla: 0201: CMP #192 - CMP #192 -; libsrc/apple/hgrlib.pla: 0202: BCS CLPPED - BCS CLPPED -; libsrc/apple/hgrlib.pla: 0203: ; CLC -; CLC -; libsrc/apple/hgrlib.pla: 0204: ADC ESTKL+1,X ; HEIGHT - ADC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0205: SBC #191 - SBC #191 -; libsrc/apple/hgrlib.pla: 0206: BCC CLPLEFT - BCC CLPLEFT -; libsrc/apple/hgrlib.pla: 0207: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0208: LDA ESTKL+1,X ; HEIGHT - LDA ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0209: SBC TMPL - SBC TMPL -; libsrc/apple/hgrlib.pla: 0210: STA ESTKL+1,X ; HEIGHT - STA ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0211: BEQ CLPPED - BEQ CLPPED -; libsrc/apple/hgrlib.pla: 0212: CLPLEFT LDY ESTKH+4,X ; HORIZ OFFSETH -CLPLEFT LDY ESTKH+4,X ; HORIZ OFFSETH -; libsrc/apple/hgrlib.pla: 0213: BPL CLPRGHT - BPL CLPRGHT -; libsrc/apple/hgrlib.pla: 0214: INY - INY -; libsrc/apple/hgrlib.pla: 0215: ; STY ESTKH+4,X -; STY ESTKH+4,X -; libsrc/apple/hgrlib.pla: 0216: BNE CLPPED - BNE CLPPED -; libsrc/apple/hgrlib.pla: 0217: LDY ESTKL+4,X ; HORIZ OFFSETL - LDY ESTKL+4,X ; HORIZ OFFSETL -; libsrc/apple/hgrlib.pla: 0218: - INC SRCL -- INC SRCL -; libsrc/apple/hgrlib.pla: 0219: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0220: INC SRCH - INC SRCH -; libsrc/apple/hgrlib.pla: 0221: + DEC TMPH ; WIDTH -+ DEC TMPH ; WIDTH -; libsrc/apple/hgrlib.pla: 0222: BEQ CLPPED - BEQ CLPPED -; libsrc/apple/hgrlib.pla: 0223: INY ; HORIZ OFFSETL - INY ; HORIZ OFFSETL -; libsrc/apple/hgrlib.pla: 0224: BNE - - BNE - -; libsrc/apple/hgrlib.pla: 0225: STY ESTKL+4,X ; HORIZ OFFSETL - STY ESTKL+4,X ; HORIZ OFFSETL -; libsrc/apple/hgrlib.pla: 0226: BEQ CLPDONE ; BETTER BE ZERO - BEQ CLPDONE ; BETTER BE ZERO -; libsrc/apple/hgrlib.pla: 0227: CLPRGHT BNE CLPPED -CLPRGHT BNE CLPPED -; libsrc/apple/hgrlib.pla: 0228: LDA ESTKL+4,X ; HORIZ OFFSETL - LDA ESTKL+4,X ; HORIZ OFFSETL -; libsrc/apple/hgrlib.pla: 0229: CMP #40 - CMP #40 -; libsrc/apple/hgrlib.pla: 0230: BCS CLPPED - BCS CLPPED -; libsrc/apple/hgrlib.pla: 0231: ; CLC -; CLC -; libsrc/apple/hgrlib.pla: 0232: ADC TMPH ; WIDTH - ADC TMPH ; WIDTH -; libsrc/apple/hgrlib.pla: 0233: SBC #39 - SBC #39 -; libsrc/apple/hgrlib.pla: 0234: BCC CLPDONE - BCC CLPDONE -; libsrc/apple/hgrlib.pla: 0235: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0236: LDA TMPH ; WIDTH - LDA TMPH ; WIDTH -; libsrc/apple/hgrlib.pla: 0237: SBC TMPL - SBC TMPL -; libsrc/apple/hgrlib.pla: 0238: STA TMPH ; WIDTH - STA TMPH ; WIDTH -; libsrc/apple/hgrlib.pla: 0239: CLPDONE LDA TMPH -CLPDONE LDA TMPH -; libsrc/apple/hgrlib.pla: 0240: STA ESTKH+2,X ; WIDTH (DRAW WIDTH) - STA ESTKH+2,X ; WIDTH (DRAW WIDTH) -; libsrc/apple/hgrlib.pla: 0241: ; LDA SRCL -; LDA SRCL -; libsrc/apple/hgrlib.pla: 0242: ; STA ESTKL+0,X ; SRC PTR -; STA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 0243: ; LDA SRCH -; LDA SRCH -; libsrc/apple/hgrlib.pla: 0244: ; STA ESTKH+0,X -; STA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0245: RTS - RTS -; libsrc/apple/hgrlib.pla: 0246: CLPPED INX -CLPPED INX -; libsrc/apple/hgrlib.pla: 0247: INX - INX -; libsrc/apple/hgrlib.pla: 0248: INX - INX -; libsrc/apple/hgrlib.pla: 0249: INX - INX -; libsrc/apple/hgrlib.pla: 0250: INX - INX -; libsrc/apple/hgrlib.pla: 0251: PLA - PLA -; libsrc/apple/hgrlib.pla: 0252: PLA - PLA -; libsrc/apple/hgrlib.pla: 0253: RTS - RTS -; libsrc/apple/hgrlib.pla: 0254: end -; libsrc/apple/hgrlib.pla: 0255: //export def hgrColor(c)#0 -; libsrc/apple/hgrlib.pla: 0256: // curhclr = hcolor[c & $07] -; libsrc/apple/hgrlib.pla: 0257: //end -; libsrc/apple/hgrlib.pla: 0258: export asm hgrColor(c)#0 -_A002 ; hgrColor() -; libsrc/apple/hgrlib.pla: 0259: LDA ESTKL+0,X ; COLOR - LDA ESTKL+0,X ; COLOR -; libsrc/apple/hgrlib.pla: 0260: AND #$07 - AND #$07 -; libsrc/apple/hgrlib.pla: 0261: ASL - ASL -; libsrc/apple/hgrlib.pla: 0262: TAY - TAY -; libsrc/apple/hgrlib.pla: 0263: LDA $1000,Y ; HCOLORL - LDA $1000,Y ; HCOLORL -; libsrc/apple/hgrlib.pla: 0264: STA $2000 ; CURHCLRL - STA $2000 ; CURHCLRL -; libsrc/apple/hgrlib.pla: 0265: LDA $1001,Y ; HCOLORH - LDA $1001,Y ; HCOLORH -; libsrc/apple/hgrlib.pla: 0266: STA $2001 ; CRHCLRH - STA $2001 ; CRHCLRH -; libsrc/apple/hgrlib.pla: 0267: INX - INX -; libsrc/apple/hgrlib.pla: 0268: RTS - RTS -; libsrc/apple/hgrlib.pla: 0269: end -; libsrc/apple/hgrlib.pla: 0270: //export def hgrCopyDst(ofst, y, w, h, dstptr)#0 -; libsrc/apple/hgrlib.pla: 0271: // word j, srcptr -; libsrc/apple/hgrlib.pla: 0272: // -; libsrc/apple/hgrlib.pla: 0273: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0274: // for j = y to y + h - 1 -; libsrc/apple/hgrlib.pla: 0275: // srcptr = hgrscan[j] + ofst -; libsrc/apple/hgrlib.pla: 0276: // memcpy(dstptr, srcptr, w) -; libsrc/apple/hgrlib.pla: 0277: // dstptr = dstptr + w -; libsrc/apple/hgrlib.pla: 0278: // next -; libsrc/apple/hgrlib.pla: 0279: //end -; libsrc/apple/hgrlib.pla: 0280: export asm hgrCopyDst(ofst, y, w, h, dstptr)#0 -_A003 ; hgrCopyDst() -; libsrc/apple/hgrlib.pla: 0281: JSR $C000 ; CLIPSRC - JSR $C000 ; CLIPSRC -; libsrc/apple/hgrlib.pla: 0282: ; LDA ESTKL+0,X ; DST PTR -; LDA ESTKL+0,X ; DST PTR -; libsrc/apple/hgrlib.pla: 0283: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0284: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0285: ; LDA ESTKH+0,X -; LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0286: LDA SRCH - LDA SRCH -; libsrc/apple/hgrlib.pla: 0287: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0288: -- LDY ESTKL+3,X ; Y COORD --- LDY ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0289: LDA ESTKL+4,X ; HORIZ OFFSET - LDA ESTKL+4,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0290: CLC - CLC -; libsrc/apple/hgrlib.pla: 0291: end -; libsrc/apple/hgrlib.pla: 0292: asm _hgrCopyDst -_A004 ; _hgrCopyDst() -; libsrc/apple/hgrlib.pla: 0293: ADC $8000,Y ; HGRSCANL - ADC $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0294: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0295: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0296: ADC $9000,Y ; HGRSCANH - ADC $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0297: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 0298: LDY ESTKH+2,X ; WIDTH - LDY ESTKH+2,X ; WIDTH -; libsrc/apple/hgrlib.pla: 0299: DEY - DEY -; libsrc/apple/hgrlib.pla: 0300: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 0301: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0302: DEY - DEY -; libsrc/apple/hgrlib.pla: 0303: BPL - - BPL - -; libsrc/apple/hgrlib.pla: 0304: LDA DSTL - LDA DSTL -; libsrc/apple/hgrlib.pla: 0305: CLC - CLC -; libsrc/apple/hgrlib.pla: 0306: ADC ESTKL+2,X ; PITCH - ADC ESTKL+2,X ; PITCH -; libsrc/apple/hgrlib.pla: 0307: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0308: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0309: INC DSTH - INC DSTH -; libsrc/apple/hgrlib.pla: 0310: + INC ESTKL+3,X ; Y COORD -+ INC ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0311: DEC ESTKL+1,X ; HEIGHT - DEC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0312: BNE -- - BNE -- -; libsrc/apple/hgrlib.pla: 0313: INX - INX -; libsrc/apple/hgrlib.pla: 0314: INX - INX -; libsrc/apple/hgrlib.pla: 0315: INX - INX -; libsrc/apple/hgrlib.pla: 0316: INX - INX -; libsrc/apple/hgrlib.pla: 0317: INX - INX -; libsrc/apple/hgrlib.pla: 0318: RTS - RTS -; libsrc/apple/hgrlib.pla: 0319: end -; libsrc/apple/hgrlib.pla: 0320: //export def hgrCopySrc(ofst, y, w, h, srcptr)#0 -; libsrc/apple/hgrlib.pla: 0321: // word j, dstptr -; libsrc/apple/hgrlib.pla: 0322: // -; libsrc/apple/hgrlib.pla: 0323: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0324: // for j = y to y + h - 1 -; libsrc/apple/hgrlib.pla: 0325: // dstptr = hgrscan[j] + ofst -; libsrc/apple/hgrlib.pla: 0326: // memcpy(dstptr, srcptr, w) -; libsrc/apple/hgrlib.pla: 0327: // srcptr = srcptr + w -; libsrc/apple/hgrlib.pla: 0328: // next -; libsrc/apple/hgrlib.pla: 0329: //end -; libsrc/apple/hgrlib.pla: 0330: export asm hgrCopySrc(ofst, y, w, h, srcptr)#0 -_A005 ; hgrCopySrc() -; libsrc/apple/hgrlib.pla: 0331: JSR $C000 ; CLIPSRC - JSR $C000 ; CLIPSRC -; libsrc/apple/hgrlib.pla: 0332: ; LDA ESTKL+0,X ; SRC PTR -; LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 0333: ; STA SRCL -; STA SRCL -; libsrc/apple/hgrlib.pla: 0334: ; LDA ESTKH+0,X -; LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0335: ; STA SRCH -; STA SRCH -; libsrc/apple/hgrlib.pla: 0336: -- LDY ESTKL+3,X ; Y COORD --- LDY ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0337: LDA ESTKL+4,X ; HORIZ OFFSET - LDA ESTKL+4,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0338: CLC - CLC -; libsrc/apple/hgrlib.pla: 0339: end -; libsrc/apple/hgrlib.pla: 0340: asm _hgrCopySrc -_A006 ; _hgrCopySrc() -; libsrc/apple/hgrlib.pla: 0341: ADC $8000,Y ; HGRSCANL - ADC $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0342: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0343: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0344: ADC $9000,Y ; HGRSCANH - ADC $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0345: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0346: LDY ESTKH+2,X ; WIDTH - LDY ESTKH+2,X ; WIDTH -; libsrc/apple/hgrlib.pla: 0347: DEY - DEY -; libsrc/apple/hgrlib.pla: 0348: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 0349: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0350: DEY - DEY -; libsrc/apple/hgrlib.pla: 0351: BPL - - BPL - -; libsrc/apple/hgrlib.pla: 0352: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0353: CLC - CLC -; libsrc/apple/hgrlib.pla: 0354: ADC ESTKL+2,X ; PITCH - ADC ESTKL+2,X ; PITCH -; libsrc/apple/hgrlib.pla: 0355: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0356: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0357: INC SRCH - INC SRCH -; libsrc/apple/hgrlib.pla: 0358: + INC ESTKL+3,X ; Y COORD -+ INC ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0359: DEC ESTKL+1,X ; HEIGHT - DEC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0360: BNE -- - BNE -- -; libsrc/apple/hgrlib.pla: 0361: INX - INX -; libsrc/apple/hgrlib.pla: 0362: INX - INX -; libsrc/apple/hgrlib.pla: 0363: INX - INX -; libsrc/apple/hgrlib.pla: 0364: INX - INX -; libsrc/apple/hgrlib.pla: 0365: INX - INX -; libsrc/apple/hgrlib.pla: 0366: RTS - RTS -; libsrc/apple/hgrlib.pla: 0367: end -; libsrc/apple/hgrlib.pla: 0368: //export def hgrAndSrc(ofst, y, w, h, srcptr)#0 -; libsrc/apple/hgrlib.pla: 0369: // word j, dstptr -; libsrc/apple/hgrlib.pla: 0370: // byte i -; libsrc/apple/hgrlib.pla: 0371: // -; libsrc/apple/hgrlib.pla: 0372: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0373: // for j = y to y + h - 1 -; libsrc/apple/hgrlib.pla: 0374: // dstptr = hgrscan[j] + ofst -; libsrc/apple/hgrlib.pla: 0375: // for i = 0 to w - 1 -; libsrc/apple/hgrlib.pla: 0376: // dstptr->[i] = dstptr->[i] & srcptr->[i] -; libsrc/apple/hgrlib.pla: 0377: // next -; libsrc/apple/hgrlib.pla: 0378: // srcptr = srcptr + w -; libsrc/apple/hgrlib.pla: 0379: // next -; libsrc/apple/hgrlib.pla: 0380: //end -; libsrc/apple/hgrlib.pla: 0381: export asm hgrAndSrc(ofst, y, w, h, srcptr)#0 -_A007 ; hgrAndSrc() -; libsrc/apple/hgrlib.pla: 0382: JSR $C000 ; CLIPSRC - JSR $C000 ; CLIPSRC -; libsrc/apple/hgrlib.pla: 0383: ; LDA ESTKL+0,X ; SRC PTR -; LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 0384: ; STA SRCL -; STA SRCL -; libsrc/apple/hgrlib.pla: 0385: ; LDA ESTKH+0,X -; LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0386: ; STA SRCH -; STA SRCH -; libsrc/apple/hgrlib.pla: 0387: -- LDY ESTKL+3,X ; Y COORD --- LDY ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0388: LDA ESTKL+4,X ; HORIZ OFFSET - LDA ESTKL+4,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0389: CLC - CLC -; libsrc/apple/hgrlib.pla: 0390: end -; libsrc/apple/hgrlib.pla: 0391: asm _hgrAndSrc -_A008 ; _hgrAndSrc() -; libsrc/apple/hgrlib.pla: 0392: ADC $8000,Y ; HGRSCANL - ADC $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0393: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0394: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0395: ADC $9000,Y ; HGRSCANH - ADC $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0396: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0397: LDY ESTKH+2,X ; WIDTH - LDY ESTKH+2,X ; WIDTH -; libsrc/apple/hgrlib.pla: 0398: DEY - DEY -; libsrc/apple/hgrlib.pla: 0399: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 0400: AND (DST),Y - AND (DST),Y -; libsrc/apple/hgrlib.pla: 0401: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0402: DEY - DEY -; libsrc/apple/hgrlib.pla: 0403: BPL - - BPL - -; libsrc/apple/hgrlib.pla: 0404: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0405: CLC - CLC -; libsrc/apple/hgrlib.pla: 0406: ADC ESTKL+2,X ; PITCH - ADC ESTKL+2,X ; PITCH -; libsrc/apple/hgrlib.pla: 0407: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0408: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0409: INC SRCH - INC SRCH -; libsrc/apple/hgrlib.pla: 0410: + INC ESTKL+3,X ; Y COORD -+ INC ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0411: DEC ESTKL+1,X ; HEIGHT - DEC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0412: BNE -- - BNE -- -; libsrc/apple/hgrlib.pla: 0413: INX - INX -; libsrc/apple/hgrlib.pla: 0414: INX - INX -; libsrc/apple/hgrlib.pla: 0415: INX - INX -; libsrc/apple/hgrlib.pla: 0416: INX - INX -; libsrc/apple/hgrlib.pla: 0417: INX - INX -; libsrc/apple/hgrlib.pla: 0418: RTS - RTS -; libsrc/apple/hgrlib.pla: 0419: end -; libsrc/apple/hgrlib.pla: 0420: //export def hgrXorSrc(ofst, y, w, h, srcptr)#0 -; libsrc/apple/hgrlib.pla: 0421: // word j, dstptr -; libsrc/apple/hgrlib.pla: 0422: // byte i -; libsrc/apple/hgrlib.pla: 0423: // -; libsrc/apple/hgrlib.pla: 0424: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0425: // for j = y to y + h - 1 -; libsrc/apple/hgrlib.pla: 0426: // dstptr = hgrscan[j] + ofst -; libsrc/apple/hgrlib.pla: 0427: // for i = 0 to w - 1 -; libsrc/apple/hgrlib.pla: 0428: // dstptr->[i] = dstptr->[i] ^ srcptr->[i] -; libsrc/apple/hgrlib.pla: 0429: // next -; libsrc/apple/hgrlib.pla: 0430: // srcptr = srcptr + w -; libsrc/apple/hgrlib.pla: 0431: // next -; libsrc/apple/hgrlib.pla: 0432: //end -; libsrc/apple/hgrlib.pla: 0433: export asm hgrXorSrc(ofst, y, w, h, srcptr)#0 -_A009 ; hgrXorSrc() -; libsrc/apple/hgrlib.pla: 0434: JSR $C000 ; CLIPSRC - JSR $C000 ; CLIPSRC -; libsrc/apple/hgrlib.pla: 0435: ; LDA ESTKL+0,X ; SRC PTR -; LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 0436: ; STA SRCL -; STA SRCL -; libsrc/apple/hgrlib.pla: 0437: ; LDA ESTKH+0,X -; LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0438: ; STA SRCH -; STA SRCH -; libsrc/apple/hgrlib.pla: 0439: -- LDY ESTKL+3,X ; Y COORD --- LDY ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0440: LDA ESTKL+4,X ; HORIZ OFFSET - LDA ESTKL+4,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0441: CLC - CLC -; libsrc/apple/hgrlib.pla: 0442: end -; libsrc/apple/hgrlib.pla: 0443: asm _hgrXorSrc -_A010 ; _hgrXorSrc() -; libsrc/apple/hgrlib.pla: 0444: ADC $8000,Y ; HGRSCANL - ADC $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0445: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0446: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0447: ADC $9000,Y ; HGRSCANH - ADC $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0448: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0449: LDY ESTKH+2,X ; WIDTH - LDY ESTKH+2,X ; WIDTH -; libsrc/apple/hgrlib.pla: 0450: DEY - DEY -; libsrc/apple/hgrlib.pla: 0451: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 0452: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0453: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0454: DEY - DEY -; libsrc/apple/hgrlib.pla: 0455: BPL - - BPL - -; libsrc/apple/hgrlib.pla: 0456: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0457: CLC - CLC -; libsrc/apple/hgrlib.pla: 0458: ADC ESTKL+2,X ; PITCH - ADC ESTKL+2,X ; PITCH -; libsrc/apple/hgrlib.pla: 0459: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0460: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0461: INC SRCH - INC SRCH -; libsrc/apple/hgrlib.pla: 0462: + INC ESTKL+3,X ; Y COORD -+ INC ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0463: DEC ESTKL+1,X ; HEIGHT - DEC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0464: BNE -- - BNE -- -; libsrc/apple/hgrlib.pla: 0465: INX - INX -; libsrc/apple/hgrlib.pla: 0466: INX - INX -; libsrc/apple/hgrlib.pla: 0467: INX - INX -; libsrc/apple/hgrlib.pla: 0468: INX - INX -; libsrc/apple/hgrlib.pla: 0469: INX - INX -; libsrc/apple/hgrlib.pla: 0470: RTS - RTS -; libsrc/apple/hgrlib.pla: 0471: end -; libsrc/apple/hgrlib.pla: 0472: //export def hgrOrSrc(ofst, y, w, h, srcptr)#0 -; libsrc/apple/hgrlib.pla: 0473: // word j, dstptr -; libsrc/apple/hgrlib.pla: 0474: // byte i -; libsrc/apple/hgrlib.pla: 0475: // -; libsrc/apple/hgrlib.pla: 0476: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0477: // for j = y to y + h - 1 -; libsrc/apple/hgrlib.pla: 0478: // dstptr = hgrscan[j] + ofst -; libsrc/apple/hgrlib.pla: 0479: // for i = 0 to w - 1 -; libsrc/apple/hgrlib.pla: 0480: // dstptr->[i] = dstptr->[i] ^ srcptr->[i] -; libsrc/apple/hgrlib.pla: 0481: // next -; libsrc/apple/hgrlib.pla: 0482: // srcptr = srcptr + w -; libsrc/apple/hgrlib.pla: 0483: // next -; libsrc/apple/hgrlib.pla: 0484: //end -; libsrc/apple/hgrlib.pla: 0485: export asm hgrOrSrc(ofst, y, w, h, srcptr)#0 -_A011 ; hgrOrSrc() -; libsrc/apple/hgrlib.pla: 0486: JSR $C000 ; CLIPSRC - JSR $C000 ; CLIPSRC -; libsrc/apple/hgrlib.pla: 0487: ; LDA ESTKL+0,X ; SRC PTR -; LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 0488: ; STA SRCL -; STA SRCL -; libsrc/apple/hgrlib.pla: 0489: ; LDA ESTKH+0,X -; LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0490: ; STA SRCH -; STA SRCH -; libsrc/apple/hgrlib.pla: 0491: -- LDY ESTKL+3,X ; Y COORD --- LDY ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0492: LDA ESTKL+4,X ; HORIZ OFFSET - LDA ESTKL+4,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0493: CLC - CLC -; libsrc/apple/hgrlib.pla: 0494: end -; libsrc/apple/hgrlib.pla: 0495: asm _hgrOrSrc -_A012 ; _hgrOrSrc() -; libsrc/apple/hgrlib.pla: 0496: ADC $8000,Y ; HGRSCANL - ADC $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0497: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0498: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0499: ADC $9000,Y ; HGRSCANH - ADC $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0500: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0501: LDY ESTKH+2,X ; WIDTH - LDY ESTKH+2,X ; WIDTH -; libsrc/apple/hgrlib.pla: 0502: DEY - DEY -; libsrc/apple/hgrlib.pla: 0503: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 0504: ORA (DST),Y - ORA (DST),Y -; libsrc/apple/hgrlib.pla: 0505: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0506: DEY - DEY -; libsrc/apple/hgrlib.pla: 0507: BPL - - BPL - -; libsrc/apple/hgrlib.pla: 0508: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0509: CLC - CLC -; libsrc/apple/hgrlib.pla: 0510: ADC ESTKL+2,X ; PITCH - ADC ESTKL+2,X ; PITCH -; libsrc/apple/hgrlib.pla: 0511: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0512: BCC + - BCC + -; libsrc/apple/hgrlib.pla: 0513: INC SRCH - INC SRCH -; libsrc/apple/hgrlib.pla: 0514: + INC ESTKL+3,X ; Y COORD -+ INC ESTKL+3,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0515: DEC ESTKL+1,X ; HEIGHT - DEC ESTKL+1,X ; HEIGHT -; libsrc/apple/hgrlib.pla: 0516: BNE -- - BNE -- -; libsrc/apple/hgrlib.pla: 0517: INX - INX -; libsrc/apple/hgrlib.pla: 0518: INX - INX -; libsrc/apple/hgrlib.pla: 0519: INX - INX -; libsrc/apple/hgrlib.pla: 0520: INX - INX -; libsrc/apple/hgrlib.pla: 0521: INX - INX -; libsrc/apple/hgrlib.pla: 0522: RTS - RTS -; libsrc/apple/hgrlib.pla: 0523: end -; libsrc/apple/hgrlib.pla: 0524: //export def hgrPlot(x, y)#0 -; libsrc/apple/hgrlib.pla: 0525: // word pixptr -; libsrc/apple/hgrlib.pla: 0526: // byte ofst, pixofst, pmask -; libsrc/apple/hgrlib.pla: 0527: // -; libsrc/apple/hgrlib.pla: 0528: // ofst, pixofst = divmod7(x) -; libsrc/apple/hgrlib.pla: 0529: // pixptr = hgrscan[y] + drawbuff + ofst -; libsrc/apple/hgrlib.pla: 0530: // pmask = hbmask[pixofst] -; libsrc/apple/hgrlib.pla: 0531: // ^pixptr = (^pixptr & ~pmask) | (curhclr.[ofst & 1] & pmask) -; libsrc/apple/hgrlib.pla: 0532: //end -; libsrc/apple/hgrlib.pla: 0533: export asm hgrPlot(x, y)#0 -_A013 ; hgrPlot() -; libsrc/apple/hgrlib.pla: 0534: LDY ESTKL+0,X ; Y COORD - LDY ESTKL+0,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0535: CPY #192 - CPY #192 -; libsrc/apple/hgrlib.pla: 0536: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0537: end -; libsrc/apple/hgrlib.pla: 0538: asm _hgrPlotA -_A014 ; _hgrPlotA() -; libsrc/apple/hgrlib.pla: 0539: LDA $8000,Y ; HGRSCANL - LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0540: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0541: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0542: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0543: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0544: INX - INX -; libsrc/apple/hgrlib.pla: 0545: end -; libsrc/apple/hgrlib.pla: 0546: asm _hgrPlotB -_A015 ; _hgrPlotB() -; libsrc/apple/hgrlib.pla: 0547: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0548: LDY ESTKL+0,X ; PIXEL OFFSET - LDY ESTKL+0,X ; PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0549: end -; libsrc/apple/hgrlib.pla: 0550: asm _hgrPlotC -_A016 ; _hgrPlotC() -; libsrc/apple/hgrlib.pla: 0551: LDA $1000,Y ; HBMASK - LDA $1000,Y ; HBMASK -; libsrc/apple/hgrlib.pla: 0552: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0553: LDA ESTKL+1,X ; HORIZ OFFSET - LDA ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0554: CMP #40 - CMP #40 -; libsrc/apple/hgrlib.pla: 0555: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0556: AND #$01 - AND #$01 -; libsrc/apple/hgrlib.pla: 0557: TAY - TAY -; libsrc/apple/hgrlib.pla: 0558: end -; libsrc/apple/hgrlib.pla: 0559: asm _hgrPlotD -_A017 ; _hgrPlotD() -; libsrc/apple/hgrlib.pla: 0560: LDA $2000,Y ; CURHCLR - LDA $2000,Y ; CURHCLR -; libsrc/apple/hgrlib.pla: 0561: LDY ESTKL+1,X ; HORIZ OFFSET - LDY ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0562: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0563: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0564: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0565: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0566: + INX -+ INX -; libsrc/apple/hgrlib.pla: 0567: INX - INX -; libsrc/apple/hgrlib.pla: 0568: RTS - RTS -; libsrc/apple/hgrlib.pla: 0569: end -; libsrc/apple/hgrlib.pla: 0570: //export def hgrXorPlot(x, y)#0 -; libsrc/apple/hgrlib.pla: 0571: // word pixptr -; libsrc/apple/hgrlib.pla: 0572: // byte ofst, pixofst, pmask -; libsrc/apple/hgrlib.pla: 0573: // -; libsrc/apple/hgrlib.pla: 0574: // ofst, pixofst = divmod7(x) -; libsrc/apple/hgrlib.pla: 0575: // pixptr = hgrscan[y] + drawbuff + ofst -; libsrc/apple/hgrlib.pla: 0576: // pmask = hbmask[pixofst] -; libsrc/apple/hgrlib.pla: 0577: // ^pixptr = ^pixptr ^ (curhclr.[ofst & 1] & pmask) -; libsrc/apple/hgrlib.pla: 0578: //end -; libsrc/apple/hgrlib.pla: 0579: export asm hgrXorPlot(x, y)#0 -_A018 ; hgrXorPlot() -; libsrc/apple/hgrlib.pla: 0580: LDY ESTKL+0,X ; Y COORD - LDY ESTKL+0,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0581: CPY #192 - CPY #192 -; libsrc/apple/hgrlib.pla: 0582: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0583: end -; libsrc/apple/hgrlib.pla: 0584: asm _hgrXorPlotA -_A019 ; _hgrXorPlotA() -; libsrc/apple/hgrlib.pla: 0585: LDA $8000,Y ; HGRSCANL - LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0586: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0587: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0588: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0589: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0590: INX - INX -; libsrc/apple/hgrlib.pla: 0591: end -; libsrc/apple/hgrlib.pla: 0592: asm _hgrXorPlotB -_A020 ; _hgrXorPlotB() -; libsrc/apple/hgrlib.pla: 0593: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0594: LDY ESTKL+0,X ; PIXEL OFFSET - LDY ESTKL+0,X ; PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0595: end -; libsrc/apple/hgrlib.pla: 0596: asm _hgrXorPlotC -_A021 ; _hgrXorPlotC() -; libsrc/apple/hgrlib.pla: 0597: LDA $1000,Y ; HBMASK - LDA $1000,Y ; HBMASK -; libsrc/apple/hgrlib.pla: 0598: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0599: LDA ESTKL+1,X ; HORIZ OFFSET - LDA ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0600: CMP #40 - CMP #40 -; libsrc/apple/hgrlib.pla: 0601: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0602: AND #$01 - AND #$01 -; libsrc/apple/hgrlib.pla: 0603: TAY - TAY -; libsrc/apple/hgrlib.pla: 0604: end -; libsrc/apple/hgrlib.pla: 0605: asm _hgrXorPlotD -_A022 ; _hgrXorPlotD() -; libsrc/apple/hgrlib.pla: 0606: LDA $2000,Y ; CURHCLR - LDA $2000,Y ; CURHCLR -; libsrc/apple/hgrlib.pla: 0607: LDY ESTKL+1,X ; HORIZ OFFSET - LDY ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0608: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0609: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0610: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0611: + INX -+ INX -; libsrc/apple/hgrlib.pla: 0612: INX - INX -; libsrc/apple/hgrlib.pla: 0613: RTS - RTS -; libsrc/apple/hgrlib.pla: 0614: end -; libsrc/apple/hgrlib.pla: 0615: //export def hgrOrPlot(x, y)#0 -; libsrc/apple/hgrlib.pla: 0616: // word pixptr -; libsrc/apple/hgrlib.pla: 0617: // byte ofst, pixofst, pmask -; libsrc/apple/hgrlib.pla: 0618: // -; libsrc/apple/hgrlib.pla: 0619: // ofst, pixofst = divmod7(x) -; libsrc/apple/hgrlib.pla: 0620: // pixptr = hgrscan[y] + drawbuff + ofst -; libsrc/apple/hgrlib.pla: 0621: // pmask = hbmask[pixofst] -; libsrc/apple/hgrlib.pla: 0622: // ^pixptr = ^pixptr | (curhclr.[ofst & 1] & pmask) -; libsrc/apple/hgrlib.pla: 0623: //end -; libsrc/apple/hgrlib.pla: 0624: export asm hgrOrPlot(x, y)#0 -_A023 ; hgrOrPlot() -; libsrc/apple/hgrlib.pla: 0625: LDY ESTKL+0,X ; Y COORD - LDY ESTKL+0,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0626: CPY #192 - CPY #192 -; libsrc/apple/hgrlib.pla: 0627: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0628: end -; libsrc/apple/hgrlib.pla: 0629: asm _hgrOrPlotA -_A024 ; _hgrOrPlotA() -; libsrc/apple/hgrlib.pla: 0630: LDA $8000,Y ; HGRSCANL - LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0631: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0632: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0633: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0634: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0635: INX - INX -; libsrc/apple/hgrlib.pla: 0636: end -; libsrc/apple/hgrlib.pla: 0637: asm _hgrOrPlotB -_A025 ; _hgrOrPlotB() -; libsrc/apple/hgrlib.pla: 0638: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0639: LDY ESTKL+0,X ; PIXEL OFFSET - LDY ESTKL+0,X ; PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0640: end -; libsrc/apple/hgrlib.pla: 0641: asm _hgrOrPlotC -_A026 ; _hgrOrPlotC() -; libsrc/apple/hgrlib.pla: 0642: LDA $1000,Y ; HBMASK - LDA $1000,Y ; HBMASK -; libsrc/apple/hgrlib.pla: 0643: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0644: LDA ESTKL+1,X ; HORIZ OFFSET - LDA ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0645: CMP #40 - CMP #40 -; libsrc/apple/hgrlib.pla: 0646: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0647: AND #$01 - AND #$01 -; libsrc/apple/hgrlib.pla: 0648: TAY - TAY -; libsrc/apple/hgrlib.pla: 0649: end -; libsrc/apple/hgrlib.pla: 0650: asm _hgrOrPlotD -_A027 ; _hgrOrPlotD() -; libsrc/apple/hgrlib.pla: 0651: LDA $2000,Y ; CURHCLR - LDA $2000,Y ; CURHCLR -; libsrc/apple/hgrlib.pla: 0652: LDY ESTKL+1,X ; HORIZ OFFSET - LDY ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0653: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0654: ORA (DST),Y - ORA (DST),Y -; libsrc/apple/hgrlib.pla: 0655: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0656: + INX -+ INX -; libsrc/apple/hgrlib.pla: 0657: INX - INX -; libsrc/apple/hgrlib.pla: 0658: RTS - RTS -; libsrc/apple/hgrlib.pla: 0659: end -; libsrc/apple/hgrlib.pla: 0660: //export def hgrHLin(x1, x2, y)#0 -; libsrc/apple/hgrlib.pla: 0661: // word pixptr, x -; libsrc/apple/hgrlib.pla: 0662: // byte lofst, lpixofst, lpmask -; libsrc/apple/hgrlib.pla: 0663: // byte rofst, rpixofst, rpmask -; libsrc/apple/hgrlib.pla: 0664: // -; libsrc/apple/hgrlib.pla: 0665: // if x1 == x2 -; libsrc/apple/hgrlib.pla: 0666: // hgrPlot(x1, y) -; libsrc/apple/hgrlib.pla: 0667: // else -; libsrc/apple/hgrlib.pla: 0668: // lofst, lpixofst = divmod7(x1) -; libsrc/apple/hgrlib.pla: 0669: // pixptr = hgrscan[y] + drawbuff + lofst -; libsrc/apple/hgrlib.pla: 0670: // rofst, rpixofst = divmod7(x2) -; libsrc/apple/hgrlib.pla: 0671: // lpmask = hlmask[lpixofst] -; libsrc/apple/hgrlib.pla: 0672: // rpmask = hrmask[rpixofst] -; libsrc/apple/hgrlib.pla: 0673: // if lofst == rofst -; libsrc/apple/hgrlib.pla: 0674: // lpmask = lpmask & rpmask -; libsrc/apple/hgrlib.pla: 0675: // ^pixptr = (^pixptr & ~lpmask) | (curhclr.[pixptr.0 & 1] & lpmask) -; libsrc/apple/hgrlib.pla: 0676: // else -; libsrc/apple/hgrlib.pla: 0677: // ^pixptr = (^pixptr & ~lpmask) | (curhclr.[pixptr.0 & 1] & lpmask) -; libsrc/apple/hgrlib.pla: 0678: // pixptr++ -; libsrc/apple/hgrlib.pla: 0679: // for x = lofst + 1 to rofst - 1 -; libsrc/apple/hgrlib.pla: 0680: // ^pixptr = curhclr.[pixptr.0 & 1] -; libsrc/apple/hgrlib.pla: 0681: // pixptr++ -; libsrc/apple/hgrlib.pla: 0682: // next -; libsrc/apple/hgrlib.pla: 0683: // ^pixptr = (^pixptr & ~rpmask) | (curhclr.[pixptr.0 & 1] & rpmask) -; libsrc/apple/hgrlib.pla: 0684: // fin -; libsrc/apple/hgrlib.pla: 0685: // fin -; libsrc/apple/hgrlib.pla: 0686: //end -; libsrc/apple/hgrlib.pla: 0687: export asm hgrHLin(x1, x2, y)#0 -_A028 ; hgrHLin() -; libsrc/apple/hgrlib.pla: 0688: LDA ESTKL+1 - LDA ESTKL+1 -; libsrc/apple/hgrlib.pla: 0689: CMP ESTKL+2 - CMP ESTKL+2 -; libsrc/apple/hgrlib.pla: 0690: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0691: LDA ESTKH+1 - LDA ESTKH+1 -; libsrc/apple/hgrlib.pla: 0692: CMP ESTKH+2 - CMP ESTKH+2 -; libsrc/apple/hgrlib.pla: 0693: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0694: end -; libsrc/apple/hgrlib.pla: 0695: asm _hgrHLinA -_A029 ; _hgrHLinA() -; libsrc/apple/hgrlib.pla: 0696: JSR $F000 - JSR $F000 -; libsrc/apple/hgrlib.pla: 0697: INX - INX -; libsrc/apple/hgrlib.pla: 0698: RTS - RTS -; libsrc/apple/hgrlib.pla: 0699: + LDY ESTKL+0,X ; Y COORD -+ LDY ESTKL+0,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0700: end -; libsrc/apple/hgrlib.pla: 0701: asm _hgrHLinB -_A030 ; _hgrHLinB() -; libsrc/apple/hgrlib.pla: 0702: LDA $8000,Y ; HGRSCANL - LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0703: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0704: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0705: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0706: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0707: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/hgrlib.pla: 0708: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0709: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/hgrlib.pla: 0710: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0711: end -; libsrc/apple/hgrlib.pla: 0712: asm _hgrHLinC -_A031 ; _hgrHLinC() -; libsrc/apple/hgrlib.pla: 0713: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0714: LDY ESTKL+0,X ; RIGHT PIXEL OFFSET - LDY ESTKL+0,X ; RIGHT PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0715: end -; libsrc/apple/hgrlib.pla: 0716: asm _hgrHLinD -_A032 ; _hgrHLinD() -; libsrc/apple/hgrlib.pla: 0717: LDA $1000,Y ; HRMASK - LDA $1000,Y ; HRMASK -; libsrc/apple/hgrlib.pla: 0718: STA TMPH - STA TMPH -; libsrc/apple/hgrlib.pla: 0719: LDY ESTKL+1,X ; RIGHT HORIZ OFFSET - LDY ESTKL+1,X ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0720: STY IPY ; STEAL THIS ZP FOR A MOMENT - STY IPY ; STEAL THIS ZP FOR A MOMENT -; libsrc/apple/hgrlib.pla: 0721: INX - INX -; libsrc/apple/hgrlib.pla: 0722: INX - INX -; libsrc/apple/hgrlib.pla: 0723: INX - INX -; libsrc/apple/hgrlib.pla: 0724: end -; libsrc/apple/hgrlib.pla: 0725: asm _hgrHLinE -_A033 ; _hgrHLinE() -; libsrc/apple/hgrlib.pla: 0726: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0727: LDY ESTKL+0,X ; LEFT PIXEL OFFSET - LDY ESTKL+0,X ; LEFT PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0728: end -; libsrc/apple/hgrlib.pla: 0729: asm _hgrHLinF -_A034 ; _hgrHLinF() -; libsrc/apple/hgrlib.pla: 0730: LDA $1000,Y ; HLMASK - LDA $1000,Y ; HLMASK -; libsrc/apple/hgrlib.pla: 0731: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0732: LDY ESTKL+1,X ; LEFT HORIZ OFFSET - LDY ESTKL+1,X ; LEFT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0733: TYA - TYA -; libsrc/apple/hgrlib.pla: 0734: LSR - LSR -; libsrc/apple/hgrlib.pla: 0735: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0736: end -; libsrc/apple/hgrlib.pla: 0737: asm _hgrHLinG -_A035 ; _hgrHLinG() -; libsrc/apple/hgrlib.pla: 0738: LDA $2001 ; CURHCLRH - LDA $2001 ; CURHCLRH -; libsrc/apple/hgrlib.pla: 0739: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 0740: LDA $2000 ; CURHCLRL - LDA $2000 ; CURHCLRL -; libsrc/apple/hgrlib.pla: 0741: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0742: BCC ++ - BCC ++ -; libsrc/apple/hgrlib.pla: 0743: + LDA $2000 ; CURHCLRL -+ LDA $2000 ; CURHCLRL -; libsrc/apple/hgrlib.pla: 0744: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 0745: LDA $2001 ; CURHCLRH - LDA $2001 ; CURHCLRH -; libsrc/apple/hgrlib.pla: 0746: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0747: ++ CPY IPY ; RIGHT HORIZ OFFSET -++ CPY IPY ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0748: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0749: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0750: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0751: AND TMPH - AND TMPH -; libsrc/apple/hgrlib.pla: 0752: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0753: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0754: INX - INX -; libsrc/apple/hgrlib.pla: 0755: INX - INX -; libsrc/apple/hgrlib.pla: 0756: RTS - RTS -; libsrc/apple/hgrlib.pla: 0757: + EOR (DST),Y -+ EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0758: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0759: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0760: - STA (DST),Y -- STA (DST),Y -; libsrc/apple/hgrlib.pla: 0761: LDA SRCH - LDA SRCH -; libsrc/apple/hgrlib.pla: 0762: INY - INY -; libsrc/apple/hgrlib.pla: 0763: CPY IPY ; RIGHT HORIZ OFFSET - CPY IPY ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0764: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0765: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0766: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0767: INY - INY -; libsrc/apple/hgrlib.pla: 0768: CPY IPY ; RIGHT HORIZ OFFSET - CPY IPY ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0769: BCC - - BCC - -; libsrc/apple/hgrlib.pla: 0770: + EOR (DST),Y -+ EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0771: AND TMPH - AND TMPH -; libsrc/apple/hgrlib.pla: 0772: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0773: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0774: INX - INX -; libsrc/apple/hgrlib.pla: 0775: INX - INX -; libsrc/apple/hgrlib.pla: 0776: RTS - RTS -; libsrc/apple/hgrlib.pla: 0777: end -; libsrc/apple/hgrlib.pla: 0778: //export def hgrXorHLin(x1, x2, y)#0 -; libsrc/apple/hgrlib.pla: 0779: // word pixptr, x -; libsrc/apple/hgrlib.pla: 0780: // byte lofst, lpixofst, lpmask -; libsrc/apple/hgrlib.pla: 0781: // byte rofst, rpixofst, rpmask -; libsrc/apple/hgrlib.pla: 0782: // -; libsrc/apple/hgrlib.pla: 0783: // if x1 == x2 -; libsrc/apple/hgrlib.pla: 0784: // hgrPlot(x1, y) -; libsrc/apple/hgrlib.pla: 0785: // else -; libsrc/apple/hgrlib.pla: 0786: // lofst, lpixofst = divmod7(x1) -; libsrc/apple/hgrlib.pla: 0787: // pixptr = hgrscan[y] + drawbuff + lofst -; libsrc/apple/hgrlib.pla: 0788: // rofst, rpixofst = divmod7(x2) -; libsrc/apple/hgrlib.pla: 0789: // lpmask = hlmask[lpixofst] -; libsrc/apple/hgrlib.pla: 0790: // rpmask = hrmask[rpixofst] -; libsrc/apple/hgrlib.pla: 0791: // if lofst == rofst -; libsrc/apple/hgrlib.pla: 0792: // lpmask = lpmask & rpmask -; libsrc/apple/hgrlib.pla: 0793: // ^pixptr = ^pixptr ^ (curhclr.[pixptr.0 & 1] & lpmask) -; libsrc/apple/hgrlib.pla: 0794: // else -; libsrc/apple/hgrlib.pla: 0795: // ^pixptr = ^pixptr ^ (curhclr.[pixptr.0 & 1] & lpmask) -; libsrc/apple/hgrlib.pla: 0796: // pixptr++ -; libsrc/apple/hgrlib.pla: 0797: // for x = lofst + 1 to rofst - 1 -; libsrc/apple/hgrlib.pla: 0798: // ^pixptr = ^pixptr ^ curhclr.[pixptr.0 & 1] -; libsrc/apple/hgrlib.pla: 0799: // pixptr++ -; libsrc/apple/hgrlib.pla: 0800: // next -; libsrc/apple/hgrlib.pla: 0801: // ^pixptr = ^pixptr ^ (curhclr.[pixptr.0 & 1] & rpmask) -; libsrc/apple/hgrlib.pla: 0802: // fin -; libsrc/apple/hgrlib.pla: 0803: // fin -; libsrc/apple/hgrlib.pla: 0804: //end -; libsrc/apple/hgrlib.pla: 0805: export asm hgrXorHLin(x1, x2, y)#0 -_A036 ; hgrXorHLin() -; libsrc/apple/hgrlib.pla: 0806: LDA ESTKL+1 - LDA ESTKL+1 -; libsrc/apple/hgrlib.pla: 0807: CMP ESTKL+2 - CMP ESTKL+2 -; libsrc/apple/hgrlib.pla: 0808: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0809: LDA ESTKH+1 - LDA ESTKH+1 -; libsrc/apple/hgrlib.pla: 0810: CMP ESTKH+2 - CMP ESTKH+2 -; libsrc/apple/hgrlib.pla: 0811: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0812: end -; libsrc/apple/hgrlib.pla: 0813: asm _hgrXHLinA -_A037 ; _hgrXHLinA() -; libsrc/apple/hgrlib.pla: 0814: JSR $F000 - JSR $F000 -; libsrc/apple/hgrlib.pla: 0815: INX - INX -; libsrc/apple/hgrlib.pla: 0816: RTS - RTS -; libsrc/apple/hgrlib.pla: 0817: + LDY ESTKL+0,X ; Y COORD -+ LDY ESTKL+0,X ; Y COORD -; libsrc/apple/hgrlib.pla: 0818: end -; libsrc/apple/hgrlib.pla: 0819: asm _hgrXHLinB -_A038 ; _hgrXHLinB() -; libsrc/apple/hgrlib.pla: 0820: LDA $8000,Y ; HGRSCANL - LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0821: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0822: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0823: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0824: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0825: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/hgrlib.pla: 0826: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 0827: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/hgrlib.pla: 0828: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 0829: end -; libsrc/apple/hgrlib.pla: 0830: asm _hgrXHLinC -_A039 ; _hgrXHLinC() -; libsrc/apple/hgrlib.pla: 0831: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0832: LDY ESTKL+0,X ; RIGHT PIXEL OFFSET - LDY ESTKL+0,X ; RIGHT PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0833: end -; libsrc/apple/hgrlib.pla: 0834: asm _hgrXHLinD -_A040 ; _hgrXHLinD() -; libsrc/apple/hgrlib.pla: 0835: LDA $1000,Y ; HRMASK - LDA $1000,Y ; HRMASK -; libsrc/apple/hgrlib.pla: 0836: STA TMPH - STA TMPH -; libsrc/apple/hgrlib.pla: 0837: LDY ESTKL+1,X ; RIGHT HORIZ OFFSET - LDY ESTKL+1,X ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0838: STY IPY ; STEAL THIS ZP FOR A MOMENT - STY IPY ; STEAL THIS ZP FOR A MOMENT -; libsrc/apple/hgrlib.pla: 0839: INX - INX -; libsrc/apple/hgrlib.pla: 0840: INX - INX -; libsrc/apple/hgrlib.pla: 0841: INX - INX -; libsrc/apple/hgrlib.pla: 0842: end -; libsrc/apple/hgrlib.pla: 0843: asm _hgrXHLinE -_A041 ; _hgrXHLinE() -; libsrc/apple/hgrlib.pla: 0844: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0845: LDY ESTKL+0,X ; LEFT PIXEL OFFSET - LDY ESTKL+0,X ; LEFT PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0846: end -; libsrc/apple/hgrlib.pla: 0847: asm _hgrXHLinF -_A042 ; _hgrXHLinF() -; libsrc/apple/hgrlib.pla: 0848: LDA $1000,Y ; HLMASK - LDA $1000,Y ; HLMASK -; libsrc/apple/hgrlib.pla: 0849: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0850: LDY ESTKL+1,X ; LEFT HORIZ OFFSET - LDY ESTKL+1,X ; LEFT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0851: TYA - TYA -; libsrc/apple/hgrlib.pla: 0852: LSR - LSR -; libsrc/apple/hgrlib.pla: 0853: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0854: end -; libsrc/apple/hgrlib.pla: 0855: asm _hgrXHLinG -_A043 ; _hgrXHLinG() -; libsrc/apple/hgrlib.pla: 0856: LDA $2001 ; CURHCLRH - LDA $2001 ; CURHCLRH -; libsrc/apple/hgrlib.pla: 0857: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 0858: LDA $2000 ; CURHCLRH - LDA $2000 ; CURHCLRH -; libsrc/apple/hgrlib.pla: 0859: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0860: BCC ++ - BCC ++ -; libsrc/apple/hgrlib.pla: 0861: + LDA $2000 ; CURHCLRL -+ LDA $2000 ; CURHCLRL -; libsrc/apple/hgrlib.pla: 0862: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 0863: LDA $2001 ; CURHCLRH - LDA $2001 ; CURHCLRH -; libsrc/apple/hgrlib.pla: 0864: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 0865: ++ CPY IPY ; RIGHT HORIZ OFFSET -++ CPY IPY ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0866: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 0867: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0868: AND TMPH - AND TMPH -; libsrc/apple/hgrlib.pla: 0869: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0870: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0871: INX - INX -; libsrc/apple/hgrlib.pla: 0872: INX - INX -; libsrc/apple/hgrlib.pla: 0873: RTS - RTS -; libsrc/apple/hgrlib.pla: 0874: + AND TMPL -+ AND TMPL -; libsrc/apple/hgrlib.pla: 0875: - EOR (DST),Y -- EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0876: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0877: LDA SRCH - LDA SRCH -; libsrc/apple/hgrlib.pla: 0878: INY - INY -; libsrc/apple/hgrlib.pla: 0879: CPY IPY ; RIGHT HORIZ OFFSET - CPY IPY ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0880: BCS + - BCS + -; libsrc/apple/hgrlib.pla: 0881: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0882: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0883: LDA SRCL - LDA SRCL -; libsrc/apple/hgrlib.pla: 0884: INY - INY -; libsrc/apple/hgrlib.pla: 0885: CPY IPY ; RIGHT HORIZ OFFSET - CPY IPY ; RIGHT HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0886: BCC - - BCC - -; libsrc/apple/hgrlib.pla: 0887: + AND TMPH -+ AND TMPH -; libsrc/apple/hgrlib.pla: 0888: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 0889: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0890: INX - INX -; libsrc/apple/hgrlib.pla: 0891: INX - INX -; libsrc/apple/hgrlib.pla: 0892: RTS - RTS -; libsrc/apple/hgrlib.pla: 0893: end -; libsrc/apple/hgrlib.pla: 0894: //export def hgrVlin(y1, y2, x)#0 -; libsrc/apple/hgrlib.pla: 0895: // word pixptr, y, ofst -; libsrc/apple/hgrlib.pla: 0896: // byte pixofst, pmask, cmask -; libsrc/apple/hgrlib.pla: 0897: // -; libsrc/apple/hgrlib.pla: 0898: // if y1 == y2 -; libsrc/apple/hgrlib.pla: 0899: // hgrPlot(x, y1) -; libsrc/apple/hgrlib.pla: 0900: // else -; libsrc/apple/hgrlib.pla: 0901: // ofst, pixofst = divmod7(x) -; libsrc/apple/hgrlib.pla: 0902: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0903: // pmask = hbmask[pixofst] -; libsrc/apple/hgrlib.pla: 0904: // cmask = curhclr.[ofst & 1] & pmask -; libsrc/apple/hgrlib.pla: 0905: // pmask = ~pmask -; libsrc/apple/hgrlib.pla: 0906: // for y = y1 to y2 -; libsrc/apple/hgrlib.pla: 0907: // pixptr = hgrscan[y] + ofst -; libsrc/apple/hgrlib.pla: 0908: // ^pixptr = (^pixptr & pmask) | cmask -; libsrc/apple/hgrlib.pla: 0909: // next -; libsrc/apple/hgrlib.pla: 0910: // fin -; libsrc/apple/hgrlib.pla: 0911: //end -; libsrc/apple/hgrlib.pla: 0912: export asm hgrVlin(y1, y2, x)#0 -_A044 ; hgrVlin() -; libsrc/apple/hgrlib.pla: 0913: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0914: LDY ESTKL+0,X ; PIXEL OFFSET - LDY ESTKL+0,X ; PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0915: end -; libsrc/apple/hgrlib.pla: 0916: asm _hgrVLinA -_A045 ; _hgrVLinA() -; libsrc/apple/hgrlib.pla: 0917: LDA $1000,Y ; HBMASK - LDA $1000,Y ; HBMASK -; libsrc/apple/hgrlib.pla: 0918: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0919: EOR #$FF - EOR #$FF -; libsrc/apple/hgrlib.pla: 0920: STA TMPH - STA TMPH -; libsrc/apple/hgrlib.pla: 0921: LDA ESTKL+1,X ; HORIZ OFFSET - LDA ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0922: AND #$01 - AND #$01 -; libsrc/apple/hgrlib.pla: 0923: TAY - TAY -; libsrc/apple/hgrlib.pla: 0924: end -; libsrc/apple/hgrlib.pla: 0925: asm _hgrVLinB -_A046 ; _hgrVLinB() -; libsrc/apple/hgrlib.pla: 0926: LDA $2000,Y ; CURHCLR - LDA $2000,Y ; CURHCLR -; libsrc/apple/hgrlib.pla: 0927: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0928: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0929: LDY ESTKL+3,X ; Y1 COORD - LDY ESTKL+3,X ; Y1 COORD -; libsrc/apple/hgrlib.pla: 0930: end -; libsrc/apple/hgrlib.pla: 0931: asm _hgrVLinC -_A047 ; _hgrVLinC() -; libsrc/apple/hgrlib.pla: 0932: - LDA $8000,Y ; HGRSCANL -- LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0933: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0934: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0935: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0936: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0937: LDY ESTKL+1,X ; HORIZ OFFSET - LDY ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0938: LDA (DST),Y - LDA (DST),Y -; libsrc/apple/hgrlib.pla: 0939: AND TMPH - AND TMPH -; libsrc/apple/hgrlib.pla: 0940: ORA TMPL - ORA TMPL -; libsrc/apple/hgrlib.pla: 0941: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 0942: LDY ESTKL+3,X ; Y1 COORD - LDY ESTKL+3,X ; Y1 COORD -; libsrc/apple/hgrlib.pla: 0943: TYA - TYA -; libsrc/apple/hgrlib.pla: 0944: INY - INY -; libsrc/apple/hgrlib.pla: 0945: STY ESTKL+3,X ; Y1 COORD - STY ESTKL+3,X ; Y1 COORD -; libsrc/apple/hgrlib.pla: 0946: CMP ESTKL+2,X ; Y2 COORD - CMP ESTKL+2,X ; Y2 COORD -; libsrc/apple/hgrlib.pla: 0947: BNE - - BNE - -; libsrc/apple/hgrlib.pla: 0948: INX - INX -; libsrc/apple/hgrlib.pla: 0949: INX - INX -; libsrc/apple/hgrlib.pla: 0950: INX - INX -; libsrc/apple/hgrlib.pla: 0951: INX - INX -; libsrc/apple/hgrlib.pla: 0952: RTS - RTS -; libsrc/apple/hgrlib.pla: 0953: end -; libsrc/apple/hgrlib.pla: 0954: //export def hgrXVlin(y1, y2, x)#0 -; libsrc/apple/hgrlib.pla: 0955: // word pixptr, y, ofst -; libsrc/apple/hgrlib.pla: 0956: // byte pixofst, pmask, cmask -; libsrc/apple/hgrlib.pla: 0957: // -; libsrc/apple/hgrlib.pla: 0958: // if y1 == y2 -; libsrc/apple/hgrlib.pla: 0959: // hgrXorPlot(x, y1) -; libsrc/apple/hgrlib.pla: 0960: // else -; libsrc/apple/hgrlib.pla: 0961: // ofst, pixofst = divmod7(x) -; libsrc/apple/hgrlib.pla: 0962: // ofst = ofst + drawbuff -; libsrc/apple/hgrlib.pla: 0963: // pmask = hbmask[pixofst] -; libsrc/apple/hgrlib.pla: 0964: // cmask = curhclr.[ofst & 1] & pmask -; libsrc/apple/hgrlib.pla: 0965: // pmask = ~pmask -; libsrc/apple/hgrlib.pla: 0966: // for y = y1 to y2 -; libsrc/apple/hgrlib.pla: 0967: // pixptr = hgrscan[y] + ofst -; libsrc/apple/hgrlib.pla: 0968: // ^pixptr = ^pixptr ^ cmask -; libsrc/apple/hgrlib.pla: 0969: // next -; libsrc/apple/hgrlib.pla: 0970: // fin -; libsrc/apple/hgrlib.pla: 0971: //end -; libsrc/apple/hgrlib.pla: 0972: export asm hgrXorVlin(y1, y2, x)#0 -_A048 ; hgrXorVlin() -; libsrc/apple/hgrlib.pla: 0973: JSR 1000 ; DIVMOD7 - JSR 1000 ; DIVMOD7 -; libsrc/apple/hgrlib.pla: 0974: LDY ESTKL+0,X ; PIXEL OFFSET - LDY ESTKL+0,X ; PIXEL OFFSET -; libsrc/apple/hgrlib.pla: 0975: end -; libsrc/apple/hgrlib.pla: 0976: asm _hgrXVLinA -_A049 ; _hgrXVLinA() -; libsrc/apple/hgrlib.pla: 0977: LDA $1000,Y ; HBMASK - LDA $1000,Y ; HBMASK -; libsrc/apple/hgrlib.pla: 0978: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0979: EOR #$FF - EOR #$FF -; libsrc/apple/hgrlib.pla: 0980: STA TMPH - STA TMPH -; libsrc/apple/hgrlib.pla: 0981: LDA ESTKL+1,X ; HORIZ OFFSET - LDA ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0982: AND #$01 - AND #$01 -; libsrc/apple/hgrlib.pla: 0983: TAY - TAY -; libsrc/apple/hgrlib.pla: 0984: end -; libsrc/apple/hgrlib.pla: 0985: asm _hgrXVLinB -_A050 ; _hgrXVLinB() -; libsrc/apple/hgrlib.pla: 0986: LDA $2000,Y ; CURHCLR - LDA $2000,Y ; CURHCLR -; libsrc/apple/hgrlib.pla: 0987: AND TMPL - AND TMPL -; libsrc/apple/hgrlib.pla: 0988: STA TMPL - STA TMPL -; libsrc/apple/hgrlib.pla: 0989: LDY ESTKL+3,X ; Y1 COORD - LDY ESTKL+3,X ; Y1 COORD -; libsrc/apple/hgrlib.pla: 0990: end -; libsrc/apple/hgrlib.pla: 0991: asm _hgrXVLinC -_A051 ; _hgrXVLinC() -; libsrc/apple/hgrlib.pla: 0992: - LDA $8000,Y ; HGRSCANL -- LDA $8000,Y ; HGRSCANL -; libsrc/apple/hgrlib.pla: 0993: STA DSTL - STA DSTL -; libsrc/apple/hgrlib.pla: 0994: LDA $1000 ; DRAWBUFFH - LDA $1000 ; DRAWBUFFH -; libsrc/apple/hgrlib.pla: 0995: ORA $9000,Y ; HGRSCANH - ORA $9000,Y ; HGRSCANH -; libsrc/apple/hgrlib.pla: 0996: STA DSTH - STA DSTH -; libsrc/apple/hgrlib.pla: 0997: LDY ESTKL+1,X ; HORIZ OFFSET - LDY ESTKL+1,X ; HORIZ OFFSET -; libsrc/apple/hgrlib.pla: 0998: LDA TMPL - LDA TMPL -; libsrc/apple/hgrlib.pla: 0999: EOR (DST),Y - EOR (DST),Y -; libsrc/apple/hgrlib.pla: 1000: STA (DST),Y - STA (DST),Y -; libsrc/apple/hgrlib.pla: 1001: LDY ESTKL+3,X ; Y1 COORD - LDY ESTKL+3,X ; Y1 COORD -; libsrc/apple/hgrlib.pla: 1002: TYA - TYA -; libsrc/apple/hgrlib.pla: 1003: INY - INY -; libsrc/apple/hgrlib.pla: 1004: STY ESTKL+3,X ; Y1 COORD - STY ESTKL+3,X ; Y1 COORD -; libsrc/apple/hgrlib.pla: 1005: CMP ESTKL+2,X ; Y2 COORD - CMP ESTKL+2,X ; Y2 COORD -; libsrc/apple/hgrlib.pla: 1006: BNE - - BNE - -; libsrc/apple/hgrlib.pla: 1007: INX - INX -; libsrc/apple/hgrlib.pla: 1008: INX - INX -; libsrc/apple/hgrlib.pla: 1009: INX - INX -; libsrc/apple/hgrlib.pla: 1010: INX - INX -; libsrc/apple/hgrlib.pla: 1011: RTS - RTS -; libsrc/apple/hgrlib.pla: 1012: end -; libsrc/apple/hgrlib.pla: 1013: // -; libsrc/apple/hgrlib.pla: 1014: // Masked BLT scanline of pixmap -; libsrc/apple/hgrlib.pla: 1015: // -; libsrc/apple/hgrlib.pla: 1016: asm scanBLT(x, y, w, srcptr)#0 -_A052 ; scanBLT() -; libsrc/apple/hgrlib.pla: 1017: LDA ESTKL+0,X ; SRC PTR - LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrlib.pla: 1018: STA SRCL - STA SRCL -; libsrc/apple/hgrlib.pla: 1019: LDA ESTKH+0,X - LDA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 1020: STA SRCH - STA SRCH -; libsrc/apple/hgrlib.pla: 1021: LDA #$00 - LDA #$00 -; libsrc/apple/hgrlib.pla: 1022: - PHA -- PHA -; libsrc/apple/hgrlib.pla: 1023: LSR - LSR -; libsrc/apple/hgrlib.pla: 1024: TAY - TAY -; libsrc/apple/hgrlib.pla: 1025: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 1026: LSR - LSR -; libsrc/apple/hgrlib.pla: 1027: LSR - LSR -; libsrc/apple/hgrlib.pla: 1028: LSR - LSR -; libsrc/apple/hgrlib.pla: 1029: LSR - LSR -; libsrc/apple/hgrlib.pla: 1030: PHA - PHA -; libsrc/apple/hgrlib.pla: 1031: DEX - DEX -; libsrc/apple/hgrlib.pla: 1032: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 1033: end -; libsrc/apple/hgrlib.pla: 1034: asm _scanBLTA -_A053 ; _scanBLTA() -; libsrc/apple/hgrlib.pla: 1035: JSR $C000 ; HCOLOR - JSR $C000 ; HCOLOR -; libsrc/apple/hgrlib.pla: 1036: DEX - DEX -; libsrc/apple/hgrlib.pla: 1037: DEX - DEX -; libsrc/apple/hgrlib.pla: 1038: LDA ESTKL+5,X ; X COORDL - LDA ESTKL+5,X ; X COORDL -; libsrc/apple/hgrlib.pla: 1039: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrlib.pla: 1040: LDA ESTKH+5,X ; X COORDH - LDA ESTKH+5,X ; X COORDH -; libsrc/apple/hgrlib.pla: 1041: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/apple/hgrlib.pla: 1042: LDA ESTKL+4,X ; Y COORDL - LDA ESTKL+4,X ; Y COORDL -; libsrc/apple/hgrlib.pla: 1043: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 1044: LDA ESTKH+4,X ; Y COORDH - LDA ESTKH+4,X ; Y COORDH -; libsrc/apple/hgrlib.pla: 1045: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 1046: PLA - PLA -; libsrc/apple/hgrlib.pla: 1047: AND #$08 - AND #$08 -; libsrc/apple/hgrlib.pla: 1048: BEQ + - BEQ + -; libsrc/apple/hgrlib.pla: 1049: end -; libsrc/apple/hgrlib.pla: 1050: asm _scanBLTB -_A054 ; _scanBLTB() -; libsrc/apple/hgrlib.pla: 1051: JSR $D000 ; HPLOT - JSR $D000 ; HPLOT -; libsrc/apple/hgrlib.pla: 1052: BEQ ++ - BEQ ++ -; libsrc/apple/hgrlib.pla: 1053: BNE ++ - BNE ++ -; libsrc/apple/hgrlib.pla: 1054: + JSR $E000 ; HPLOTOR -+ JSR $E000 ; HPLOTOR -; libsrc/apple/hgrlib.pla: 1055: ++ INC ESTKL+3,X ; X COORDL -++ INC ESTKL+3,X ; X COORDL -; libsrc/apple/hgrlib.pla: 1056: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 1057: INC ESTKH+3,X ; X COORDH - INC ESTKH+3,X ; X COORDH -; libsrc/apple/hgrlib.pla: 1058: + PLA -+ PLA -; libsrc/apple/hgrlib.pla: 1059: CLC - CLC -; libsrc/apple/hgrlib.pla: 1060: ADC #$01 - ADC #$01 -; libsrc/apple/hgrlib.pla: 1061: CMP ESTKL+1,X ; WIDTH - CMP ESTKL+1,X ; WIDTH -; libsrc/apple/hgrlib.pla: 1062: BEQ BLTDONE - BEQ BLTDONE -; libsrc/apple/hgrlib.pla: 1063: PHA - PHA -; libsrc/apple/hgrlib.pla: 1064: LSR - LSR -; libsrc/apple/hgrlib.pla: 1065: TAY - TAY -; libsrc/apple/hgrlib.pla: 1066: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrlib.pla: 1067: PHA - PHA -; libsrc/apple/hgrlib.pla: 1068: DEX - DEX -; libsrc/apple/hgrlib.pla: 1069: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 1070: end -; libsrc/apple/hgrlib.pla: 1071: asm _scanBLTC -_A055 ; _scanBLTC() -; libsrc/apple/hgrlib.pla: 1072: JSR $C000 ; HCOLOR - JSR $C000 ; HCOLOR -; libsrc/apple/hgrlib.pla: 1073: DEX - DEX -; libsrc/apple/hgrlib.pla: 1074: DEX - DEX -; libsrc/apple/hgrlib.pla: 1075: LDA ESTKL+5,X ; X COORDL - LDA ESTKL+5,X ; X COORDL -; libsrc/apple/hgrlib.pla: 1076: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrlib.pla: 1077: LDA ESTKH+5,X ; X COORDH - LDA ESTKH+5,X ; X COORDH -; libsrc/apple/hgrlib.pla: 1078: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/apple/hgrlib.pla: 1079: LDA ESTKL+4,X ; Y COORDL - LDA ESTKL+4,X ; Y COORDL -; libsrc/apple/hgrlib.pla: 1080: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrlib.pla: 1081: LDA ESTKH+4,X ; Y COORDH - LDA ESTKH+4,X ; Y COORDH -; libsrc/apple/hgrlib.pla: 1082: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/apple/hgrlib.pla: 1083: PLA - PLA -; libsrc/apple/hgrlib.pla: 1084: AND #$08 - AND #$08 -; libsrc/apple/hgrlib.pla: 1085: BEQ + - BEQ + -; libsrc/apple/hgrlib.pla: 1086: end -; libsrc/apple/hgrlib.pla: 1087: asm _scanBLTD -_A056 ; _scanBLTD() -; libsrc/apple/hgrlib.pla: 1088: JSR $D000 ; HPLOT - JSR $D000 ; HPLOT -; libsrc/apple/hgrlib.pla: 1089: BEQ ++ - BEQ ++ -; libsrc/apple/hgrlib.pla: 1090: BNE ++ - BNE ++ -; libsrc/apple/hgrlib.pla: 1091: + JSR $E000 ; HPLOTOR -+ JSR $E000 ; HPLOTOR -; libsrc/apple/hgrlib.pla: 1092: ++ INC ESTKL+3,X ; X COORDL -++ INC ESTKL+3,X ; X COORDL -; libsrc/apple/hgrlib.pla: 1093: BNE + - BNE + -; libsrc/apple/hgrlib.pla: 1094: INC ESTKH+3,X ; X COORDH - INC ESTKH+3,X ; X COORDH -; libsrc/apple/hgrlib.pla: 1095: + PLA -+ PLA -; libsrc/apple/hgrlib.pla: 1096: CLC - CLC -; libsrc/apple/hgrlib.pla: 1097: ADC #$01 - ADC #$01 -; libsrc/apple/hgrlib.pla: 1098: CMP ESTKL+1,X ; WIDTH - CMP ESTKL+1,X ; WIDTH -; libsrc/apple/hgrlib.pla: 1099: BNE - - BNE - -; libsrc/apple/hgrlib.pla: 1100: BLTDONE INX -BLTDONE INX -; libsrc/apple/hgrlib.pla: 1101: INX - INX -; libsrc/apple/hgrlib.pla: 1102: INX - INX -; libsrc/apple/hgrlib.pla: 1103: INX - INX -; libsrc/apple/hgrlib.pla: 1104: RTS - RTS -; libsrc/apple/hgrlib.pla: 1105: end -; libsrc/apple/hgrlib.pla: 1106: export def hgrRect(x1, y1, x2, y2)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C000 ; hgrRect() -; libsrc/apple/hgrlib.pla: 1107: word y - ; y -> [8] -; libsrc/apple/hgrlib.pla: 1108: -; libsrc/apple/hgrlib.pla: 1109: if x1 == x2 - !BYTE $58,$0A,$04 ; ENTER 10,4 -; libsrc/apple/hgrlib.pla: 1110: hgrVLin(y1, y2, x1) -; libsrc/apple/hgrlib.pla: 1111: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $24 ; BRNE _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A044 -_F000 !WORD _A044 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; libsrc/apple/hgrlib.pla: 1112: for y = y1 to y2 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B003 - !WORD _B003-* -_B004 - !BYTE $6E,$08 ; DLW [8] -; libsrc/apple/hgrlib.pla: 1113: hgrHLin(x1, x2, y) -; libsrc/apple/hgrlib.pla: 1114: next - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A028 -_F001 !WORD _A028 -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $76,$08 ; SLW [8] - !BYTE $30 ; DROP -; libsrc/apple/hgrlib.pla: 1115: fin -_B002 -; libsrc/apple/hgrlib.pla: 1116: end - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/hgrlib.pla: 1117: export def hgrXorRect(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C001 ; hgrXorRect() -; libsrc/apple/hgrlib.pla: 1118: word y - ; y -> [8] -; libsrc/apple/hgrlib.pla: 1119: -; libsrc/apple/hgrlib.pla: 1120: if x1 == x2 - !BYTE $58,$0A,$04 ; ENTER 10,4 -; libsrc/apple/hgrlib.pla: 1121: hgrXorVLin(y1, y2, x1) -; libsrc/apple/hgrlib.pla: 1122: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $24 ; BRNE _B006 - !WORD _B006-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A048 -_F002 !WORD _A048 - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; libsrc/apple/hgrlib.pla: 1123: for y = y1 to y2 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B008 - !WORD _B008-* -_B009 - !BYTE $6E,$08 ; DLW [8] -; libsrc/apple/hgrlib.pla: 1124: hgrXorHLin(x1, x2, y) -; libsrc/apple/hgrlib.pla: 1125: next - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A036 -_F003 !WORD _A036 -_B010 - !BYTE $A4 ; INCBRLE _B009 - !WORD _B009-* -_B008 - !BYTE $76,$08 ; SLW [8] - !BYTE $30 ; DROP -; libsrc/apple/hgrlib.pla: 1126: fin -_B007 -; libsrc/apple/hgrlib.pla: 1127: end - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/apple/hgrlib.pla: 1128: export def hgrBLT(x, y, w, h, srcptr)#0 - ; x -> [0] - ; y -> [2] - ; w -> [4] - ; h -> [6] - ; srcptr -> [8] -_C002 ; hgrBLT() -; libsrc/apple/hgrlib.pla: 1129: word i, j - ; i -> [10] - ; j -> [12] -; libsrc/apple/hgrlib.pla: 1130: word saveclr - ; saveclr -> [14] -; libsrc/apple/hgrlib.pla: 1131: byte c - ; c -> [16] -; libsrc/apple/hgrlib.pla: 1132: -; libsrc/apple/hgrlib.pla: 1133: saveclr = curhclr - !BYTE $58,$11,$05 ; ENTER 17,5 -; libsrc/apple/hgrlib.pla: 1134: for j = y to y + h - 1 - !BYTE $6A ; LAW _D035+0 -_F004 !WORD _D035+0 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B011 - !WORD _B011-* -_B012 - !BYTE $6E,$0C ; DLW [12] -; libsrc/apple/hgrlib.pla: 1135: scanBLT(x, j, w, srcptr) -; libsrc/apple/hgrlib.pla: 1136: // for i = 0 to w - 1 -; libsrc/apple/hgrlib.pla: 1137: // c = srcptr->[i >> 1] -; libsrc/apple/hgrlib.pla: 1138: // if i & 1 -; libsrc/apple/hgrlib.pla: 1139: // hgrColor(c) -; libsrc/apple/hgrlib.pla: 1140: // if c & $08 -; libsrc/apple/hgrlib.pla: 1141: // hgrOrPlot(x + i, j) -; libsrc/apple/hgrlib.pla: 1142: // else -; libsrc/apple/hgrlib.pla: 1143: // hgrPlot(x + i, j) -; libsrc/apple/hgrlib.pla: 1144: // fin -; libsrc/apple/hgrlib.pla: 1145: // else -; libsrc/apple/hgrlib.pla: 1146: // hgrColor(c >> 4) -; libsrc/apple/hgrlib.pla: 1147: // if c & $80 -; libsrc/apple/hgrlib.pla: 1148: // hgrXorPlot(x + i, j) -; libsrc/apple/hgrlib.pla: 1149: // else -; libsrc/apple/hgrlib.pla: 1150: // hgrPlot(x + i, j) -; libsrc/apple/hgrlib.pla: 1151: // fin -; libsrc/apple/hgrlib.pla: 1152: // fin -; libsrc/apple/hgrlib.pla: 1153: // next -; libsrc/apple/hgrlib.pla: 1154: srcptr = srcptr + (w + 1) / 2 -; libsrc/apple/hgrlib.pla: 1155: next - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A052 -_F005 !WORD _A052 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] -_B013 - !BYTE $A4 ; INCBRLE _B012 - !WORD _B012-* -_B011 - !BYTE $76,$0C ; SLW [12] - !BYTE $30 ; DROP -; libsrc/apple/hgrlib.pla: 1156: curhclr = saveclr -; libsrc/apple/hgrlib.pla: 1157: end - !BYTE $66,$0E ; LLW [14] - !BYTE $7A ; SAW _D035+0 -_F006 !WORD _D035+0 - !BYTE $5A,$11 ; LEAVE 17 -; libsrc/apple/hgrlib.pla: 1158: export def hgrMode(mode)#1 - ; mode -> [0] -_C003 ; hgrMode() -; libsrc/apple/hgrlib.pla: 1159: when mode - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B015-* -; libsrc/apple/hgrlib.pla: 1160: is page1 -_B016 -; libsrc/apple/hgrlib.pla: 1161: // -; libsrc/apple/hgrlib.pla: 1162: // Set HGR1 mode -; libsrc/apple/hgrlib.pla: 1163: // -; libsrc/apple/hgrlib.pla: 1164: memset(hgr1, 0, $2000) // Clear HGR1 -; libsrc/apple/hgrlib.pla: 1165: putc(17) // Set 40 column mode if in 80 column mode -; libsrc/apple/hgrlib.pla: 1166: ^showpage1 -; libsrc/apple/hgrlib.pla: 1167: ^showfull -; libsrc/apple/hgrlib.pla: 1168: ^showhires -; libsrc/apple/hgrlib.pla: 1169: ^showgraphics -; libsrc/apple/hgrlib.pla: 1170: drawpage = page2 -; libsrc/apple/hgrlib.pla: 1171: drawbuff = hgrbuff[page2] -; libsrc/apple/hgrlib.pla: 1172: break - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F007 !WORD 0 - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _X002 -_F008 !WORD 0 - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$57,$C0 ; LAB 49239 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D036+0 -_F009 !WORD _D036+0 - !BYTE $6A ; LAW _D028+2 -_F010 !WORD _D028+2 - !BYTE $7A ; SAW _D037+0 -_F011 !WORD _D037+0 - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/apple/hgrlib.pla: 1173: is page2 -_B017 -; libsrc/apple/hgrlib.pla: 1174: // -; libsrc/apple/hgrlib.pla: 1175: // Set HGR2 mode -; libsrc/apple/hgrlib.pla: 1176: // -; libsrc/apple/hgrlib.pla: 1177: memset(hgr2, 0, $2000) // Clear HGR2 -; libsrc/apple/hgrlib.pla: 1178: putc(17) // Set 40 column mode if in 80 column mode -; libsrc/apple/hgrlib.pla: 1179: ^showpage2 -; libsrc/apple/hgrlib.pla: 1180: ^showfull -; libsrc/apple/hgrlib.pla: 1181: ^showhires -; libsrc/apple/hgrlib.pla: 1182: ^showgraphics -; libsrc/apple/hgrlib.pla: 1183: drawpage = page1 -; libsrc/apple/hgrlib.pla: 1184: drawbuff = hgrbuff[page1] -; libsrc/apple/hgrlib.pla: 1185: break - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F012 !WORD 0 - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _X002 -_F013 !WORD 0 - !BYTE $68,$55,$C0 ; LAB 49237 - !BYTE $30 ; DROP - !BYTE $68,$52,$C0 ; LAB 49234 - !BYTE $30 ; DROP - !BYTE $68,$57,$C0 ; LAB 49239 - !BYTE $30 ; DROP - !BYTE $68,$50,$C0 ; LAB 49232 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D036+0 -_F014 !WORD _D036+0 - !BYTE $6A ; LAW _D028+0 -_F015 !WORD _D028+0 - !BYTE $7A ; SAW _D037+0 -_F016 !WORD _D037+0 - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/apple/hgrlib.pla: 1186: otherwise -_B015 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B016-* - !WORD $0001 - !WORD _B017-* -; libsrc/apple/hgrlib.pla: 1187: // -; libsrc/apple/hgrlib.pla: 1188: // Show text mode -; libsrc/apple/hgrlib.pla: 1189: // -; libsrc/apple/hgrlib.pla: 1190: ^showpage1 -; libsrc/apple/hgrlib.pla: 1191: ^showtext -; libsrc/apple/hgrlib.pla: 1192: call($FB2F, 0, 0, 0, 0) // INIT -; libsrc/apple/hgrlib.pla: 1193: if cmdsys:_sysflags_ & vid80col; putc(18); fin // Set 80 column mode if active - !BYTE $68,$54,$C0 ; LAB 49236 - !BYTE $30 ; DROP - !BYTE $68,$51,$C0 ; LAB 49233 - !BYTE $30 ; DROP - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X000+23 -_F018 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $2A,$12 ; CB 18 - !BYTE $54 ; CALL _X002 -_F019 !WORD 0 -_B018 -_B019 -; libsrc/apple/hgrlib.pla: 1194: call($FC58, 0, 0, 0, 0) // home() -; libsrc/apple/hgrlib.pla: 1195: wend - !BYTE $2C,$58,$FC ; CW 64600 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F020 !WORD 0 - !BYTE $30 ; DROP -_B014 -; libsrc/apple/hgrlib.pla: 1196: return mode - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrlib.pla: 1197: end -; libsrc/apple/hgrlib.pla: 1198: export def hgrClear#0 -_C004 ; hgrClear() -; libsrc/apple/hgrlib.pla: 1199: memset(drawbuff, curhclr, drawbuff) // Clear current HGR page -; libsrc/apple/hgrlib.pla: 1200: end - !BYTE $6A ; LAW _D037+0 -_F021 !WORD _D037+0 - !BYTE $6A ; LAW _D035+0 -_F022 !WORD _D035+0 - !BYTE $6A ; LAW _D037+0 -_F023 !WORD _D037+0 - !BYTE $54 ; CALL _X017 -_F024 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1201: // -; libsrc/apple/hgrlib.pla: 1202: // Set display page, return other page -; libsrc/apple/hgrlib.pla: 1203: // -; libsrc/apple/hgrlib.pla: 1204: export def hgrShow(page)#1 - ; page -> [0] -_C005 ; hgrShow() -; libsrc/apple/hgrlib.pla: 1205: page = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrlib.pla: 1206: ^(showpage1 + page) -; libsrc/apple/hgrlib.pla: 1207: return page ^ 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $76,$00 ; SLW [0] - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrlib.pla: 1208: end -; libsrc/apple/hgrlib.pla: 1209: export def hgrSwap#1 -_C006 ; hgrSwap() -; libsrc/apple/hgrlib.pla: 1210: ^(showpage1 + drawpage) -; libsrc/apple/hgrlib.pla: 1211: drawpage = drawpage ^ 1 -; libsrc/apple/hgrlib.pla: 1212: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrlib.pla: 1213: return drawpage - !BYTE $2C,$54,$C0 ; CW 49236 - !BYTE $B4 ; ADDAB _D036+0 -_F025 !WORD _D036+0 - !BYTE $60 ; LB - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D036+0 -_F026 !WORD _D036+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D036+0 -_F027 !WORD _D036+0 - !BYTE $26 ; LA _D028+0 -_F028 !WORD _D028+0 - !BYTE $BC ; IDXAB _D036+0 -_F029 !WORD _D036+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F030 !WORD _D037+0 - !BYTE $68 ; LAB _D036+0 -_F031 !WORD _D036+0 - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1214: end -; libsrc/apple/hgrlib.pla: 1215: export def hgrDrawBuf(page)#1 - ; page -> [0] -_C007 ; hgrDrawBuf() -; libsrc/apple/hgrlib.pla: 1216: drawpage = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrlib.pla: 1217: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrlib.pla: 1218: return drawpage - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $78 ; SAB _D036+0 -_F032 !WORD _D036+0 - !BYTE $26 ; LA _D028+0 -_F033 !WORD _D028+0 - !BYTE $BC ; IDXAB _D036+0 -_F034 !WORD _D036+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F035 !WORD _D037+0 - !BYTE $68 ; LAB _D036+0 -_F036 !WORD _D036+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrlib.pla: 1219: end -; libsrc/apple/hgrlib.pla: 1220: // -; libsrc/apple/hgrlib.pla: 1221: // Machine compatibility check -; libsrc/apple/hgrlib.pla: 1222: // -; libsrc/apple/hgrlib.pla: 1223: if MACHID & MACHID_MODEL == MACHID_III or MACHID & MACHID_MODEL == MACHID_I -_INIT -; libsrc/apple/hgrlib.pla: 1224: puts("Apple II compatible only.\n") - !BYTE $68 ; LAB _X001+0 -_F037 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $2A,$C0 ; CB 192 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B020 - !WORD _B020-* - !BYTE $68 ; LAB _X001+0 -_F038 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ -_B020 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $2E ; CS - !BYTE $1A - !BYTE $41,$70,$70,$6C,$65,$20,$49,$49 - !BYTE $20,$63,$6F,$6D,$70,$61,$74,$69 - !BYTE $62,$6C,$65,$20,$6F,$6E,$6C,$79 - !BYTE $2E,$0D - !BYTE $54 ; CALL _X004 -_F039 !WORD 0 -; libsrc/apple/hgrlib.pla: 1225: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1226: fin -_B021 -_B022 -; libsrc/apple/hgrlib.pla: 1227: // -; libsrc/apple/hgrlib.pla: 1228: // Assembly fixups -; libsrc/apple/hgrlib.pla: 1229: // -; libsrc/apple/hgrlib.pla: 1230: hgrCopyDst:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1231: _hgrCopyDst:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1232: _hgrCopyDst:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1233: _hgrCopyDst:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1234: hgrCopySrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1235: _hgrCopySrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1236: _hgrCopySrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1237: _hgrCopySrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1238: hgrAndSrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1239: _hgrAndSrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1240: _hgrAndSrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1241: _hgrAndSrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1242: hgrXorSrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1243: _hgrXorSrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1244: _hgrXorSrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1245: _hgrXorSrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1246: hgrOrSrc:1 = @clipsrc -; libsrc/apple/hgrlib.pla: 1247: _hgrOrSrc:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1248: _hgrOrSrc:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1249: _hgrOrSrc:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1250: _hgrPlotA:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1251: _hgrPlotA:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1252: _hgrPlotA:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1253: _hgrPlotB:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1254: _hgrPlotC:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1255: _hgrPlotD:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1256: _hgrXorPlotA:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1257: _hgrXorPlotA:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1258: _hgrXorPlotA:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1259: _hgrXorPlotB:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1260: _hgrXorPlotC:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1261: _hgrXorPlotD:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1262: _hgrOrPlotA:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1263: _hgrOrPlotA:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1264: _hgrOrPlotA:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1265: _hgrOrPlotB:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1266: _hgrOrPlotC:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1267: _hgrOrPlotD:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1268: _hgrHLinA:1 = @hgrPlot -; libsrc/apple/hgrlib.pla: 1269: _hgrHLinB:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1270: _hgrHLinB:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1271: _hgrHLinB:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1272: _hgrHLinC:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1273: _hgrHLinD:1 = @hrmask -; libsrc/apple/hgrlib.pla: 1274: _hgrHLinE:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1275: _hgrHLinF:1 = @hlmask -; libsrc/apple/hgrlib.pla: 1276: _hgrHLinG:1 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1277: _hgrHLinG:6 = @curhclr -; libsrc/apple/hgrlib.pla: 1278: _hgrHLinG:13 = @curhclr -; libsrc/apple/hgrlib.pla: 1279: _hgrHLinG:18 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1280: _hgrXHLinA:1 = @hgrXorPlot -; libsrc/apple/hgrlib.pla: 1281: _hgrXHLinB:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1282: _hgrXHLinB:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1283: _hgrXHLinB:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1284: _hgrXHLinC:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1285: _hgrXHLinD:1 = @hrmask -; libsrc/apple/hgrlib.pla: 1286: _hgrXHLinE:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1287: _hgrXHLinF:1 = @hlmask -; libsrc/apple/hgrlib.pla: 1288: _hgrXHLinG:1 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1289: _hgrXHLinG:6 = @curhclr -; libsrc/apple/hgrlib.pla: 1290: _hgrXHLinG:13 = @curhclr -; libsrc/apple/hgrlib.pla: 1291: _hgrXHLinG:18 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1292: hgrVLin:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1293: _hgrVLinA:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1294: _hgrVLinB:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1295: _hgrVLinC:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1296: _hgrVLinC:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1297: _hgrVLinC:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1298: hgrXorVLin:1 = @divmod7 -; libsrc/apple/hgrlib.pla: 1299: _hgrXVLinA:1 = @hbmask -; libsrc/apple/hgrlib.pla: 1300: _hgrXVLinB:1 = @curhclr -; libsrc/apple/hgrlib.pla: 1301: _hgrXVLinC:1 = @hgrscanl -; libsrc/apple/hgrlib.pla: 1302: _hgrXVLinC:6 = @drawbuff.1 -; libsrc/apple/hgrlib.pla: 1303: _hgrXVLinC:9 = @hgrscanh -; libsrc/apple/hgrlib.pla: 1304: hgrColor:7 = @hcolor -; libsrc/apple/hgrlib.pla: 1305: hgrColor:10 = @curhclr -; libsrc/apple/hgrlib.pla: 1306: hgrColor:13 = @hcolor.1 -; libsrc/apple/hgrlib.pla: 1307: hgrColor:16 = @curhclr.1 -; libsrc/apple/hgrlib.pla: 1308: _scanBLTA:1 = @hgrColor -; libsrc/apple/hgrlib.pla: 1309: _scanBLTB:1 = @hgrPlot -; libsrc/apple/hgrlib.pla: 1310: _scanBLTB:8 = @hgrOrPlot -; libsrc/apple/hgrlib.pla: 1311: _scanBLTC:1 = @hgrColor -; libsrc/apple/hgrlib.pla: 1312: _scanBLTD:1 = @hgrPlot -; libsrc/apple/hgrlib.pla: 1313: _scanBLTD:8 = @hgrOrPlot -; libsrc/apple/hgrlib.pla: 1314: // -; libsrc/apple/hgrlib.pla: 1315: // Keep module in memory -; libsrc/apple/hgrlib.pla: 1316: // -; libsrc/apple/hgrlib.pla: 1317: return modkeep - !BYTE $26 ; LA _A001+0 -_F040 !WORD _A001+0 - !BYTE $7A ; SAW _A003+1 -_F041 !WORD _A003+1 - !BYTE $26 ; LA _D029+0 -_F042 !WORD _D029+0 - !BYTE $7A ; SAW _A004+1 -_F043 !WORD _A004+1 - !BYTE $26 ; LA _D037+1 -_F044 !WORD _D037+1 - !BYTE $7A ; SAW _A004+6 -_F045 !WORD _A004+6 - !BYTE $26 ; LA _D030+0 -_F046 !WORD _D030+0 - !BYTE $7A ; SAW _A004+9 -_F047 !WORD _A004+9 - !BYTE $26 ; LA _A001+0 -_F048 !WORD _A001+0 - !BYTE $7A ; SAW _A005+1 -_F049 !WORD _A005+1 - !BYTE $26 ; LA _D029+0 -_F050 !WORD _D029+0 - !BYTE $7A ; SAW _A006+1 -_F051 !WORD _A006+1 - !BYTE $26 ; LA _D037+1 -_F052 !WORD _D037+1 - !BYTE $7A ; SAW _A006+6 -_F053 !WORD _A006+6 - !BYTE $26 ; LA _D030+0 -_F054 !WORD _D030+0 - !BYTE $7A ; SAW _A006+9 -_F055 !WORD _A006+9 - !BYTE $26 ; LA _A001+0 -_F056 !WORD _A001+0 - !BYTE $7A ; SAW _A007+1 -_F057 !WORD _A007+1 - !BYTE $26 ; LA _D029+0 -_F058 !WORD _D029+0 - !BYTE $7A ; SAW _A008+1 -_F059 !WORD _A008+1 - !BYTE $26 ; LA _D037+1 -_F060 !WORD _D037+1 - !BYTE $7A ; SAW _A008+6 -_F061 !WORD _A008+6 - !BYTE $26 ; LA _D030+0 -_F062 !WORD _D030+0 - !BYTE $7A ; SAW _A008+9 -_F063 !WORD _A008+9 - !BYTE $26 ; LA _A001+0 -_F064 !WORD _A001+0 - !BYTE $7A ; SAW _A009+1 -_F065 !WORD _A009+1 - !BYTE $26 ; LA _D029+0 -_F066 !WORD _D029+0 - !BYTE $7A ; SAW _A010+1 -_F067 !WORD _A010+1 - !BYTE $26 ; LA _D037+1 -_F068 !WORD _D037+1 - !BYTE $7A ; SAW _A010+6 -_F069 !WORD _A010+6 - !BYTE $26 ; LA _D030+0 -_F070 !WORD _D030+0 - !BYTE $7A ; SAW _A010+9 -_F071 !WORD _A010+9 - !BYTE $26 ; LA _A001+0 -_F072 !WORD _A001+0 - !BYTE $7A ; SAW _A011+1 -_F073 !WORD _A011+1 - !BYTE $26 ; LA _D029+0 -_F074 !WORD _D029+0 - !BYTE $7A ; SAW _A012+1 -_F075 !WORD _A012+1 - !BYTE $26 ; LA _D037+1 -_F076 !WORD _D037+1 - !BYTE $7A ; SAW _A012+6 -_F077 !WORD _A012+6 - !BYTE $26 ; LA _D030+0 -_F078 !WORD _D030+0 - !BYTE $7A ; SAW _A012+9 -_F079 !WORD _A012+9 - !BYTE $26 ; LA _D029+0 -_F080 !WORD _D029+0 - !BYTE $7A ; SAW _A014+1 -_F081 !WORD _A014+1 - !BYTE $26 ; LA _D037+1 -_F082 !WORD _D037+1 - !BYTE $7A ; SAW _A014+6 -_F083 !WORD _A014+6 - !BYTE $26 ; LA _D030+0 -_F084 !WORD _D030+0 - !BYTE $7A ; SAW _A014+9 -_F085 !WORD _A014+9 - !BYTE $26 ; LA _A000+0 -_F086 !WORD _A000+0 - !BYTE $7A ; SAW _A015+1 -_F087 !WORD _A015+1 - !BYTE $26 ; LA _D031+0 -_F088 !WORD _D031+0 - !BYTE $7A ; SAW _A016+1 -_F089 !WORD _A016+1 - !BYTE $26 ; LA _D035+0 -_F090 !WORD _D035+0 - !BYTE $7A ; SAW _A017+1 -_F091 !WORD _A017+1 - !BYTE $26 ; LA _D029+0 -_F092 !WORD _D029+0 - !BYTE $7A ; SAW _A019+1 -_F093 !WORD _A019+1 - !BYTE $26 ; LA _D037+1 -_F094 !WORD _D037+1 - !BYTE $7A ; SAW _A019+6 -_F095 !WORD _A019+6 - !BYTE $26 ; LA _D030+0 -_F096 !WORD _D030+0 - !BYTE $7A ; SAW _A019+9 -_F097 !WORD _A019+9 - !BYTE $26 ; LA _A000+0 -_F098 !WORD _A000+0 - !BYTE $7A ; SAW _A020+1 -_F099 !WORD _A020+1 - !BYTE $26 ; LA _D031+0 -_F100 !WORD _D031+0 - !BYTE $7A ; SAW _A021+1 -_F101 !WORD _A021+1 - !BYTE $26 ; LA _D035+0 -_F102 !WORD _D035+0 - !BYTE $7A ; SAW _A022+1 -_F103 !WORD _A022+1 - !BYTE $26 ; LA _D029+0 -_F104 !WORD _D029+0 - !BYTE $7A ; SAW _A024+1 -_F105 !WORD _A024+1 - !BYTE $26 ; LA _D037+1 -_F106 !WORD _D037+1 - !BYTE $7A ; SAW _A024+6 -_F107 !WORD _A024+6 - !BYTE $26 ; LA _D030+0 -_F108 !WORD _D030+0 - !BYTE $7A ; SAW _A024+9 -_F109 !WORD _A024+9 - !BYTE $26 ; LA _A000+0 -_F110 !WORD _A000+0 - !BYTE $7A ; SAW _A025+1 -_F111 !WORD _A025+1 - !BYTE $26 ; LA _D031+0 -_F112 !WORD _D031+0 - !BYTE $7A ; SAW _A026+1 -_F113 !WORD _A026+1 - !BYTE $26 ; LA _D035+0 -_F114 !WORD _D035+0 - !BYTE $7A ; SAW _A027+1 -_F115 !WORD _A027+1 - !BYTE $26 ; LA _A013+0 -_F116 !WORD _A013+0 - !BYTE $7A ; SAW _A029+1 -_F117 !WORD _A029+1 - !BYTE $26 ; LA _D029+0 -_F118 !WORD _D029+0 - !BYTE $7A ; SAW _A030+1 -_F119 !WORD _A030+1 - !BYTE $26 ; LA _D037+1 -_F120 !WORD _D037+1 - !BYTE $7A ; SAW _A030+6 -_F121 !WORD _A030+6 - !BYTE $26 ; LA _D030+0 -_F122 !WORD _D030+0 - !BYTE $7A ; SAW _A030+9 -_F123 !WORD _A030+9 - !BYTE $26 ; LA _A000+0 -_F124 !WORD _A000+0 - !BYTE $7A ; SAW _A031+1 -_F125 !WORD _A031+1 - !BYTE $26 ; LA _D033+0 -_F126 !WORD _D033+0 - !BYTE $7A ; SAW _A032+1 -_F127 !WORD _A032+1 - !BYTE $26 ; LA _A000+0 -_F128 !WORD _A000+0 - !BYTE $7A ; SAW _A033+1 -_F129 !WORD _A033+1 - !BYTE $26 ; LA _D032+0 -_F130 !WORD _D032+0 - !BYTE $7A ; SAW _A034+1 -_F131 !WORD _A034+1 - !BYTE $26 ; LA _D035+1 -_F132 !WORD _D035+1 - !BYTE $7A ; SAW _A035+1 -_F133 !WORD _A035+1 - !BYTE $26 ; LA _D035+0 -_F134 !WORD _D035+0 - !BYTE $7A ; SAW _A035+6 -_F135 !WORD _A035+6 - !BYTE $26 ; LA _D035+0 -_F136 !WORD _D035+0 - !BYTE $7A ; SAW _A035+13 -_F137 !WORD _A035+13 - !BYTE $26 ; LA _D035+1 -_F138 !WORD _D035+1 - !BYTE $7A ; SAW _A035+18 -_F139 !WORD _A035+18 - !BYTE $26 ; LA _A018+0 -_F140 !WORD _A018+0 - !BYTE $7A ; SAW _A037+1 -_F141 !WORD _A037+1 - !BYTE $26 ; LA _D029+0 -_F142 !WORD _D029+0 - !BYTE $7A ; SAW _A038+1 -_F143 !WORD _A038+1 - !BYTE $26 ; LA _D037+1 -_F144 !WORD _D037+1 - !BYTE $7A ; SAW _A038+6 -_F145 !WORD _A038+6 - !BYTE $26 ; LA _D030+0 -_F146 !WORD _D030+0 - !BYTE $7A ; SAW _A038+9 -_F147 !WORD _A038+9 - !BYTE $26 ; LA _A000+0 -_F148 !WORD _A000+0 - !BYTE $7A ; SAW _A039+1 -_F149 !WORD _A039+1 - !BYTE $26 ; LA _D033+0 -_F150 !WORD _D033+0 - !BYTE $7A ; SAW _A040+1 -_F151 !WORD _A040+1 - !BYTE $26 ; LA _A000+0 -_F152 !WORD _A000+0 - !BYTE $7A ; SAW _A041+1 -_F153 !WORD _A041+1 - !BYTE $26 ; LA _D032+0 -_F154 !WORD _D032+0 - !BYTE $7A ; SAW _A042+1 -_F155 !WORD _A042+1 - !BYTE $26 ; LA _D035+1 -_F156 !WORD _D035+1 - !BYTE $7A ; SAW _A043+1 -_F157 !WORD _A043+1 - !BYTE $26 ; LA _D035+0 -_F158 !WORD _D035+0 - !BYTE $7A ; SAW _A043+6 -_F159 !WORD _A043+6 - !BYTE $26 ; LA _D035+0 -_F160 !WORD _D035+0 - !BYTE $7A ; SAW _A043+13 -_F161 !WORD _A043+13 - !BYTE $26 ; LA _D035+1 -_F162 !WORD _D035+1 - !BYTE $7A ; SAW _A043+18 -_F163 !WORD _A043+18 - !BYTE $26 ; LA _A000+0 -_F164 !WORD _A000+0 - !BYTE $7A ; SAW _A044+1 -_F165 !WORD _A044+1 - !BYTE $26 ; LA _D031+0 -_F166 !WORD _D031+0 - !BYTE $7A ; SAW _A045+1 -_F167 !WORD _A045+1 - !BYTE $26 ; LA _D035+0 -_F168 !WORD _D035+0 - !BYTE $7A ; SAW _A046+1 -_F169 !WORD _A046+1 - !BYTE $26 ; LA _D029+0 -_F170 !WORD _D029+0 - !BYTE $7A ; SAW _A047+1 -_F171 !WORD _A047+1 - !BYTE $26 ; LA _D037+1 -_F172 !WORD _D037+1 - !BYTE $7A ; SAW _A047+6 -_F173 !WORD _A047+6 - !BYTE $26 ; LA _D030+0 -_F174 !WORD _D030+0 - !BYTE $7A ; SAW _A047+9 -_F175 !WORD _A047+9 - !BYTE $26 ; LA _A000+0 -_F176 !WORD _A000+0 - !BYTE $7A ; SAW _A048+1 -_F177 !WORD _A048+1 - !BYTE $26 ; LA _D031+0 -_F178 !WORD _D031+0 - !BYTE $7A ; SAW _A049+1 -_F179 !WORD _A049+1 - !BYTE $26 ; LA _D035+0 -_F180 !WORD _D035+0 - !BYTE $7A ; SAW _A050+1 -_F181 !WORD _A050+1 - !BYTE $26 ; LA _D029+0 -_F182 !WORD _D029+0 - !BYTE $7A ; SAW _A051+1 -_F183 !WORD _A051+1 - !BYTE $26 ; LA _D037+1 -_F184 !WORD _D037+1 - !BYTE $7A ; SAW _A051+6 -_F185 !WORD _A051+6 - !BYTE $26 ; LA _D030+0 -_F186 !WORD _D030+0 - !BYTE $7A ; SAW _A051+9 -_F187 !WORD _A051+9 - !BYTE $26 ; LA _D034+0 -_F188 !WORD _D034+0 - !BYTE $7A ; SAW _A002+7 -_F189 !WORD _A002+7 - !BYTE $26 ; LA _D035+0 -_F190 !WORD _D035+0 - !BYTE $7A ; SAW _A002+10 -_F191 !WORD _A002+10 - !BYTE $26 ; LA _D034+1 -_F192 !WORD _D034+1 - !BYTE $7A ; SAW _A002+13 -_F193 !WORD _A002+13 - !BYTE $26 ; LA _D035+1 -_F194 !WORD _D035+1 - !BYTE $7A ; SAW _A002+16 -_F195 !WORD _A002+16 - !BYTE $26 ; LA _A002+0 -_F196 !WORD _A002+0 - !BYTE $7A ; SAW _A053+1 -_F197 !WORD _A053+1 - !BYTE $26 ; LA _A013+0 -_F198 !WORD _A013+0 - !BYTE $7A ; SAW _A054+1 -_F199 !WORD _A054+1 - !BYTE $26 ; LA _A023+0 -_F200 !WORD _A023+0 - !BYTE $7A ; SAW _A054+8 -_F201 !WORD _A054+8 - !BYTE $26 ; LA _A002+0 -_F202 !WORD _A002+0 - !BYTE $7A ; SAW _A055+1 -_F203 !WORD _A055+1 - !BYTE $26 ; LA _A013+0 -_F204 !WORD _A013+0 - !BYTE $7A ; SAW _A056+1 -_F205 !WORD _A056+1 - !BYTE $26 ; LA _A023+0 -_F206 !WORD _A023+0 - !BYTE $7A ; SAW _A056+8 -_F207 !WORD _A056+8 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/hgrlib.pla: 1318: done -_SYSFLAGS = 0 -_DEFCNT = 9 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: DIVMOD7 - !BYTE $C4,$C9,$D6,$CD,$CF,$C4,$37 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A000 - ; DCI STRING: HGRCOLOR - !BYTE $C8,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A002 - ; DCI STRING: HGRCOPYDST - !BYTE $C8,$C7,$D2,$C3,$CF,$D0,$D9,$C4,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: HGRCOPYSRC - !BYTE $C8,$C7,$D2,$C3,$CF,$D0,$D9,$D3,$D2,$43 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: HGRANDSRC - !BYTE $C8,$C7,$D2,$C1,$CE,$C4,$D3,$D2,$43 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A007 - ; DCI STRING: HGRXORSRC - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D3,$D2,$43 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A009 - ; DCI STRING: HGRORSRC - !BYTE $C8,$C7,$D2,$CF,$D2,$D3,$D2,$43 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A011 - ; DCI STRING: HGRPLOT - !BYTE $C8,$C7,$D2,$D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A013 - ; DCI STRING: HGRXORPLOT - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A018 - ; DCI STRING: HGRORPLOT - !BYTE $C8,$C7,$D2,$CF,$D2,$D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A023 - ; DCI STRING: HGRHLIN - !BYTE $C8,$C7,$D2,$C8,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A028 - ; DCI STRING: HGRXORHLIN - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$C8,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A036 - ; DCI STRING: HGRVLIN - !BYTE $C8,$C7,$D2,$D6,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A044 - ; DCI STRING: HGRXORVLIN - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D6,$CC,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A048 - ; DCI STRING: HGRRECT - !BYTE $C8,$C7,$D2,$D2,$C5,$C3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: HGRXORRECT - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D2,$C5,$C3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: HGRBLT - !BYTE $C8,$C7,$D2,$C2,$CC,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: HGRMODE - !BYTE $C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: HGRCLEAR - !BYTE $C8,$C7,$D2,$C3,$CC,$C5,$C1,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: HGRSHOW - !BYTE $C8,$C7,$D2,$D3,$C8,$CF,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: HGRSWAP - !BYTE $C8,$C7,$D2,$D3,$D7,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: HGRDRAWBUF - !BYTE $C8,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/hgrsprite.a b/src/libsrc/apple/hgrsprite.a deleted file mode 100644 index 9228641..0000000 --- a/src/libsrc/apple/hgrsprite.a +++ /dev/null @@ -1,2364 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/hgrsprite.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/hgrsprite.pla: 0001: -; libsrc/apple/hgrsprite.pla: 0002: include "inc/hgrlib.plh" -; inc/hgrlib.plh: 0001: import hgrlib - ; DCI STRING: HGRLIB - !BYTE $C8,$C7,$D2,$CC,$C9,$42 - ; HGRLIB -> X028 -; inc/hgrlib.plh: 0002: predef divmod7(x)#2 - ; DIVMOD7 -> X029 -; inc/hgrlib.plh: 0003: predef hgrPlot(x, y)#0 - ; HGRPLOT -> X030 -; inc/hgrlib.plh: 0004: predef hgrOrPlot(x, y)#0 - ; HGRORPLOT -> X031 -; inc/hgrlib.plh: 0005: predef hgrXorPlot(x, y)#0 - ; HGRXORPLOT -> X032 -; inc/hgrlib.plh: 0006: predef hgrHLin(x1, x2, y)#0 - ; HGRHLIN -> X033 -; inc/hgrlib.plh: 0007: predef hgrVLin(y1, y2, x)#0 - ; HGRVLIN -> X034 -; inc/hgrlib.plh: 0008: predef hgrXorHLin(x1, x2, y)#0 - ; HGRXORHLIN -> X035 -; inc/hgrlib.plh: 0009: predef hgrXorVLin(y1, y2, x)#0 - ; HGRXORVLIN -> X036 -; inc/hgrlib.plh: 0010: predef hgrRect(x1, y1, x2, y2)#0 - ; HGRRECT -> X037 -; inc/hgrlib.plh: 0011: predef hgrXorRect(x1, y1, x2, y2)#0 - ; HGRXORRECT -> X038 -; inc/hgrlib.plh: 0012: predef hgrBLT(x, y, width, height, srcptr)#0 - ; HGRBLT -> X039 -; inc/hgrlib.plh: 0013: predef hgrCopySrc(ofst, y, w, h, srcptr)#0 - ; HGRCOPYSRC -> X040 -; inc/hgrlib.plh: 0014: predef hgrAndSrc(ofst, y, w, h, srcptr)#0 - ; HGRANDSRC -> X041 -; inc/hgrlib.plh: 0015: predef hgrXorSrc(ofst, y, w, h, srcptr)#0 - ; HGRXORSRC -> X042 -; inc/hgrlib.plh: 0016: predef hgrOrSrc(ofst, y, w, h, srcptr)#0 - ; HGRORSRC -> X043 -; inc/hgrlib.plh: 0017: predef hgrCopyDst(ofst, y, w, h, dstptr)#0 - ; HGRCOPYDST -> X044 -; inc/hgrlib.plh: 0018: predef hgrMode(mode)#1 - ; HGRMODE -> X045 -; inc/hgrlib.plh: 0019: predef hgrClear#0 - ; HGRCLEAR -> X046 -; inc/hgrlib.plh: 0020: predef hgrShow(page)#1 - ; HGRSHOW -> X047 -; inc/hgrlib.plh: 0021: predef hgrSwap#1 - ; HGRSWAP -> X048 -; inc/hgrlib.plh: 0022: predef hgrDrawBuf(page)#1 - ; HGRDRAWBUF -> X049 -; inc/hgrlib.plh: 0023: predef hgrColor(clr)#0 - ; HGRCOLOR -> X050 -; inc/hgrlib.plh: 0024: const hgrPage1 = 0 - ; hgrPage1 = 0 -; inc/hgrlib.plh: 0025: const hgrPage2 = 1 - ; hgrPage2 = 1 -; inc/hgrlib.plh: 0026: const hgrOff = -1 - ; hgrOff = -1 -; inc/hgrlib.plh: 0027: end -; libsrc/apple/hgrsprite.pla: 0002: -; libsrc/apple/hgrsprite.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X051 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X052 -; inc/fileio.plh: 0082: end -; libsrc/apple/hgrsprite.pla: 0003: -; libsrc/apple/hgrsprite.pla: 0004: -; libsrc/apple/hgrsprite.pla: 0005: struc t_sprite - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/apple/hgrsprite.pla: 0006: var s_xpos - ; s_xpos = 0 -; libsrc/apple/hgrsprite.pla: 0007: var s_ypos - ; s_ypos = 2 -; libsrc/apple/hgrsprite.pla: 0008: var s_undery[2] - ; s_undery = 4 -; libsrc/apple/hgrsprite.pla: 0009: var s_underofst[2] - ; s_underofst = 8 -; libsrc/apple/hgrsprite.pla: 0010: byte s_undermap[2] - ; s_undermap = 12 -; libsrc/apple/hgrsprite.pla: 0011: byte s_xcenter - ; s_xcenter = 14 -; libsrc/apple/hgrsprite.pla: 0012: byte s_ycenter - ; s_ycenter = 15 -; libsrc/apple/hgrsprite.pla: 0013: byte s_pitch - ; s_pitch = 16 -; libsrc/apple/hgrsprite.pla: 0014: byte s_height - ; s_height = 17 -; libsrc/apple/hgrsprite.pla: 0015: var s_size - ; s_size = 18 -; libsrc/apple/hgrsprite.pla: 0016: var s_mask[14] - ; s_mask = 20 -; libsrc/apple/hgrsprite.pla: 0017: var s_map[14] - ; s_map = 48 -; libsrc/apple/hgrsprite.pla: 0018: var s_under[14] - ; s_under = 76 -; libsrc/apple/hgrsprite.pla: 0019: end - ; t_sprite = 104 -; libsrc/apple/hgrsprite.pla: 0020: -; libsrc/apple/hgrsprite.pla: 0021: var drawList[16] -_D053 !FILL 32 ; drawList[16] -; libsrc/apple/hgrsprite.pla: 0022: var undrawList0[16] -_D054 !FILL 32 ; undrawList0[16] -; libsrc/apple/hgrsprite.pla: 0023: var undrawList1[16] -_D055 !FILL 32 ; undrawList1[16] -; libsrc/apple/hgrsprite.pla: 0024: var undrawList[2] = @undrawList0, @undrawList1 -_D056 ; undrawList[2] = @undrawList0, @undrawList1 -_F000 !WORD _D054 -_F001 !WORD _D055 -; libsrc/apple/hgrsprite.pla: 0025: byte drawpage -_D057 !FILL 1 ; drawpage -; libsrc/apple/hgrsprite.pla: 0026: // -; libsrc/apple/hgrsprite.pla: 0027: // Sprite routines -; libsrc/apple/hgrsprite.pla: 0028: // -; libsrc/apple/hgrsprite.pla: 0029: asm scanMask(x, y, w, srcptr)#0 -_A000 ; scanMask() -; libsrc/apple/hgrsprite.pla: 0030: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/hgrsprite.pla: 0031: LDA ESTKL+0,X ; SRC PTR - LDA ESTKL+0,X ; SRC PTR -; libsrc/apple/hgrsprite.pla: 0032: STA SRCL - STA SRCL -; libsrc/apple/hgrsprite.pla: 0033: LDA ESTKH+0,X - LDA ESTKH+0,X -; libsrc/apple/hgrsprite.pla: 0034: STA SRCH - STA SRCH -; libsrc/apple/hgrsprite.pla: 0035: LDA #$00 - LDA #$00 -; libsrc/apple/hgrsprite.pla: 0036: - PHA -- PHA -; libsrc/apple/hgrsprite.pla: 0037: LSR - LSR -; libsrc/apple/hgrsprite.pla: 0038: TAY - TAY -; libsrc/apple/hgrsprite.pla: 0039: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrsprite.pla: 0040: AND #$80 - AND #$80 -; libsrc/apple/hgrsprite.pla: 0041: BEQ + - BEQ + -; libsrc/apple/hgrsprite.pla: 0042: LDA #$03 - LDA #$03 -; libsrc/apple/hgrsprite.pla: 0043: + DEX -+ DEX -; libsrc/apple/hgrsprite.pla: 0044: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrsprite.pla: 0045: end -; libsrc/apple/hgrsprite.pla: 0046: asm _scanMaskA -_A001 ; _scanMaskA() -; libsrc/apple/hgrsprite.pla: 0047: JSR $C000 ; HCOLOR - JSR $C000 ; HCOLOR -; libsrc/apple/hgrsprite.pla: 0048: DEX - DEX -; libsrc/apple/hgrsprite.pla: 0049: DEX - DEX -; libsrc/apple/hgrsprite.pla: 0050: LDA ESTKL+5,X ; X COORDL - LDA ESTKL+5,X ; X COORDL -; libsrc/apple/hgrsprite.pla: 0051: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrsprite.pla: 0052: LDA ESTKH+5,X ; X COORDH - LDA ESTKH+5,X ; X COORDH -; libsrc/apple/hgrsprite.pla: 0053: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/apple/hgrsprite.pla: 0054: LDA ESTKL+4,X ; Y COORDL - LDA ESTKL+4,X ; Y COORDL -; libsrc/apple/hgrsprite.pla: 0055: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrsprite.pla: 0056: LDA ESTKH+4,X ; Y COORDH - LDA ESTKH+4,X ; Y COORDH -; libsrc/apple/hgrsprite.pla: 0057: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/apple/hgrsprite.pla: 0058: end -; libsrc/apple/hgrsprite.pla: 0059: asm _scanMaskB -_A002 ; _scanMaskB() -; libsrc/apple/hgrsprite.pla: 0060: JSR $D000 ; HPLOT - JSR $D000 ; HPLOT -; libsrc/apple/hgrsprite.pla: 0061: INC ESTKL+3,X ; X COORDL - INC ESTKL+3,X ; X COORDL -; libsrc/apple/hgrsprite.pla: 0062: BNE + - BNE + -; libsrc/apple/hgrsprite.pla: 0063: INC ESTKH+3,X ; X COORDH - INC ESTKH+3,X ; X COORDH -; libsrc/apple/hgrsprite.pla: 0064: + PLA -+ PLA -; libsrc/apple/hgrsprite.pla: 0065: CLC - CLC -; libsrc/apple/hgrsprite.pla: 0066: ADC #$01 - ADC #$01 -; libsrc/apple/hgrsprite.pla: 0067: CMP ESTKL+1,X ; WIDTH - CMP ESTKL+1,X ; WIDTH -; libsrc/apple/hgrsprite.pla: 0068: BEQ BLTDONE - BEQ BLTDONE -; libsrc/apple/hgrsprite.pla: 0069: PHA - PHA -; libsrc/apple/hgrsprite.pla: 0070: LSR - LSR -; libsrc/apple/hgrsprite.pla: 0071: TAY - TAY -; libsrc/apple/hgrsprite.pla: 0072: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrsprite.pla: 0073: AND #$08 - AND #$08 -; libsrc/apple/hgrsprite.pla: 0074: BEQ + - BEQ + -; libsrc/apple/hgrsprite.pla: 0075: LDA #$03 - LDA #$03 -; libsrc/apple/hgrsprite.pla: 0076: + DEX -+ DEX -; libsrc/apple/hgrsprite.pla: 0077: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrsprite.pla: 0078: end -; libsrc/apple/hgrsprite.pla: 0079: asm _scanMaskC -_A003 ; _scanMaskC() -; libsrc/apple/hgrsprite.pla: 0080: JSR $C000 ; HCOLOR - JSR $C000 ; HCOLOR -; libsrc/apple/hgrsprite.pla: 0081: DEX - DEX -; libsrc/apple/hgrsprite.pla: 0082: DEX - DEX -; libsrc/apple/hgrsprite.pla: 0083: LDA ESTKL+5,X ; X COORDL - LDA ESTKL+5,X ; X COORDL -; libsrc/apple/hgrsprite.pla: 0084: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrsprite.pla: 0085: LDA ESTKH+5,X ; X COORDH - LDA ESTKH+5,X ; X COORDH -; libsrc/apple/hgrsprite.pla: 0086: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/apple/hgrsprite.pla: 0087: LDA ESTKL+4,X ; Y COORDL - LDA ESTKL+4,X ; Y COORDL -; libsrc/apple/hgrsprite.pla: 0088: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/apple/hgrsprite.pla: 0089: LDA ESTKH+4,X ; Y COORDH - LDA ESTKH+4,X ; Y COORDH -; libsrc/apple/hgrsprite.pla: 0090: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/apple/hgrsprite.pla: 0091: end -; libsrc/apple/hgrsprite.pla: 0092: asm _scanMaskD -_A004 ; _scanMaskD() -; libsrc/apple/hgrsprite.pla: 0093: JSR $D000 ; HPLOT - JSR $D000 ; HPLOT -; libsrc/apple/hgrsprite.pla: 0094: INC ESTKL+3,X ; X COORDL - INC ESTKL+3,X ; X COORDL -; libsrc/apple/hgrsprite.pla: 0095: BNE + - BNE + -; libsrc/apple/hgrsprite.pla: 0096: INC ESTKH+3,X ; X COORDH - INC ESTKH+3,X ; X COORDH -; libsrc/apple/hgrsprite.pla: 0097: + PLA -+ PLA -; libsrc/apple/hgrsprite.pla: 0098: CLC - CLC -; libsrc/apple/hgrsprite.pla: 0099: ADC #$01 - ADC #$01 -; libsrc/apple/hgrsprite.pla: 0100: CMP ESTKL+1,X ; WIDTH - CMP ESTKL+1,X ; WIDTH -; libsrc/apple/hgrsprite.pla: 0101: BNE - - BNE - -; libsrc/apple/hgrsprite.pla: 0102: BLTDONE INX -BLTDONE INX -; libsrc/apple/hgrsprite.pla: 0103: INX - INX -; libsrc/apple/hgrsprite.pla: 0104: INX - INX -; libsrc/apple/hgrsprite.pla: 0105: INX - INX -; libsrc/apple/hgrsprite.pla: 0106: RTS - RTS -; libsrc/apple/hgrsprite.pla: 0107: end -; libsrc/apple/hgrsprite.pla: 0108: def spriteBLTMask(x, y, w, h, srcptr)#0 -_SUBSEG ; BYTECODE STARTS - ; x -> [0] - ; y -> [2] - ; w -> [4] - ; h -> [6] - ; srcptr -> [8] -_C000 ; spriteBLTMask() -; libsrc/apple/hgrsprite.pla: 0109: word i, j - ; i -> [10] - ; j -> [12] -; libsrc/apple/hgrsprite.pla: 0110: byte pitch - ; pitch -> [14] -; libsrc/apple/hgrsprite.pla: 0111: byte c - ; c -> [15] -; libsrc/apple/hgrsprite.pla: 0112: -; libsrc/apple/hgrsprite.pla: 0113: pitch = (w + 1) / 2 - !BYTE $58,$10,$05 ; ENTER 16,5 -; libsrc/apple/hgrsprite.pla: 0114: for j = y to y + h - 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $74,$0E ; SLB [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6E,$0C ; DLW [12] -; libsrc/apple/hgrsprite.pla: 0115: scanMask(x, j, w, srcptr) -; libsrc/apple/hgrsprite.pla: 0116: // for i = 0 to w - 1 -; libsrc/apple/hgrsprite.pla: 0117: // c = srcptr->[i >> 1] -; libsrc/apple/hgrsprite.pla: 0118: // if i & 1 -; libsrc/apple/hgrsprite.pla: 0119: // hgrColor(c & $08 ?? 3 :: 0) -; libsrc/apple/hgrsprite.pla: 0120: // else -; libsrc/apple/hgrsprite.pla: 0121: // hgrColor(c & $80 ?? 3 :: 0) -; libsrc/apple/hgrsprite.pla: 0122: // fin -; libsrc/apple/hgrsprite.pla: 0123: // hgrPlot(x + i, j) -; libsrc/apple/hgrsprite.pla: 0124: // next -; libsrc/apple/hgrsprite.pla: 0125: srcptr = srcptr + pitch -; libsrc/apple/hgrsprite.pla: 0126: next - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A000 -_F002 !WORD _A000 - !BYTE $66,$08 ; LLW [8] - !BYTE $B0,$0E ; ADDLB [14] - !BYTE $76,$08 ; SLW [8] -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $76,$0C ; SLW [12] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0127: end - !BYTE $5A,$10 ; LEAVE 16 -; libsrc/apple/hgrsprite.pla: 0128: export def spriteCompile(w, h, xcenter, ycenter, srcptr)#1 - ; w -> [0] - ; h -> [2] - ; xcenter -> [4] - ; ycenter -> [6] - ; srcptr -> [8] -_C001 ; spriteCompile() -; libsrc/apple/hgrsprite.pla: 0129: var sprtptr, bytewidth, spritesize, i - ; sprtptr -> [10] - ; bytewidth -> [12] - ; spritesize -> [14] - ; i -> [16] -; libsrc/apple/hgrsprite.pla: 0130: -; libsrc/apple/hgrsprite.pla: 0131: sprtptr = heapalloc(t_sprite) - !BYTE $58,$12,$05 ; ENTER 18,5 -; libsrc/apple/hgrsprite.pla: 0132: if not sprtptr; return 0; fin - !BYTE $2A,$68 ; CB 104 - !BYTE $54 ; CALL _X014 -_F003 !WORD 0 - !BYTE $6E,$0A ; DLW [10] - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* - !BYTE $00 ; CN 0 - !BYTE $5A,$12 ; LEAVE 18 -_B004 -_B005 -; libsrc/apple/hgrsprite.pla: 0133: bytewidth = (w + 13) / 7 -; libsrc/apple/hgrsprite.pla: 0134: sprtptr->s_pitch = bytewidth -; libsrc/apple/hgrsprite.pla: 0135: spritesize = bytewidth * h -; libsrc/apple/hgrsprite.pla: 0136: sprtptr=>s_size = spritesize -; libsrc/apple/hgrsprite.pla: 0137: sprtptr->s_height = h -; libsrc/apple/hgrsprite.pla: 0138: sprtptr->s_xcenter = xcenter -; libsrc/apple/hgrsprite.pla: 0139: sprtptr->s_ycenter = ycenter -; libsrc/apple/hgrsprite.pla: 0140: sprtptr=>s_under[0] = 0 -; libsrc/apple/hgrsprite.pla: 0141: sprtptr=>s_under[1] = 0 -; libsrc/apple/hgrsprite.pla: 0142: for i = 0 to 13 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0D ; ADDI 13 - !BYTE $0E ; CN 7 - !BYTE $88 ; DIV - !BYTE $6E,$0C ; DLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$10 ; ADDI 16 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $6E,$0E ; DLW [14] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$11 ; ADDI 17 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$0F ; ADDI 15 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$4C ; ADDI 76 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$4C ; ADDI 76 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $1A ; CN 13 - !BYTE $00 ; CN 0 -_B007 - !BYTE $6E,$10 ; DLW [16] -; libsrc/apple/hgrsprite.pla: 0143: sprtptr=>s_map[i] = heapalloc(spritesize) -; libsrc/apple/hgrsprite.pla: 0144: sprtptr=>s_mask[i] = heapalloc(spritesize) -; libsrc/apple/hgrsprite.pla: 0145: if not sprtptr=>s_map[i] or not sprtptr=>s_mask[i] -; libsrc/apple/hgrsprite.pla: 0146: heaprelease(sprtptr) -; libsrc/apple/hgrsprite.pla: 0147: return 0 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _X014 -_F004 !WORD 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$30 ; ADDI 48 - !BYTE $BA,$10 ; IDXLW [16] - !BYTE $72 ; SW - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _X014 -_F005 !WORD 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$14 ; ADDI 20 - !BYTE $BA,$10 ; IDXLW [16] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$30 ; ADDI 48 - !BYTE $BA,$10 ; IDXLW [16] - !BYTE $62 ; LW - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B009 - !WORD _B009-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$14 ; ADDI 20 - !BYTE $BA,$10 ; IDXLW [16] - !BYTE $62 ; LW - !BYTE $80 ; NOT -_B009 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _X015 -_F006 !WORD 0 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $00 ; CN 0 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/hgrsprite.pla: 0148: fin -_B010 -_B011 -; libsrc/apple/hgrsprite.pla: 0149: hgrColor(7) -; libsrc/apple/hgrsprite.pla: 0150: hgrRect(0, 0, w + 21, h - 1) -; libsrc/apple/hgrsprite.pla: 0151: spriteBLTMask(i, 0, w, h, srcptr) -; libsrc/apple/hgrsprite.pla: 0152: hgrCopyDst(i > 6 ?? 1 :: 0, 0, bytewidth, h, sprtptr=>s_mask[i]) -; libsrc/apple/hgrsprite.pla: 0153: hgrColor(0) -; libsrc/apple/hgrsprite.pla: 0154: hgrRect(0, h, w + 21, h * 2 - 1) -; libsrc/apple/hgrsprite.pla: 0155: hgrBLT(i, h, w, h, srcptr) -; libsrc/apple/hgrsprite.pla: 0156: hgrCopyDst(i > 6 ?? 1 :: 0, h, bytewidth, h, sprtptr=>s_map[i]) -; libsrc/apple/hgrsprite.pla: 0157: next - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X050 -_F007 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$15 ; ADDI 21 - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X037 -_F008 !WORD 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C000 -_F009 !WORD _C000 - !BYTE $66,$10 ; LLW [16] - !BYTE $0C ; CN 6 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $02 ; CN 1 - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -_B014 - !BYTE $00 ; CN 0 -_B015 - !BYTE $00 ; CN 0 - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$14 ; ADDI 20 - !BYTE $BA,$10 ; IDXLW [16] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X044 -_F010 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X050 -_F011 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$15 ; ADDI 21 - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X037 -_F012 !WORD 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X039 -_F013 !WORD 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $0C ; CN 6 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $02 ; CN 1 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B018 - !BYTE $00 ; CN 0 -_B019 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$30 ; ADDI 48 - !BYTE $BA,$10 ; IDXLW [16] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X044 -_F014 !WORD 0 -_B008 - !BYTE $A4 ; INCBRLE _B007 - !WORD _B007-* -_B006 - !BYTE $76,$10 ; SLW [16] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0158: return sprtptr - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/hgrsprite.pla: 0159: end -; libsrc/apple/hgrsprite.pla: 0160: export def spriteDup(sprtsrc)#1 - ; sprtsrc -> [0] -_C002 ; spriteDup() -; libsrc/apple/hgrsprite.pla: 0161: var sprtdup - ; sprtdup -> [2] -; libsrc/apple/hgrsprite.pla: 0162: byte i - ; i -> [4] -; libsrc/apple/hgrsprite.pla: 0163: -; libsrc/apple/hgrsprite.pla: 0164: sprtdup = heapalloc(t_sprite) - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/apple/hgrsprite.pla: 0165: if not sprtdup; return 0; fin - !BYTE $2A,$68 ; CB 104 - !BYTE $54 ; CALL _X014 -_F015 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B020 - !WORD _B020-* - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -_B020 -_B021 -; libsrc/apple/hgrsprite.pla: 0166: memcpy(sprtdup, sprtsrc, t_sprite) -; libsrc/apple/hgrsprite.pla: 0167: sprtdup=>s_under[0] = 0 -; libsrc/apple/hgrsprite.pla: 0168: sprtdup=>s_under[1] = 0 -; libsrc/apple/hgrsprite.pla: 0169: return sprtdup - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$68 ; CB 104 - !BYTE $54 ; CALL _X018 -_F016 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$4C ; ADDI 76 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$4C ; ADDI 76 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/hgrsprite.pla: 0170: end -; libsrc/apple/hgrsprite.pla: 0171: export def spriteRead(filestr)#1 - ; filestr -> [0] -_C003 ; spriteRead() -; libsrc/apple/hgrsprite.pla: 0172: var sprtptr, spritesize - ; sprtptr -> [2] - ; spritesize -> [4] -; libsrc/apple/hgrsprite.pla: 0173: byte refnum, i - ; refnum -> [6] - ; i -> [7] -; libsrc/apple/hgrsprite.pla: 0174: -; libsrc/apple/hgrsprite.pla: 0175: sprtptr = heapalloc(t_sprite) - !BYTE $58,$08,$01 ; ENTER 8,1 -; libsrc/apple/hgrsprite.pla: 0176: if not sprtptr; return 0; fin - !BYTE $2A,$68 ; CB 104 - !BYTE $54 ; CALL _X014 -_F017 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -_B022 -_B023 -; libsrc/apple/hgrsprite.pla: 0177: refnum = fileio:open(filestr) -; libsrc/apple/hgrsprite.pla: 0178: if refnum -; libsrc/apple/hgrsprite.pla: 0179: if fileio:read(refnum, sprtptr, t_sprite) == t_sprite -; libsrc/apple/hgrsprite.pla: 0180: spritesize = sprtptr=>s_size -; libsrc/apple/hgrsprite.pla: 0181: sprtptr=>s_under[0] = 0 -; libsrc/apple/hgrsprite.pla: 0182: sprtptr=>s_under[1] = 0 -; libsrc/apple/hgrsprite.pla: 0183: for i = 0 to 13 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X051+14 -_F018 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$06 ; DLB [6] - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$68 ; CB 104 - !BYTE $6A ; LAW _X051+18 -_F019 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $2A,$68 ; CB 104 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$4C ; ADDI 76 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$4C ; ADDI 76 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $1A ; CN 13 - !BYTE $00 ; CN 0 -_B029 - !BYTE $6C,$07 ; DLB [7] -; libsrc/apple/hgrsprite.pla: 0184: sprtptr=>s_map[i] = heapalloc(spritesize) -; libsrc/apple/hgrsprite.pla: 0185: sprtptr=>s_mask[i] = heapalloc(spritesize) -; libsrc/apple/hgrsprite.pla: 0186: if not sprtptr=>s_map[i] or not sprtptr=>s_mask[i] -; libsrc/apple/hgrsprite.pla: 0187: heaprelease(sprtptr) -; libsrc/apple/hgrsprite.pla: 0188: fileio:close(refnum) -; libsrc/apple/hgrsprite.pla: 0189: return 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X014 -_F020 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X014 -_F021 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$14 ; ADDI 20 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $62 ; LW - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B031 - !WORD _B031-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$14 ; ADDI 20 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $62 ; LW - !BYTE $80 ; NOT -_B031 - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$06 ; LLB [6] - !BYTE $6A ; LAW _X051+16 -_F023 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/hgrsprite.pla: 0190: fin -_B032 -_B033 -; libsrc/apple/hgrsprite.pla: 0191: fileio:read(refnum, sprtptr=>s_map[i], spritesize) -; libsrc/apple/hgrsprite.pla: 0192: fileio:read(refnum, sprtptr=>s_mask[i], spritesize) -; libsrc/apple/hgrsprite.pla: 0193: next - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X051+18 -_F024 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$14 ; ADDI 20 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X051+18 -_F025 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B030 - !BYTE $A4 ; INCBRLE _B029 - !WORD _B029-* -_B028 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0194: else - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B026 -; libsrc/apple/hgrsprite.pla: 0195: heaprelease(sprtptr) -; libsrc/apple/hgrsprite.pla: 0196: sprtptr = 0 -; libsrc/apple/hgrsprite.pla: 0197: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F026 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B027 -; libsrc/apple/hgrsprite.pla: 0198: fileio:close(refnum) -; libsrc/apple/hgrsprite.pla: 0199: else - !BYTE $64,$06 ; LLB [6] - !BYTE $6A ; LAW _X051+16 -_F027 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B024 -; libsrc/apple/hgrsprite.pla: 0200: heaprelease(sprtptr) -; libsrc/apple/hgrsprite.pla: 0201: sprtptr = 0 -; libsrc/apple/hgrsprite.pla: 0202: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F028 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B025 -; libsrc/apple/hgrsprite.pla: 0203: return sprtptr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/hgrsprite.pla: 0204: end -; libsrc/apple/hgrsprite.pla: 0205: export def spriteSave(filestr, sprtptr)#1 - ; filestr -> [0] - ; sprtptr -> [2] -_C004 ; spriteSave() -; libsrc/apple/hgrsprite.pla: 0206: var spritesize - ; spritesize -> [4] -; libsrc/apple/hgrsprite.pla: 0207: byte refnum, i - ; refnum -> [6] - ; i -> [7] -; libsrc/apple/hgrsprite.pla: 0208: -; libsrc/apple/hgrsprite.pla: 0209: fileio:destroy(filestr) - !BYTE $58,$08,$02 ; ENTER 8,2 -; libsrc/apple/hgrsprite.pla: 0210: if fileio:create(filestr, $06, $0000) == FILE_ERR_OK -; libsrc/apple/hgrsprite.pla: 0211: refnum = fileio:open(filestr) -; libsrc/apple/hgrsprite.pla: 0212: if refnum -; libsrc/apple/hgrsprite.pla: 0213: if fileio:write(refnum, sprtptr, t_sprite) == t_sprite -; libsrc/apple/hgrsprite.pla: 0214: spritesize = sprtptr=>s_size -; libsrc/apple/hgrsprite.pla: 0215: for i = 0 to 13 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X051+24 -_F029 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X051+22 -_F030 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B034 - !WORD _B034-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X051+14 -_F031 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$06 ; DLB [6] - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$68 ; CB 104 - !BYTE $6A ; LAW _X051+20 -_F032 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $2A,$68 ; CB 104 - !BYTE $24 ; BRNE _B038 - !WORD _B038-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $1A ; CN 13 - !BYTE $00 ; CN 0 -_B041 - !BYTE $6C,$07 ; DLB [7] -; libsrc/apple/hgrsprite.pla: 0216: fileio:write(refnum, sprtptr=>s_map[i], spritesize) -; libsrc/apple/hgrsprite.pla: 0217: fileio:write(refnum, sprtptr=>s_mask[i], spritesize) -; libsrc/apple/hgrsprite.pla: 0218: next - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X051+20 -_F033 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$14 ; ADDI 20 - !BYTE $B8,$07 ; IDXLB [7] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X051+20 -_F034 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B042 - !BYTE $A4 ; INCBRLE _B041 - !WORD _B041-* -_B040 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0219: fin -_B038 -_B039 -; libsrc/apple/hgrsprite.pla: 0220: fileio:close(refnum) -; libsrc/apple/hgrsprite.pla: 0221: return 0 - !BYTE $64,$06 ; LLB [6] - !BYTE $6A ; LAW _X051+16 -_F035 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/hgrsprite.pla: 0222: fin -_B036 -_B037 -; libsrc/apple/hgrsprite.pla: 0223: fin -_B034 -_B035 -; libsrc/apple/hgrsprite.pla: 0224: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/hgrsprite.pla: 0225: end -; libsrc/apple/hgrsprite.pla: 0226: export def spriteDraw(sprtptr)#0 - ; sprtptr -> [0] -_C005 ; spriteDraw() -; libsrc/apple/hgrsprite.pla: 0227: byte map, pitch, height - ; map -> [2] - ; pitch -> [3] - ; height -> [4] -; libsrc/apple/hgrsprite.pla: 0228: var ofst, y - ; ofst -> [5] - ; y -> [7] -; libsrc/apple/hgrsprite.pla: 0229: -; libsrc/apple/hgrsprite.pla: 0230: y = sprtptr=>s_ypos - !BYTE $58,$09,$01 ; ENTER 9,1 -; libsrc/apple/hgrsprite.pla: 0231: ofst, map = divmod7(sprtptr=>s_xpos) -; libsrc/apple/hgrsprite.pla: 0232: if ofst & 1 -; libsrc/apple/hgrsprite.pla: 0233: map = map + 7 -; libsrc/apple/hgrsprite.pla: 0234: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$07 ; SLW [7] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X029 -_F036 !WORD 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$05 ; DLW [5] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B043 -_B044 -; libsrc/apple/hgrsprite.pla: 0235: sprtptr=>s_underofst[drawpage] = ofst -; libsrc/apple/hgrsprite.pla: 0236: sprtptr=>s_undery[drawpage] = y -; libsrc/apple/hgrsprite.pla: 0237: pitch = sprtptr->s_pitch -; libsrc/apple/hgrsprite.pla: 0238: height = sprtptr->s_height -; libsrc/apple/hgrsprite.pla: 0239: if not sprtptr=>s_under[drawpage] -; libsrc/apple/hgrsprite.pla: 0240: sprtptr=>s_under[drawpage] = heapalloc(sprtptr=>s_size) -; libsrc/apple/hgrsprite.pla: 0241: if not sprtptr=>s_under[drawpage]; return; fin - !BYTE $66,$05 ; LLW [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $BC ; IDXAB _D057+0 -_F037 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $66,$07 ; LLW [7] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $BC ; IDXAB _D057+0 -_F038 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$4C ; ADDI 76 - !BYTE $BC ; IDXAB _D057+0 -_F039 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B045 - !WORD _B045-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X014 -_F040 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$4C ; ADDI 76 - !BYTE $BC ; IDXAB _D057+0 -_F041 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$4C ; ADDI 76 - !BYTE $BC ; IDXAB _D057+0 -_F042 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B047 - !WORD _B047-* - !BYTE $5A,$09 ; LEAVE 9 -_B047 -_B048 -; libsrc/apple/hgrsprite.pla: 0242: fin -_B045 -_B046 -; libsrc/apple/hgrsprite.pla: 0243: hgrCopyDst(ofst, y, pitch, height, sprtptr=>s_under[drawpage]) -; libsrc/apple/hgrsprite.pla: 0244: hgrAndSrc( ofst, y, pitch, height, sprtptr=>s_mask[map]) -; libsrc/apple/hgrsprite.pla: 0245: hgrXorSrc( ofst, y, pitch, height, sprtptr=>s_map[map]) -; libsrc/apple/hgrsprite.pla: 0246: end - !BYTE $66,$05 ; LLW [5] - !BYTE $66,$07 ; LLW [7] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$4C ; ADDI 76 - !BYTE $BC ; IDXAB _D057+0 -_F043 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X044 -_F044 !WORD 0 - !BYTE $66,$05 ; LLW [5] - !BYTE $66,$07 ; LLW [7] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$14 ; ADDI 20 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X041 -_F045 !WORD 0 - !BYTE $66,$05 ; LLW [5] - !BYTE $66,$07 ; LLW [7] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X042 -_F046 !WORD 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/hgrsprite.pla: 0247: export def spriteUnDraw(sprtptr)#0 - ; sprtptr -> [0] -_C006 ; spriteUnDraw() -; libsrc/apple/hgrsprite.pla: 0248: if sprtptr=>s_under[drawpage] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrsprite.pla: 0249: hgrCopySrc(sprtptr=>s_underofst[drawpage], sprtptr=>s_undery[drawpage], sprtptr->s_pitch, sprtptr->s_height, sprtptr=>s_under[drawpage]) -; libsrc/apple/hgrsprite.pla: 0250: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$4C ; ADDI 76 - !BYTE $BC ; IDXAB _D057+0 -_F047 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $BC ; IDXAB _D057+0 -_F048 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $BC ; IDXAB _D057+0 -_F049 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$4C ; ADDI 76 - !BYTE $BC ; IDXAB _D057+0 -_F050 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X040 -_F051 !WORD 0 -_B049 -_B050 -; libsrc/apple/hgrsprite.pla: 0251: end - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrsprite.pla: 0252: export def spriteDrawXor(sprtptr)#0 - ; sprtptr -> [0] -_C007 ; spriteDrawXor() -; libsrc/apple/hgrsprite.pla: 0253: byte map, pitch, height - ; map -> [2] - ; pitch -> [3] - ; height -> [4] -; libsrc/apple/hgrsprite.pla: 0254: var ofst, y - ; ofst -> [5] - ; y -> [7] -; libsrc/apple/hgrsprite.pla: 0255: -; libsrc/apple/hgrsprite.pla: 0256: y = sprtptr=>s_ypos - !BYTE $58,$09,$01 ; ENTER 9,1 -; libsrc/apple/hgrsprite.pla: 0257: ofst, map = divmod7(sprtptr=>s_xpos) -; libsrc/apple/hgrsprite.pla: 0258: if ofst & 1 -; libsrc/apple/hgrsprite.pla: 0259: map = map + 7 -; libsrc/apple/hgrsprite.pla: 0260: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$07 ; SLW [7] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X029 -_F052 !WORD 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$05 ; DLW [5] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B051 -_B052 -; libsrc/apple/hgrsprite.pla: 0261: sprtptr->s_undermap[drawpage] = map -; libsrc/apple/hgrsprite.pla: 0262: sprtptr=>s_underofst[drawpage] = ofst -; libsrc/apple/hgrsprite.pla: 0263: sprtptr=>s_undery[drawpage] = y -; libsrc/apple/hgrsprite.pla: 0264: pitch = sprtptr->s_pitch -; libsrc/apple/hgrsprite.pla: 0265: height = sprtptr->s_height -; libsrc/apple/hgrsprite.pla: 0266: hgrXorSrc( ofst, y, pitch, height, sprtptr=>s_map[map]) -; libsrc/apple/hgrsprite.pla: 0267: end - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $B4 ; ADDAB _D057+0 -_F053 !WORD _D057+0 - !BYTE $70 ; SB - !BYTE $66,$05 ; LLW [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $BC ; IDXAB _D057+0 -_F054 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $66,$07 ; LLW [7] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $BC ; IDXAB _D057+0 -_F055 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $66,$07 ; LLW [7] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$30 ; ADDI 48 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X042 -_F056 !WORD 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/hgrsprite.pla: 0268: export def spriteUnDrawXor(sprtptr)#0 - ; sprtptr -> [0] -_C008 ; spriteUnDrawXor() -; libsrc/apple/hgrsprite.pla: 0269: hgrXorSrc(sprtptr=>s_underofst[drawpage], sprtptr=>s_undery[drawpage], sprtptr->s_pitch, sprtptr->s_height, sprtptr=>s_map[sprtptr->s_undermap[drawpage]]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrsprite.pla: 0270: end - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $BC ; IDXAB _D057+0 -_F057 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $BC ; IDXAB _D057+0 -_F058 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $B4 ; ADDAB _D057+0 -_F059 !WORD _D057+0 - !BYTE $60 ; LB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _X042 -_F060 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrsprite.pla: 0271: export def spritePos(x, y, sprtptr)#0 - ; x -> [0] - ; y -> [2] - ; sprtptr -> [4] -_C009 ; spritePos() -; libsrc/apple/hgrsprite.pla: 0272: sprtptr=>s_ypos = y - sprtptr->s_ycenter - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/hgrsprite.pla: 0273: sprtptr=>s_xpos = x - sprtptr->s_xcenter -; libsrc/apple/hgrsprite.pla: 0274: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$0F ; ADDI 15 - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/hgrsprite.pla: 0275: export def spritePosIndex(x, y, i)#0 - ; x -> [0] - ; y -> [2] - ; i -> [4] -_C010 ; spritePosIndex() -; libsrc/apple/hgrsprite.pla: 0276: i = i & 15 - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/hgrsprite.pla: 0277: if drawList[i] -; libsrc/apple/hgrsprite.pla: 0278: drawList[i]=>s_ypos = y - drawList[i]->s_ycenter -; libsrc/apple/hgrsprite.pla: 0279: drawList[i]=>s_xpos = x - drawList[i]->s_xcenter -; libsrc/apple/hgrsprite.pla: 0280: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $76,$04 ; SLW [4] - !BYTE $26 ; LA _D053+0 -_F061 !WORD _D053+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B053 - !WORD _B053-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D053+0 -_F062 !WORD _D053+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $38,$0F ; ADDI 15 - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $26 ; LA _D053+0 -_F063 !WORD _D053+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D053+0 -_F064 !WORD _D053+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $26 ; LA _D053+0 -_F065 !WORD _D053+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $72 ; SW -_B053 -_B054 -; libsrc/apple/hgrsprite.pla: 0281: end - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/hgrsprite.pla: 0282: export def spriteUnDrawList#0 -_C011 ; spriteUnDrawList() -; libsrc/apple/hgrsprite.pla: 0283: byte i - ; i -> [0] -; libsrc/apple/hgrsprite.pla: 0284: var undrawptr - ; undrawptr -> [1] -; libsrc/apple/hgrsprite.pla: 0285: -; libsrc/apple/hgrsprite.pla: 0286: undrawptr = undrawList[drawpage] - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/apple/hgrsprite.pla: 0287: for i = 15 downto 0 - !BYTE $26 ; LA _D056+0 -_F066 !WORD _D056+0 - !BYTE $BC ; IDXAB _D057+0 -_F067 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$01 ; SLW [1] - !BYTE $00 ; CN 0 - !BYTE $1E ; CN 15 -_B056 - !BYTE $6C,$00 ; DLB [0] -; libsrc/apple/hgrsprite.pla: 0288: if undrawptr=>[i] -; libsrc/apple/hgrsprite.pla: 0289: spriteUnDraw(undrawptr=>[i]) -; libsrc/apple/hgrsprite.pla: 0290: undrawptr=>[i] = 0 -; libsrc/apple/hgrsprite.pla: 0291: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F068 !WORD _C006 - !BYTE $00 ; CN 0 - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $72 ; SW -_B058 -_B059 -; libsrc/apple/hgrsprite.pla: 0292: next -_B057 - !BYTE $A8 ; DECBRGE _B056 - !WORD _B056-* -_B055 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0293: end - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/hgrsprite.pla: 0294: export def spriteDrawList#0 -_C012 ; spriteDrawList() -; libsrc/apple/hgrsprite.pla: 0295: byte i - ; i -> [0] -; libsrc/apple/hgrsprite.pla: 0296: var undrawptr - ; undrawptr -> [1] -; libsrc/apple/hgrsprite.pla: 0297: -; libsrc/apple/hgrsprite.pla: 0298: undrawptr = undrawList[drawpage] - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/apple/hgrsprite.pla: 0299: for i = 15 downto 0 - !BYTE $26 ; LA _D056+0 -_F069 !WORD _D056+0 - !BYTE $BC ; IDXAB _D057+0 -_F070 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$01 ; SLW [1] - !BYTE $00 ; CN 0 - !BYTE $1E ; CN 15 -_B061 - !BYTE $6C,$00 ; DLB [0] -; libsrc/apple/hgrsprite.pla: 0300: if undrawptr=>[i] -; libsrc/apple/hgrsprite.pla: 0301: spriteUnDraw(undrawptr=>[i]) -; libsrc/apple/hgrsprite.pla: 0302: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C006 -_F071 !WORD _C006 -_B063 -_B064 -; libsrc/apple/hgrsprite.pla: 0303: next -_B062 - !BYTE $A8 ; DECBRGE _B061 - !WORD _B061-* -_B060 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0304: for i = 0 to 15 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B066 - !BYTE $6C,$00 ; DLB [0] -; libsrc/apple/hgrsprite.pla: 0305: if drawList[i] -; libsrc/apple/hgrsprite.pla: 0306: spriteDraw(drawList[i]) -; libsrc/apple/hgrsprite.pla: 0307: fin - !BYTE $26 ; LA _D053+0 -_F072 !WORD _D053+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $26 ; LA _D053+0 -_F073 !WORD _D053+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C005 -_F074 !WORD _C005 -_B068 -_B069 -; libsrc/apple/hgrsprite.pla: 0308: next -_B067 - !BYTE $A4 ; INCBRLE _B066 - !WORD _B066-* -_B065 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0309: memcpy(undrawptr, @drawList, 16*2) -; libsrc/apple/hgrsprite.pla: 0310: end - !BYTE $66,$01 ; LLW [1] - !BYTE $26 ; LA _D053+0 -_F075 !WORD _D053+0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X018 -_F076 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/hgrsprite.pla: 0311: export def spriteUnDrawXorList#0 -_C013 ; spriteUnDrawXorList() -; libsrc/apple/hgrsprite.pla: 0312: byte i - ; i -> [0] -; libsrc/apple/hgrsprite.pla: 0313: var undrawptr - ; undrawptr -> [1] -; libsrc/apple/hgrsprite.pla: 0314: -; libsrc/apple/hgrsprite.pla: 0315: undrawptr = undrawList[drawpage] - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/apple/hgrsprite.pla: 0316: for i = 0 to 15 - !BYTE $26 ; LA _D056+0 -_F077 !WORD _D056+0 - !BYTE $BC ; IDXAB _D057+0 -_F078 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$01 ; SLW [1] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B071 - !BYTE $6C,$00 ; DLB [0] -; libsrc/apple/hgrsprite.pla: 0317: if undrawptr=>[i] -; libsrc/apple/hgrsprite.pla: 0318: spriteUnDrawXor(undrawptr=>[i]) -; libsrc/apple/hgrsprite.pla: 0319: undrawptr=>[i] = 0 -; libsrc/apple/hgrsprite.pla: 0320: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C008 -_F079 !WORD _C008 - !BYTE $00 ; CN 0 - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $72 ; SW -_B073 -_B074 -; libsrc/apple/hgrsprite.pla: 0321: next -_B072 - !BYTE $A4 ; INCBRLE _B071 - !WORD _B071-* -_B070 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0322: end - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/hgrsprite.pla: 0323: export def spriteDrawXorList#0 -_C014 ; spriteDrawXorList() -; libsrc/apple/hgrsprite.pla: 0324: byte i - ; i -> [0] -; libsrc/apple/hgrsprite.pla: 0325: var undrawptr - ; undrawptr -> [1] -; libsrc/apple/hgrsprite.pla: 0326: -; libsrc/apple/hgrsprite.pla: 0327: undrawptr = undrawList[drawpage] - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/apple/hgrsprite.pla: 0328: for i = 0 to 15 - !BYTE $26 ; LA _D056+0 -_F080 !WORD _D056+0 - !BYTE $BC ; IDXAB _D057+0 -_F081 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$01 ; SLW [1] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B076 - !BYTE $6C,$00 ; DLB [0] -; libsrc/apple/hgrsprite.pla: 0329: if undrawptr=>[i] -; libsrc/apple/hgrsprite.pla: 0330: spriteUnDrawXor(undrawptr=>[i]) -; libsrc/apple/hgrsprite.pla: 0331: fin - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $66,$01 ; LLW [1] - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C008 -_F082 !WORD _C008 -_B078 -_B079 -; libsrc/apple/hgrsprite.pla: 0332: if drawList[i] -; libsrc/apple/hgrsprite.pla: 0333: spriteDrawXor(drawList[i]) -; libsrc/apple/hgrsprite.pla: 0334: fin - !BYTE $26 ; LA _D053+0 -_F083 !WORD _D053+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $26 ; LA _D053+0 -_F084 !WORD _D053+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F085 !WORD _C007 -_B080 -_B081 -; libsrc/apple/hgrsprite.pla: 0335: next -_B077 - !BYTE $A4 ; INCBRLE _B076 - !WORD _B076-* -_B075 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/apple/hgrsprite.pla: 0336: memcpy(undrawptr, @drawList, 16*2) -; libsrc/apple/hgrsprite.pla: 0337: end - !BYTE $66,$01 ; LLW [1] - !BYTE $26 ; LA _D053+0 -_F086 !WORD _D053+0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X018 -_F087 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/hgrsprite.pla: 0338: export def spriteAdd(i, sprtptr)#1 - ; i -> [0] - ; sprtptr -> [2] -_C015 ; spriteAdd() -; libsrc/apple/hgrsprite.pla: 0339: var sprtprev - ; sprtprev -> [4] -; libsrc/apple/hgrsprite.pla: 0340: -; libsrc/apple/hgrsprite.pla: 0341: i = i & 15 - !BYTE $58,$06,$02 ; ENTER 6,2 -; libsrc/apple/hgrsprite.pla: 0342: sprtprev = drawList[i] -; libsrc/apple/hgrsprite.pla: 0343: drawList[i] = sprtptr -; libsrc/apple/hgrsprite.pla: 0344: return sprtprev - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _D053+0 -_F088 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D053+0 -_F089 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/hgrsprite.pla: 0345: end -; libsrc/apple/hgrsprite.pla: 0346: export def spriteDel(i)#1 - ; i -> [0] -_C016 ; spriteDel() -; libsrc/apple/hgrsprite.pla: 0347: var sprtprev - ; sprtprev -> [2] -; libsrc/apple/hgrsprite.pla: 0348: -; libsrc/apple/hgrsprite.pla: 0349: i = i & 15 - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/apple/hgrsprite.pla: 0350: sprtprev = drawList[i] -; libsrc/apple/hgrsprite.pla: 0351: drawList[i] = 0 -; libsrc/apple/hgrsprite.pla: 0352: return sprtprev - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _D053+0 -_F090 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D053+0 -_F091 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/hgrsprite.pla: 0353: end -; libsrc/apple/hgrsprite.pla: 0354: export def spriteDrawBuf(page)#1 - ; page -> [0] -_C017 ; spriteDrawBuf() -; libsrc/apple/hgrsprite.pla: 0355: drawpage = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrsprite.pla: 0356: return drawpage - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $7C ; DAB _D057+0 -_F092 !WORD _D057+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrsprite.pla: 0357: end -; libsrc/apple/hgrsprite.pla: 0358: // -; libsrc/apple/hgrsprite.pla: 0359: // Assembly fixups -; libsrc/apple/hgrsprite.pla: 0360: // -; libsrc/apple/hgrsprite.pla: 0361: _scanMaskA:1 = @hgrColor -_INIT -; libsrc/apple/hgrsprite.pla: 0362: _scanMaskB:1 = @hgrPlot -; libsrc/apple/hgrsprite.pla: 0363: _scanMaskC:1 = @hgrColor -; libsrc/apple/hgrsprite.pla: 0364: _scanMaskD:1 = @hgrPlot -; libsrc/apple/hgrsprite.pla: 0365: // -; libsrc/apple/hgrsprite.pla: 0366: // Keep module in memory -; libsrc/apple/hgrsprite.pla: 0367: // -; libsrc/apple/hgrsprite.pla: 0368: return modkeep - !BYTE $26 ; LA _X050+0 -_F093 !WORD 0+0 - !BYTE $7A ; SAW _A001+1 -_F094 !WORD _A001+1 - !BYTE $26 ; LA _X030+0 -_F095 !WORD 0+0 - !BYTE $7A ; SAW _A002+1 -_F096 !WORD _A002+1 - !BYTE $26 ; LA _X050+0 -_F097 !WORD 0+0 - !BYTE $7A ; SAW _A003+1 -_F098 !WORD _A003+1 - !BYTE $26 ; LA _X030+0 -_F099 !WORD 0+0 - !BYTE $7A ; SAW _A004+1 -_F100 !WORD _A004+1 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/hgrsprite.pla: 0369: done -_SYSFLAGS = 0 -_DEFCNT = 19 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: DIVMOD7 - !BYTE $C4,$C9,$D6,$CD,$CF,$C4,$37 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: HGRPLOT - !BYTE $C8,$C7,$D2,$D0,$CC,$CF,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: HGRRECT - !BYTE $C8,$C7,$D2,$D2,$C5,$C3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: HGRBLT - !BYTE $C8,$C7,$D2,$C2,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 39 ; ESD INDEX - ; DCI STRING: HGRCOPYSRC - !BYTE $C8,$C7,$D2,$C3,$CF,$D0,$D9,$D3,$D2,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: HGRANDSRC - !BYTE $C8,$C7,$D2,$C1,$CE,$C4,$D3,$D2,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: HGRXORSRC - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D3,$D2,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: HGRCOPYDST - !BYTE $C8,$C7,$D2,$C3,$CF,$D0,$D9,$C4,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 44 ; ESD INDEX - ; DCI STRING: HGRCOLOR - !BYTE $C8,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 50 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 51 ; ESD INDEX - ; DCI STRING: SPRITECOMPILE - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C3,$CF,$CD,$D0,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: SPRITEDUP - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D5,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: SPRITEREAD - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: SPRITESAVE - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D3,$C1,$D6,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: SPRITEDRAW - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: SPRITEUNDRAW - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D5,$CE,$C4,$D2,$C1,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: SPRITEDRAWXOR - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$D8,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - ; DCI STRING: SPRITEUNDRAWXOR - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D5,$CE,$C4,$D2,$C1,$D7,$D8,$CF,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C008 - ; DCI STRING: SPRITEPOS - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D0,$CF,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - ; DCI STRING: SPRITEPOSINDEX - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D0,$CF,$D3,$C9,$CE,$C4,$C5,$58 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C010 - ; DCI STRING: SPRITEUNDRAWLIST - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D5,$CE,$C4,$D2,$C1,$D7,$CC,$C9,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C011 - ; DCI STRING: SPRITEDRAWLIST - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$CC,$C9,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C012 - ; DCI STRING: SPRITEUNDRAWXORLIST - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D5,$CE,$C4,$D2,$C1,$D7,$D8,$CF,$D2,$CC,$C9,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C013 - ; DCI STRING: SPRITEDRAWXORLIST - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$D8,$CF,$D2,$CC,$C9,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C014 - ; DCI STRING: SPRITEADD - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C1,$C4,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C015 - ; DCI STRING: SPRITEDEL - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$C5,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C016 - ; DCI STRING: SPRITEDRAWBUF - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C017 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/hgrtile.a b/src/libsrc/apple/hgrtile.a deleted file mode 100644 index 8defc57..0000000 --- a/src/libsrc/apple/hgrtile.a +++ /dev/null @@ -1,1360 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/hgrtile.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/hgrtile.pla: 0001: -; libsrc/apple/hgrtile.pla: 0002: // -; libsrc/apple/hgrtile.pla: 0003: // Hardware addresses -; libsrc/apple/hgrtile.pla: 0004: // -; libsrc/apple/hgrtile.pla: 0005: const showgraphics = $C050 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; showgraphics = 49232 -; libsrc/apple/hgrtile.pla: 0006: const showtext = $C051 - ; showtext = 49233 -; libsrc/apple/hgrtile.pla: 0007: const showfull = $C052 - ; showfull = 49234 -; libsrc/apple/hgrtile.pla: 0008: const showmix = $C053 - ; showmix = 49235 -; libsrc/apple/hgrtile.pla: 0009: const showpage1 = $C054 - ; showpage1 = 49236 -; libsrc/apple/hgrtile.pla: 0010: const showpage2 = $C055 - ; showpage2 = 49237 -; libsrc/apple/hgrtile.pla: 0011: const showlores = $C056 - ; showlores = 49238 -; libsrc/apple/hgrtile.pla: 0012: const showhires = $C057 - ; showhires = 49239 -; libsrc/apple/hgrtile.pla: 0013: const keyboard = $C000 - ; keyboard = 49152 -; libsrc/apple/hgrtile.pla: 0014: const keystrobe = $C010 - ; keystrobe = 49168 -; libsrc/apple/hgrtile.pla: 0015: const txt1 = $0400 - ; txt1 = 1024 -; libsrc/apple/hgrtile.pla: 0016: const txt2 = $0800 - ; txt2 = 2048 -; libsrc/apple/hgrtile.pla: 0017: const hgr1 = $2000 - ; hgr1 = 8192 -; libsrc/apple/hgrtile.pla: 0018: const hgr2 = $4000 - ; hgr2 = 16384 -; libsrc/apple/hgrtile.pla: 0019: const page1 = 0 - ; page1 = 0 -; libsrc/apple/hgrtile.pla: 0020: const page2 = 1 - ; page2 = 1 -; libsrc/apple/hgrtile.pla: 0021: -; libsrc/apple/hgrtile.pla: 0022: word txtbuff[] = txt1, txt2 -_D028 ; txtbuff[] = txt1, txt2 - !WORD $0400 - !WORD $0800 -; libsrc/apple/hgrtile.pla: 0023: word hgrbuff[] = hgr1, hgr2 -_D029 ; hgrbuff[] = hgr1, hgr2 - !WORD $2000 - !WORD $4000 -; libsrc/apple/hgrtile.pla: 0024: // -; libsrc/apple/hgrtile.pla: 0025: // Screen tile scanline addresses. -; libsrc/apple/hgrtile.pla: 0026: // -; libsrc/apple/hgrtile.pla: 0027: word[] rowaddr = $0000,$0080,$0100,$0180,$0200,$0280,$0300,$0380 -_D030 ; rowaddr = $0000,$0080,$0100,$0180,$0200,$0280,$0300,$0380 - !WORD $0000 - !WORD $0080 - !WORD $0100 - !WORD $0180 - !WORD $0200 - !WORD $0280 - !WORD $0300 - !WORD $0380 -; libsrc/apple/hgrtile.pla: 0028: word = $0028,$00A8,$0128,$01A8,$0228,$02A8,$0328,$03A8 - !WORD $0028 - !WORD $00A8 - !WORD $0128 - !WORD $01A8 - !WORD $0228 - !WORD $02A8 - !WORD $0328 - !WORD $03A8 -; libsrc/apple/hgrtile.pla: 0029: word = $0050,$00D0,$0150,$01D0,$0250,$02D0,$0350,$03D0 - !WORD $0050 - !WORD $00D0 - !WORD $0150 - !WORD $01D0 - !WORD $0250 - !WORD $02D0 - !WORD $0350 - !WORD $03D0 -; libsrc/apple/hgrtile.pla: 0030: byte[] scanbttml = $00,$80,$00,$80,$00,$80,$00,$80 -_D031 ; scanbttml = $00,$80,$00,$80,$00,$80,$00,$80 - !BYTE $00 - !BYTE $80 - !BYTE $00 - !BYTE $80 - !BYTE $00 - !BYTE $80 - !BYTE $00 - !BYTE $80 -; libsrc/apple/hgrtile.pla: 0031: byte = $28,$A8,$28,$A8,$28,$A8,$28,$A8 - !BYTE $28 - !BYTE $A8 - !BYTE $28 - !BYTE $A8 - !BYTE $28 - !BYTE $A8 - !BYTE $28 - !BYTE $A8 -; libsrc/apple/hgrtile.pla: 0032: byte = $50,$D0,$50,$D0,$50,$D0,$50,$D0 - !BYTE $50 - !BYTE $D0 - !BYTE $50 - !BYTE $D0 - !BYTE $50 - !BYTE $D0 - !BYTE $50 - !BYTE $D0 -; libsrc/apple/hgrtile.pla: 0033: byte[] scanbttmh = $1C,$1C,$1D,$1D,$1E,$1E,$1F,$1F -_D032 ; scanbttmh = $1C,$1C,$1D,$1D,$1E,$1E,$1F,$1F - !BYTE $1C - !BYTE $1C - !BYTE $1D - !BYTE $1D - !BYTE $1E - !BYTE $1E - !BYTE $1F - !BYTE $1F -; libsrc/apple/hgrtile.pla: 0034: byte = $1C,$1C,$1D,$1D,$1E,$1E,$1F,$1F - !BYTE $1C - !BYTE $1C - !BYTE $1D - !BYTE $1D - !BYTE $1E - !BYTE $1E - !BYTE $1F - !BYTE $1F -; libsrc/apple/hgrtile.pla: 0035: byte = $1C,$1C,$1D,$1D,$1E,$1E,$1F,$1F - !BYTE $1C - !BYTE $1C - !BYTE $1D - !BYTE $1D - !BYTE $1E - !BYTE $1E - !BYTE $1F - !BYTE $1F -; libsrc/apple/hgrtile.pla: 0036: -; libsrc/apple/hgrtile.pla: 0037: byte hbmask = $81,$82,$84,$88,$90,$A0,$C0 -_D033 ; hbmask = $81,$82,$84,$88,$90,$A0,$C0 - !BYTE $81 - !BYTE $82 - !BYTE $84 - !BYTE $88 - !BYTE $90 - !BYTE $A0 - !BYTE $C0 -; libsrc/apple/hgrtile.pla: 0038: word hcolor[] = $0000,$552A,$2A55,$7F7F,$8080,$D5AA,$AAD5,$FFFF -_D034 ; hcolor[] = $0000,$552A,$2A55,$7F7F,$8080,$D5AA,$AAD5,$FFFF - !WORD $0000 - !WORD $552A - !WORD $2A55 - !WORD $7F7F - !WORD $8080 - !WORD $D5AA - !WORD $AAD5 - !WORD $FFFF -; libsrc/apple/hgrtile.pla: 0039: byte drawpage = 0 -_D035 ; drawpage = 0 - !BYTE $00 -; libsrc/apple/hgrtile.pla: 0040: word drawbuff = hgr1 -_D036 ; drawbuff = hgr1 - !WORD $2000 -; libsrc/apple/hgrtile.pla: 0041: -; libsrc/apple/hgrtile.pla: 0042: asm tileInc#0 -_A000 ; tileInc() -; libsrc/apple/hgrtile.pla: 0043: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/hgrtile.pla: 0044: CURSH = $24 -CURSH = $24 -; libsrc/apple/hgrtile.pla: 0045: CURSV = $25 -CURSV = $25 -; libsrc/apple/hgrtile.pla: 0046: GBASL = $26 -GBASL = $26 -; libsrc/apple/hgrtile.pla: 0047: GBASH = $27 -GBASH = $27 -; libsrc/apple/hgrtile.pla: 0048: GBASE = GBASL -GBASE = GBASL -; libsrc/apple/hgrtile.pla: 0049: TBASL = $28 -TBASL = $28 -; libsrc/apple/hgrtile.pla: 0050: TBASH = $29 -TBASH = $29 -; libsrc/apple/hgrtile.pla: 0051: TBASE = TBASL -TBASE = TBASL -; libsrc/apple/hgrtile.pla: 0052: TBAS2L = $2A -TBAS2L = $2A -; libsrc/apple/hgrtile.pla: 0053: TBAS2H = $2B -TBAS2H = $2B -; libsrc/apple/hgrtile.pla: 0054: TBAS2E = TBAS2L -TBAS2E = TBAS2L -; libsrc/apple/hgrtile.pla: 0055: end -; libsrc/apple/hgrtile.pla: 0056: //export def tileDraw(x, y, tileptr)#0 -; libsrc/apple/hgrtile.pla: 0057: // var scrnptr -; libsrc/apple/hgrtile.pla: 0058: // -; libsrc/apple/hgrtile.pla: 0059: // scrnptr = (scanaddr[y] | drawbuff) + x -; libsrc/apple/hgrtile.pla: 0060: // scrnptr->[$1C00] = tileptr->[7] -; libsrc/apple/hgrtile.pla: 0061: // scrnptr->[$1800] = tileptr->[6] -; libsrc/apple/hgrtile.pla: 0062: // scrnptr->[$1400] = tileptr->[5] -; libsrc/apple/hgrtile.pla: 0063: // scrnptr->[$1000] = tileptr->[4] -; libsrc/apple/hgrtile.pla: 0064: // scrnptr->[$0C00] = tileptr->[3] -; libsrc/apple/hgrtile.pla: 0065: // scrnptr->[$0800] = tileptr->[2] -; libsrc/apple/hgrtile.pla: 0066: // scrnptr->[$0400] = tileptr->[1] -; libsrc/apple/hgrtile.pla: 0067: // scrnptr->[$0000] = tileptr->[0] -; libsrc/apple/hgrtile.pla: 0068: //end -; libsrc/apple/hgrtile.pla: 0069: export asm tileDraw(x, y, tileptr)#0 -_A001 ; tileDraw() -; libsrc/apple/hgrtile.pla: 0070: LDA ESTKL+0,X ; TILEPTRL - LDA ESTKL+0,X ; TILEPTRL -; libsrc/apple/hgrtile.pla: 0071: STA SRCL - STA SRCL -; libsrc/apple/hgrtile.pla: 0072: LDA ESTKH+0,X ; TILEPTRH - LDA ESTKH+0,X ; TILEPTRH -; libsrc/apple/hgrtile.pla: 0073: STA SRCH - STA SRCH -; libsrc/apple/hgrtile.pla: 0074: LDY ESTKL+1,X ; Y COORD - LDY ESTKL+1,X ; Y COORD -; libsrc/apple/hgrtile.pla: 0075: LDA ESTKL+2,X ; X COORD - LDA ESTKL+2,X ; X COORD -; libsrc/apple/hgrtile.pla: 0076: CLC - CLC -; libsrc/apple/hgrtile.pla: 0077: end -; libsrc/apple/hgrtile.pla: 0078: asm _tileDraw -_A002 ; _tileDraw() -; libsrc/apple/hgrtile.pla: 0079: ADC $1000,Y ; SCANBTTML - ADC $1000,Y ; SCANBTTML -; libsrc/apple/hgrtile.pla: 0080: STA ESTKL+0,X ; USE ESTK AS POINTER - STA ESTKL+0,X ; USE ESTK AS POINTER -; libsrc/apple/hgrtile.pla: 0081: LDA $3001 ; DRAWBUFFH - LDA $3001 ; DRAWBUFFH -; libsrc/apple/hgrtile.pla: 0082: ADC $2000,Y ; SCANBTTMH - ADC $2000,Y ; SCANBTTMH -; libsrc/apple/hgrtile.pla: 0083: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0084: LDY #$07 ; DRAW BOTTOM UP - LDY #$07 ; DRAW BOTTOM UP -; libsrc/apple/hgrtile.pla: 0085: SEC - SEC -; libsrc/apple/hgrtile.pla: 0086: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0087: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0088: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0089: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0090: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0091: DEY - DEY -; libsrc/apple/hgrtile.pla: 0092: BNE - - BNE - -; libsrc/apple/hgrtile.pla: 0093: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0094: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0095: INX - INX -; libsrc/apple/hgrtile.pla: 0096: INX - INX -; libsrc/apple/hgrtile.pla: 0097: INX - INX -; libsrc/apple/hgrtile.pla: 0098: RTS - RTS -; libsrc/apple/hgrtile.pla: 0099: end -; libsrc/apple/hgrtile.pla: 0100: //export def tileXorDraw(x, y, tileptr)#0 -; libsrc/apple/hgrtile.pla: 0101: // var scrnptr -; libsrc/apple/hgrtile.pla: 0102: // -; libsrc/apple/hgrtile.pla: 0103: // scrnptr = (scanaddr[y] | drawbuff) + x -; libsrc/apple/hgrtile.pla: 0104: // scrnptr->[$1C00] = tileptr->[7] -; libsrc/apple/hgrtile.pla: 0105: // scrnptr->[$1800] = tileptr->[6] -; libsrc/apple/hgrtile.pla: 0106: // scrnptr->[$1400] = tileptr->[5] -; libsrc/apple/hgrtile.pla: 0107: // scrnptr->[$1000] = tileptr->[4] -; libsrc/apple/hgrtile.pla: 0108: // scrnptr->[$0C00] = tileptr->[3] -; libsrc/apple/hgrtile.pla: 0109: // scrnptr->[$0800] = tileptr->[2] -; libsrc/apple/hgrtile.pla: 0110: // scrnptr->[$0400] = tileptr->[1] -; libsrc/apple/hgrtile.pla: 0111: // scrnptr->[$0000] = tileptr->[0] -; libsrc/apple/hgrtile.pla: 0112: //end -; libsrc/apple/hgrtile.pla: 0113: export asm tileXorDraw(x, y, tileptr)#0 -_A003 ; tileXorDraw() -; libsrc/apple/hgrtile.pla: 0114: LDA ESTKL+0,X ; TILEPTRL - LDA ESTKL+0,X ; TILEPTRL -; libsrc/apple/hgrtile.pla: 0115: STA SRCL - STA SRCL -; libsrc/apple/hgrtile.pla: 0116: LDA ESTKH+0,X ; TILEPTRH - LDA ESTKH+0,X ; TILEPTRH -; libsrc/apple/hgrtile.pla: 0117: STA SRCH - STA SRCH -; libsrc/apple/hgrtile.pla: 0118: LDY ESTKL+1,X ; Y COORD - LDY ESTKL+1,X ; Y COORD -; libsrc/apple/hgrtile.pla: 0119: LDA ESTKL+2,X ; X COORD - LDA ESTKL+2,X ; X COORD -; libsrc/apple/hgrtile.pla: 0120: CLC - CLC -; libsrc/apple/hgrtile.pla: 0121: end -; libsrc/apple/hgrtile.pla: 0122: asm _tileXDraw -_A004 ; _tileXDraw() -; libsrc/apple/hgrtile.pla: 0123: ADC $1000,Y ; SCANBTTML - ADC $1000,Y ; SCANBTTML -; libsrc/apple/hgrtile.pla: 0124: STA ESTKL+0,X ; USE ESTK AS POINTER - STA ESTKL+0,X ; USE ESTK AS POINTER -; libsrc/apple/hgrtile.pla: 0125: LDA $3001 ; DRAWBUFFH - LDA $3001 ; DRAWBUFFH -; libsrc/apple/hgrtile.pla: 0126: ADC $2000,Y ; SCANBTTMH - ADC $2000,Y ; SCANBTTMH -; libsrc/apple/hgrtile.pla: 0127: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0128: LDY #$07 ; DRAW BOTTOM UP - LDY #$07 ; DRAW BOTTOM UP -; libsrc/apple/hgrtile.pla: 0129: SEC - SEC -; libsrc/apple/hgrtile.pla: 0130: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0131: EOR (ESTKL,X) - EOR (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0132: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0133: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0134: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0135: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0136: DEY - DEY -; libsrc/apple/hgrtile.pla: 0137: BNE - - BNE - -; libsrc/apple/hgrtile.pla: 0138: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0139: EOR (ESTKL,X) - EOR (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0140: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0141: INX - INX -; libsrc/apple/hgrtile.pla: 0142: INX - INX -; libsrc/apple/hgrtile.pla: 0143: INX - INX -; libsrc/apple/hgrtile.pla: 0144: RTS - RTS -; libsrc/apple/hgrtile.pla: 0145: end -; libsrc/apple/hgrtile.pla: 0146: //export def tileOrDraw(x, y, tileptr)#0 -; libsrc/apple/hgrtile.pla: 0147: // var scrnptr -; libsrc/apple/hgrtile.pla: 0148: // -; libsrc/apple/hgrtile.pla: 0149: // scrnptr = (scanaddr[y] | drawbuff) + x -; libsrc/apple/hgrtile.pla: 0150: // scrnptr->[$1C00] = tileptr->[7] -; libsrc/apple/hgrtile.pla: 0151: // scrnptr->[$1800] = tileptr->[6] -; libsrc/apple/hgrtile.pla: 0152: // scrnptr->[$1400] = tileptr->[5] -; libsrc/apple/hgrtile.pla: 0153: // scrnptr->[$1000] = tileptr->[4] -; libsrc/apple/hgrtile.pla: 0154: // scrnptr->[$0C00] = tileptr->[3] -; libsrc/apple/hgrtile.pla: 0155: // scrnptr->[$0800] = tileptr->[2] -; libsrc/apple/hgrtile.pla: 0156: // scrnptr->[$0400] = tileptr->[1] -; libsrc/apple/hgrtile.pla: 0157: // scrnptr->[$0000] = tileptr->[0] -; libsrc/apple/hgrtile.pla: 0158: //end -; libsrc/apple/hgrtile.pla: 0159: export asm tileOrDraw(x, y, tileptr)#0 -_A005 ; tileOrDraw() -; libsrc/apple/hgrtile.pla: 0160: LDA ESTKL+0,X ; TILEPTRL - LDA ESTKL+0,X ; TILEPTRL -; libsrc/apple/hgrtile.pla: 0161: STA SRCL - STA SRCL -; libsrc/apple/hgrtile.pla: 0162: LDA ESTKH+0,X ; TILEPTRH - LDA ESTKH+0,X ; TILEPTRH -; libsrc/apple/hgrtile.pla: 0163: STA SRCH - STA SRCH -; libsrc/apple/hgrtile.pla: 0164: LDY ESTKL+1,X ; Y COORD - LDY ESTKL+1,X ; Y COORD -; libsrc/apple/hgrtile.pla: 0165: LDA ESTKL+2,X ; X COORD - LDA ESTKL+2,X ; X COORD -; libsrc/apple/hgrtile.pla: 0166: CLC - CLC -; libsrc/apple/hgrtile.pla: 0167: end -; libsrc/apple/hgrtile.pla: 0168: asm _tileODraw -_A006 ; _tileODraw() -; libsrc/apple/hgrtile.pla: 0169: ADC $1000,Y ; SCANBTTML - ADC $1000,Y ; SCANBTTML -; libsrc/apple/hgrtile.pla: 0170: STA ESTKL+0,X ; USE ESTK AS POINTER - STA ESTKL+0,X ; USE ESTK AS POINTER -; libsrc/apple/hgrtile.pla: 0171: LDA $3001 ; DRAWBUFFH - LDA $3001 ; DRAWBUFFH -; libsrc/apple/hgrtile.pla: 0172: ADC $2000,Y ; SCANBTTMH - ADC $2000,Y ; SCANBTTMH -; libsrc/apple/hgrtile.pla: 0173: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0174: LDY #$07 ; DRAW BOTTOM UP - LDY #$07 ; DRAW BOTTOM UP -; libsrc/apple/hgrtile.pla: 0175: SEC - SEC -; libsrc/apple/hgrtile.pla: 0176: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0177: ORA (ESTKL,X) - ORA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0178: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0179: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0180: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0181: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0182: DEY - DEY -; libsrc/apple/hgrtile.pla: 0183: BNE - - BNE - -; libsrc/apple/hgrtile.pla: 0184: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0185: ORA (ESTKL,X) - ORA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0186: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0187: INX - INX -; libsrc/apple/hgrtile.pla: 0188: INX - INX -; libsrc/apple/hgrtile.pla: 0189: INX - INX -; libsrc/apple/hgrtile.pla: 0190: RTS - RTS -; libsrc/apple/hgrtile.pla: 0191: end -; libsrc/apple/hgrtile.pla: 0192: //export def tileAndDraw(x, y, tileptr)#0 -; libsrc/apple/hgrtile.pla: 0193: // var scrnptr -; libsrc/apple/hgrtile.pla: 0194: // -; libsrc/apple/hgrtile.pla: 0195: // scrnptr = (scanaddr[y] | drawbuff) + x -; libsrc/apple/hgrtile.pla: 0196: // scrnptr->[$1C00] = tileptr->[7] -; libsrc/apple/hgrtile.pla: 0197: // scrnptr->[$1800] = tileptr->[6] -; libsrc/apple/hgrtile.pla: 0198: // scrnptr->[$1400] = tileptr->[5] -; libsrc/apple/hgrtile.pla: 0199: // scrnptr->[$1000] = tileptr->[4] -; libsrc/apple/hgrtile.pla: 0200: // scrnptr->[$0C00] = tileptr->[3] -; libsrc/apple/hgrtile.pla: 0201: // scrnptr->[$0800] = tileptr->[2] -; libsrc/apple/hgrtile.pla: 0202: // scrnptr->[$0400] = tileptr->[1] -; libsrc/apple/hgrtile.pla: 0203: // scrnptr->[$0000] = tileptr->[0] -; libsrc/apple/hgrtile.pla: 0204: //end -; libsrc/apple/hgrtile.pla: 0205: export asm tileAndDraw(x, y, tileptr)#0 -_A007 ; tileAndDraw() -; libsrc/apple/hgrtile.pla: 0206: LDA ESTKL+0,X ; TILEPTRL - LDA ESTKL+0,X ; TILEPTRL -; libsrc/apple/hgrtile.pla: 0207: STA SRCL - STA SRCL -; libsrc/apple/hgrtile.pla: 0208: LDA ESTKH+0,X ; TILEPTRH - LDA ESTKH+0,X ; TILEPTRH -; libsrc/apple/hgrtile.pla: 0209: STA SRCH - STA SRCH -; libsrc/apple/hgrtile.pla: 0210: LDY ESTKL+1,X ; Y COORD - LDY ESTKL+1,X ; Y COORD -; libsrc/apple/hgrtile.pla: 0211: LDA ESTKL+2,X ; X COORD - LDA ESTKL+2,X ; X COORD -; libsrc/apple/hgrtile.pla: 0212: CLC - CLC -; libsrc/apple/hgrtile.pla: 0213: end -; libsrc/apple/hgrtile.pla: 0214: asm _tileADraw -_A008 ; _tileADraw() -; libsrc/apple/hgrtile.pla: 0215: ADC $1000,Y ; SCANBTTML - ADC $1000,Y ; SCANBTTML -; libsrc/apple/hgrtile.pla: 0216: STA ESTKL+0,X ; USE ESTK AS POINTER - STA ESTKL+0,X ; USE ESTK AS POINTER -; libsrc/apple/hgrtile.pla: 0217: LDA $3001 ; DRAWBUFFH - LDA $3001 ; DRAWBUFFH -; libsrc/apple/hgrtile.pla: 0218: ADC $2000,Y ; SCANBTTMH - ADC $2000,Y ; SCANBTTMH -; libsrc/apple/hgrtile.pla: 0219: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0220: LDY #$07 ; DRAW BOTTOM UP - LDY #$07 ; DRAW BOTTOM UP -; libsrc/apple/hgrtile.pla: 0221: SEC - SEC -; libsrc/apple/hgrtile.pla: 0222: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0223: AND (ESTKL,X) - AND (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0224: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0225: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0226: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0227: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/hgrtile.pla: 0228: DEY - DEY -; libsrc/apple/hgrtile.pla: 0229: BNE - - BNE - -; libsrc/apple/hgrtile.pla: 0230: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0231: AND (ESTKL,X) - AND (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0232: STA (ESTKL,X) - STA (ESTKL,X) -; libsrc/apple/hgrtile.pla: 0233: INX - INX -; libsrc/apple/hgrtile.pla: 0234: INX - INX -; libsrc/apple/hgrtile.pla: 0235: INX - INX -; libsrc/apple/hgrtile.pla: 0236: RTS - RTS -; libsrc/apple/hgrtile.pla: 0237: end -; libsrc/apple/hgrtile.pla: 0238: //export def tileDrawStr(x, y, strptr, strlen, tileset)#0 -; libsrc/apple/hgrtile.pla: 0239: // while strlen -; libsrc/apple/hgrtile.pla: 0240: // tileDraw(x, y, tileset + ^strptr * 8) -; libsrc/apple/hgrtile.pla: 0241: // x++ -; libsrc/apple/hgrtile.pla: 0242: // strptr++ -; libsrc/apple/hgrtile.pla: 0243: // strlen-- -; libsrc/apple/hgrtile.pla: 0244: // loop -; libsrc/apple/hgrtile.pla: 0245: //end -; libsrc/apple/hgrtile.pla: 0246: export asm tileDrawStr(x, y, strptr, strlen, tileset)#0 -_A009 ; tileDrawStr() -; libsrc/apple/hgrtile.pla: 0247: LDA ESTKL+0,X ; TILESETPTRL - LDA ESTKL+0,X ; TILESETPTRL -; libsrc/apple/hgrtile.pla: 0248: STA DSTL - STA DSTL -; libsrc/apple/hgrtile.pla: 0249: LDA ESTKH+0,X ; TILESETPTRH - LDA ESTKH+0,X ; TILESETPTRH -; libsrc/apple/hgrtile.pla: 0250: STA DSTH - STA DSTH -; libsrc/apple/hgrtile.pla: 0251: LDA ESTKL+2,X ; STRPTRL - LDA ESTKL+2,X ; STRPTRL -; libsrc/apple/hgrtile.pla: 0252: STA TMPL - STA TMPL -; libsrc/apple/hgrtile.pla: 0253: LDA ESTKH+2,X ; STRPTRH - LDA ESTKH+2,X ; STRPTRH -; libsrc/apple/hgrtile.pla: 0254: STA TMPH - STA TMPH -; libsrc/apple/hgrtile.pla: 0255: LDY ESTKL+3,X ; Y COORD - LDY ESTKL+3,X ; Y COORD -; libsrc/apple/hgrtile.pla: 0256: LDA ESTKL+4,X ; X COORD - LDA ESTKL+4,X ; X COORD -; libsrc/apple/hgrtile.pla: 0257: CLC - CLC -; libsrc/apple/hgrtile.pla: 0258: end -; libsrc/apple/hgrtile.pla: 0259: asm _tileDSa -_A010 ; _tileDSa() -; libsrc/apple/hgrtile.pla: 0260: ADC $1000,Y ; SCANBTTML - ADC $1000,Y ; SCANBTTML -; libsrc/apple/hgrtile.pla: 0261: STA $D000 ; SELF MODIFY LOOP - STA $D000 ; SELF MODIFY LOOP -; libsrc/apple/hgrtile.pla: 0262: STA $D001 - STA $D001 -; libsrc/apple/hgrtile.pla: 0263: STA $D002 - STA $D002 -; libsrc/apple/hgrtile.pla: 0264: STA $D003 - STA $D003 -; libsrc/apple/hgrtile.pla: 0265: STA $D004 - STA $D004 -; libsrc/apple/hgrtile.pla: 0266: STA $D005 - STA $D005 -; libsrc/apple/hgrtile.pla: 0267: STA $D006 - STA $D006 -; libsrc/apple/hgrtile.pla: 0268: STA $D007 - STA $D007 -; libsrc/apple/hgrtile.pla: 0269: end -; libsrc/apple/hgrtile.pla: 0270: asm _tileDSb -_A011 ; _tileDSb() -; libsrc/apple/hgrtile.pla: 0271: LDA $3001 ; DRAWBUFFH - LDA $3001 ; DRAWBUFFH -; libsrc/apple/hgrtile.pla: 0272: ADC $2000,Y ; SCANBTTMH - ADC $2000,Y ; SCANBTTMH -; libsrc/apple/hgrtile.pla: 0273: STA $D008 ; SELF MODIFY LOOP - STA $D008 ; SELF MODIFY LOOP -; libsrc/apple/hgrtile.pla: 0274: SEC - SEC -; libsrc/apple/hgrtile.pla: 0275: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0276: STA $D009 - STA $D009 -; libsrc/apple/hgrtile.pla: 0277: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0278: STA $D00A - STA $D00A -; libsrc/apple/hgrtile.pla: 0279: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0280: STA $D00B - STA $D00B -; libsrc/apple/hgrtile.pla: 0281: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0282: STA $D00C - STA $D00C -; libsrc/apple/hgrtile.pla: 0283: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0284: STA $D00D - STA $D00D -; libsrc/apple/hgrtile.pla: 0285: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0286: STA $D00E - STA $D00E -; libsrc/apple/hgrtile.pla: 0287: SBC #$04 - SBC #$04 -; libsrc/apple/hgrtile.pla: 0288: STA $D00F - STA $D00F -; libsrc/apple/hgrtile.pla: 0289: LDA ESTKL+1,X ; STRLEN - LDA ESTKL+1,X ; STRLEN -; libsrc/apple/hgrtile.pla: 0290: STX IPY - STX IPY -; libsrc/apple/hgrtile.pla: 0291: TAX ; DRAW RIGHT TO LEFT - TAX ; DRAW RIGHT TO LEFT -; libsrc/apple/hgrtile.pla: 0292: BEQ + - BEQ + -; libsrc/apple/hgrtile.pla: 0293: DEX - DEX -; libsrc/apple/hgrtile.pla: 0294: LDY #$00 - LDY #$00 -; libsrc/apple/hgrtile.pla: 0295: - STY SRCH -- STY SRCH -; libsrc/apple/hgrtile.pla: 0296: TXA - TXA -; libsrc/apple/hgrtile.pla: 0297: TAY - TAY -; libsrc/apple/hgrtile.pla: 0298: LDA (TMP),Y ; TILE INDEX * 8 - LDA (TMP),Y ; TILE INDEX * 8 -; libsrc/apple/hgrtile.pla: 0299: ASL - ASL -; libsrc/apple/hgrtile.pla: 0300: ROL SRCH - ROL SRCH -; libsrc/apple/hgrtile.pla: 0301: ASL - ASL -; libsrc/apple/hgrtile.pla: 0302: ROL SRCH - ROL SRCH -; libsrc/apple/hgrtile.pla: 0303: ASL - ASL -; libsrc/apple/hgrtile.pla: 0304: ROL SRCH - ROL SRCH -; libsrc/apple/hgrtile.pla: 0305: ; CLC ; CARRY IS CLEAR FROM ABOVE -; CLC ; CARRY IS CLEAR FROM ABOVE -; libsrc/apple/hgrtile.pla: 0306: ADC DSTL ; ADD TO TILESETPTR - ADC DSTL ; ADD TO TILESETPTR -; libsrc/apple/hgrtile.pla: 0307: STA SRCL - STA SRCL -; libsrc/apple/hgrtile.pla: 0308: LDA SRCH - LDA SRCH -; libsrc/apple/hgrtile.pla: 0309: ADC DSTH - ADC DSTH -; libsrc/apple/hgrtile.pla: 0310: STA SRCH - STA SRCH -; libsrc/apple/hgrtile.pla: 0311: LDY #$07 ; DRAW BOTTOM UP - LDY #$07 ; DRAW BOTTOM UP -; libsrc/apple/hgrtile.pla: 0312: end -; libsrc/apple/hgrtile.pla: 0313: asm _tileDSc -_A012 ; _tileDSc() -; libsrc/apple/hgrtile.pla: 0314: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0315: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0316: DEY - DEY -; libsrc/apple/hgrtile.pla: 0317: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0318: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0319: DEY - DEY -; libsrc/apple/hgrtile.pla: 0320: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0321: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0322: DEY - DEY -; libsrc/apple/hgrtile.pla: 0323: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0324: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0325: DEY - DEY -; libsrc/apple/hgrtile.pla: 0326: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0327: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0328: DEY - DEY -; libsrc/apple/hgrtile.pla: 0329: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0330: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0331: DEY - DEY -; libsrc/apple/hgrtile.pla: 0332: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0333: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0334: DEY - DEY -; libsrc/apple/hgrtile.pla: 0335: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/hgrtile.pla: 0336: STA $4000,X - STA $4000,X -; libsrc/apple/hgrtile.pla: 0337: DEX - DEX -; libsrc/apple/hgrtile.pla: 0338: BPL - - BPL - -; libsrc/apple/hgrtile.pla: 0339: LDX IPY - LDX IPY -; libsrc/apple/hgrtile.pla: 0340: + INX -+ INX -; libsrc/apple/hgrtile.pla: 0341: INX - INX -; libsrc/apple/hgrtile.pla: 0342: INX - INX -; libsrc/apple/hgrtile.pla: 0343: INX - INX -; libsrc/apple/hgrtile.pla: 0344: INX - INX -; libsrc/apple/hgrtile.pla: 0345: RTS - RTS -; libsrc/apple/hgrtile.pla: 0346: end -; libsrc/apple/hgrtile.pla: 0347: export def tileFromText(txtpage, tileset)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; txtpage -> [0] - ; tileset -> [2] -_C000 ; tileFromText() -; libsrc/apple/hgrtile.pla: 0348: byte y - ; y -> [4] -; libsrc/apple/hgrtile.pla: 0349: word txtptr - ; txtptr -> [5] -; libsrc/apple/hgrtile.pla: 0350: -; libsrc/apple/hgrtile.pla: 0351: txtptr = txtbuff[txtpage & 1] - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/apple/hgrtile.pla: 0352: for y = 0 to 23 - !BYTE $26 ; LA _D028+0 -_F000 !WORD _D028+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6C,$04 ; DLB [4] -; libsrc/apple/hgrtile.pla: 0353: tileDrawStr(0, y, rowaddr[y] | txtptr, 40, tileset) -; libsrc/apple/hgrtile.pla: 0354: next - !BYTE $00 ; CN 0 - !BYTE $64,$04 ; LLB [4] - !BYTE $26 ; LA _D030+0 -_F001 !WORD _D030+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $66,$05 ; LLW [5] - !BYTE $96 ; OR - !BYTE $2A,$28 ; CB 40 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A009 -_F002 !WORD _A009 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/hgrtile.pla: 0355: end - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/hgrtile.pla: 0356: // -; libsrc/apple/hgrtile.pla: 0357: // Set draw buffer -; libsrc/apple/hgrtile.pla: 0358: // -; libsrc/apple/hgrtile.pla: 0359: export def tileDrawBuf(page)#1 - ; page -> [0] -_C001 ; tileDrawBuf() -; libsrc/apple/hgrtile.pla: 0360: drawpage = page & 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/hgrtile.pla: 0361: drawbuff = hgrbuff[drawpage] -; libsrc/apple/hgrtile.pla: 0362: return drawpage - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $78 ; SAB _D035+0 -_F003 !WORD _D035+0 - !BYTE $26 ; LA _D029+0 -_F004 !WORD _D029+0 - !BYTE $BC ; IDXAB _D035+0 -_F005 !WORD _D035+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D036+0 -_F006 !WORD _D036+0 - !BYTE $68 ; LAB _D035+0 -_F007 !WORD _D035+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/hgrtile.pla: 0363: end -; libsrc/apple/hgrtile.pla: 0364: // -; libsrc/apple/hgrtile.pla: 0365: // Assembly fixups -; libsrc/apple/hgrtile.pla: 0366: // -; libsrc/apple/hgrtile.pla: 0367: _tileDraw:1 = @scanbttml -_INIT -; libsrc/apple/hgrtile.pla: 0368: _tileDraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0369: _tileDraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0370: _tileXDraw:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0371: _tileXDraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0372: _tileXDraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0373: _tileODraw:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0374: _tileODraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0375: _tileODraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0376: _tileADraw:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0377: _tileADraw:6 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0378: _tileADraw:9 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0379: _tileDSa:1 = @scanbttml -; libsrc/apple/hgrtile.pla: 0380: _tileDSa:4 = @_tileDSc.3 -; libsrc/apple/hgrtile.pla: 0381: _tileDSa:7 = @_tileDSc.9 -; libsrc/apple/hgrtile.pla: 0382: _tileDSa:10 = @_tileDSc.15 -; libsrc/apple/hgrtile.pla: 0383: _tileDSa:13 = @_tileDSc.21 -; libsrc/apple/hgrtile.pla: 0384: _tileDSa:16 = @_tileDSc.27 -; libsrc/apple/hgrtile.pla: 0385: _tileDSa:19 = @_tileDSc.33 -; libsrc/apple/hgrtile.pla: 0386: _tileDSa:22 = @_tileDSc.39 -; libsrc/apple/hgrtile.pla: 0387: _tileDSa:25 = @_tileDSc.45 -; libsrc/apple/hgrtile.pla: 0388: _tileDSa:28 = @_tileDSc.51 -; libsrc/apple/hgrtile.pla: 0389: _tileDSb:1 = @drawbuff.1 -; libsrc/apple/hgrtile.pla: 0390: _tileDSb:4 = @scanbttmh -; libsrc/apple/hgrtile.pla: 0391: _tileDSb:7 = @_tileDSc.4 -; libsrc/apple/hgrtile.pla: 0392: _tileDSb:13 = @_tileDSc.10 -; libsrc/apple/hgrtile.pla: 0393: _tileDSb:18 = @_tileDSc.16 -; libsrc/apple/hgrtile.pla: 0394: _tileDSb:23 = @_tileDSc.22 -; libsrc/apple/hgrtile.pla: 0395: _tileDSb:28 = @_tileDSc.28 -; libsrc/apple/hgrtile.pla: 0396: _tileDSb:33 = @_tileDSc.34 -; libsrc/apple/hgrtile.pla: 0397: _tileDSb:38 = @_tileDSc.40 -; libsrc/apple/hgrtile.pla: 0398: _tileDSb:43 = @_tileDSc.46 -; libsrc/apple/hgrtile.pla: 0399: // -; libsrc/apple/hgrtile.pla: 0400: // Keep module in memory -; libsrc/apple/hgrtile.pla: 0401: // -; libsrc/apple/hgrtile.pla: 0402: return modkeep - !BYTE $26 ; LA _D031+0 -_F008 !WORD _D031+0 - !BYTE $7A ; SAW _A002+1 -_F009 !WORD _A002+1 - !BYTE $26 ; LA _D036+1 -_F010 !WORD _D036+1 - !BYTE $7A ; SAW _A002+6 -_F011 !WORD _A002+6 - !BYTE $26 ; LA _D032+0 -_F012 !WORD _D032+0 - !BYTE $7A ; SAW _A002+9 -_F013 !WORD _A002+9 - !BYTE $26 ; LA _D031+0 -_F014 !WORD _D031+0 - !BYTE $7A ; SAW _A004+1 -_F015 !WORD _A004+1 - !BYTE $26 ; LA _D036+1 -_F016 !WORD _D036+1 - !BYTE $7A ; SAW _A004+6 -_F017 !WORD _A004+6 - !BYTE $26 ; LA _D032+0 -_F018 !WORD _D032+0 - !BYTE $7A ; SAW _A004+9 -_F019 !WORD _A004+9 - !BYTE $26 ; LA _D031+0 -_F020 !WORD _D031+0 - !BYTE $7A ; SAW _A006+1 -_F021 !WORD _A006+1 - !BYTE $26 ; LA _D036+1 -_F022 !WORD _D036+1 - !BYTE $7A ; SAW _A006+6 -_F023 !WORD _A006+6 - !BYTE $26 ; LA _D032+0 -_F024 !WORD _D032+0 - !BYTE $7A ; SAW _A006+9 -_F025 !WORD _A006+9 - !BYTE $26 ; LA _D031+0 -_F026 !WORD _D031+0 - !BYTE $7A ; SAW _A008+1 -_F027 !WORD _A008+1 - !BYTE $26 ; LA _D036+1 -_F028 !WORD _D036+1 - !BYTE $7A ; SAW _A008+6 -_F029 !WORD _A008+6 - !BYTE $26 ; LA _D032+0 -_F030 !WORD _D032+0 - !BYTE $7A ; SAW _A008+9 -_F031 !WORD _A008+9 - !BYTE $26 ; LA _D031+0 -_F032 !WORD _D031+0 - !BYTE $7A ; SAW _A010+1 -_F033 !WORD _A010+1 - !BYTE $26 ; LA _A012+3 -_F034 !WORD _A012+3 - !BYTE $7A ; SAW _A010+4 -_F035 !WORD _A010+4 - !BYTE $26 ; LA _A012+9 -_F036 !WORD _A012+9 - !BYTE $7A ; SAW _A010+7 -_F037 !WORD _A010+7 - !BYTE $26 ; LA _A012+15 -_F038 !WORD _A012+15 - !BYTE $7A ; SAW _A010+10 -_F039 !WORD _A010+10 - !BYTE $26 ; LA _A012+21 -_F040 !WORD _A012+21 - !BYTE $7A ; SAW _A010+13 -_F041 !WORD _A010+13 - !BYTE $26 ; LA _A012+27 -_F042 !WORD _A012+27 - !BYTE $7A ; SAW _A010+16 -_F043 !WORD _A010+16 - !BYTE $26 ; LA _A012+33 -_F044 !WORD _A012+33 - !BYTE $7A ; SAW _A010+19 -_F045 !WORD _A010+19 - !BYTE $26 ; LA _A012+39 -_F046 !WORD _A012+39 - !BYTE $7A ; SAW _A010+22 -_F047 !WORD _A010+22 - !BYTE $26 ; LA _A012+45 -_F048 !WORD _A012+45 - !BYTE $7A ; SAW _A010+25 -_F049 !WORD _A010+25 - !BYTE $26 ; LA _A012+51 -_F050 !WORD _A012+51 - !BYTE $7A ; SAW _A010+28 -_F051 !WORD _A010+28 - !BYTE $26 ; LA _D036+1 -_F052 !WORD _D036+1 - !BYTE $7A ; SAW _A011+1 -_F053 !WORD _A011+1 - !BYTE $26 ; LA _D032+0 -_F054 !WORD _D032+0 - !BYTE $7A ; SAW _A011+4 -_F055 !WORD _A011+4 - !BYTE $26 ; LA _A012+4 -_F056 !WORD _A012+4 - !BYTE $7A ; SAW _A011+7 -_F057 !WORD _A011+7 - !BYTE $26 ; LA _A012+10 -_F058 !WORD _A012+10 - !BYTE $7A ; SAW _A011+13 -_F059 !WORD _A011+13 - !BYTE $26 ; LA _A012+16 -_F060 !WORD _A012+16 - !BYTE $7A ; SAW _A011+18 -_F061 !WORD _A011+18 - !BYTE $26 ; LA _A012+22 -_F062 !WORD _A012+22 - !BYTE $7A ; SAW _A011+23 -_F063 !WORD _A011+23 - !BYTE $26 ; LA _A012+28 -_F064 !WORD _A012+28 - !BYTE $7A ; SAW _A011+28 -_F065 !WORD _A011+28 - !BYTE $26 ; LA _A012+34 -_F066 !WORD _A012+34 - !BYTE $7A ; SAW _A011+33 -_F067 !WORD _A011+33 - !BYTE $26 ; LA _A012+40 -_F068 !WORD _A012+40 - !BYTE $7A ; SAW _A011+38 -_F069 !WORD _A011+38 - !BYTE $26 ; LA _A012+46 -_F070 !WORD _A012+46 - !BYTE $7A ; SAW _A011+43 -_F071 !WORD _A011+43 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/hgrtile.pla: 0403: done -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: TILEDRAW - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: TILEXORDRAW - !BYTE $D4,$C9,$CC,$C5,$D8,$CF,$D2,$C4,$D2,$C1,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: TILEORDRAW - !BYTE $D4,$C9,$CC,$C5,$CF,$D2,$C4,$D2,$C1,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: TILEANDDRAW - !BYTE $D4,$C9,$CC,$C5,$C1,$CE,$C4,$C4,$D2,$C1,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A007 - ; DCI STRING: TILEDRAWSTR - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$D7,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A009 - ; DCI STRING: TILEFROMTEXT - !BYTE $D4,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D4,$C5,$D8,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: TILEDRAWBUF - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/jit.a b/src/libsrc/apple/jit.a deleted file mode 100644 index 6737361..0000000 --- a/src/libsrc/apple/jit.a +++ /dev/null @@ -1,7090 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/jit.pla: 0001: // -; libsrc/apple/jit.pla: 0002: // PLASMA JIT bytecode compiler -; libsrc/apple/jit.pla: 0003: // -; libsrc/apple/jit.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/jit.pla: 0004: -; libsrc/apple/jit.pla: 0005: // -; libsrc/apple/jit.pla: 0006: // Indirect interpreter DEFinition entrypoint -; libsrc/apple/jit.pla: 0007: // -; libsrc/apple/jit.pla: 0008: struc t_defentry - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/apple/jit.pla: 0009: byte interpjsr - ; interpjsr = 0 -; libsrc/apple/jit.pla: 0010: word interpaddr - ; interpaddr = 1 -; libsrc/apple/jit.pla: 0011: word bytecodeaddr - ; bytecodeaddr = 3 -; libsrc/apple/jit.pla: 0012: byte callcount - ; callcount = 5 -; libsrc/apple/jit.pla: 0013: byte bytecodesize - ; bytecodesize = 6 -; libsrc/apple/jit.pla: 0014: end - ; t_defentry = 7 -; libsrc/apple/jit.pla: 0015: // -; libsrc/apple/jit.pla: 0016: // JIT compiler constants -; libsrc/apple/jit.pla: 0017: // -; libsrc/apple/jit.pla: 0018: const jitcomp = $03E2 - ; jitcomp = 994 -; libsrc/apple/jit.pla: 0019: const jitcodeptr = $03E4 - ; jitcodeptr = 996 -; libsrc/apple/jit.pla: 0020: const codemax = $BEE0 - ; codemax = 48864 -; libsrc/apple/jit.pla: 0021: const estkh8 = $A000 - ; estkh8 = 40960 -; libsrc/apple/jit.pla: 0022: const estkh = $00A0 - ; estkh = 160 -; libsrc/apple/jit.pla: 0023: const estkl8 = $C000 - ; estkl8 = 49152 -; libsrc/apple/jit.pla: 0024: const estkl = $00C0 - ; estkl = 192 -; libsrc/apple/jit.pla: 0025: const ifpl8 = $E000 - ; ifpl8 = 57344 -; libsrc/apple/jit.pla: 0026: const ifph8 = $E100 - ; ifph8 = 57600 -; libsrc/apple/jit.pla: 0027: const jmptmp = $00E6 - ; jmptmp = 230 -; libsrc/apple/jit.pla: 0028: const tmpl8 = $E700 - ; tmpl8 = 59136 -; libsrc/apple/jit.pla: 0029: const tmph8 = $E800 - ; tmph8 = 59392 -; libsrc/apple/jit.pla: 0030: // -; libsrc/apple/jit.pla: 0031: // Bytecode interpreter entrypoints -; libsrc/apple/jit.pla: 0032: // -; libsrc/apple/jit.pla: 0033: const indirectentry = $03DC - ; indirectentry = 988 -; libsrc/apple/jit.pla: 0034: const directentry = $03D0 - ; directentry = 976 -; libsrc/apple/jit.pla: 0035: // -; libsrc/apple/jit.pla: 0036: // Copy bytecode DEF to main memory -; libsrc/apple/jit.pla: 0037: // -; libsrc/apple/jit.pla: 0038: def defcpy(dst, defptr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; dst -> [0] - ; defptr -> [2] -_C000 ; defcpy() -; libsrc/apple/jit.pla: 0039: *$003C = defptr=>bytecodeaddr - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/jit.pla: 0040: *$003E = *$003C + defptr->bytecodesize -; libsrc/apple/jit.pla: 0041: *$0042 = dst -; libsrc/apple/jit.pla: 0042: call($C311, 0, 0, 0, $04) // CALL XMOVE with carry clear (AUX->MAIN) and ints disabled -; libsrc/apple/jit.pla: 0043: end - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $7E,$3C,$00 ; DAW 60 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $7A,$3E,$00 ; SAW 62 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A,$42,$00 ; SAW 66 - !BYTE $2C,$11,$C3 ; CW 49937 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F000 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/jit.pla: 0044: include "libsrc/jitcore.pla" -; libsrc/jitcore.pla: 0001: // -; libsrc/jitcore.pla: 0002: // TOS caching values -; libsrc/jitcore.pla: 0003: // -; libsrc/jitcore.pla: 0004: const TOS_DIRTY = 1 - ; TOS_DIRTY = 1 -; libsrc/jitcore.pla: 0005: const TOS_CLEAN = 2 - ; TOS_CLEAN = 2 -; libsrc/jitcore.pla: 0006: // -; libsrc/jitcore.pla: 0007: // Y unknown value -; libsrc/jitcore.pla: 0008: // -; libsrc/jitcore.pla: 0009: const UNKNOWN = -1 - ; UNKNOWN = -1 -; libsrc/jitcore.pla: 0010: // -; libsrc/jitcore.pla: 0011: // Resolve virtual X with real X -; libsrc/jitcore.pla: 0012: // -; libsrc/jitcore.pla: 0013: def resolveX(codeptr, VX)#2 - ; codeptr -> [0] - ; VX -> [2] -_C001 ; resolveX() -; libsrc/jitcore.pla: 0014: while VX > 0 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; libsrc/jitcore.pla: 0015: ^codeptr = $E8; codeptr++ // INX - !BYTE $2A,$E8 ; CB 232 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0016: VX-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0017: loop - !BYTE $76,$02 ; SLW [2] -_B003 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/jitcore.pla: 0018: while VX < 0 - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; libsrc/jitcore.pla: 0019: ^codeptr = $CA; codeptr++ // DEX - !BYTE $2A,$CA ; CB 202 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0020: VX++ - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0021: loop - !BYTE $76,$02 ; SLW [2] -_B006 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/jitcore.pla: 0022: return codeptr, 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/jitcore.pla: 0023: end -; libsrc/jitcore.pla: 0024: // -; libsrc/jitcore.pla: 0025: // JIT compiler entry -; libsrc/jitcore.pla: 0026: // -; libsrc/jitcore.pla: 0027: def compiler(defptr)#0 - ; defptr -> [0] -_C002 ; compiler() -; libsrc/jitcore.pla: 0028: word codeptr, isdata[], addrxlate, bytecode, i, case, dest, VX, VY - ; codeptr -> [2] - ; isdata -> [4] - ; addrxlate -> [4] - ; bytecode -> [6] - ; i -> [8] - ; case -> [10] - ; dest -> [12] - ; VX -> [14] - ; VY -> [16] -; libsrc/jitcore.pla: 0029: byte opcode, j, A_IS_TOSL - ; opcode -> [18] - ; j -> [19] - ; A_IS_TOSL -> [20] -; libsrc/jitcore.pla: 0030: -; libsrc/jitcore.pla: 0031: defptr=>interpaddr = indirectentry // assume compile will fail - !BYTE $58,$15,$01 ; ENTER 21,1 -; libsrc/jitcore.pla: 0032: addrxlate = heapmark // heapalloc(512 + defptr->bytecodesize) -; libsrc/jitcore.pla: 0033: if isult(heapavail, 512 + defptr->bytecodesize) // 256 * sizeof(word) address xlate -; libsrc/jitcore.pla: 0034: // -; libsrc/jitcore.pla: 0035: // Not enough heap available -; libsrc/jitcore.pla: 0036: // -; libsrc/jitcore.pla: 0037: //puts("Not enough free heap\n") -; libsrc/jitcore.pla: 0038: return - !BYTE $2C,$DC,$03 ; CW 988 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $54 ; CALL _X012 -_F001 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $54 ; CALL _X016 -_F002 !WORD 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X026 -_F003 !WORD 0 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/jitcore.pla: 0039: fin -_B007 -_B008 -; libsrc/jitcore.pla: 0040: // -; libsrc/jitcore.pla: 0041: // Copy bytecode def from AUX to heap for compiling -; libsrc/jitcore.pla: 0042: // -; libsrc/jitcore.pla: 0043: bytecode = addrxlate + 512 // def bytecode -; libsrc/jitcore.pla: 0044: defcpy(bytecode, defptr) -; libsrc/jitcore.pla: 0045: //puts("JITC:$"); puth(defptr=>bytecodeaddr); puts("=>$"); puth(bytecode) -; libsrc/jitcore.pla: 0046: //puts(",$"); puth(defptr->bytecodesize); putln -; libsrc/jitcore.pla: 0047: // -; libsrc/jitcore.pla: 0048: // Find all branch targets and optimization fences. Tag the opcode with the LSB set -; libsrc/jitcore.pla: 0049: // -; libsrc/jitcore.pla: 0050: // All PLASMA ops are even (LSB clear), so this will flag when to fence optimizations -; libsrc/jitcore.pla: 0051: // During compiling. -; libsrc/jitcore.pla: 0052: // -; libsrc/jitcore.pla: 0053: //isdata = addrxlate // Use this buffer -; libsrc/jitcore.pla: 0054: memset(isdata, 0, 256) // Clear isdata buffer -; libsrc/jitcore.pla: 0055: i = 0 -; libsrc/jitcore.pla: 0056: while i < defptr->bytecodesize - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $6E,$06 ; DLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F004 !WORD _C000 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X017 -_F005 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B009 -; libsrc/jitcore.pla: 0057: if not ^(isdata+i) -; libsrc/jitcore.pla: 0058: //puth(bytecode+i); putc(':'); putb(^(bytecode+i) & $FE); putln; getc -; libsrc/jitcore.pla: 0059: when ^(bytecode+i) & $FE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $3C,$FE ; ANDI 254 - !BYTE $52 ; SEL - !WORD _B015-* -; libsrc/jitcore.pla: 0060: // -; libsrc/jitcore.pla: 0061: // Double byte operands -; libsrc/jitcore.pla: 0062: // -; libsrc/jitcore.pla: 0063: is $26 // LA -_B016 -; libsrc/jitcore.pla: 0064: is $2C // CW -_B017 -; libsrc/jitcore.pla: 0065: is $54 // CALL -_B018 -; libsrc/jitcore.pla: 0066: is $58 // ENTER -_B019 -; libsrc/jitcore.pla: 0067: is $68 // LAB -_B020 -; libsrc/jitcore.pla: 0068: is $6A // LAW -_B021 -; libsrc/jitcore.pla: 0069: is $78 // SAB -_B022 -; libsrc/jitcore.pla: 0070: is $7A // SAW -_B023 -; libsrc/jitcore.pla: 0071: is $7C // DAB -_B024 -; libsrc/jitcore.pla: 0072: is $7E // DAW -_B025 -; libsrc/jitcore.pla: 0073: is $B4 // ADDAB -_B026 -; libsrc/jitcore.pla: 0074: is $B6 // ADDAW -_B027 -; libsrc/jitcore.pla: 0075: is $BC // IDXAB -_B028 -; libsrc/jitcore.pla: 0076: is $BE // IDXAW -_B029 -; libsrc/jitcore.pla: 0077: i = i + 2 -; libsrc/jitcore.pla: 0078: break - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0079: // -; libsrc/jitcore.pla: 0080: // Multi-byte operands -; libsrc/jitcore.pla: 0081: // -; libsrc/jitcore.pla: 0082: is $2E // CS -_B030 -; libsrc/jitcore.pla: 0083: i = i + ^(bytecode+i+1) -; libsrc/jitcore.pla: 0084: // -; libsrc/jitcore.pla: 0085: // Single byte operands -; libsrc/jitcore.pla: 0086: // -; libsrc/jitcore.pla: 0087: is $2A // CB - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] -_B031 -; libsrc/jitcore.pla: 0088: is $28 // LLA -_B032 -; libsrc/jitcore.pla: 0089: is $38 // ADDI -_B033 -; libsrc/jitcore.pla: 0090: is $3A // SUBI -_B034 -; libsrc/jitcore.pla: 0091: is $3C // ANDI -_B035 -; libsrc/jitcore.pla: 0092: is $3E // ORI -_B036 -; libsrc/jitcore.pla: 0093: is $5A // LEAVE -_B037 -; libsrc/jitcore.pla: 0094: is $5E // CFFB -_B038 -; libsrc/jitcore.pla: 0095: is $64 // LLB -_B039 -; libsrc/jitcore.pla: 0096: is $66 // LLW -_B040 -; libsrc/jitcore.pla: 0097: is $6C // DLB -_B041 -; libsrc/jitcore.pla: 0098: is $6E // DLW -_B042 -; libsrc/jitcore.pla: 0099: is $74 // SLB -_B043 -; libsrc/jitcore.pla: 0100: is $76 // SLW -_B044 -; libsrc/jitcore.pla: 0101: is $B0 // ADDLB -_B045 -; libsrc/jitcore.pla: 0102: is $B2 // ADDLW -_B046 -; libsrc/jitcore.pla: 0103: is $B8 // IDXLB -_B047 -; libsrc/jitcore.pla: 0104: is $BA // IDXLW -_B048 -; libsrc/jitcore.pla: 0105: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0106: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0107: // -; libsrc/jitcore.pla: 0108: // Branches -; libsrc/jitcore.pla: 0109: // -; libsrc/jitcore.pla: 0110: is $50 // BRNCH -_B049 -; libsrc/jitcore.pla: 0111: is $22 // BREQ -_B050 -; libsrc/jitcore.pla: 0112: is $24 // BRNE -_B051 -; libsrc/jitcore.pla: 0113: is $4C // BRFLS -_B052 -; libsrc/jitcore.pla: 0114: is $4E // BRTRU -_B053 -; libsrc/jitcore.pla: 0115: is $A0 // BRGT -_B054 -; libsrc/jitcore.pla: 0116: is $A2 // BRLT -_B055 -; libsrc/jitcore.pla: 0117: is $A4 // INCBRLE -_B056 -; libsrc/jitcore.pla: 0118: is $A6 // ADDBRLE -_B057 -; libsrc/jitcore.pla: 0119: is $A8 // DECBRGE -_B058 -; libsrc/jitcore.pla: 0120: is $AA // SUBBRGE -_B059 -; libsrc/jitcore.pla: 0121: is $AC // BRAND -_B060 -; libsrc/jitcore.pla: 0122: is $AE // BROR -_B061 -; libsrc/jitcore.pla: 0123: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0124: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0125: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0126: ^(bytecode+dest) = ^(bytecode+dest) | 1 // Flag as branch dest -; libsrc/jitcore.pla: 0127: break - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0128: // -; libsrc/jitcore.pla: 0129: // SELect/caseblock -; libsrc/jitcore.pla: 0130: // -; libsrc/jitcore.pla: 0131: is $52 // SEL -_B062 -; libsrc/jitcore.pla: 0132: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0133: case = i + *(bytecode+i) -; libsrc/jitcore.pla: 0134: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0135: ^(isdata+case) = TRUE // Flag as data -; libsrc/jitcore.pla: 0136: j = ^(bytecode+case) -; libsrc/jitcore.pla: 0137: case++ - !BYTE $76,$08 ; SLW [8] - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0138: repeat - !BYTE $76,$0A ; SLW [10] -_B064 -; libsrc/jitcore.pla: 0139: *(isdata+case) = TRUE // Flag as data -; libsrc/jitcore.pla: 0140: case = case + 2 -; libsrc/jitcore.pla: 0141: dest = case + *(bytecode+case) -; libsrc/jitcore.pla: 0142: ^(bytecode+dest) = ^(bytecode+dest) | 1 // Flag as branch dest -; libsrc/jitcore.pla: 0143: *(isdata+case) = TRUE // Flag as data -; libsrc/jitcore.pla: 0144: case = case + 2 -; libsrc/jitcore.pla: 0145: j-- - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$13 ; LLB [19] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0146: until not j - !BYTE $74,$13 ; SLB [19] -_B065 - !BYTE $64,$13 ; LLB [19] - !BYTE $4E ; BRTRU _B064 - !WORD _B064-* -_B063 -; libsrc/jitcore.pla: 0147: break - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0148: wend - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B015 - !BYTE $2F ; CASEBLOCK - !WORD $0022 - !WORD _B050-* - !WORD $0024 - !WORD _B051-* - !WORD $0026 - !WORD _B016-* - !WORD $0028 - !WORD _B032-* - !WORD $002A - !WORD _B031-* - !WORD $002C - !WORD _B017-* - !WORD $002E - !WORD _B030-* - !WORD $0038 - !WORD _B033-* - !WORD $003A - !WORD _B034-* - !WORD $003C - !WORD _B035-* - !WORD $003E - !WORD _B036-* - !WORD $004C - !WORD _B052-* - !WORD $004E - !WORD _B053-* - !WORD $0050 - !WORD _B049-* - !WORD $0052 - !WORD _B062-* - !WORD $0054 - !WORD _B018-* - !WORD $0058 - !WORD _B019-* - !WORD $005A - !WORD _B037-* - !WORD $005E - !WORD _B038-* - !WORD $0064 - !WORD _B039-* - !WORD $0066 - !WORD _B040-* - !WORD $0068 - !WORD _B020-* - !WORD $006A - !WORD _B021-* - !WORD $006C - !WORD _B041-* - !WORD $006E - !WORD _B042-* - !WORD $0074 - !WORD _B043-* - !WORD $0076 - !WORD _B044-* - !WORD $0078 - !WORD _B022-* - !WORD $007A - !WORD _B023-* - !WORD $007C - !WORD _B024-* - !WORD $007E - !WORD _B025-* - !WORD $00A0 - !WORD _B054-* - !WORD $00A2 - !WORD _B055-* - !WORD $00A4 - !WORD _B056-* - !WORD $00A6 - !WORD _B057-* - !WORD $00A8 - !WORD _B058-* - !WORD $00AA - !WORD _B059-* - !WORD $00AC - !WORD _B060-* - !WORD $00AE - !WORD _B061-* - !WORD $00B0 - !WORD _B045-* - !WORD $00B2 - !WORD _B046-* - !WORD $00B4 - !WORD _B026-* - !WORD $00B6 - !WORD _B027-* - !WORD $00B8 - !WORD _B047-* - !WORD $00BA - !WORD _B048-* - !WORD $00BC - !WORD _B028-* - !WORD $00BE - !WORD _B029-* -_B014 -; libsrc/jitcore.pla: 0149: fin -_B012 -_B013 -; libsrc/jitcore.pla: 0150: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0151: loop - !BYTE $76,$08 ; SLW [8] -_B011 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* -_B010 -; libsrc/jitcore.pla: 0152: // -; libsrc/jitcore.pla: 0153: // Compile the bytecodes -; libsrc/jitcore.pla: 0154: // -; libsrc/jitcore.pla: 0155: memset(addrxlate, 0, 512) // Clear xlate buffer -; libsrc/jitcore.pla: 0156: //puts("Bytecode: $"); puth(bytecode); putln; getc -; libsrc/jitcore.pla: 0157: codeptr = *jitcodeptr -; libsrc/jitcore.pla: 0158: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0159: VY = UNKNOWN // Virtual Y register -; libsrc/jitcore.pla: 0160: VX = 0 // Virtual X register -; libsrc/jitcore.pla: 0161: i = 0 -; libsrc/jitcore.pla: 0162: if ^bytecode == $58 -; libsrc/jitcore.pla: 0163: //putc('$'); puth(codeptr);//puts(":[0] ENTER "); puti(^(bytecode+1)); putc(',');puti(^(bytecode+2)); putln -; libsrc/jitcore.pla: 0164: // -; libsrc/jitcore.pla: 0165: // Call into VM -; libsrc/jitcore.pla: 0166: // -; libsrc/jitcore.pla: 0167: codeptr->0 = $20 // JSR INTERP -; libsrc/jitcore.pla: 0168: codeptr=>1 = directentry -; libsrc/jitcore.pla: 0169: codeptr->3 = $58 // ENTER CODE -; libsrc/jitcore.pla: 0170: codeptr=>4 = *(bytecode+1) // ENTER FRAME SIZE & ARG COUNT -; libsrc/jitcore.pla: 0171: codeptr->6 = $C0 // NATV CODE -; libsrc/jitcore.pla: 0172: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0173: i = 3 -; libsrc/jitcore.pla: 0174: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X017 -_F006 !WORD 0 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $2A,$58 ; CB 88 - !BYTE $24 ; BRNE _B066 - !WORD _B066-* - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$58 ; CB 88 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $06 ; CN 3 - !BYTE $76,$08 ; SLW [8] -_B066 -_B067 -; libsrc/jitcore.pla: 0175: while isule(codeptr, codemax) - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B068 -; libsrc/jitcore.pla: 0176: //putc('$'); puth(codeptr); putc(':') -; libsrc/jitcore.pla: 0177: //putc('['); puti(i); //puts("] ") -; libsrc/jitcore.pla: 0178: opcode = ^(bytecode+i) -; libsrc/jitcore.pla: 0179: if opcode & 1 -; libsrc/jitcore.pla: 0180: // -; libsrc/jitcore.pla: 0181: // Optimization fence. Sync A and X registers -; libsrc/jitcore.pla: 0182: // -; libsrc/jitcore.pla: 0183: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0184: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0185: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0186: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0187: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $6C,$12 ; DLB [18] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F007 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B073 -_B074 -; libsrc/jitcore.pla: 0188: VY = UNKNOWN -; libsrc/jitcore.pla: 0189: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0190: opcode = opcode & $FE -; libsrc/jitcore.pla: 0191: fin - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$FE ; ANDI 254 - !BYTE $74,$12 ; SLB [18] -_B071 -_B072 -; libsrc/jitcore.pla: 0192: // -; libsrc/jitcore.pla: 0193: // Update bytecode->native code address translation. -; libsrc/jitcore.pla: 0194: // -; libsrc/jitcore.pla: 0195: // Here's how it works: -; libsrc/jitcore.pla: 0196: // -; libsrc/jitcore.pla: 0197: // The code buffer is above address $8000 so MSBit set. -; libsrc/jitcore.pla: 0198: // When we compile a bytecode, update the destination address in -; libsrc/jitcore.pla: 0199: // the address xlate buffer with actual address (MSBit set). But, if a branch -; libsrc/jitcore.pla: 0200: // opcode jumps to a bytecode address that hasn't been compiled yet, add the -; libsrc/jitcore.pla: 0201: // address offset in the code buffer to the list of addresses needing resolution. -; libsrc/jitcore.pla: 0202: // The offset will be less than $8000, so MSBit clear. This is how we know if -; libsrc/jitcore.pla: 0203: // an address has been resolved or is a list of addresses needing resolution. -; libsrc/jitcore.pla: 0204: // Before updating the address xlate buffer with the known address as we -; libsrc/jitcore.pla: 0205: // compile, look for existing resolution list and traverse it if there. -; libsrc/jitcore.pla: 0206: // -; libsrc/jitcore.pla: 0207: if addrxlate=>[i] -; libsrc/jitcore.pla: 0208: // -; libsrc/jitcore.pla: 0209: // Address list awaiting resolution -; libsrc/jitcore.pla: 0210: // -; libsrc/jitcore.pla: 0211: dest = addrxlate=>[i] + *jitcodeptr -; libsrc/jitcore.pla: 0212: repeat - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $B6,$E4,$03 ; ADDAW 996 - !BYTE $76,$0C ; SLW [12] -_B078 -; libsrc/jitcore.pla: 0213: case = *dest -; libsrc/jitcore.pla: 0214: *dest = codeptr -; libsrc/jitcore.pla: 0215: dest = case + *jitcodeptr -; libsrc/jitcore.pla: 0216: until not case - !BYTE $66,$0C ; LLW [12] - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0C ; LLW [12] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $B6,$E4,$03 ; ADDAW 996 - !BYTE $76,$0C ; SLW [12] -_B079 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B078 - !WORD _B078-* -_B077 -; libsrc/jitcore.pla: 0217: fin -_B075 -_B076 -; libsrc/jitcore.pla: 0218: // -; libsrc/jitcore.pla: 0219: // Update address translate buffer with bytecode->native address -; libsrc/jitcore.pla: 0220: // -; libsrc/jitcore.pla: 0221: addrxlate=>[i] = codeptr -; libsrc/jitcore.pla: 0222: // -; libsrc/jitcore.pla: 0223: // Compile this bad boy... -; libsrc/jitcore.pla: 0224: // -; libsrc/jitcore.pla: 0225: if opcode < $20 // CONSTANT NYBBLE -; libsrc/jitcore.pla: 0226: //puts("CN $"); putb(opcode/2) -; libsrc/jitcore.pla: 0227: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0228: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0229: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0230: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$20 ; CB 32 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B082 -_B083 -; libsrc/jitcore.pla: 0231: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0232: if VY <> 0 -; libsrc/jitcore.pla: 0233: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0234: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0235: VY = 0 -; libsrc/jitcore.pla: 0236: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B084 -_B085 -; libsrc/jitcore.pla: 0237: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0238: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0239: if opcode == 0 -; libsrc/jitcore.pla: 0240: ^codeptr = $98; codeptr++ // TYA -> LDA #$00 - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$12 ; LLB [18] - !BYTE $4E ; BRTRU _B086 - !WORD _B086-* - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0241: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B087 - !WORD _B087-* -_B086 -; libsrc/jitcore.pla: 0242: *codeptr = $A9+(opcode/2<<8) // LDA #(CN/2) -; libsrc/jitcore.pla: 0243: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0244: fin - !BYTE $2A,$A9 ; CB 169 - !BYTE $64,$12 ; LLB [18] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B087 -; libsrc/jitcore.pla: 0245: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0246: else - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B080 -; libsrc/jitcore.pla: 0247: when opcode - !BYTE $64,$12 ; LLB [18] - !BYTE $52 ; SEL - !WORD _B089-* -; libsrc/jitcore.pla: 0248: is $20 // MINUS ONE -_B090 -; libsrc/jitcore.pla: 0249: //puts("MINUS_ONE") -; libsrc/jitcore.pla: 0250: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0251: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0252: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0253: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B091 -_B092 -; libsrc/jitcore.pla: 0254: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0255: codeptr=>0 = $FFA9 // LDA #$FF -; libsrc/jitcore.pla: 0256: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0257: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0258: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0259: break - !BYTE $76,$0E ; SLW [14] - !BYTE $5E,$A9 ; CFFB 65449 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0260: is $22 // BREQ -_B093 -; libsrc/jitcore.pla: 0261: is $24 // BRNE -_B094 -; libsrc/jitcore.pla: 0262: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0263: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0264: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0265: codeptr, VX = resolveX(codeptr, VX + 2) // INX; INX -; libsrc/jitcore.pla: 0266: if not A_IS_TOSL -; libsrc/jitcore.pla: 0267: *codeptr = estkl8+$B5-$0200//+(VX<<8) // LDA ESTKL-2,X -; libsrc/jitcore.pla: 0268: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0269: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C001 -_F008 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B095 - !WORD _B095-* - !BYTE $2C,$B5,$BE ; CW 48821 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B095 -_B096 -; libsrc/jitcore.pla: 0270: if opcode == $22 -; libsrc/jitcore.pla: 0271: //puts("BREQ "); puti(dest) -; libsrc/jitcore.pla: 0272: codeptr=>2 = $09D0 // BNE +9 -; libsrc/jitcore.pla: 0273: codeptr=>8 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 0274: else - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$22 ; CB 34 - !BYTE $24 ; BRNE _B097 - !WORD _B097-* - !BYTE $2C,$D0,$09 ; CW 2512 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B098 - !WORD _B098-* -_B097 -; libsrc/jitcore.pla: 0275: //puts("BRNE "); puti(dest) -; libsrc/jitcore.pla: 0276: codeptr=>2 = $06D0 // BNE +6 -; libsrc/jitcore.pla: 0277: codeptr=>8 = $03F0 // BEQ +3 -; libsrc/jitcore.pla: 0278: fin - !BYTE $2C,$D0,$06 ; CW 1744 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW -_B098 -; libsrc/jitcore.pla: 0279: codeptr=>0 = estkl8+$D5-$0100//+(VX<<8) // CMP ESTKL-1,X -; libsrc/jitcore.pla: 0280: codeptr=>4 = estkh8+$B5-$0200//+(VX<<8) // LDA ESTKH-2,X -; libsrc/jitcore.pla: 0281: codeptr=>6 = estkh8+$D5-$0100//+(VX<<8) // CMP ESTKH-1,X -; libsrc/jitcore.pla: 0282: codeptr->10 = $4C // JMP abs -; libsrc/jitcore.pla: 0283: codeptr=>11 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0284: if not (codeptr->12 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0285: addrxlate=>[dest] = codeptr + 11 - *jitcodeptr -; libsrc/jitcore.pla: 0286: fin - !BYTE $2C,$D5,$BF ; CW 49109 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$9E ; CW 40629 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D5,$9F ; CW 40917 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B099 - !WORD _B099-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B099 -_B100 -; libsrc/jitcore.pla: 0287: codeptr = codeptr + 13 -; libsrc/jitcore.pla: 0288: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0289: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0290: is $26 // LA -_B101 -; libsrc/jitcore.pla: 0291: is $2C // CW -_B102 -; libsrc/jitcore.pla: 0292: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0293: i = i + 2 -; libsrc/jitcore.pla: 0294: //puts("LA/CW $"); puth(dest) -; libsrc/jitcore.pla: 0295: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0296: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0297: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0298: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B103 -_B104 -; libsrc/jitcore.pla: 0299: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0300: codeptr=>0 = $A9+(dest&$FF00) // LDA #2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0302: codeptr=>4 = $A9+(dest<<8) // LDA #>VAL -; libsrc/jitcore.pla: 0303: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0304: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0305: break - !BYTE $76,$0E ; SLW [14] - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$0C ; LLW [12] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$0C ; LLW [12] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0306: is $28 // LLA -_B105 -; libsrc/jitcore.pla: 0307: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0308: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0309: //puts("LLA "); puti(^(bytecode+i)) -; libsrc/jitcore.pla: 0310: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0311: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0312: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0313: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B106 - !WORD _B106-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B106 -_B107 -; libsrc/jitcore.pla: 0314: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0315: if VY == j -; libsrc/jitcore.pla: 0316: ^codeptr = $98; codeptr++ // TYA -> LDA #imm - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $24 ; BRNE _B108 - !WORD _B108-* - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0317: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B109 - !WORD _B109-* -_B108 -; libsrc/jitcore.pla: 0318: *codeptr = $A9+(j<<8) // LDA #imm -; libsrc/jitcore.pla: 0319: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0320: fin - !BYTE $2A,$A9 ; CB 169 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B109 -; libsrc/jitcore.pla: 0321: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 0322: codeptr=>1 = ifpl8+$65 // ADC IFPL -; libsrc/jitcore.pla: 0323: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0324: if VY == 0 -; libsrc/jitcore.pla: 0325: codeptr->5 = $98 // TYA -> LDA #00 -; libsrc/jitcore.pla: 0326: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0327: else - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$65,$E0 ; CW 57445 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$10 ; LLW [16] - !BYTE $4E ; BRTRU _B110 - !WORD _B110-* - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B110 -; libsrc/jitcore.pla: 0328: codeptr=>5 = $00A9 // LDA #$00 -; libsrc/jitcore.pla: 0329: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0330: fin - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] -_B111 -; libsrc/jitcore.pla: 0331: codeptr=>0 = ifph8+$65 // ADC IFPH -; libsrc/jitcore.pla: 0332: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0333: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0334: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0335: break - !BYTE $2C,$65,$E1 ; CW 57701 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0336: is $2A // CB -_B112 -; libsrc/jitcore.pla: 0337: is $5E // CFFB -_B113 -; libsrc/jitcore.pla: 0338: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0339: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0340: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0341: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0342: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B114 -_B115 -; libsrc/jitcore.pla: 0343: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0344: if opcode == $2A -; libsrc/jitcore.pla: 0345: //puts("CB $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0346: if VY <> 0 -; libsrc/jitcore.pla: 0347: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0348: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0349: VY = 0 -; libsrc/jitcore.pla: 0350: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$2A ; CB 42 - !BYTE $24 ; BRNE _B116 - !WORD _B116-* - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B118 - !WORD _B118-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B118 -_B119 -; libsrc/jitcore.pla: 0351: codeptr=>0 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0352: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0353: else - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B117 - !WORD _B117-* -_B116 -; libsrc/jitcore.pla: 0354: //puts("CFFB $FF"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0355: codeptr=>0 = $FFA9 // LDA #$FF -; libsrc/jitcore.pla: 0356: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0357: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0358: fin - !BYTE $5E,$A9 ; CFFB 65449 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] -_B117 -; libsrc/jitcore.pla: 0359: *codeptr = $A9+(^(bytecode+i)<<8) // LDA #imm -; libsrc/jitcore.pla: 0360: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0361: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0362: break - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0363: is $2E // CS -_B120 -; libsrc/jitcore.pla: 0364: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0365: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0366: dest = codeptr + 10 + j -; libsrc/jitcore.pla: 0367: //puts("CS "); //puts(bytecode+i); //puts("-->"); puti(dest) -; libsrc/jitcore.pla: 0368: if isule(dest, codemax) -; libsrc/jitcore.pla: 0369: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0370: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0371: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0372: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $B0,$13 ; ADDLB [19] - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$E0,$BE ; CW 48864 - !BYTE $54 ; CALL _X027 -_F009 !WORD 0 - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B123 -_B124 -; libsrc/jitcore.pla: 0373: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0374: codeptr=>0 = $A9+((codeptr+9)&$FF00) // LDA #>STRING -; libsrc/jitcore.pla: 0375: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0376: codeptr=>4 = $A9+((codeptr+9)<<8) // LDA #6 = $4C // JMP abs -; libsrc/jitcore.pla: 0378: dest = codeptr + 10 + j -; libsrc/jitcore.pla: 0379: codeptr=>7 = dest -; libsrc/jitcore.pla: 0380: strcpy(codeptr + 9, bytecode + i) -; libsrc/jitcore.pla: 0381: i = i + j -; libsrc/jitcore.pla: 0382: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $B0,$13 ; ADDLB [19] - !BYTE $6E,$0C ; DLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $54 ; CALL _X019 -_F010 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $B0,$13 ; ADDLB [19] - !BYTE $76,$08 ; SLW [8] -_B121 -_B122 -; libsrc/jitcore.pla: 0383: codeptr = dest -; libsrc/jitcore.pla: 0384: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0385: break - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0386: is $32 // DROP2 -_B125 -; libsrc/jitcore.pla: 0387: //puts("DROP2") -; libsrc/jitcore.pla: 0388: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0389: is $30 // DROP - !BYTE $76,$0E ; SLW [14] -_B126 -; libsrc/jitcore.pla: 0390: //puts("DROP") -; libsrc/jitcore.pla: 0391: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0392: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0393: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0394: is $34 // DUP -_B127 -; libsrc/jitcore.pla: 0395: //puts("DUP") -; libsrc/jitcore.pla: 0396: if not A_IS_TOSL -; libsrc/jitcore.pla: 0397: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0398: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0399: elsif A_IS_TOSL & TOS_DIRTY - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B128 - !WORD _B128-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B128 -; libsrc/jitcore.pla: 0400: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0401: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0402: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B130 - !WORD _B130-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B130 -_B129 -; libsrc/jitcore.pla: 0403: codeptr=>0 = estkh8+$B4+(VX<<8) // LDY ESTKH,X -; libsrc/jitcore.pla: 0404: VX-- // DEX - !BYTE $2C,$B4,$A0 ; CW 41140 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0405: codeptr=>2 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0406: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0407: VY = UNKNOWN -; libsrc/jitcore.pla: 0408: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0409: break - !BYTE $76,$0E ; SLW [14] - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0410: //is $36 -; libsrc/jitcore.pla: 0411: //puts("DIVMOD") -; libsrc/jitcore.pla: 0412: // -; libsrc/jitcore.pla: 0413: // Should never happen -; libsrc/jitcore.pla: 0414: // -; libsrc/jitcore.pla: 0415: //break -; libsrc/jitcore.pla: 0416: is $38 // ADDI -_B131 -; libsrc/jitcore.pla: 0417: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0418: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0419: //puts("ADDI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0420: is $8C // INCR - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] -_B132 -; libsrc/jitcore.pla: 0421: if opcode == $8C -; libsrc/jitcore.pla: 0422: //puts("INCR") -; libsrc/jitcore.pla: 0423: j = 1 -; libsrc/jitcore.pla: 0424: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$8C ; CB 140 - !BYTE $24 ; BRNE _B133 - !WORD _B133-* - !BYTE $02 ; CN 1 - !BYTE $74,$13 ; SLB [19] -_B133 -_B134 -; libsrc/jitcore.pla: 0425: if not A_IS_TOSL -; libsrc/jitcore.pla: 0426: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0427: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0428: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B135 - !WORD _B135-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B135 -_B136 -; libsrc/jitcore.pla: 0429: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 0430: codeptr=>1 = $69+(j<<8) // ADC #imm -; libsrc/jitcore.pla: 0431: codeptr=>3 = $0290 // BCC +2 -; libsrc/jitcore.pla: 0432: codeptr=>5 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 0433: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0434: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0435: break - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$69 ; CB 105 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0436: is $3A // SUBI -_B137 -; libsrc/jitcore.pla: 0437: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0438: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0439: //puts("SUBI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0440: is $8E // DECR - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] -_B138 -; libsrc/jitcore.pla: 0441: if opcode == $8E -; libsrc/jitcore.pla: 0442: //puts("DECR") -; libsrc/jitcore.pla: 0443: j = 1 -; libsrc/jitcore.pla: 0444: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$8E ; CB 142 - !BYTE $24 ; BRNE _B139 - !WORD _B139-* - !BYTE $02 ; CN 1 - !BYTE $74,$13 ; SLB [19] -_B139 -_B140 -; libsrc/jitcore.pla: 0445: if not A_IS_TOSL -; libsrc/jitcore.pla: 0446: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0447: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0448: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B141 - !WORD _B141-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B141 -_B142 -; libsrc/jitcore.pla: 0449: codeptr->0 = $38 // SEC -; libsrc/jitcore.pla: 0450: codeptr=>1 = $E9+(j<<8) // SBC #imm -; libsrc/jitcore.pla: 0451: codeptr=>3 = $02B0 // BCS +2 -; libsrc/jitcore.pla: 0452: codeptr=>5 = estkh8+$D6+(VX<<8) // DEC ESTKH,X -; libsrc/jitcore.pla: 0453: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0454: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0455: break - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$E9 ; CB 233 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$B0,$02 ; CW 688 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$D6,$A0 ; CW 41174 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0456: is $3C // ANDI -_B143 -; libsrc/jitcore.pla: 0457: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0458: //puts("ANDI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0459: if VY <> 0 -; libsrc/jitcore.pla: 0460: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0461: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0462: VY = 0 -; libsrc/jitcore.pla: 0463: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B144 -_B145 -; libsrc/jitcore.pla: 0464: if not A_IS_TOSL -; libsrc/jitcore.pla: 0465: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0466: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0467: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B146 - !WORD _B146-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B146 -_B147 -; libsrc/jitcore.pla: 0468: codeptr=>0 = $29+(^(bytecode+i)<<8) // AND #imm -; libsrc/jitcore.pla: 0469: codeptr=>2 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0470: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0471: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0472: break - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0473: is $3E // ORI -_B148 -; libsrc/jitcore.pla: 0474: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0475: //puts("ORI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0476: if not A_IS_TOSL -; libsrc/jitcore.pla: 0477: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0478: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0479: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B149 - !WORD _B149-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B149 -_B150 -; libsrc/jitcore.pla: 0480: *codeptr = $09+(^(bytecode+i)<<8) // ORA #imm -; libsrc/jitcore.pla: 0481: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0482: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0483: break - !BYTE $12 ; CN 9 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0484: is $40 // ISEQ -_B151 -; libsrc/jitcore.pla: 0485: is $42 // ISNE -_B152 -; libsrc/jitcore.pla: 0486: if VY <> 0 -; libsrc/jitcore.pla: 0487: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0488: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0489: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B153 -_B154 -; libsrc/jitcore.pla: 0490: if not A_IS_TOSL -; libsrc/jitcore.pla: 0491: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0492: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0493: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B155 - !WORD _B155-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B155 -_B156 -; libsrc/jitcore.pla: 0494: if opcode == $40 -; libsrc/jitcore.pla: 0495: //puts("ISEQ") -; libsrc/jitcore.pla: 0496: codeptr=>2 = $07D0 // BNE +7 -; libsrc/jitcore.pla: 0497: codeptr=>8 = $01D0 // BNE +1 -; libsrc/jitcore.pla: 0498: else - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B157 - !WORD _B157-* - !BYTE $2C,$D0,$07 ; CW 2000 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$D0,$01 ; CW 464 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -_B157 -; libsrc/jitcore.pla: 0499: //puts("ISNE") -; libsrc/jitcore.pla: 0500: codeptr=>2 = $06D0 // BNE +6 -; libsrc/jitcore.pla: 0501: codeptr=>8 = $01F0 // BEQ +1 -; libsrc/jitcore.pla: 0502: fin - !BYTE $2C,$D0,$06 ; CW 1744 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F0,$01 ; CW 496 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW -_B158 -; libsrc/jitcore.pla: 0503: codeptr=>0 = estkl8+$D5+$0100+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 0504: codeptr=>4 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0505: codeptr=>6 = estkh8+$D5+$0100+(VX<<8) // CMP ESTKH+1 -; libsrc/jitcore.pla: 0506: codeptr=>10 = $9888 // DEY; TYA -; libsrc/jitcore.pla: 0507: codeptr=>12 = estkh8+$94+$0100+(VX<<8) // STY ESTKH+1,X -; libsrc/jitcore.pla: 0508: codeptr = codeptr + 14 -; libsrc/jitcore.pla: 0509: VX++ // INX - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D5,$A1 ; CW 41429 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$94,$A1 ; CW 41364 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0510: VY = UNKNOWN -; libsrc/jitcore.pla: 0511: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0512: break - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0513: is $44 // ISGT -_B159 -; libsrc/jitcore.pla: 0514: is $4A // ISLE -_B160 -; libsrc/jitcore.pla: 0515: if VY <> 0 -; libsrc/jitcore.pla: 0516: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0517: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0518: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B161 -_B162 -; libsrc/jitcore.pla: 0519: if not A_IS_TOSL -; libsrc/jitcore.pla: 0520: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0521: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0522: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B163 - !WORD _B163-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B163 -_B164 -; libsrc/jitcore.pla: 0523: codeptr=>0 = estkl8+$D5+$0100+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 0524: codeptr=>2 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0525: codeptr=>4 = estkh8+$F5+$0100+(VX<<8) // SBC ESTKH+1 -; libsrc/jitcore.pla: 0526: codeptr=>6 = $0250 // BVC +2 -; libsrc/jitcore.pla: 0527: codeptr=>8 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 0528: if opcode == $44 -; libsrc/jitcore.pla: 0529: //puts("ISGT") -; libsrc/jitcore.pla: 0530: codeptr=>10 = $0110 // BPL +1 -; libsrc/jitcore.pla: 0531: else - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A1 ; CW 41461 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$44 ; CB 68 - !BYTE $24 ; BRNE _B165 - !WORD _B165-* - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B166 - !WORD _B166-* -_B165 -; libsrc/jitcore.pla: 0532: //puts("ISLE") -; libsrc/jitcore.pla: 0533: codeptr=>10 = $0130 // BMI +1 -; libsrc/jitcore.pla: 0534: fin - !BYTE $2C,$30,$01 ; CW 304 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW -_B166 -; libsrc/jitcore.pla: 0535: codeptr=>12 = $9888 // DEY TYA -; libsrc/jitcore.pla: 0536: codeptr=>14 = estkh8+$94+$0100+(VX<<8) // STY ESTKH+1,X -; libsrc/jitcore.pla: 0537: codeptr = codeptr + 16 -; libsrc/jitcore.pla: 0538: VX++ // INX - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2C,$94,$A1 ; CW 41364 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0539: VY = UNKNOWN -; libsrc/jitcore.pla: 0540: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0541: break - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0542: is $46 // ISLT -_B167 -; libsrc/jitcore.pla: 0543: is $48 // ISGE -_B168 -; libsrc/jitcore.pla: 0544: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0545: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0546: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0547: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B169 - !WORD _B169-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B169 -_B170 -; libsrc/jitcore.pla: 0548: if VY <> 0 -; libsrc/jitcore.pla: 0549: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0550: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0551: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B171 - !WORD _B171-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B171 -_B172 -; libsrc/jitcore.pla: 0552: codeptr=>0 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 0553: codeptr=>2 = estkl8+$D5+(VX<<8) // CMP ESTKL,X -; libsrc/jitcore.pla: 0554: codeptr=>4 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 0555: codeptr=>6 = estkh8+$F5+(VX<<8) // SBC ESTKH -; libsrc/jitcore.pla: 0556: codeptr=>8 = $0250 // BVC +2 -; libsrc/jitcore.pla: 0557: codeptr=>10 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 0558: if opcode == $46 -; libsrc/jitcore.pla: 0559: //puts("ISLT") -; libsrc/jitcore.pla: 0560: codeptr=>12 = $0110 // BPL +1 -; libsrc/jitcore.pla: 0561: else - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$C0 ; CW 49365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$46 ; CB 70 - !BYTE $24 ; BRNE _B173 - !WORD _B173-* - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B174 - !WORD _B174-* -_B173 -; libsrc/jitcore.pla: 0562: //puts("ISGE") -; libsrc/jitcore.pla: 0563: codeptr=>12 = $0130 // BMI +1 -; libsrc/jitcore.pla: 0564: fin - !BYTE $2C,$30,$01 ; CW 304 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW -_B174 -; libsrc/jitcore.pla: 0565: codeptr=>14 = $9888 // DEY; TYA -; libsrc/jitcore.pla: 0566: codeptr=>16 = estkh8+$94+$0100+(VX<<8) // STY ESTKH+1,X -; libsrc/jitcore.pla: 0567: codeptr = codeptr + 18 -; libsrc/jitcore.pla: 0568: VX++ // INX - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $2C,$94,$A1 ; CW 41364 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0569: VY = UNKNOWN -; libsrc/jitcore.pla: 0570: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0571: break - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0572: is $4C // BRFLS -_B175 -; libsrc/jitcore.pla: 0573: is $4E // BRTRU -_B176 -; libsrc/jitcore.pla: 0574: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0575: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0576: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0577: codeptr, VX = resolveX(codeptr, VX + 1) // INX -; libsrc/jitcore.pla: 0578: if not A_IS_TOSL -; libsrc/jitcore.pla: 0579: *codeptr = estkl8+$B5-$0100//+(VX<<8) // LDA ESTKL-1,X -; libsrc/jitcore.pla: 0580: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0581: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C001 -_F011 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B177 - !WORD _B177-* - !BYTE $2C,$B5,$BF ; CW 49077 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B177 -_B178 -; libsrc/jitcore.pla: 0582: codeptr=>0 = estkh8+$15-$0100//+(VX<<8) // ORA ESTKH-1,X -; libsrc/jitcore.pla: 0583: if opcode == $4C -; libsrc/jitcore.pla: 0584: //puts("BRFLS "); puti(dest) -; libsrc/jitcore.pla: 0585: codeptr=>2 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 0586: else - !BYTE $2C,$15,$9F ; CW 40725 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$4C ; CB 76 - !BYTE $24 ; BRNE _B179 - !WORD _B179-* - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B180 - !WORD _B180-* -_B179 -; libsrc/jitcore.pla: 0587: //puts("BRTRU "); puti(dest) -; libsrc/jitcore.pla: 0588: codeptr=>2 = $03F0 // BEQ +3 -; libsrc/jitcore.pla: 0589: fin - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B180 -; libsrc/jitcore.pla: 0590: codeptr->4 = $4C // JMP abs -; libsrc/jitcore.pla: 0591: codeptr=>5 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0592: if not (codeptr->6 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0593: addrxlate=>[dest] = codeptr + 5 - *jitcodeptr -; libsrc/jitcore.pla: 0594: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B181 - !WORD _B181-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B181 -_B182 -; libsrc/jitcore.pla: 0595: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0596: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0597: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0598: is $50 // BRNCH -_B183 -; libsrc/jitcore.pla: 0599: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0600: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0601: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0602: //puts("BRNCH "); puti(dest) -; libsrc/jitcore.pla: 0603: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0604: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0605: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0606: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0607: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F012 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B184 - !WORD _B184-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B184 -_B185 -; libsrc/jitcore.pla: 0608: codeptr->0 = $4C // JMP abs -; libsrc/jitcore.pla: 0609: codeptr=>1 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0610: if not (codeptr->2 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0611: addrxlate=>[dest] = codeptr + 1 - *jitcodeptr -; libsrc/jitcore.pla: 0612: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B186 - !WORD _B186-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B186 -_B187 -; libsrc/jitcore.pla: 0613: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0614: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0615: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0616: is $52 // SEL -_B188 -; libsrc/jitcore.pla: 0617: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0618: case = i + *(bytecode+i) -; libsrc/jitcore.pla: 0619: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0620: //puts("SEL "); puti(case); putln -; libsrc/jitcore.pla: 0621: j = ^(bytecode+case) -; libsrc/jitcore.pla: 0622: dest = codeptr + 9 + case * 11) -; libsrc/jitcore.pla: 0623: if isule(dest, codemax) -; libsrc/jitcore.pla: 0624: ^(bytecode+case) = $FE // Flag as NOP -; libsrc/jitcore.pla: 0625: case++ - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0A ; LLW [10] - !BYTE $16 ; CN 11 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$E0,$BE ; CW 48864 - !BYTE $54 ; CALL _X027 -_F013 !WORD 0 - !BYTE $4C ; BRFLS _B189 - !WORD _B189-* - !BYTE $2A,$FE ; CB 254 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0626: if not A_IS_TOSL -; libsrc/jitcore.pla: 0627: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0628: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0629: fin - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B191 - !WORD _B191-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B191 -_B192 -; libsrc/jitcore.pla: 0630: codeptr=>0 = estkh8+$B4+(VX<<8) // LDY ESTKH,X -; libsrc/jitcore.pla: 0631: codeptr, VX = resolveX(codeptr + 2, VX + 1) // INX -; libsrc/jitcore.pla: 0632: repeat - !BYTE $2C,$B4,$A0 ; CW 41140 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C001 -_F014 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] -_B194 -; libsrc/jitcore.pla: 0633: dest = *(bytecode+case) -; libsrc/jitcore.pla: 0634: //puts(" $"); puth(dest) -; libsrc/jitcore.pla: 0635: codeptr=>0 = $C9+(dest<<8) // CMP #imm -; libsrc/jitcore.pla: 0636: codeptr=>2 = $07D0 // BNE +7 -; libsrc/jitcore.pla: 0637: codeptr=>4 = $C0+(dest&$FF00) // CPY #imm -; libsrc/jitcore.pla: 0638: codeptr=>6 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 0639: *(bytecode+case) = $FEFE -; libsrc/jitcore.pla: 0640: case = case + 2 -; libsrc/jitcore.pla: 0641: dest = case + *(bytecode+case) -; libsrc/jitcore.pla: 0642: //puts("-->"); puti(dest); putln -; libsrc/jitcore.pla: 0643: codeptr->8 = $4C // JMP abs -; libsrc/jitcore.pla: 0644: codeptr=>9 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0645: if not (codeptr->10 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0646: addrxlate=>[dest] = codeptr + 9 - *jitcodeptr -; libsrc/jitcore.pla: 0647: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$C9 ; CB 201 - !BYTE $66,$0C ; LLW [12] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D0,$07 ; CW 2000 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$0C ; LLW [12] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$FE,$FE ; CW 65278 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B196 - !WORD _B196-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B196 -_B197 -; libsrc/jitcore.pla: 0648: codeptr = codeptr + 11 -; libsrc/jitcore.pla: 0649: *(bytecode+case) = $FEFE -; libsrc/jitcore.pla: 0650: case = case + 2 -; libsrc/jitcore.pla: 0651: j-- - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $2C,$FE,$FE ; CW 65278 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$13 ; LLB [19] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0652: until not j - !BYTE $74,$13 ; SLB [19] -_B195 - !BYTE $64,$13 ; LLB [19] - !BYTE $4E ; BRTRU _B194 - !WORD _B194-* -_B193 -; libsrc/jitcore.pla: 0653: codeptr->0 = $4C // JMP abs -; libsrc/jitcore.pla: 0654: codeptr=>1 = addrxlate=>[case] -; libsrc/jitcore.pla: 0655: if not (codeptr->2 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0656: addrxlate=>[case] = codeptr + 1 - *jitcodeptr -; libsrc/jitcore.pla: 0657: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B198 - !WORD _B198-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $72 ; SW -_B198 -_B199 -; libsrc/jitcore.pla: 0658: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0659: else - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B190 - !WORD _B190-* -_B189 -; libsrc/jitcore.pla: 0660: codeptr = dest -; libsrc/jitcore.pla: 0661: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$02 ; SLW [2] -_B190 -; libsrc/jitcore.pla: 0662: VY = UNKNOWN -; libsrc/jitcore.pla: 0663: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0664: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0665: is $54 // CALL -_B200 -; libsrc/jitcore.pla: 0666: //puts("CALL $"); puth(*(bytecode+i)) -; libsrc/jitcore.pla: 0667: // -; libsrc/jitcore.pla: 0668: // Call address -; libsrc/jitcore.pla: 0669: // -; libsrc/jitcore.pla: 0670: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0671: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0672: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0673: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0674: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F015 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B201 - !WORD _B201-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B201 -_B202 -; libsrc/jitcore.pla: 0675: codeptr->0 = $20 // JSR abs -; libsrc/jitcore.pla: 0676: codeptr=>1 = *(bytecode+i+1) -; libsrc/jitcore.pla: 0677: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0678: VY = UNKNOWN -; libsrc/jitcore.pla: 0679: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0680: i = i + 2 -; libsrc/jitcore.pla: 0681: break - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0682: is $56 // ICAL -_B203 -; libsrc/jitcore.pla: 0683: //puts("ICAL") -; libsrc/jitcore.pla: 0684: // -; libsrc/jitcore.pla: 0685: // Pull address off stack -; libsrc/jitcore.pla: 0686: // -; libsrc/jitcore.pla: 0687: if not A_IS_TOSL -; libsrc/jitcore.pla: 0688: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0689: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0690: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B204 - !WORD _B204-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B204 -_B205 -; libsrc/jitcore.pla: 0691: codeptr=>0 = tmpl8+$85 // STA $E7:TMPL -; libsrc/jitcore.pla: 0692: codeptr=>2 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0693: codeptr=>4 = tmph8+$85 // STA $E8:TMPH -; libsrc/jitcore.pla: 0694: codeptr, VX = resolveX(codeptr + 6, VX + 1) // INX -; libsrc/jitcore.pla: 0695: // -; libsrc/jitcore.pla: 0696: // Call through TMP -; libsrc/jitcore.pla: 0697: // -; libsrc/jitcore.pla: 0698: codeptr->0 = $20 // JSR abs -; libsrc/jitcore.pla: 0699: codeptr=>1 = jmptmp // $E6:JMPTMP -; libsrc/jitcore.pla: 0700: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0701: VY = UNKNOWN -; libsrc/jitcore.pla: 0702: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0703: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$85,$E8 ; CW 59525 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C001 -_F016 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$E6 ; CB 230 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0704: is $5A // LEAVE -_B206 -; libsrc/jitcore.pla: 0705: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0706: //puts("LEAVE "); puti(^(bytecode+i)) -; libsrc/jitcore.pla: 0707: // -; libsrc/jitcore.pla: 0708: // Call into VM -; libsrc/jitcore.pla: 0709: // -; libsrc/jitcore.pla: 0710: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0711: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0712: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0713: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0714: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F017 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B207 - !WORD _B207-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B207 -_B208 -; libsrc/jitcore.pla: 0715: codeptr->0 = $20 // JSR abs -; libsrc/jitcore.pla: 0716: codeptr=>1 = directentry // INTERP -; libsrc/jitcore.pla: 0717: codeptr=>3 = $5A + (^(bytecode+i)<<8) // LEAVE CODE AND OPERAND -; libsrc/jitcore.pla: 0718: codeptr = codeptr + 5 -; libsrc/jitcore.pla: 0719: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0720: break - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$5A ; CB 90 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0721: is $5C // RET -_B209 -; libsrc/jitcore.pla: 0722: //puts("RET") -; libsrc/jitcore.pla: 0723: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0724: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0725: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0726: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0727: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F018 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B210 - !WORD _B210-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B210 -_B211 -; libsrc/jitcore.pla: 0728: ^codeptr = $60; codeptr++ // RTS - !BYTE $2A,$60 ; CB 96 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0729: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0730: break - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0731: is $60 // LB -_B212 -; libsrc/jitcore.pla: 0732: //puts("LB") -; libsrc/jitcore.pla: 0733: if VY <> 0 -; libsrc/jitcore.pla: 0734: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0735: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0736: VY = 0 -; libsrc/jitcore.pla: 0737: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B213 - !WORD _B213-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B213 -_B214 -; libsrc/jitcore.pla: 0738: if not A_IS_TOSL -; libsrc/jitcore.pla: 0739: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0740: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0741: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B215 - !WORD _B215-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B215 -_B216 -; libsrc/jitcore.pla: 0742: codeptr=>0 = estkh8+$95-$0100+(VX<<8) // STA ESTKH-1,X -; libsrc/jitcore.pla: 0743: codeptr=>2 = estkh8+$A1-$0100+(VX<<8) // LDA (ESTKH-1,X) -; libsrc/jitcore.pla: 0744: codeptr=>4 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0745: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0746: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0747: break - !BYTE $2C,$95,$9F ; CW 40853 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$A1,$9F ; CW 40865 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0748: is $62 // LW -_B217 -; libsrc/jitcore.pla: 0749: //puts("LW") -; libsrc/jitcore.pla: 0750: if not A_IS_TOSL -; libsrc/jitcore.pla: 0751: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0752: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0753: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B218 - !WORD _B218-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B218 -_B219 -; libsrc/jitcore.pla: 0754: codeptr=>0 = estkh8+$95-$0100+(VX<<8) // STA ESTKH-1,X -; libsrc/jitcore.pla: 0755: codeptr=>2 = estkh8+$A1-$0100+(VX<<8) // LDA (ESTKH-1,X) -; libsrc/jitcore.pla: 0756: codeptr=>4 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0757: codeptr=>6 = estkh8+$F6-$0100+(VX<<8) // INC ESTKH-1,X -; libsrc/jitcore.pla: 0758: codeptr=>8 = $02D0 // BNE +2 -; libsrc/jitcore.pla: 0759: codeptr=>10 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 0760: codeptr=>12 = estkh8+$A1-$0100+(VX<<8) // LDA (ESTKH-1,X) -; libsrc/jitcore.pla: 0761: codeptr=>14 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0762: codeptr = codeptr + 16 -; libsrc/jitcore.pla: 0763: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0764: break - !BYTE $2C,$95,$9F ; CW 40853 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$A1,$9F ; CW 40865 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F6,$9F ; CW 40950 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$D0,$02 ; CW 720 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$A1,$9F ; CW 40865 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0765: is $64 // LLB -_B220 -; libsrc/jitcore.pla: 0766: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0767: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0768: //puts("LLB "); puti(j) -; libsrc/jitcore.pla: 0769: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0770: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0771: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0772: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B221 - !WORD _B221-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B221 -_B222 -; libsrc/jitcore.pla: 0773: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0774: if VY <> j -; libsrc/jitcore.pla: 0775: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 0776: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0777: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B223 - !WORD _B223-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B223 -_B224 -; libsrc/jitcore.pla: 0778: *codeptr = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 0779: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0780: if j <> 0 -; libsrc/jitcore.pla: 0781: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0782: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0783: fin - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $4C ; BRFLS _B225 - !WORD _B225-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B225 -_B226 -; libsrc/jitcore.pla: 0784: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0785: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0786: VY = 0 -; libsrc/jitcore.pla: 0787: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0788: break - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0789: is $66 // LLW -_B227 -; libsrc/jitcore.pla: 0790: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0791: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0792: //puts("LLW "); puti(j) -; libsrc/jitcore.pla: 0793: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0794: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0795: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0796: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B228 - !WORD _B228-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B228 -_B229 -; libsrc/jitcore.pla: 0797: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0798: if VY <> j -; libsrc/jitcore.pla: 0799: *codeptr = $A0+((j+1)<<8) // LDY #imm -; libsrc/jitcore.pla: 0800: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0801: VY = j -; libsrc/jitcore.pla: 0802: else - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B230 - !WORD _B230-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $8C ; INCR - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B231 - !WORD _B231-* -_B230 -; libsrc/jitcore.pla: 0803: ^codeptr = $C8; codeptr++ // INY - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0804: fin - !BYTE $76,$02 ; SLW [2] -_B231 -; libsrc/jitcore.pla: 0805: codeptr=>0 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 0806: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0807: codeptr->4 = $88 // DEY -; libsrc/jitcore.pla: 0808: codeptr=>5 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 0809: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0810: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0811: break - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$88 ; CB 136 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0812: is $68 // LAB -_B232 -; libsrc/jitcore.pla: 0813: is $6A // LAW -_B233 -; libsrc/jitcore.pla: 0814: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0815: i = i + 2 -; libsrc/jitcore.pla: 0816: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0817: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0818: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0819: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B234 - !WORD _B234-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B234 -_B235 -; libsrc/jitcore.pla: 0820: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0821: if opcode == $68 -; libsrc/jitcore.pla: 0822: //puts("LAB $"); puth(dest) -; libsrc/jitcore.pla: 0823: if VY <> 0 -; libsrc/jitcore.pla: 0824: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0825: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0826: VY = 0 -; libsrc/jitcore.pla: 0827: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$68 ; CB 104 - !BYTE $24 ; BRNE _B236 - !WORD _B236-* - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B238 - !WORD _B238-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B238 -_B239 -; libsrc/jitcore.pla: 0828: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0829: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0830: else - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B237 - !WORD _B237-* -_B236 -; libsrc/jitcore.pla: 0831: //puts("LAW $"); puth(dest) -; libsrc/jitcore.pla: 0832: codeptr->0 = $AD // LDA abs+1 -; libsrc/jitcore.pla: 0833: codeptr=>1 = dest+1 -; libsrc/jitcore.pla: 0834: codeptr=>3 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0835: codeptr = codeptr + 5 -; libsrc/jitcore.pla: 0836: fin - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] -_B237 -; libsrc/jitcore.pla: 0837: codeptr->0 = $AD // LDA abs -; libsrc/jitcore.pla: 0838: codeptr=>1 = dest -; libsrc/jitcore.pla: 0839: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0840: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0841: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0842: is $6C // DLB -_B240 -; libsrc/jitcore.pla: 0843: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0844: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0845: //puts("DLB "); puti(j) -; libsrc/jitcore.pla: 0846: if not A_IS_TOSL -; libsrc/jitcore.pla: 0847: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0848: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0849: A_IS_TOSL = TOS_CLEAN -; libsrc/jitcore.pla: 0850: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B241 - !WORD _B241-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $74,$14 ; SLB [20] -_B241 -_B242 -; libsrc/jitcore.pla: 0851: if VY <> j -; libsrc/jitcore.pla: 0852: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 0853: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0854: VY = j -; libsrc/jitcore.pla: 0855: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B243 - !WORD _B243-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] -_B243 -_B244 -; libsrc/jitcore.pla: 0856: *codeptr = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0857: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0858: if VY <> 0 -; libsrc/jitcore.pla: 0859: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0860: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0861: VY = 0 -; libsrc/jitcore.pla: 0862: fin - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B245 - !WORD _B245-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B245 -_B246 -; libsrc/jitcore.pla: 0863: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0864: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0865: break - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0866: is $6E // DLW -_B247 -; libsrc/jitcore.pla: 0867: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0868: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0869: //puts("DLW "); puti(j) -; libsrc/jitcore.pla: 0870: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0871: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0872: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0873: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B248 - !WORD _B248-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B248 -_B249 -; libsrc/jitcore.pla: 0874: if VY <> j -; libsrc/jitcore.pla: 0875: *codeptr = $A0+((j+1)<<8) // LDY #imm -; libsrc/jitcore.pla: 0876: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0877: VY = j -; libsrc/jitcore.pla: 0878: else - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B250 - !WORD _B250-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $8C ; INCR - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B251 - !WORD _B251-* -_B250 -; libsrc/jitcore.pla: 0879: ^codeptr = $C8; codeptr++ // INY - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0880: fin - !BYTE $76,$02 ; SLW [2] -_B251 -; libsrc/jitcore.pla: 0881: codeptr=>0 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0882: codeptr=>2 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0883: codeptr->4 = $88 // DEY -; libsrc/jitcore.pla: 0884: codeptr=>5 = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0885: codeptr=>7 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0886: codeptr = codeptr + 9 -; libsrc/jitcore.pla: 0887: A_IS_TOSL = TOS_CLEAN -; libsrc/jitcore.pla: 0888: break - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$88 ; CB 136 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0889: is $70 // SB -_B252 -; libsrc/jitcore.pla: 0890: is $72 // SW -_B253 -; libsrc/jitcore.pla: 0891: if not A_IS_TOSL -; libsrc/jitcore.pla: 0892: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0893: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0894: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B254 - !WORD _B254-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B254 -_B255 -; libsrc/jitcore.pla: 0895: codeptr=>0 = estkh8+$95-$0100+(VX<<8) // STA ESTKH-1,X -; libsrc/jitcore.pla: 0896: codeptr=>2 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 0897: codeptr=>4 = estkh8+$81-$0100+(VX<<8) // STA (ESTKH-1,X) -; libsrc/jitcore.pla: 0898: if opcode == $70 -; libsrc/jitcore.pla: 0899: //puts("SB") -; libsrc/jitcore.pla: 0900: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0901: else - !BYTE $2C,$95,$9F ; CW 40853 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$81,$9F ; CW 40833 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$70 ; CB 112 - !BYTE $24 ; BRNE _B256 - !WORD _B256-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B257 - !WORD _B257-* -_B256 -; libsrc/jitcore.pla: 0902: //puts("SW") -; libsrc/jitcore.pla: 0903: codeptr=>6 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 0904: codeptr=>8 = estkh8+$F6-$0100+(VX<<8) // INC ESTKH-1,X -; libsrc/jitcore.pla: 0905: codeptr=>10 = $02D0 // BNE +2 -; libsrc/jitcore.pla: 0906: codeptr=>12 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 0907: codeptr=>14 = estkh8+$81-$0100+(VX<<8) // STA (ESTKH-1,X) -; libsrc/jitcore.pla: 0908: codeptr = codeptr + 16 -; libsrc/jitcore.pla: 0909: fin - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$F6,$9F ; CW 40950 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$D0,$02 ; CW 720 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2C,$81,$9F ; CW 40833 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] -_B257 -; libsrc/jitcore.pla: 0910: VX = VX + 2 // INX; INX -; libsrc/jitcore.pla: 0911: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0912: break - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0913: is $74 // SLB -_B258 -; libsrc/jitcore.pla: 0914: is $76 // SLW -_B259 -; libsrc/jitcore.pla: 0915: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0916: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0917: if not A_IS_TOSL -; libsrc/jitcore.pla: 0918: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0919: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0920: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B260 - !WORD _B260-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B260 -_B261 -; libsrc/jitcore.pla: 0921: if VY <> j -; libsrc/jitcore.pla: 0922: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 0923: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0924: VY = j -; libsrc/jitcore.pla: 0925: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B262 - !WORD _B262-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] -_B262 -_B263 -; libsrc/jitcore.pla: 0926: codeptr=>0 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0927: if opcode == $74 -; libsrc/jitcore.pla: 0928: //puts("SLB "); puti(j) -; libsrc/jitcore.pla: 0929: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0930: else - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$74 ; CB 116 - !BYTE $24 ; BRNE _B264 - !WORD _B264-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B265 - !WORD _B265-* -_B264 -; libsrc/jitcore.pla: 0931: //puts("SLW "); puti(j) -; libsrc/jitcore.pla: 0932: codeptr->2 = $C8 // INY -; libsrc/jitcore.pla: 0933: codeptr=>3 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0934: codeptr=>5 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0935: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0936: VY++ - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0937: fin - !BYTE $76,$10 ; SLW [16] -_B265 -; libsrc/jitcore.pla: 0938: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0939: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0940: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0941: is $78 // SAB -_B266 -; libsrc/jitcore.pla: 0942: is $7A // SAW -_B267 -; libsrc/jitcore.pla: 0943: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0944: i = i + 2 -; libsrc/jitcore.pla: 0945: if not A_IS_TOSL -; libsrc/jitcore.pla: 0946: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0947: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0948: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B268 - !WORD _B268-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B268 -_B269 -; libsrc/jitcore.pla: 0949: codeptr->0 = $8D // STA abs -; libsrc/jitcore.pla: 0950: codeptr=>1 = dest -; libsrc/jitcore.pla: 0951: if opcode == $78 -; libsrc/jitcore.pla: 0952: //puts("SAB $"); puth(dest) -; libsrc/jitcore.pla: 0953: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0954: else - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$78 ; CB 120 - !BYTE $24 ; BRNE _B270 - !WORD _B270-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B271 - !WORD _B271-* -_B270 -; libsrc/jitcore.pla: 0955: //puts("SAW $"); puth(dest) -; libsrc/jitcore.pla: 0956: codeptr=>3 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0957: codeptr->5 = $8D // STA abs+1 -; libsrc/jitcore.pla: 0958: codeptr=>6 = dest+1 -; libsrc/jitcore.pla: 0959: codeptr = codeptr + 8 -; libsrc/jitcore.pla: 0960: fin - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] -_B271 -; libsrc/jitcore.pla: 0961: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0962: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0963: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0964: is $7C // DAB -_B272 -; libsrc/jitcore.pla: 0965: is $7E // DAW -_B273 -; libsrc/jitcore.pla: 0966: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0967: i = i + 2 -; libsrc/jitcore.pla: 0968: if not A_IS_TOSL -; libsrc/jitcore.pla: 0969: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0970: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0971: A_IS_TOSL = TOS_CLEAN -; libsrc/jitcore.pla: 0972: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B274 - !WORD _B274-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $74,$14 ; SLB [20] -_B274 -_B275 -; libsrc/jitcore.pla: 0973: codeptr->0 = $8D // STA abs -; libsrc/jitcore.pla: 0974: codeptr=>1 = dest -; libsrc/jitcore.pla: 0975: if opcode == $7C -; libsrc/jitcore.pla: 0976: //puts("DAB $"); puth(dest) -; libsrc/jitcore.pla: 0977: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0978: if VY <> 0 -; libsrc/jitcore.pla: 0979: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0980: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0981: VY = 0 -; libsrc/jitcore.pla: 0982: fin - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$7C ; CB 124 - !BYTE $24 ; BRNE _B276 - !WORD _B276-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B278 - !WORD _B278-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B278 -_B279 -; libsrc/jitcore.pla: 0983: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0984: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0985: else - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B277 - !WORD _B277-* -_B276 -; libsrc/jitcore.pla: 0986: //puts("DAW $"); puth(dest) -; libsrc/jitcore.pla: 0987: codeptr=>3 = estkh8+$B4+(VX<<8) // LDY ESTKH,X -; libsrc/jitcore.pla: 0988: codeptr->5 = $8C // STY abs+1 -; libsrc/jitcore.pla: 0989: codeptr=>6 = dest+1 -; libsrc/jitcore.pla: 0990: codeptr = codeptr + 8 -; libsrc/jitcore.pla: 0991: VY = UNKNOWN -; libsrc/jitcore.pla: 0992: fin - !BYTE $2C,$B4,$A0 ; CW 41140 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$8C ; CB 140 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] -_B277 -; libsrc/jitcore.pla: 0993: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0994: is $80 // NOT -_B280 -; libsrc/jitcore.pla: 0995: //puts("NOT") -; libsrc/jitcore.pla: 0996: if not A_IS_TOSL -; libsrc/jitcore.pla: 0997: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0998: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0999: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B281 - !WORD _B281-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B281 -_B282 -; libsrc/jitcore.pla: 1000: codeptr=>0 = estkh8+$15+(VX<<8) // ORA ESTKH,X -; libsrc/jitcore.pla: 1001: codeptr=>2 = $02F0 // BEQ +2 -; libsrc/jitcore.pla: 1002: codeptr=>4 = $FFA9 // LDA #$FF -; libsrc/jitcore.pla: 1003: codeptr=>6 = $FF49 // EOR #$FF -; libsrc/jitcore.pla: 1004: codeptr=>8 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1005: codeptr = codeptr + 10 -; libsrc/jitcore.pla: 1006: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 1007: break - !BYTE $2C,$15,$A0 ; CW 40981 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$F0,$02 ; CW 752 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $5E,$A9 ; CFFB 65449 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $5E,$49 ; CFFB 65353 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1008: is $82 // ADD -_B283 -; libsrc/jitcore.pla: 1009: //puts("ADD") -; libsrc/jitcore.pla: 1010: if not A_IS_TOSL -; libsrc/jitcore.pla: 1011: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1012: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1013: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B284 - !WORD _B284-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B284 -_B285 -; libsrc/jitcore.pla: 1014: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1015: codeptr=>1 = estkl8+$75+$0100+(VX<<8) // ADC ESTKL+1,X -; libsrc/jitcore.pla: 1016: codeptr=>3 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1017: codeptr=>5 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1018: codeptr=>7 = estkh8+$75+$0100+(VX<<8) // ADC ESTKH+1,X -; libsrc/jitcore.pla: 1019: codeptr=>9 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1020: codeptr = codeptr + 11 -; libsrc/jitcore.pla: 1021: VX++ // INX - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$75,$C1 ; CW 49525 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$75,$A1 ; CW 41333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1022: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1023: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1024: is $84 // SUB -_B286 -; libsrc/jitcore.pla: 1025: //puts("SUB") -; libsrc/jitcore.pla: 1026: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1027: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1028: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1029: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B287 - !WORD _B287-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B287 -_B288 -; libsrc/jitcore.pla: 1030: codeptr=>0 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1031: codeptr->2 = $38 // SEC -; libsrc/jitcore.pla: 1032: codeptr=>3 = estkl8+$F5+(VX<<8) // SBC ESTKL,X -; libsrc/jitcore.pla: 1033: codeptr=>5 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1034: codeptr=>7 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1035: codeptr=>9 = estkh8+$F5+(VX<<8) // SBC ESTKH,X -; libsrc/jitcore.pla: 1036: codeptr=>11 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1037: codeptr = codeptr + 13 -; libsrc/jitcore.pla: 1038: VX++ // INX - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$F5,$C0 ; CW 49397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1039: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1040: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1041: is $86 // MUL -_B289 -; libsrc/jitcore.pla: 1042: is $88 // DIV -_B290 -; libsrc/jitcore.pla: 1043: is $8A // MOD -_B291 -; libsrc/jitcore.pla: 1044: is $9A // SHL -_B292 -; libsrc/jitcore.pla: 1045: is $9C // SHR -_B293 -; libsrc/jitcore.pla: 1046: //puts("MUL,DIV,MOD,SHL,SHR") -; libsrc/jitcore.pla: 1047: // when opcode -; libsrc/jitcore.pla: 1048: // is $86 -; libsrc/jitcore.pla: 1049: // //puts("MUL") -; libsrc/jitcore.pla: 1050: // is $88 -; libsrc/jitcore.pla: 1051: // //puts("DIV") -; libsrc/jitcore.pla: 1052: // is $8A -; libsrc/jitcore.pla: 1053: // //puts("MOD") -; libsrc/jitcore.pla: 1054: // is $9A -; libsrc/jitcore.pla: 1055: // //puts("SHL") -; libsrc/jitcore.pla: 1056: // is $9C -; libsrc/jitcore.pla: 1057: // //puts("SHR") -; libsrc/jitcore.pla: 1058: // wend -; libsrc/jitcore.pla: 1059: // -; libsrc/jitcore.pla: 1060: // Call into VM -; libsrc/jitcore.pla: 1061: // -; libsrc/jitcore.pla: 1062: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1063: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1064: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1065: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1066: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F019 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B294 - !WORD _B294-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B294 -_B295 -; libsrc/jitcore.pla: 1067: codeptr->0 = $20 // JSR INTERP -; libsrc/jitcore.pla: 1068: codeptr=>1 = directentry // INTERP -; libsrc/jitcore.pla: 1069: codeptr=>3 = $C000+opcode // OPCODE; NATV CODE -; libsrc/jitcore.pla: 1070: codeptr = codeptr + 5 -; libsrc/jitcore.pla: 1071: VY = UNKNOWN -; libsrc/jitcore.pla: 1072: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1073: break - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $B0,$12 ; ADDLB [18] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1074: is $90 // NEG -_B296 -; libsrc/jitcore.pla: 1075: //puts("NEG") -; libsrc/jitcore.pla: 1076: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1077: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1078: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1079: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B297 - !WORD _B297-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B297 -_B298 -; libsrc/jitcore.pla: 1080: if VY <> 0 -; libsrc/jitcore.pla: 1081: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 1082: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1083: VY = 0 -; libsrc/jitcore.pla: 1084: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B299 - !WORD _B299-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B299 -_B300 -; libsrc/jitcore.pla: 1085: codeptr=>0 = $3898 // TYA -> LDA #$00; SEC -; libsrc/jitcore.pla: 1086: codeptr=>2 = estkl8+$F5+(VX<<8) // SBC ESTKL,X -; libsrc/jitcore.pla: 1087: codeptr=>4 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1088: codeptr->6 = $98 // TYA -> LDA #00 -; libsrc/jitcore.pla: 1089: codeptr=>7 = estkh8+$F5+(VX<<8) // SBC ESTKH,X -; libsrc/jitcore.pla: 1090: codeptr=>9 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1091: codeptr = codeptr + 11 -; libsrc/jitcore.pla: 1092: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1093: break - !BYTE $2C,$98,$38 ; CW 14488 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$F5,$C0 ; CW 49397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1094: is $92 // COMP -_B301 -; libsrc/jitcore.pla: 1095: //puts("COMP") -; libsrc/jitcore.pla: 1096: if not A_IS_TOSL -; libsrc/jitcore.pla: 1097: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1098: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1099: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B302 - !WORD _B302-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B302 -_B303 -; libsrc/jitcore.pla: 1100: codeptr=>0 = $FF49 // EOR #$FF -; libsrc/jitcore.pla: 1101: codeptr=>2 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1102: codeptr=>4 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1103: codeptr=>6 = $FF49 // EOR #$FF -; libsrc/jitcore.pla: 1104: codeptr=>8 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1105: codeptr = codeptr + 10 -; libsrc/jitcore.pla: 1106: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1107: break - !BYTE $5E,$49 ; CFFB 65353 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $5E,$49 ; CFFB 65353 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1108: is $94 // AND -_B304 -; libsrc/jitcore.pla: 1109: is $96 // OR -_B305 -; libsrc/jitcore.pla: 1110: is $98 // XOR -_B306 -; libsrc/jitcore.pla: 1111: when opcode - !BYTE $64,$12 ; LLB [18] - !BYTE $52 ; SEL - !WORD _B308-* -; libsrc/jitcore.pla: 1112: is $94 -_B309 -; libsrc/jitcore.pla: 1113: //puts("AND") -; libsrc/jitcore.pla: 1114: j = $35 -; libsrc/jitcore.pla: 1115: break - !BYTE $2A,$35 ; CB 53 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -; libsrc/jitcore.pla: 1116: is $96 -_B310 -; libsrc/jitcore.pla: 1117: //puts("OR") -; libsrc/jitcore.pla: 1118: j = $15 -; libsrc/jitcore.pla: 1119: break - !BYTE $2A,$15 ; CB 21 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -; libsrc/jitcore.pla: 1120: is $98 -_B311 -; libsrc/jitcore.pla: 1121: //puts("XOR") -; libsrc/jitcore.pla: 1122: j = $55 -; libsrc/jitcore.pla: 1123: wend - !BYTE $2A,$55 ; CB 85 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -_B308 - !BYTE $03 ; CASEBLOCK - !WORD $0094 - !WORD _B309-* - !WORD $0096 - !WORD _B310-* - !WORD $0098 - !WORD _B311-* -_B307 -; libsrc/jitcore.pla: 1124: if not A_IS_TOSL -; libsrc/jitcore.pla: 1125: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1126: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1127: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B312 - !WORD _B312-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B312 -_B313 -; libsrc/jitcore.pla: 1128: codeptr->0 = j // OP -; libsrc/jitcore.pla: 1129: codeptr->1 = estkl+$01+VX // ESTKL+1,X -; libsrc/jitcore.pla: 1130: codeptr=>2 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1131: codeptr=>4 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1132: codeptr->6 = j // OP -; libsrc/jitcore.pla: 1133: codeptr->7 = estkh+$01+VX // ESTKH+1,X -; libsrc/jitcore.pla: 1134: codeptr=>8 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1135: codeptr = codeptr + 10 -; libsrc/jitcore.pla: 1136: VX++ // INX - !BYTE $64,$13 ; LLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$C1 ; CB 193 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $64,$13 ; LLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $2A,$A1 ; CB 161 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1137: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1138: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1139: is $9E // IDXW -_B314 -; libsrc/jitcore.pla: 1140: //puts("IDXW") -; libsrc/jitcore.pla: 1141: if not A_IS_TOSL -; libsrc/jitcore.pla: 1142: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1143: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1144: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B315 - !WORD _B315-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B315 -_B316 -; libsrc/jitcore.pla: 1145: codeptr->0 = $0A // ASL -; libsrc/jitcore.pla: 1146: codeptr=>1 = estkh8+$36+(VX<<8) // ROL ESTKH,X -; libsrc/jitcore.pla: 1147: codeptr->3 = $18 // CLC -; libsrc/jitcore.pla: 1148: codeptr=>4 = estkl8+$75+$0100+(VX<<8) // ADC ESTKL+1,X -; libsrc/jitcore.pla: 1149: codeptr=>6 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1150: codeptr=>8 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1151: codeptr=>10 = estkh8+$75+$0100+(VX<<8) // ADC ESTKH+1,X -; libsrc/jitcore.pla: 1152: codeptr=>12 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1153: codeptr = codeptr + 14 -; libsrc/jitcore.pla: 1154: VX++ // INX - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$36,$A0 ; CW 41014 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$75,$C1 ; CW 49525 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$75,$A1 ; CW 41333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1155: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1156: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1157: is $A0 // BRGT - FOR/NEXT SPECIFIC TEST & BRANCH -_B317 -; libsrc/jitcore.pla: 1158: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1159: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1160: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1161: //puts("BRGT "); puti(dest) -; libsrc/jitcore.pla: 1162: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1163: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1164: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1165: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1166: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F020 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B318 - !WORD _B318-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B318 -_B319 -; libsrc/jitcore.pla: 1167: codeptr=>0 = estkl8+$B5+$0100//+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1168: codeptr=>2 = estkl8+$D5//+(VX<<8) // CMP ESTKL,X -; libsrc/jitcore.pla: 1169: codeptr=>4 = estkh8+$B5+$0100//+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1170: codeptr=>6 = estkh8+$F5//+(VX<<8) // SBC ESTKH -; libsrc/jitcore.pla: 1171: codeptr=>8 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1172: codeptr=>10 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1173: codeptr=>12 = $0310 // BPL +3 -; libsrc/jitcore.pla: 1174: codeptr->14 = $4C // JMP abs -; libsrc/jitcore.pla: 1175: codeptr=>15 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1176: if not (codeptr->16 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1177: addrxlate=>[dest] = codeptr + 15 - *jitcodeptr -; libsrc/jitcore.pla: 1178: fin - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$C0 ; CW 49365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$10,$03 ; CW 784 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B320 - !WORD _B320-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B320 -_B321 -; libsrc/jitcore.pla: 1179: codeptr = codeptr + 17 -; libsrc/jitcore.pla: 1180: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1181: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1182: is $A2 // BRLT - FOR/NEXT SPECIFIC TEST & BRANCH -_B322 -; libsrc/jitcore.pla: 1183: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1184: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1185: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1186: //puts("BRLT "); puti(dest) -; libsrc/jitcore.pla: 1187: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1188: if not A_IS_TOSL -; libsrc/jitcore.pla: 1189: *codeptr = estkl8+$B5//+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1190: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1191: elsif A_IS_TOSL & TOS_DIRTY - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F021 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B323 - !WORD _B323-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B324 - !WORD _B324-* -_B323 -; libsrc/jitcore.pla: 1192: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1193: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1194: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B325 - !WORD _B325-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B325 -_B324 -; libsrc/jitcore.pla: 1195: codeptr=>0 = estkl8+$D5+$0100//+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 1196: codeptr=>2 = estkh8+$B5//+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1197: codeptr=>4 = estkh8+$F5+$0100//+(VX<<8) // SBC ESTKH+1 -; libsrc/jitcore.pla: 1198: codeptr=>6 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1199: codeptr=>8 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1200: codeptr=>10 = $0310 // BPL +3 -; libsrc/jitcore.pla: 1201: codeptr->12 = $4C // JMP abs -; libsrc/jitcore.pla: 1202: codeptr=>13 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1203: if not (codeptr->14 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1204: addrxlate=>[dest] = codeptr + 13 - *jitcodeptr -; libsrc/jitcore.pla: 1205: fin - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A1 ; CW 41461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$10,$03 ; CW 784 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B326 - !WORD _B326-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B326 -_B327 -; libsrc/jitcore.pla: 1206: codeptr = codeptr + 15 -; libsrc/jitcore.pla: 1207: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1208: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1209: is $A4 // INCBRLE - FOR/NEXT SPECIFIC INC & TEST & BRANCH -_B328 -; libsrc/jitcore.pla: 1210: is $A6 // ADDBRLE - FOR/NEXT SPECIFIC ADD & TEST & BRANCH -_B329 -; libsrc/jitcore.pla: 1211: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1212: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1213: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1214: if not A_IS_TOSL -; libsrc/jitcore.pla: 1215: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1216: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1217: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B330 - !WORD _B330-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B330 -_B331 -; libsrc/jitcore.pla: 1218: if opcode == $A4 -; libsrc/jitcore.pla: 1219: // -; libsrc/jitcore.pla: 1220: // INCR -; libsrc/jitcore.pla: 1221: // -; libsrc/jitcore.pla: 1222: //puts("INCBRLE "); puti(dest) -; libsrc/jitcore.pla: 1223: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1224: codeptr=>1 = $0169 // ADC #$01 -; libsrc/jitcore.pla: 1225: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1226: codeptr=>5 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1227: codeptr=>7 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 1228: codeptr, VX = resolveX(codeptr + 9, VX) -; libsrc/jitcore.pla: 1229: else - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$A4 ; CB 164 - !BYTE $24 ; BRNE _B332 - !WORD _B332-* - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$69,$01 ; CW 361 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F022 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -_B332 -; libsrc/jitcore.pla: 1230: // -; libsrc/jitcore.pla: 1231: // ADD -; libsrc/jitcore.pla: 1232: // -; libsrc/jitcore.pla: 1233: //puts("ADDBRLE "); puti(dest) -; libsrc/jitcore.pla: 1234: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1235: codeptr=>1 = estkl8+$75+$0100+(VX<<8) // ADC ESTKL+1,X -; libsrc/jitcore.pla: 1236: codeptr=>3 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1237: codeptr=>5 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1238: codeptr=>7 = estkh8+$75+$0100+(VX<<8) // ADC ESTKH+1,X -; libsrc/jitcore.pla: 1239: codeptr=>9 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1240: codeptr, VX = resolveX(codeptr + 11, VX + 1) // INX -; libsrc/jitcore.pla: 1241: fin - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$75,$C1 ; CW 49525 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$75,$A1 ; CW 41333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C001 -_F023 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] -_B333 -; libsrc/jitcore.pla: 1242: // -; libsrc/jitcore.pla: 1243: // BRLE -; libsrc/jitcore.pla: 1244: // -; libsrc/jitcore.pla: 1245: codeptr=>0 = estkl8+$B5+$0100//+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1246: codeptr=>2 = estkl8+$D5//+(VX<<8) // CMP ESTKL,X -; libsrc/jitcore.pla: 1247: codeptr=>4 = estkh8+$B5+$0100//+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1248: codeptr=>6 = estkh8+$F5//+(VX<<8) // SBC ESTKH -; libsrc/jitcore.pla: 1249: codeptr=>8 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1250: codeptr=>10 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1251: codeptr=>12 = $0330 // BMI +3 -; libsrc/jitcore.pla: 1252: codeptr->14 = $4C // JMP abs -; libsrc/jitcore.pla: 1253: codeptr=>15 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1254: if not (codeptr->16 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1255: addrxlate=>[dest] = codeptr + 15 - *jitcodeptr -; libsrc/jitcore.pla: 1256: fin - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$C0 ; CW 49365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$30,$03 ; CW 816 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B334 - !WORD _B334-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B334 -_B335 -; libsrc/jitcore.pla: 1257: codeptr = codeptr + 17 -; libsrc/jitcore.pla: 1258: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1259: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1260: is $A8 // DECBRGR - FOR/NEXT SPECIFIC DEC & TEST & BRANCH -_B336 -; libsrc/jitcore.pla: 1261: is $AA // SUBBRGE - FOR/NEXT SPECIFIC SUB & TEST & BRANCH -_B337 -; libsrc/jitcore.pla: 1262: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1263: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1264: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1265: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1266: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1267: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1268: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B338 - !WORD _B338-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B338 -_B339 -; libsrc/jitcore.pla: 1269: if opcode == $A8 -; libsrc/jitcore.pla: 1270: // -; libsrc/jitcore.pla: 1271: // DECR -; libsrc/jitcore.pla: 1272: // -; libsrc/jitcore.pla: 1273: //puts("DECBRGE "); puti(dest) -; libsrc/jitcore.pla: 1274: if not A_IS_TOSL -; libsrc/jitcore.pla: 1275: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1276: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1277: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B340 - !WORD _B340-* - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B342 - !WORD _B342-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B342 -_B343 -; libsrc/jitcore.pla: 1278: codeptr->0 = $38 // SEC -; libsrc/jitcore.pla: 1279: codeptr=>1 = $01E9 // SBC #$01 -; libsrc/jitcore.pla: 1280: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1281: codeptr=>5 = $02B0 // BCS +2 -; libsrc/jitcore.pla: 1282: codeptr=>7 = estkh8+$D6+(VX<<8) // DEC ESTKH,X -; libsrc/jitcore.pla: 1283: codeptr, VX = resolveX(codeptr + 9, VX) -; libsrc/jitcore.pla: 1284: else - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$E9,$01 ; CW 489 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B0,$02 ; CW 688 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$D6,$A0 ; CW 41174 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F024 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B341 - !WORD _B341-* -_B340 -; libsrc/jitcore.pla: 1285: // -; libsrc/jitcore.pla: 1286: // SUB -; libsrc/jitcore.pla: 1287: // -; libsrc/jitcore.pla: 1288: //puts("SUBBRGE "); puti(dest) -; libsrc/jitcore.pla: 1289: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1290: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1291: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1292: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B344 - !WORD _B344-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B344 -_B345 -; libsrc/jitcore.pla: 1293: codeptr=>0 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1294: codeptr->2 = $38 // SEC -; libsrc/jitcore.pla: 1295: codeptr=>3 = estkl8+$F5+(VX<<8) // SBC ESTKL,X -; libsrc/jitcore.pla: 1296: codeptr=>5 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1297: codeptr=>7 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1298: codeptr=>9 = estkh8+$F5+(VX<<8) // SBC ESTKH,X -; libsrc/jitcore.pla: 1299: codeptr=>11 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1300: codeptr, VX = resolveX(codeptr + 13, VX + 1) // INX -; libsrc/jitcore.pla: 1301: *codeptr = estkl8+$B5//+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1302: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1303: fin - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$F5,$C0 ; CW 49397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C001 -_F025 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B341 -; libsrc/jitcore.pla: 1304: // -; libsrc/jitcore.pla: 1305: // BRGE -; libsrc/jitcore.pla: 1306: // -; libsrc/jitcore.pla: 1307: codeptr=>0 = estkl8+$D5+$0100//+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 1308: codeptr=>2 = estkh8+$B5//+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1309: codeptr=>4 = estkh8+$F5+$0100//+(VX<<8) // SBC ESTKH+1,X -; libsrc/jitcore.pla: 1310: codeptr=>6 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1311: codeptr=>8 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1312: codeptr=>10 = $0330 // BMI +3 -; libsrc/jitcore.pla: 1313: codeptr->12 = $4C // JMP abs -; libsrc/jitcore.pla: 1314: codeptr=>13 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1315: if not (codeptr->14 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1316: addrxlate=>[dest] = codeptr + 13 - *jitcodeptr -; libsrc/jitcore.pla: 1317: fin - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A1 ; CW 41461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$30,$03 ; CW 816 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B346 - !WORD _B346-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B346 -_B347 -; libsrc/jitcore.pla: 1318: codeptr = codeptr + 15 -; libsrc/jitcore.pla: 1319: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1320: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1321: is $AC // BRAND - LOGICAL AND SPECIFIC BRANCH -_B348 -; libsrc/jitcore.pla: 1322: is $AE // BROR - LOGICAL OR SPECIFIC BRANCH -_B349 -; libsrc/jitcore.pla: 1323: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1324: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1325: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1326: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1327: if not A_IS_TOSL -; libsrc/jitcore.pla: 1328: *codeptr = estkl8+$B5//+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1329: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1330: elsif A_IS_TOSL & TOS_DIRTY - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C001 -_F026 !WORD _C001 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B350 - !WORD _B350-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B351 - !WORD _B351-* -_B350 -; libsrc/jitcore.pla: 1331: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1332: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1333: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B352 - !WORD _B352-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B352 -_B351 -; libsrc/jitcore.pla: 1334: codeptr=>0 = estkh8+$15//+(VX<<8) // ORA ESTKH,X -; libsrc/jitcore.pla: 1335: if opcode == $AC -; libsrc/jitcore.pla: 1336: //puts("BRAND "); puti(dest) -; libsrc/jitcore.pla: 1337: codeptr=>2 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 1338: else - !BYTE $2C,$15,$A0 ; CW 40981 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$AC ; CB 172 - !BYTE $24 ; BRNE _B353 - !WORD _B353-* - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B354 - !WORD _B354-* -_B353 -; libsrc/jitcore.pla: 1339: //puts("BROR "); puti(dest) -; libsrc/jitcore.pla: 1340: codeptr=>2 = $03F0 // BEQ +3 -; libsrc/jitcore.pla: 1341: fin - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B354 -; libsrc/jitcore.pla: 1342: codeptr->4 = $4C // JMP abs -; libsrc/jitcore.pla: 1343: codeptr=>5 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1344: if not (codeptr->6 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1345: addrxlate=>[dest] = codeptr + 5 - *jitcodeptr -; libsrc/jitcore.pla: 1346: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B355 - !WORD _B355-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B355 -_B356 -; libsrc/jitcore.pla: 1347: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 1348: VX++ // INX - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1349: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1350: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1351: is $B0 // ADDLB -_B357 -; libsrc/jitcore.pla: 1352: is $B2 // ADDLW -_B358 -; libsrc/jitcore.pla: 1353: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1354: j = ^(bytecode+i) -; libsrc/jitcore.pla: 1355: if not A_IS_TOSL -; libsrc/jitcore.pla: 1356: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1357: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1358: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B359 - !WORD _B359-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B359 -_B360 -; libsrc/jitcore.pla: 1359: if VY <> j -; libsrc/jitcore.pla: 1360: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 1361: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1362: VY = j -; libsrc/jitcore.pla: 1363: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B361 - !WORD _B361-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] -_B361 -_B362 -; libsrc/jitcore.pla: 1364: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1365: codeptr=>1 = ifpl8+$71 // ADC (IFP),Y -; libsrc/jitcore.pla: 1366: if opcode == $B0 -; libsrc/jitcore.pla: 1367: //puts("ADDLB "); puti(j) -; libsrc/jitcore.pla: 1368: codeptr=>3 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1369: codeptr=>5 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 1370: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 1371: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 1372: else - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$71,$E0 ; CW 57457 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$B0 ; CB 176 - !BYTE $24 ; BRNE _B363 - !WORD _B363-* - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B364 - !WORD _B364-* -_B363 -; libsrc/jitcore.pla: 1373: //puts("ADDLW "); puti(j) -; libsrc/jitcore.pla: 1374: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1375: codeptr=>5 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1376: codeptr->7 = $C8 // INY -; libsrc/jitcore.pla: 1377: codeptr=>8 = ifpl8+$71 // ADC (IFP),Y -; libsrc/jitcore.pla: 1378: codeptr=>10 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1379: codeptr = codeptr + 12 -; libsrc/jitcore.pla: 1380: VY++ - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$71,$E0 ; CW 57457 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1381: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1382: fin - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] -_B364 -; libsrc/jitcore.pla: 1383: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1384: is $B4 // ADDAB -_B365 -; libsrc/jitcore.pla: 1385: is $B6 // ADDAW -_B366 -; libsrc/jitcore.pla: 1386: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 1387: i = i + 2 -; libsrc/jitcore.pla: 1388: if not A_IS_TOSL -; libsrc/jitcore.pla: 1389: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1390: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1391: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B367 - !WORD _B367-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B367 -_B368 -; libsrc/jitcore.pla: 1392: codeptr=>0 = $6D18 // CLC; ADC abs -; libsrc/jitcore.pla: 1393: codeptr=>2 = dest -; libsrc/jitcore.pla: 1394: if opcode == $B4 -; libsrc/jitcore.pla: 1395: //puts("ADDAB $"); puth(dest) -; libsrc/jitcore.pla: 1396: codeptr=>4 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1397: codeptr=>6 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 1398: codeptr = codeptr + 8 -; libsrc/jitcore.pla: 1399: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 1400: else - !BYTE $2C,$18,$6D ; CW 27928 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$B4 ; CB 180 - !BYTE $24 ; BRNE _B369 - !WORD _B369-* - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B370 - !WORD _B370-* -_B369 -; libsrc/jitcore.pla: 1401: //puts("ADDAW $"); puth(dest) -; libsrc/jitcore.pla: 1402: codeptr=>4 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1403: codeptr=>6 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1404: codeptr->8 = $6D // ADC abs -; libsrc/jitcore.pla: 1405: codeptr=>9 = dest+1 -; libsrc/jitcore.pla: 1406: codeptr=>11 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1407: codeptr = codeptr + 13 -; libsrc/jitcore.pla: 1408: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1409: fin - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$6D ; CB 109 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] -_B370 -; libsrc/jitcore.pla: 1410: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1411: is $B8 // IDXLB -_B371 -; libsrc/jitcore.pla: 1412: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1413: j = ^(bytecode+i) -; libsrc/jitcore.pla: 1414: //puts("IDXLB "); puti(j) -; libsrc/jitcore.pla: 1415: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1416: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1417: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1418: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B372 - !WORD _B372-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B372 -_B373 -; libsrc/jitcore.pla: 1419: if VY <> j -; libsrc/jitcore.pla: 1420: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 1421: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1422: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B374 - !WORD _B374-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B374 -_B375 -; libsrc/jitcore.pla: 1423: *codeptr = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 1424: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1425: if j <> 0 -; libsrc/jitcore.pla: 1426: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 1427: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1428: fin - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $4C ; BRFLS _B376 - !WORD _B376-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B376 -_B377 -; libsrc/jitcore.pla: 1429: codeptr->0 = $0A // ASL -; libsrc/jitcore.pla: 1430: codeptr=>1 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1431: codeptr=>3 = $18C8 // INY; CLC -; libsrc/jitcore.pla: 1432: codeptr=>5 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1433: codeptr=>7 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1434: codeptr->9 = $98 // TYA -; libsrc/jitcore.pla: 1435: codeptr=>10 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1436: codeptr=>12 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1437: codeptr = codeptr + 14 -; libsrc/jitcore.pla: 1438: VY = UNKNOWN -; libsrc/jitcore.pla: 1439: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1440: break - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$C8,$18 ; CW 6344 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1441: is $BA // IDXLW -_B378 -; libsrc/jitcore.pla: 1442: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1443: j = ^(bytecode+i) -; libsrc/jitcore.pla: 1444: //puts("IDXLW "); puti(j) -; libsrc/jitcore.pla: 1445: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1446: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1447: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1448: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B379 - !WORD _B379-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B379 -_B380 -; libsrc/jitcore.pla: 1449: if VY <> j -; libsrc/jitcore.pla: 1450: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 1451: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1452: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B381 - !WORD _B381-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B381 -_B382 -; libsrc/jitcore.pla: 1453: codeptr=>0 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 1454: codeptr->2 = $0A // ASL -; libsrc/jitcore.pla: 1455: codeptr=>3 = tmpl8+$85 // STA $E7:TMPL -; libsrc/jitcore.pla: 1456: codeptr->5 = $C8 // INY -; libsrc/jitcore.pla: 1457: codeptr=>6 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 1458: codeptr=>8 = $A82A // ROL; TAY -; libsrc/jitcore.pla: 1459: codeptr=>10 = tmpl8+$A5 // LDA $E7:TMPL -; libsrc/jitcore.pla: 1460: codeptr->12 = $18 // CLC -; libsrc/jitcore.pla: 1461: codeptr=>13 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1462: codeptr=>15 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1463: codeptr->17 = $98 // TYA -; libsrc/jitcore.pla: 1464: codeptr=>18 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1465: codeptr=>20 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1466: codeptr = codeptr + 22 -; libsrc/jitcore.pla: 1467: VY = UNKNOWN -; libsrc/jitcore.pla: 1468: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1469: break - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$2A,$A8 ; CW 43050 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$A5,$E7 ; CW 59301 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$14 ; ADDI 20 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$16 ; ADDI 22 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1470: is $BC // IDXAB -_B383 -; libsrc/jitcore.pla: 1471: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 1472: i = i + 2 -; libsrc/jitcore.pla: 1473: //puts("IDXAB $"); puth(*(bytecode+i)) -; libsrc/jitcore.pla: 1474: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1475: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1476: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1477: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B384 - !WORD _B384-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B384 -_B385 -; libsrc/jitcore.pla: 1478: if VY <> 0 -; libsrc/jitcore.pla: 1479: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 1480: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1481: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B386 - !WORD _B386-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B386 -_B387 -; libsrc/jitcore.pla: 1482: codeptr->0 = $AD // LDA abs -; libsrc/jitcore.pla: 1483: codeptr=>1 = dest -; libsrc/jitcore.pla: 1484: codeptr->3 = $0A // ASL -; libsrc/jitcore.pla: 1485: codeptr=>4 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1486: codeptr=>6 = $18C8 // INY; CLC -; libsrc/jitcore.pla: 1487: codeptr=>8 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1488: codeptr=>10 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1489: codeptr->12 = $98 // TYA -; libsrc/jitcore.pla: 1490: codeptr=>13 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1491: codeptr=>15 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1492: codeptr = codeptr + 17 -; libsrc/jitcore.pla: 1493: VY = UNKNOWN -; libsrc/jitcore.pla: 1494: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1495: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$C8,$18 ; CW 6344 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1496: is $BE // IDXAW -_B388 -; libsrc/jitcore.pla: 1497: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 1498: i = i + 2 -; libsrc/jitcore.pla: 1499: //puts("IDXAW $"); puth(dest) -; libsrc/jitcore.pla: 1500: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1501: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1502: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1503: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B389 - !WORD _B389-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B389 -_B390 -; libsrc/jitcore.pla: 1504: codeptr->0 = $AD // LDA abs -; libsrc/jitcore.pla: 1505: codeptr=>1 = dest -; libsrc/jitcore.pla: 1506: codeptr->3 = $0A // ASL -; libsrc/jitcore.pla: 1507: codeptr=>4 = tmpl8+$85 // STA $E7:TMPL -; libsrc/jitcore.pla: 1508: codeptr->6 = $AD // LDA abs+1 -; libsrc/jitcore.pla: 1509: codeptr=>7 = dest+1 -; libsrc/jitcore.pla: 1510: codeptr=>9 = $A82A // ROL; TAY -; libsrc/jitcore.pla: 1511: codeptr=>11 = tmpl8+$A5 // LDA $E7:TMPL -; libsrc/jitcore.pla: 1512: codeptr->13 = $18 // CLC -; libsrc/jitcore.pla: 1513: codeptr=>14 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1514: codeptr=>16 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1515: codeptr->18 = $98 // TYA -; libsrc/jitcore.pla: 1516: codeptr=>19 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1517: codeptr=>21 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1518: codeptr = codeptr + 23 -; libsrc/jitcore.pla: 1519: VY = UNKNOWN -; libsrc/jitcore.pla: 1520: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1521: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$2A,$A8 ; CW 43050 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$A5,$E7 ; CW 59301 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$13 ; ADDI 19 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$15 ; ADDI 21 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$17 ; ADDI 23 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1522: is $FE // NOPed out earlier by SELect -_B391 -; libsrc/jitcore.pla: 1523: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1524: otherwise -_B089 - !BYTE $4F ; CASEBLOCK - !WORD $0020 - !WORD _B090-* - !WORD $0022 - !WORD _B093-* - !WORD $0024 - !WORD _B094-* - !WORD $0026 - !WORD _B101-* - !WORD $0028 - !WORD _B105-* - !WORD $002A - !WORD _B112-* - !WORD $002C - !WORD _B102-* - !WORD $002E - !WORD _B120-* - !WORD $0030 - !WORD _B126-* - !WORD $0032 - !WORD _B125-* - !WORD $0034 - !WORD _B127-* - !WORD $0038 - !WORD _B131-* - !WORD $003A - !WORD _B137-* - !WORD $003C - !WORD _B143-* - !WORD $003E - !WORD _B148-* - !WORD $0040 - !WORD _B151-* - !WORD $0042 - !WORD _B152-* - !WORD $0044 - !WORD _B159-* - !WORD $0046 - !WORD _B167-* - !WORD $0048 - !WORD _B168-* - !WORD $004A - !WORD _B160-* - !WORD $004C - !WORD _B175-* - !WORD $004E - !WORD _B176-* - !WORD $0050 - !WORD _B183-* - !WORD $0052 - !WORD _B188-* - !WORD $0054 - !WORD _B200-* - !WORD $0056 - !WORD _B203-* - !WORD $005A - !WORD _B206-* - !WORD $005C - !WORD _B209-* - !WORD $005E - !WORD _B113-* - !WORD $0060 - !WORD _B212-* - !WORD $0062 - !WORD _B217-* - !WORD $0064 - !WORD _B220-* - !WORD $0066 - !WORD _B227-* - !WORD $0068 - !WORD _B232-* - !WORD $006A - !WORD _B233-* - !WORD $006C - !WORD _B240-* - !WORD $006E - !WORD _B247-* - !WORD $0070 - !WORD _B252-* - !WORD $0072 - !WORD _B253-* - !WORD $0074 - !WORD _B258-* - !WORD $0076 - !WORD _B259-* - !WORD $0078 - !WORD _B266-* - !WORD $007A - !WORD _B267-* - !WORD $007C - !WORD _B272-* - !WORD $007E - !WORD _B273-* - !WORD $0080 - !WORD _B280-* - !WORD $0082 - !WORD _B283-* - !WORD $0084 - !WORD _B286-* - !WORD $0086 - !WORD _B289-* - !WORD $0088 - !WORD _B290-* - !WORD $008A - !WORD _B291-* - !WORD $008C - !WORD _B132-* - !WORD $008E - !WORD _B138-* - !WORD $0090 - !WORD _B296-* - !WORD $0092 - !WORD _B301-* - !WORD $0094 - !WORD _B304-* - !WORD $0096 - !WORD _B305-* - !WORD $0098 - !WORD _B306-* - !WORD $009A - !WORD _B292-* - !WORD $009C - !WORD _B293-* - !WORD $009E - !WORD _B314-* - !WORD $00A0 - !WORD _B317-* - !WORD $00A2 - !WORD _B322-* - !WORD $00A4 - !WORD _B328-* - !WORD $00A6 - !WORD _B329-* - !WORD $00A8 - !WORD _B336-* - !WORD $00AA - !WORD _B337-* - !WORD $00AC - !WORD _B348-* - !WORD $00AE - !WORD _B349-* - !WORD $00B0 - !WORD _B357-* - !WORD $00B2 - !WORD _B358-* - !WORD $00B4 - !WORD _B365-* - !WORD $00B6 - !WORD _B366-* - !WORD $00B8 - !WORD _B371-* - !WORD $00BA - !WORD _B378-* - !WORD $00BC - !WORD _B383-* - !WORD $00BE - !WORD _B388-* - !WORD $00FE - !WORD _B391-* -; libsrc/jitcore.pla: 1525: //puts("???: $"); puth(^(bytecode+i)); putln -; libsrc/jitcore.pla: 1526: wend -_B088 -; libsrc/jitcore.pla: 1527: fin -_B081 -; libsrc/jitcore.pla: 1528: //putln -; libsrc/jitcore.pla: 1529: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1530: if i >= defptr->bytecodesize -; libsrc/jitcore.pla: 1531: // -; libsrc/jitcore.pla: 1532: // Done compiling. Update DEF entry with JMP to compiled code -; libsrc/jitcore.pla: 1533: // -; libsrc/jitcore.pla: 1534: defptr->interpjsr = $4C // JMP -; libsrc/jitcore.pla: 1535: defptr=>interpaddr = *jitcodeptr -; libsrc/jitcore.pla: 1536: *jitcodeptr = codeptr -; libsrc/jitcore.pla: 1537: //puts("Done compiling: $"); puth(defptr=>interpaddr) -; libsrc/jitcore.pla: 1538: //puts("->$"); puth(*jitcodeptr); putln -; libsrc/jitcore.pla: 1539: //getc -; libsrc/jitcore.pla: 1540: return - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B392 - !WORD _B392-* - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A,$E4,$03 ; SAW 996 - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/jitcore.pla: 1541: fin -_B392 -_B393 -; libsrc/jitcore.pla: 1542: loop -_B070 - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$E0,$BE ; CW 48864 - !BYTE $54 ; CALL _X027 -_F027 !WORD 0 - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* -_B069 -; libsrc/jitcore.pla: 1543: // -; libsrc/jitcore.pla: 1544: // If we got here we ran out of code buffer space. -; libsrc/jitcore.pla: 1545: // -; libsrc/jitcore.pla: 1546: //puts("Ran out of code buffer\n") -; libsrc/jitcore.pla: 1547: //getc -; libsrc/jitcore.pla: 1548: end - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/apple/jit.pla: 0044: -; libsrc/apple/jit.pla: 0045: // -; libsrc/apple/jit.pla: 0046: // Install JIT compiler -; libsrc/apple/jit.pla: 0047: // -; libsrc/apple/jit.pla: 0048: if *jitcomp -_INIT -; libsrc/apple/jit.pla: 0049: return 0 - !BYTE $6A,$E2,$03 ; LAW 994 - !BYTE $4C ; BRFLS _B394 - !WORD _B394-* - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/jit.pla: 0050: fin -_B394 -_B395 -; libsrc/apple/jit.pla: 0051: *jitcomp = @compiler -; libsrc/apple/jit.pla: 0052: cmdsys.jitcount = 32 -; libsrc/apple/jit.pla: 0053: cmdsys.jitsize = 255 -; libsrc/apple/jit.pla: 0054: puts("JITC enabled\n") - !BYTE $26 ; LA _C002+0 -_F028 !WORD _C002+0 - !BYTE $7A,$E2,$03 ; SAW 994 - !BYTE $2A,$20 ; CB 32 - !BYTE $78 ; SAB _X000+17 -_F029 !WORD 0+17 - !BYTE $2A,$FF ; CB 255 - !BYTE $78 ; SAB _X000+18 -_F030 !WORD 0+18 - !BYTE $2E ; CS - !BYTE $0D - !BYTE $4A,$49,$54,$43,$20,$65,$6E,$61 - !BYTE $62,$6C,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 -; libsrc/apple/jit.pla: 0055: return modkeep - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/jit.pla: 0056: done -_SYSFLAGS = 0 -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ISULE - !BYTE $C9,$D3,$D5,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 27 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/jit16.a b/src/libsrc/apple/jit16.a deleted file mode 100644 index 5860f2f..0000000 --- a/src/libsrc/apple/jit16.a +++ /dev/null @@ -1,5455 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/jit16.pla: 0001: // -; libsrc/apple/jit16.pla: 0002: // PLASMA JIT bytecode compiler -; libsrc/apple/jit16.pla: 0003: // -; libsrc/apple/jit16.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/jit16.pla: 0004: -; libsrc/apple/jit16.pla: 0005: // -; libsrc/apple/jit16.pla: 0006: // Indirect interpreter DEFinition entrypoint -; libsrc/apple/jit16.pla: 0007: // -; libsrc/apple/jit16.pla: 0008: struc t_defentry - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/apple/jit16.pla: 0009: byte interpjsr - ; interpjsr = 0 -; libsrc/apple/jit16.pla: 0010: word interpaddr - ; interpaddr = 1 -; libsrc/apple/jit16.pla: 0011: word bytecodeaddr - ; bytecodeaddr = 3 -; libsrc/apple/jit16.pla: 0012: byte callcount - ; callcount = 5 -; libsrc/apple/jit16.pla: 0013: byte bytecodesize - ; bytecodesize = 6 -; libsrc/apple/jit16.pla: 0014: end - ; t_defentry = 7 -; libsrc/apple/jit16.pla: 0015: // -; libsrc/apple/jit16.pla: 0016: // JIT compiler constants -; libsrc/apple/jit16.pla: 0017: // -; libsrc/apple/jit16.pla: 0018: const jitcomp = $03E2 - ; jitcomp = 994 -; libsrc/apple/jit16.pla: 0019: const jitcodeptr = $03E4 - ; jitcodeptr = 996 -; libsrc/apple/jit16.pla: 0020: const codemax = $BEE0 - ; codemax = 48864 -; libsrc/apple/jit16.pla: 0021: const estkh8 = $A000 - ; estkh8 = 40960 -; libsrc/apple/jit16.pla: 0022: const estkh = $00A0 - ; estkh = 160 -; libsrc/apple/jit16.pla: 0023: const estkl8 = $C000 - ; estkl8 = 49152 -; libsrc/apple/jit16.pla: 0024: const estkl = $00C0 - ; estkl = 192 -; libsrc/apple/jit16.pla: 0025: const ifp8 = $E000 - ; ifp8 = 57344 -; libsrc/apple/jit16.pla: 0026: const ifpl8 = $E000 - ; ifpl8 = 57344 -; libsrc/apple/jit16.pla: 0027: const ifph8 = $E100 - ; ifph8 = 57600 -; libsrc/apple/jit16.pla: 0028: const jmptmp = $00E6 - ; jmptmp = 230 -; libsrc/apple/jit16.pla: 0029: const tmp8 = $E700 - ; tmp8 = 59136 -; libsrc/apple/jit16.pla: 0030: const tmpl8 = $E700 - ; tmpl8 = 59136 -; libsrc/apple/jit16.pla: 0031: const tmph8 = $E800 - ; tmph8 = 59392 -; libsrc/apple/jit16.pla: 0032: const fetchop = $00F1 - ; fetchop = 241 -; libsrc/apple/jit16.pla: 0033: const ip8 = $F200 - ; ip8 = 61952 -; libsrc/apple/jit16.pla: 0034: const ip = $00F2 - ; ip = 242 -; libsrc/apple/jit16.pla: 0035: // -; libsrc/apple/jit16.pla: 0036: // Bytecode interpreter entrypoints -; libsrc/apple/jit16.pla: 0037: // -; libsrc/apple/jit16.pla: 0038: const indirectentry = $03DC - ; indirectentry = 988 -; libsrc/apple/jit16.pla: 0039: const directentry = $03D0 - ; directentry = 976 -; libsrc/apple/jit16.pla: 0040: // -; libsrc/apple/jit16.pla: 0041: // Copy bytecode DEF to main memory -; libsrc/apple/jit16.pla: 0042: // -; libsrc/apple/jit16.pla: 0043: def defcpy(dst, defptr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; dst -> [0] - ; defptr -> [2] -_C000 ; defcpy() -; libsrc/apple/jit16.pla: 0044: *$003C = defptr=>bytecodeaddr - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/jit16.pla: 0045: *$003E = *$003C + defptr->bytecodesize -; libsrc/apple/jit16.pla: 0046: *$0042 = dst -; libsrc/apple/jit16.pla: 0047: call($C311, 0, 0, 0, $04) // CALL XMOVE with carry clear (AUX->MAIN) and ints disabled -; libsrc/apple/jit16.pla: 0048: end - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $7E,$3C,$00 ; DAW 60 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $7A,$3E,$00 ; SAW 62 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A,$42,$00 ; SAW 66 - !BYTE $2C,$11,$C3 ; CW 49937 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F000 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/jit16.pla: 0049: // -; libsrc/apple/jit16.pla: 0050: // Identify hardware addresses for certain byte sized access operations -; libsrc/apple/jit16.pla: 0051: // -; libsrc/apple/jit16.pla: 0052: def is_hwaddr(addr) - ; addr -> [0] -_C001 ; is_hwaddr() -; libsrc/apple/jit16.pla: 0053: return isuge(addr, $C000) and isult(addr, $C100) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $54 ; CALL _X025 -_F001 !WORD 0 - !BYTE $AC ; BRAND _B001 - !WORD _B001-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$C1 ; CW 49408 - !BYTE $54 ; CALL _X026 -_F002 !WORD 0 -_B001 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/jit16.pla: 0054: end -; libsrc/apple/jit16.pla: 0055: include "libsrc/jit16core.pla" -; libsrc/jit16core.pla: 0001: // -; libsrc/jit16core.pla: 0002: // TOS and NOS stack offsets -; libsrc/jit16core.pla: 0003: // -; libsrc/jit16core.pla: 0004: const TOS = $01 // TOS - ; TOS = 1 -; libsrc/jit16core.pla: 0005: const NOS = $03 // TOS-1 - ; NOS = 3 -; libsrc/jit16core.pla: 0006: // -; libsrc/jit16core.pla: 0007: // JIT compiler entry -; libsrc/jit16core.pla: 0008: // -; libsrc/jit16core.pla: 0009: def compiler(defptr)#0 - ; defptr -> [0] -_C002 ; compiler() -; libsrc/jit16core.pla: 0010: word codeptr, isdata[], addrxlate, bytecode, i, case, dest - ; codeptr -> [2] - ; isdata -> [4] - ; addrxlate -> [4] - ; bytecode -> [6] - ; i -> [8] - ; case -> [10] - ; dest -> [12] -; libsrc/jit16core.pla: 0011: byte opcode, j, A_IS_TOS, X_IS_IFP - ; opcode -> [14] - ; j -> [15] - ; A_IS_TOS -> [16] - ; X_IS_IFP -> [17] -; libsrc/jit16core.pla: 0012: -; libsrc/jit16core.pla: 0013: defptr=>interpaddr = indirectentry // assume compile will fail - !BYTE $58,$12,$01 ; ENTER 18,1 -; libsrc/jit16core.pla: 0014: addrxlate = heapmark // heapalloc(512 + defptr->bytecodesize) -; libsrc/jit16core.pla: 0015: if isult(heapavail, 512 + defptr->bytecodesize) // 256 * sizeof(word) address xlate -; libsrc/jit16core.pla: 0016: // -; libsrc/jit16core.pla: 0017: // Not enough heap available -; libsrc/jit16core.pla: 0018: // -; libsrc/jit16core.pla: 0019: //puts("Not enough free heap\n") -; libsrc/jit16core.pla: 0020: return - !BYTE $2C,$DC,$03 ; CW 988 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $54 ; CALL _X012 -_F003 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $54 ; CALL _X016 -_F004 !WORD 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X026 -_F005 !WORD 0 - !BYTE $4C ; BRFLS _B002 - !WORD _B002-* - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/jit16core.pla: 0021: fin -_B002 -_B003 -; libsrc/jit16core.pla: 0022: // -; libsrc/jit16core.pla: 0023: // Copy bytecode def from AUX to heap for compiling -; libsrc/jit16core.pla: 0024: // -; libsrc/jit16core.pla: 0025: bytecode = addrxlate + 512 // def bytecode -; libsrc/jit16core.pla: 0026: defcpy(bytecode, defptr) -; libsrc/jit16core.pla: 0027: //puts("JITC:$"); puth(defptr=>bytecodeaddr); puts("=>$"); puth(bytecode) -; libsrc/jit16core.pla: 0028: //puts(",$"); puth(defptr->bytecodesize); putln -; libsrc/jit16core.pla: 0029: // -; libsrc/jit16core.pla: 0030: // Find all branch targets and optimization fences. Tag the opcode with the LSB set -; libsrc/jit16core.pla: 0031: // -; libsrc/jit16core.pla: 0032: // All PLASMA ops are even (LSB clear), so this will flag when to fence optimizations -; libsrc/jit16core.pla: 0033: // During compiling. -; libsrc/jit16core.pla: 0034: // -; libsrc/jit16core.pla: 0035: //isdata = addrxlate // Use this buffer -; libsrc/jit16core.pla: 0036: memset(isdata, 0, 256) // Clear isdata buffer -; libsrc/jit16core.pla: 0037: i = 0 -; libsrc/jit16core.pla: 0038: while i < defptr->bytecodesize - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $6E,$06 ; DLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F006 !WORD _C000 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X017 -_F007 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; libsrc/jit16core.pla: 0039: if not ^(isdata+i) -; libsrc/jit16core.pla: 0040: //puth(bytecode+i); putc(':'); putb(^(bytecode+i) & $FE); putln; getc -; libsrc/jit16core.pla: 0041: when ^(bytecode+i) & $FE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B007 - !WORD _B007-* - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $3C,$FE ; ANDI 254 - !BYTE $52 ; SEL - !WORD _B010-* -; libsrc/jit16core.pla: 0042: // -; libsrc/jit16core.pla: 0043: // Double byte operands -; libsrc/jit16core.pla: 0044: // -; libsrc/jit16core.pla: 0045: is $26 // LA -_B011 -; libsrc/jit16core.pla: 0046: is $2C // CW -_B012 -; libsrc/jit16core.pla: 0047: is $54 // CALL -_B013 -; libsrc/jit16core.pla: 0048: is $58 // ENTER -_B014 -; libsrc/jit16core.pla: 0049: is $68 // LAB -_B015 -; libsrc/jit16core.pla: 0050: is $6A // LAW -_B016 -; libsrc/jit16core.pla: 0051: is $78 // SAB -_B017 -; libsrc/jit16core.pla: 0052: is $7A // SAW -_B018 -; libsrc/jit16core.pla: 0053: is $7C // DAB -_B019 -; libsrc/jit16core.pla: 0054: is $7E // DAW -_B020 -; libsrc/jit16core.pla: 0055: is $B4 // ADDAB -_B021 -; libsrc/jit16core.pla: 0056: is $B6 // ADDAW -_B022 -; libsrc/jit16core.pla: 0057: is $BC // IDXAB -_B023 -; libsrc/jit16core.pla: 0058: is $BE // IDXAW -_B024 -; libsrc/jit16core.pla: 0059: i = i + 2 -; libsrc/jit16core.pla: 0060: break - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; libsrc/jit16core.pla: 0061: // -; libsrc/jit16core.pla: 0062: // Multi-byte operands -; libsrc/jit16core.pla: 0063: // -; libsrc/jit16core.pla: 0064: is $2E // CS -_B025 -; libsrc/jit16core.pla: 0065: i = i + ^(bytecode+i+1) -; libsrc/jit16core.pla: 0066: // -; libsrc/jit16core.pla: 0067: // Single byte operands -; libsrc/jit16core.pla: 0068: // -; libsrc/jit16core.pla: 0069: is $2A // CB - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] -_B026 -; libsrc/jit16core.pla: 0070: is $28 // LLA -_B027 -; libsrc/jit16core.pla: 0071: is $38 // ADDI -_B028 -; libsrc/jit16core.pla: 0072: is $3A // SUBI -_B029 -; libsrc/jit16core.pla: 0073: is $3C // ANDI -_B030 -; libsrc/jit16core.pla: 0074: is $3E // ORI -_B031 -; libsrc/jit16core.pla: 0075: is $5A // LEAVE -_B032 -; libsrc/jit16core.pla: 0076: is $5E // CFFB -_B033 -; libsrc/jit16core.pla: 0077: is $64 // LLB -_B034 -; libsrc/jit16core.pla: 0078: is $66 // LLW -_B035 -; libsrc/jit16core.pla: 0079: is $6C // DLB -_B036 -; libsrc/jit16core.pla: 0080: is $6E // DLW -_B037 -; libsrc/jit16core.pla: 0081: is $74 // SLB -_B038 -; libsrc/jit16core.pla: 0082: is $76 // SLW -_B039 -; libsrc/jit16core.pla: 0083: is $B0 // ADDLB -_B040 -; libsrc/jit16core.pla: 0084: is $B2 // ADDLW -_B041 -; libsrc/jit16core.pla: 0085: is $B8 // IDXLB -_B042 -; libsrc/jit16core.pla: 0086: is $BA // IDXLW -_B043 -; libsrc/jit16core.pla: 0087: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0088: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; libsrc/jit16core.pla: 0089: // -; libsrc/jit16core.pla: 0090: // Branches -; libsrc/jit16core.pla: 0091: // -; libsrc/jit16core.pla: 0092: is $50 // BRNCH -_B044 -; libsrc/jit16core.pla: 0093: is $22 // BREQ -_B045 -; libsrc/jit16core.pla: 0094: is $24 // BRNE -_B046 -; libsrc/jit16core.pla: 0095: is $4C // BRFLS -_B047 -; libsrc/jit16core.pla: 0096: is $4E // BRTRU -_B048 -; libsrc/jit16core.pla: 0097: is $A0 // BRGT -_B049 -; libsrc/jit16core.pla: 0098: is $A2 // BRLT -_B050 -; libsrc/jit16core.pla: 0099: is $A4 // INCBRLE -_B051 -; libsrc/jit16core.pla: 0100: is $A6 // ADDBRLE -_B052 -; libsrc/jit16core.pla: 0101: is $A8 // DECBRGE -_B053 -; libsrc/jit16core.pla: 0102: is $AA // SUBBRGE -_B054 -; libsrc/jit16core.pla: 0103: is $AC // BRAND -_B055 -; libsrc/jit16core.pla: 0104: is $AE // BROR -_B056 -; libsrc/jit16core.pla: 0105: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0106: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 0107: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0108: ^(bytecode+dest) = ^(bytecode+dest) | 1 // Flag as branch dest -; libsrc/jit16core.pla: 0109: break - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; libsrc/jit16core.pla: 0110: // -; libsrc/jit16core.pla: 0111: // SELect/caseblock -; libsrc/jit16core.pla: 0112: // -; libsrc/jit16core.pla: 0113: is $52 // SEL -_B057 -; libsrc/jit16core.pla: 0114: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0115: case = i + *(bytecode+i) -; libsrc/jit16core.pla: 0116: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0117: ^(isdata+case) = TRUE // Flag as data -; libsrc/jit16core.pla: 0118: j = ^(bytecode+case) -; libsrc/jit16core.pla: 0119: case++ - !BYTE $76,$08 ; SLW [8] - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0120: repeat - !BYTE $76,$0A ; SLW [10] -_B059 -; libsrc/jit16core.pla: 0121: *(isdata+case) = TRUE // Flag as data -; libsrc/jit16core.pla: 0122: case = case + 2 -; libsrc/jit16core.pla: 0123: dest = case + *(bytecode+case) -; libsrc/jit16core.pla: 0124: ^(bytecode+dest) = ^(bytecode+dest) | 1 // Flag as branch dest -; libsrc/jit16core.pla: 0125: *(isdata+case) = TRUE // Flag as data -; libsrc/jit16core.pla: 0126: case = case + 2 -; libsrc/jit16core.pla: 0127: j-- - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$0F ; LLB [15] - !BYTE $8E ; DECR -; libsrc/jit16core.pla: 0128: until not j - !BYTE $74,$0F ; SLB [15] -_B060 - !BYTE $64,$0F ; LLB [15] - !BYTE $4E ; BRTRU _B059 - !WORD _B059-* -_B058 -; libsrc/jit16core.pla: 0129: break - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; libsrc/jit16core.pla: 0130: wend - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -_B010 - !BYTE $2F ; CASEBLOCK - !WORD $0022 - !WORD _B045-* - !WORD $0024 - !WORD _B046-* - !WORD $0026 - !WORD _B011-* - !WORD $0028 - !WORD _B027-* - !WORD $002A - !WORD _B026-* - !WORD $002C - !WORD _B012-* - !WORD $002E - !WORD _B025-* - !WORD $0038 - !WORD _B028-* - !WORD $003A - !WORD _B029-* - !WORD $003C - !WORD _B030-* - !WORD $003E - !WORD _B031-* - !WORD $004C - !WORD _B047-* - !WORD $004E - !WORD _B048-* - !WORD $0050 - !WORD _B044-* - !WORD $0052 - !WORD _B057-* - !WORD $0054 - !WORD _B013-* - !WORD $0058 - !WORD _B014-* - !WORD $005A - !WORD _B032-* - !WORD $005E - !WORD _B033-* - !WORD $0064 - !WORD _B034-* - !WORD $0066 - !WORD _B035-* - !WORD $0068 - !WORD _B015-* - !WORD $006A - !WORD _B016-* - !WORD $006C - !WORD _B036-* - !WORD $006E - !WORD _B037-* - !WORD $0074 - !WORD _B038-* - !WORD $0076 - !WORD _B039-* - !WORD $0078 - !WORD _B017-* - !WORD $007A - !WORD _B018-* - !WORD $007C - !WORD _B019-* - !WORD $007E - !WORD _B020-* - !WORD $00A0 - !WORD _B049-* - !WORD $00A2 - !WORD _B050-* - !WORD $00A4 - !WORD _B051-* - !WORD $00A6 - !WORD _B052-* - !WORD $00A8 - !WORD _B053-* - !WORD $00AA - !WORD _B054-* - !WORD $00AC - !WORD _B055-* - !WORD $00AE - !WORD _B056-* - !WORD $00B0 - !WORD _B040-* - !WORD $00B2 - !WORD _B041-* - !WORD $00B4 - !WORD _B021-* - !WORD $00B6 - !WORD _B022-* - !WORD $00B8 - !WORD _B042-* - !WORD $00BA - !WORD _B043-* - !WORD $00BC - !WORD _B023-* - !WORD $00BE - !WORD _B024-* -_B009 -; libsrc/jit16core.pla: 0131: fin -_B007 -_B008 -; libsrc/jit16core.pla: 0132: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0133: loop - !BYTE $76,$08 ; SLW [8] -_B006 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/jit16core.pla: 0134: // -; libsrc/jit16core.pla: 0135: // Compile the bytecodes -; libsrc/jit16core.pla: 0136: // -; libsrc/jit16core.pla: 0137: memset(addrxlate, 0, 512) // Clear xlate buffer -; libsrc/jit16core.pla: 0138: //puts("Bytecode: $"); puth(bytecode); putln; getc -; libsrc/jit16core.pla: 0139: codeptr = *jitcodeptr -; libsrc/jit16core.pla: 0140: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0141: X_IS_IFP = FALSE -; libsrc/jit16core.pla: 0142: codeptr->0 = $20 // JSR INTERP -; libsrc/jit16core.pla: 0143: codeptr=>1 = directentry -; libsrc/jit16core.pla: 0144: if ^bytecode == $58 -; libsrc/jit16core.pla: 0145: //putc('$'); puth(codeptr);//puts(":[0] ENTER "); puti(^(bytecode+1)); putc(',');puti(^(bytecode+2)); putln -; libsrc/jit16core.pla: 0146: // -; libsrc/jit16core.pla: 0147: // Call into VM -; libsrc/jit16core.pla: 0148: // -; libsrc/jit16core.pla: 0149: codeptr->3 = $58 // ENTER CODE -; libsrc/jit16core.pla: 0150: codeptr=>4 = *(bytecode+1) // ENTER FRAME SIZE & ARG COUNT -; libsrc/jit16core.pla: 0151: codeptr->6 = $C0 // NATV CODE -; libsrc/jit16core.pla: 0152: codeptr = codeptr + 7 -; libsrc/jit16core.pla: 0153: i = 3 -; libsrc/jit16core.pla: 0154: else - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X017 -_F008 !WORD 0 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $2A,$58 ; CB 88 - !BYTE $24 ; BRNE _B061 - !WORD _B061-* - !BYTE $2A,$58 ; CB 88 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $06 ; CN 3 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B061 -; libsrc/jit16core.pla: 0155: // -; libsrc/jit16core.pla: 0156: // Call into VM -; libsrc/jit16core.pla: 0157: // -; libsrc/jit16core.pla: 0158: codeptr->3 = $C0 // NATV CODE -; libsrc/jit16core.pla: 0159: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0160: i = 0 -; libsrc/jit16core.pla: 0161: fin - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] -_B062 -; libsrc/jit16core.pla: 0162: while isule(codeptr, codemax) - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B063 -; libsrc/jit16core.pla: 0163: //putc('$'); puth(codeptr); putc(':') -; libsrc/jit16core.pla: 0164: //putc('['); puti(i); //puts("] ") -; libsrc/jit16core.pla: 0165: opcode = ^(bytecode+i) -; libsrc/jit16core.pla: 0166: if opcode & 1 -; libsrc/jit16core.pla: 0167: // -; libsrc/jit16core.pla: 0168: // Optimization fence. Sync A and X registers -; libsrc/jit16core.pla: 0169: // -; libsrc/jit16core.pla: 0170: if A_IS_TOS -; libsrc/jit16core.pla: 0171: ^codeptr = $48; codeptr++ // PHA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0172: fin - !BYTE $76,$02 ; SLW [2] -_B068 -_B069 -; libsrc/jit16core.pla: 0173: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0174: X_IS_IFP = FALSE -; libsrc/jit16core.pla: 0175: opcode = opcode & $FE -; libsrc/jit16core.pla: 0176: fin - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$FE ; ANDI 254 - !BYTE $74,$0E ; SLB [14] -_B066 -_B067 -; libsrc/jit16core.pla: 0177: // -; libsrc/jit16core.pla: 0178: // Update bytecode->native code address translation. -; libsrc/jit16core.pla: 0179: // -; libsrc/jit16core.pla: 0180: // Here's how it works: -; libsrc/jit16core.pla: 0181: // -; libsrc/jit16core.pla: 0182: // The code buffer is above address $8000 so MSBit set. -; libsrc/jit16core.pla: 0183: // When we compile a bytecode, update the destination address in -; libsrc/jit16core.pla: 0184: // the address xlate buffer with actual address (MSBit set). But, if a branch -; libsrc/jit16core.pla: 0185: // opcode jumps to a bytecode address that hasn't been compiled yet, add the -; libsrc/jit16core.pla: 0186: // address offset in the code buffer to the list of addresses needing resolution. -; libsrc/jit16core.pla: 0187: // The offset will be less than $8000, so MSBit clear. This is how we know if -; libsrc/jit16core.pla: 0188: // an address has been resolved or is a list of addresses needing resolution. -; libsrc/jit16core.pla: 0189: // Before updating the address xlate buffer with the known address as we -; libsrc/jit16core.pla: 0190: // compile, look for existing resolution list and traverse it if there. -; libsrc/jit16core.pla: 0191: // -; libsrc/jit16core.pla: 0192: if addrxlate=>[i] -; libsrc/jit16core.pla: 0193: // -; libsrc/jit16core.pla: 0194: // Address list awaiting resolution -; libsrc/jit16core.pla: 0195: // -; libsrc/jit16core.pla: 0196: dest = addrxlate=>[i] + *jitcodeptr -; libsrc/jit16core.pla: 0197: repeat - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $B6,$E4,$03 ; ADDAW 996 - !BYTE $76,$0C ; SLW [12] -_B073 -; libsrc/jit16core.pla: 0198: case = *dest -; libsrc/jit16core.pla: 0199: *dest = codeptr -; libsrc/jit16core.pla: 0200: dest = case + *jitcodeptr -; libsrc/jit16core.pla: 0201: until not case - !BYTE $66,$0C ; LLW [12] - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0C ; LLW [12] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $B6,$E4,$03 ; ADDAW 996 - !BYTE $76,$0C ; SLW [12] -_B074 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B073 - !WORD _B073-* -_B072 -; libsrc/jit16core.pla: 0202: fin -_B070 -_B071 -; libsrc/jit16core.pla: 0203: // -; libsrc/jit16core.pla: 0204: // Update address translate buffer with bytecode->native address -; libsrc/jit16core.pla: 0205: // -; libsrc/jit16core.pla: 0206: addrxlate=>[i] = codeptr -; libsrc/jit16core.pla: 0207: // -; libsrc/jit16core.pla: 0208: // Compile this bad boy... -; libsrc/jit16core.pla: 0209: // -; libsrc/jit16core.pla: 0210: if opcode < $20 // CONSTANT NYBBLE -; libsrc/jit16core.pla: 0211: //puts("CN $"); putb(opcode/2) -; libsrc/jit16core.pla: 0212: if A_IS_TOS -; libsrc/jit16core.pla: 0213: ^codeptr = $48; codeptr++ // PHA - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0214: fin - !BYTE $76,$02 ; SLW [2] -_B077 -_B078 -; libsrc/jit16core.pla: 0215: codeptr->0 = $A9 // LDA #(CN/2) -; libsrc/jit16core.pla: 0216: codeptr=>1 = opcode/2 -; libsrc/jit16core.pla: 0217: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0218: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0219: else - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B076 - !WORD _B076-* -_B075 -; libsrc/jit16core.pla: 0220: when opcode - !BYTE $64,$0E ; LLB [14] - !BYTE $52 ; SEL - !WORD _B080-* -; libsrc/jit16core.pla: 0221: is $20 // MINUS ONE -_B081 -; libsrc/jit16core.pla: 0222: //puts("MINUS_ONE") -; libsrc/jit16core.pla: 0223: if A_IS_TOS -; libsrc/jit16core.pla: 0224: ^codeptr = $48; codeptr++ // PHA - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0225: fin - !BYTE $76,$02 ; SLW [2] -_B082 -_B083 -; libsrc/jit16core.pla: 0226: codeptr->0 = $A9 // LDA #$FFFF -; libsrc/jit16core.pla: 0227: codeptr=>1 = $FFFF -; libsrc/jit16core.pla: 0228: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0229: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0230: break - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0231: is $22 // BREQ -_B084 -; libsrc/jit16core.pla: 0232: is $24 // BRNE -_B085 -; libsrc/jit16core.pla: 0233: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0234: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 0235: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0236: if not A_IS_TOS -; libsrc/jit16core.pla: 0237: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B086 - !WORD _B086-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0238: fin - !BYTE $76,$02 ; SLW [2] -_B086 -_B087 -; libsrc/jit16core.pla: 0239: codeptr=>0 = $C3+(TOS<<8) // CMP TOS,S -; libsrc/jit16core.pla: 0240: if opcode == $22 -; libsrc/jit16core.pla: 0241: //puts("BREQ "); puti(dest) -; libsrc/jit16core.pla: 0242: codeptr=>2 = $04D0 // BNE +4 -; libsrc/jit16core.pla: 0243: else - !BYTE $2C,$C3,$01 ; CW 451 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$22 ; CB 34 - !BYTE $24 ; BRNE _B088 - !WORD _B088-* - !BYTE $2C,$D0,$04 ; CW 1232 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -_B088 -; libsrc/jit16core.pla: 0244: //puts("BRNE "); puti(dest) -; libsrc/jit16core.pla: 0245: codeptr=>2 = $04F0 // BEQ +4 -; libsrc/jit16core.pla: 0246: fin - !BYTE $2C,$F0,$04 ; CW 1264 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B089 -; libsrc/jit16core.pla: 0247: codeptr=>4 = $4C68 // PLA; JMP abs -; libsrc/jit16core.pla: 0248: codeptr=>6 = addrxlate=>[dest] -; libsrc/jit16core.pla: 0249: if not (codeptr->7 & $80) // Unresolved address list -; libsrc/jit16core.pla: 0250: addrxlate=>[dest] = codeptr + 6 - *jitcodeptr -; libsrc/jit16core.pla: 0251: fin - !BYTE $2C,$68,$4C ; CW 19560 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B090 - !WORD _B090-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B090 -_B091 -; libsrc/jit16core.pla: 0252: codeptr->8 = $68 // PLA -; libsrc/jit16core.pla: 0253: codeptr = codeptr + 9 -; libsrc/jit16core.pla: 0254: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0255: break - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0256: is $26 // LA -_B092 -; libsrc/jit16core.pla: 0257: is $2C // CW -_B093 -; libsrc/jit16core.pla: 0258: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 0259: i = i + 2 -; libsrc/jit16core.pla: 0260: //puts("LA/CW $"); puth(dest) -; libsrc/jit16core.pla: 0261: if A_IS_TOS -; libsrc/jit16core.pla: 0262: ^codeptr = $48; codeptr++ // PHA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0263: fin - !BYTE $76,$02 ; SLW [2] -_B094 -_B095 -; libsrc/jit16core.pla: 0264: codeptr->0 = $A9 // LDA #imm -; libsrc/jit16core.pla: 0265: codeptr=>1 = dest -; libsrc/jit16core.pla: 0266: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0267: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0268: break - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0269: is $28 // LLA -_B096 -; libsrc/jit16core.pla: 0270: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0271: j = ^(bytecode+i) -; libsrc/jit16core.pla: 0272: //puts("LLA "); puti(^(bytecode+i)) -; libsrc/jit16core.pla: 0273: if A_IS_TOS -; libsrc/jit16core.pla: 0274: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0275: fin - !BYTE $76,$02 ; SLW [2] -_B097 -_B098 -; libsrc/jit16core.pla: 0276: if not X_IS_IFP -; libsrc/jit16core.pla: 0277: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 0278: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0279: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 0280: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B099 - !WORD _B099-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B099 -_B100 -; libsrc/jit16core.pla: 0281: ^codeptr = $8A; codeptr++ // TXA - !BYTE $2A,$8A ; CB 138 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0282: if j <> 0 -; libsrc/jit16core.pla: 0283: codeptr=>0 = $6918 // CLC; ADC #imm -; libsrc/jit16core.pla: 0284: codeptr=>2 = j -; libsrc/jit16core.pla: 0285: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0286: fin - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$0F ; LLB [15] - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $2C,$18,$69 ; CW 26904 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] -_B101 -_B102 -; libsrc/jit16core.pla: 0287: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0288: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0289: is $2A // CB -_B103 -; libsrc/jit16core.pla: 0290: is $5E // CFFB -_B104 -; libsrc/jit16core.pla: 0291: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0292: if A_IS_TOS -; libsrc/jit16core.pla: 0293: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0294: fin - !BYTE $76,$02 ; SLW [2] -_B105 -_B106 -; libsrc/jit16core.pla: 0295: codeptr->0 = $A9 -; libsrc/jit16core.pla: 0296: if opcode == $2A // LDA #imm -; libsrc/jit16core.pla: 0297: dest = ^(bytecode+i) -; libsrc/jit16core.pla: 0298: //puts("CB $"); putb(dest) -; libsrc/jit16core.pla: 0299: else - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$2A ; CB 42 - !BYTE $24 ; BRNE _B107 - !WORD _B107-* - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B108 - !WORD _B108-* -_B107 -; libsrc/jit16core.pla: 0300: dest = ^(bytecode+i) | $FF00 -; libsrc/jit16core.pla: 0301: //puts("CFFB $FF"); puth(dest) -; libsrc/jit16core.pla: 0302: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $96 ; OR - !BYTE $76,$0C ; SLW [12] -_B108 -; libsrc/jit16core.pla: 0303: codeptr=>1 = dest -; libsrc/jit16core.pla: 0304: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0305: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0306: break - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0307: is $2E // CS -_B109 -; libsrc/jit16core.pla: 0308: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0309: j = ^(bytecode+i) -; libsrc/jit16core.pla: 0310: dest = codeptr + 7 + j -; libsrc/jit16core.pla: 0311: //puts("CS "); //puts(bytecode+i); //puts("-->"); puti(dest) -; libsrc/jit16core.pla: 0312: if isule(dest, codemax) -; libsrc/jit16core.pla: 0313: if A_IS_TOS -; libsrc/jit16core.pla: 0314: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $B0,$0F ; ADDLB [15] - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$E0,$BE ; CW 48864 - !BYTE $54 ; CALL _X027 -_F009 !WORD 0 - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B112 - !WORD _B112-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0315: fin - !BYTE $76,$02 ; SLW [2] -_B112 -_B113 -; libsrc/jit16core.pla: 0316: dest = codeptr + 7 + j -; libsrc/jit16core.pla: 0317: codeptr->0 = $A9 // LDA #STRING -; libsrc/jit16core.pla: 0318: codeptr=>1 = codeptr + 6 -; libsrc/jit16core.pla: 0319: codeptr->3 = $4C // JMP abs -; libsrc/jit16core.pla: 0320: codeptr=>4 = dest -; libsrc/jit16core.pla: 0321: strcpy(codeptr + 6, bytecode + i) -; libsrc/jit16core.pla: 0322: i = i + j -; libsrc/jit16core.pla: 0323: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $B0,$0F ; ADDLB [15] - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $54 ; CALL _X019 -_F010 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $B0,$0F ; ADDLB [15] - !BYTE $76,$08 ; SLW [8] -_B110 -_B111 -; libsrc/jit16core.pla: 0324: codeptr = dest -; libsrc/jit16core.pla: 0325: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0326: break - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0327: is $32 // DROP2 -_B114 -; libsrc/jit16core.pla: 0328: //puts("DROP2") -; libsrc/jit16core.pla: 0329: if not A_IS_TOS -; libsrc/jit16core.pla: 0330: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B115 - !WORD _B115-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0331: fin - !BYTE $76,$02 ; SLW [2] -_B115 -_B116 -; libsrc/jit16core.pla: 0332: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0333: is $30 // DROP - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B117 -; libsrc/jit16core.pla: 0334: //puts("DROP") -; libsrc/jit16core.pla: 0335: if not A_IS_TOS -; libsrc/jit16core.pla: 0336: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B118 - !WORD _B118-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0337: fin - !BYTE $76,$02 ; SLW [2] -_B118 -_B119 -; libsrc/jit16core.pla: 0338: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0339: break - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0340: is $34 // DUP -_B120 -; libsrc/jit16core.pla: 0341: //puts("DUP") -; libsrc/jit16core.pla: 0342: if not A_IS_TOS -; libsrc/jit16core.pla: 0343: *codeptr = $A3+(TOS<<8) // LDA S, TOS -; libsrc/jit16core.pla: 0344: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0345: else - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B121 - !WORD _B121-* - !BYTE $2C,$A3,$01 ; CW 419 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -_B121 -; libsrc/jit16core.pla: 0346: ^codeptr = $48; codeptr++ // PHA - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0347: fin - !BYTE $76,$02 ; SLW [2] -_B122 -; libsrc/jit16core.pla: 0348: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0349: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0350: //is $36 -; libsrc/jit16core.pla: 0351: //puts("DIVMOD") -; libsrc/jit16core.pla: 0352: // -; libsrc/jit16core.pla: 0353: // Should never happen -; libsrc/jit16core.pla: 0354: // -; libsrc/jit16core.pla: 0355: //break -; libsrc/jit16core.pla: 0356: is $38 // ADDI -_B123 -; libsrc/jit16core.pla: 0357: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0358: //puts("ADDI $"); putb(^(bytecode+i)) -; libsrc/jit16core.pla: 0359: if not A_IS_TOS -; libsrc/jit16core.pla: 0360: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B124 - !WORD _B124-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0361: fin - !BYTE $76,$02 ; SLW [2] -_B124 -_B125 -; libsrc/jit16core.pla: 0362: codeptr=>0 = $6918 // CLC; ADC #imm -; libsrc/jit16core.pla: 0363: codeptr=>2 = ^(bytecode+i) -; libsrc/jit16core.pla: 0364: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0365: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0366: break - !BYTE $2C,$18,$69 ; CW 26904 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0367: is $3A // SUBI -_B126 -; libsrc/jit16core.pla: 0368: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0369: //puts("SUBI $"); putb(^(bytecode+i)) -; libsrc/jit16core.pla: 0370: if not A_IS_TOS -; libsrc/jit16core.pla: 0371: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B127 - !WORD _B127-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0372: fin - !BYTE $76,$02 ; SLW [2] -_B127 -_B128 -; libsrc/jit16core.pla: 0373: codeptr=>0 = $E938 // SEC; SBC #imm -; libsrc/jit16core.pla: 0374: codeptr=>2 = ^(bytecode+i) -; libsrc/jit16core.pla: 0375: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0376: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0377: break - !BYTE $2C,$38,$E9 ; CW 59704 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0378: is $3C // ANDI -_B129 -; libsrc/jit16core.pla: 0379: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0380: //puts("ANDI $"); putb(^(bytecode+i)) -; libsrc/jit16core.pla: 0381: if not A_IS_TOS -; libsrc/jit16core.pla: 0382: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B130 - !WORD _B130-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0383: fin - !BYTE $76,$02 ; SLW [2] -_B130 -_B131 -; libsrc/jit16core.pla: 0384: codeptr->0 = $29 // AND #imm -; libsrc/jit16core.pla: 0385: codeptr=>1 = ^(bytecode+i) -; libsrc/jit16core.pla: 0386: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0387: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0388: break - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0389: is $3E // ORI -_B132 -; libsrc/jit16core.pla: 0390: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0391: //puts("ORI $"); putb(^(bytecode+i)) -; libsrc/jit16core.pla: 0392: if not A_IS_TOS -; libsrc/jit16core.pla: 0393: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B133 - !WORD _B133-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0394: fin - !BYTE $76,$02 ; SLW [2] -_B133 -_B134 -; libsrc/jit16core.pla: 0395: codeptr->0 = $09 // ORA #imm -; libsrc/jit16core.pla: 0396: codeptr=>1 = ^(bytecode+i) -; libsrc/jit16core.pla: 0397: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0398: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0399: break - !BYTE $12 ; CN 9 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0400: is $40 // ISEQ -_B135 -; libsrc/jit16core.pla: 0401: is $42 // ISNE -_B136 -; libsrc/jit16core.pla: 0402: if not A_IS_TOS -; libsrc/jit16core.pla: 0403: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B137 - !WORD _B137-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0404: fin - !BYTE $76,$02 ; SLW [2] -_B137 -_B138 -; libsrc/jit16core.pla: 0405: codeptr->0 = $A0 // LDY #$0000 -; libsrc/jit16core.pla: 0406: codeptr=>1 = $0000 -; libsrc/jit16core.pla: 0407: codeptr=>3 = $C3+(TOS<<8) // CMP TOS,S -; libsrc/jit16core.pla: 0408: if opcode == $40 -; libsrc/jit16core.pla: 0409: //puts("ISEQ") -; libsrc/jit16core.pla: 0410: codeptr=>5 = $01D0 // BNE +1 -; libsrc/jit16core.pla: 0411: else - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$C3,$01 ; CW 451 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B139 - !WORD _B139-* - !BYTE $2C,$D0,$01 ; CW 464 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B139 -; libsrc/jit16core.pla: 0412: //puts("ISNE") -; libsrc/jit16core.pla: 0413: codeptr=>5 = $01F0 // BEQ +1 -; libsrc/jit16core.pla: 0414: fin - !BYTE $2C,$F0,$01 ; CW 496 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW -_B140 -; libsrc/jit16core.pla: 0415: codeptr=>7 = $9888 // DEY; TYA -; libsrc/jit16core.pla: 0416: codeptr->9 = $7A // PLY -; libsrc/jit16core.pla: 0417: codeptr = codeptr + 10 -; libsrc/jit16core.pla: 0418: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0419: break - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0420: is $44 // ISGT -_B141 -; libsrc/jit16core.pla: 0421: is $4A // ISLE -_B142 -; libsrc/jit16core.pla: 0422: if not A_IS_TOS -; libsrc/jit16core.pla: 0423: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B143 - !WORD _B143-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0424: fin - !BYTE $76,$02 ; SLW [2] -_B143 -_B144 -; libsrc/jit16core.pla: 0425: codeptr->0 = $A0 // LDY #$0000 -; libsrc/jit16core.pla: 0426: codeptr=>1 = $0000 -; libsrc/jit16core.pla: 0427: codeptr->3 = $38 // SEC -; libsrc/jit16core.pla: 0428: codeptr=>4 = $E3+(TOS<<8) // SBC TOS,S -; libsrc/jit16core.pla: 0429: codeptr=>6 = $0350 // BVC +3 -; libsrc/jit16core.pla: 0430: codeptr->8 = $49 // EOR #$8000 -; libsrc/jit16core.pla: 0431: codeptr=>9 = $8000 -; libsrc/jit16core.pla: 0432: if opcode == $44 -; libsrc/jit16core.pla: 0433: //puts("ISGT") -; libsrc/jit16core.pla: 0434: codeptr=>11 = $0110 // BPL +1 -; libsrc/jit16core.pla: 0435: else - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$E3,$01 ; CW 483 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$03 ; CW 848 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$44 ; CB 68 - !BYTE $24 ; BRNE _B145 - !WORD _B145-* - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -_B145 -; libsrc/jit16core.pla: 0436: //puts("ISLE") -; libsrc/jit16core.pla: 0437: codeptr=>11 = $0130 // BMI +1 -; libsrc/jit16core.pla: 0438: fin - !BYTE $2C,$30,$01 ; CW 304 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW -_B146 -; libsrc/jit16core.pla: 0439: codeptr=>13 = $9888 // DEY; TYA -; libsrc/jit16core.pla: 0440: codeptr->15 = $7A // PLY -; libsrc/jit16core.pla: 0441: codeptr = codeptr + 16 -; libsrc/jit16core.pla: 0442: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0443: break - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0444: is $46 // ISLT -_B147 -; libsrc/jit16core.pla: 0445: is $48 // ISGE -_B148 -; libsrc/jit16core.pla: 0446: if not A_IS_TOS -; libsrc/jit16core.pla: 0447: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B149 - !WORD _B149-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0448: fin - !BYTE $76,$02 ; SLW [2] -_B149 -_B150 -; libsrc/jit16core.pla: 0449: codeptr->0 = $A0 // LDY #$0000 -; libsrc/jit16core.pla: 0450: codeptr=>1 = $0000 -; libsrc/jit16core.pla: 0451: codeptr=>3 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 0452: codeptr=>5 = $3868 // PLA; SEC -; libsrc/jit16core.pla: 0453: codeptr=>7 = tmp8+$E5 // SBC TMP -; libsrc/jit16core.pla: 0454: codeptr=>9 = $0350 // BVC +3 -; libsrc/jit16core.pla: 0455: codeptr->11 = $49 // EOR #$8000 -; libsrc/jit16core.pla: 0456: codeptr=>12 = $8000 -; libsrc/jit16core.pla: 0457: if opcode == $46 -; libsrc/jit16core.pla: 0458: //puts("ISLT") -; libsrc/jit16core.pla: 0459: codeptr=>14 = $0110 // BPL +1 -; libsrc/jit16core.pla: 0460: else - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$68,$38 ; CW 14440 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$E5,$E7 ; CW 59365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$50,$03 ; CW 848 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $70 ; SB - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$46 ; CB 70 - !BYTE $24 ; BRNE _B151 - !WORD _B151-* - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B152 - !WORD _B152-* -_B151 -; libsrc/jit16core.pla: 0461: //puts("ISGE") -; libsrc/jit16core.pla: 0462: codeptr=>14 = $0130 // BMI +1 -; libsrc/jit16core.pla: 0463: fin - !BYTE $2C,$30,$01 ; CW 304 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW -_B152 -; libsrc/jit16core.pla: 0464: codeptr=>16 = $9888 // DEY; TYA -; libsrc/jit16core.pla: 0465: codeptr = codeptr + 18 -; libsrc/jit16core.pla: 0466: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0467: break - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0468: is $4C // BRFLS -_B153 -; libsrc/jit16core.pla: 0469: is $4E // BRTRU -_B154 -; libsrc/jit16core.pla: 0470: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0471: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 0472: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0473: if not A_IS_TOS -; libsrc/jit16core.pla: 0474: codeptr->0 = $68 // PLA -; libsrc/jit16core.pla: 0475: else - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B155 - !WORD _B155-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B156 - !WORD _B156-* -_B155 -; libsrc/jit16core.pla: 0476: codeptr->0 = $A8 // TAY -; libsrc/jit16core.pla: 0477: fin - !BYTE $2A,$A8 ; CB 168 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB -_B156 -; libsrc/jit16core.pla: 0478: if opcode == $4C -; libsrc/jit16core.pla: 0479: //puts("BRFLS "); puti(dest) -; libsrc/jit16core.pla: 0480: codeptr=>1 = $03D0 // BNE +3 -; libsrc/jit16core.pla: 0481: else - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$4C ; CB 76 - !BYTE $24 ; BRNE _B157 - !WORD _B157-* - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -_B157 -; libsrc/jit16core.pla: 0482: //puts("BRTRU "); puti(dest) -; libsrc/jit16core.pla: 0483: codeptr=>1 = $03F0 // BEQ +3 -; libsrc/jit16core.pla: 0484: fin - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW -_B158 -; libsrc/jit16core.pla: 0485: codeptr->3 = $4C // JMP abs -; libsrc/jit16core.pla: 0486: codeptr=>4 = addrxlate=>[dest] -; libsrc/jit16core.pla: 0487: if not (codeptr->5 & $80) // Unresolved address list -; libsrc/jit16core.pla: 0488: addrxlate=>[dest] = codeptr + 4 - *jitcodeptr -; libsrc/jit16core.pla: 0489: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B159 - !WORD _B159-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B159 -_B160 -; libsrc/jit16core.pla: 0490: codeptr = codeptr + 6 -; libsrc/jit16core.pla: 0491: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0492: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0493: is $50 // BRNCH -_B161 -; libsrc/jit16core.pla: 0494: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0495: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 0496: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0497: //puts("BRNCH "); puti(dest) -; libsrc/jit16core.pla: 0498: if A_IS_TOS -; libsrc/jit16core.pla: 0499: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0500: fin - !BYTE $76,$02 ; SLW [2] -_B162 -_B163 -; libsrc/jit16core.pla: 0501: codeptr->0 = $4C // JMP abs -; libsrc/jit16core.pla: 0502: codeptr=>1 = addrxlate=>[dest] -; libsrc/jit16core.pla: 0503: if not (codeptr->2 & $80) // Unresolved address list -; libsrc/jit16core.pla: 0504: addrxlate=>[dest] = codeptr + 1 - *jitcodeptr -; libsrc/jit16core.pla: 0505: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B164 - !WORD _B164-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B164 -_B165 -; libsrc/jit16core.pla: 0506: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0507: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0508: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0509: is $52 // SEL -_B166 -; libsrc/jit16core.pla: 0510: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0511: case = i + *(bytecode+i) -; libsrc/jit16core.pla: 0512: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0513: //puts("SEL "); puti(case); putln -; libsrc/jit16core.pla: 0514: j = ^(bytecode+case) -; libsrc/jit16core.pla: 0515: dest = codeptr + 9 + case * 11) -; libsrc/jit16core.pla: 0516: if isule(dest, codemax) -; libsrc/jit16core.pla: 0517: ^(bytecode+case) = $FE // Flag as NOP -; libsrc/jit16core.pla: 0518: case++ - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0A ; LLW [10] - !BYTE $16 ; CN 11 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$E0,$BE ; CW 48864 - !BYTE $54 ; CALL _X027 -_F011 !WORD 0 - !BYTE $4C ; BRFLS _B167 - !WORD _B167-* - !BYTE $2A,$FE ; CB 254 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0519: if not A_IS_TOS -; libsrc/jit16core.pla: 0520: codeptr->0 = $68; codeptr++ // PLA - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B169 - !WORD _B169-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0521: fin - !BYTE $76,$02 ; SLW [2] -_B169 -_B170 -; libsrc/jit16core.pla: 0522: repeat -_B172 -; libsrc/jit16core.pla: 0523: dest = *(bytecode+case) -; libsrc/jit16core.pla: 0524: //puts(" $"); puth(dest) -; libsrc/jit16core.pla: 0525: codeptr->0 = $C9 // CMP #imm -; libsrc/jit16core.pla: 0526: codeptr=>1 = dest -; libsrc/jit16core.pla: 0527: codeptr=>3 = $03D0 // BNE +3 -; libsrc/jit16core.pla: 0528: *(bytecode+case) = $FEFE -; libsrc/jit16core.pla: 0529: case = case + 2 -; libsrc/jit16core.pla: 0530: dest = case + *(bytecode+case) -; libsrc/jit16core.pla: 0531: //puts("-->"); puti(dest); putln -; libsrc/jit16core.pla: 0532: codeptr->5 = $4C // JMP abs -; libsrc/jit16core.pla: 0533: codeptr=>6 = addrxlate=>[dest] -; libsrc/jit16core.pla: 0534: if not (codeptr->7 & $80) // Unresolved address list -; libsrc/jit16core.pla: 0535: addrxlate=>[dest] = codeptr + 6 - *jitcodeptr -; libsrc/jit16core.pla: 0536: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$C9 ; CB 201 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$FE,$FE ; CW 65278 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B174 - !WORD _B174-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B174 -_B175 -; libsrc/jit16core.pla: 0537: codeptr = codeptr + 8 -; libsrc/jit16core.pla: 0538: *(bytecode+case) = $FEFE -; libsrc/jit16core.pla: 0539: case = case + 2 -; libsrc/jit16core.pla: 0540: j-- - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] - !BYTE $2C,$FE,$FE ; CW 65278 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$0F ; LLB [15] - !BYTE $8E ; DECR -; libsrc/jit16core.pla: 0541: until not j - !BYTE $74,$0F ; SLB [15] -_B173 - !BYTE $64,$0F ; LLB [15] - !BYTE $4E ; BRTRU _B172 - !WORD _B172-* -_B171 -; libsrc/jit16core.pla: 0542: codeptr->0 = $4C // JMP abs -; libsrc/jit16core.pla: 0543: codeptr=>1 = addrxlate=>[case] -; libsrc/jit16core.pla: 0544: if not (codeptr->2 & $80) // Unresolved address list -; libsrc/jit16core.pla: 0545: addrxlate=>[case] = codeptr + 1 - *jitcodeptr -; libsrc/jit16core.pla: 0546: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B176 - !WORD _B176-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $72 ; SW -_B176 -_B177 -; libsrc/jit16core.pla: 0547: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0548: else - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B168 - !WORD _B168-* -_B167 -; libsrc/jit16core.pla: 0549: codeptr = dest -; libsrc/jit16core.pla: 0550: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$02 ; SLW [2] -_B168 -; libsrc/jit16core.pla: 0551: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0552: break - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0553: is $54 // CALL -_B178 -; libsrc/jit16core.pla: 0554: is $56 // ICAL -_B179 -; libsrc/jit16core.pla: 0555: is $5A // LEAVE -_B180 -; libsrc/jit16core.pla: 0556: is $5C // RET -_B181 -; libsrc/jit16core.pla: 0557: if A_IS_TOS -; libsrc/jit16core.pla: 0558: ^codeptr = $48; codeptr++ // PHA - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0559: fin - !BYTE $76,$02 ; SLW [2] -_B182 -_B183 -; libsrc/jit16core.pla: 0560: codeptr=>0 = $10E2 // SEP #$10 -> 8 BIT X/Y -; libsrc/jit16core.pla: 0561: codeptr->2 = $A9 // LDA #imm -; libsrc/jit16core.pla: 0562: codeptr=>3 = codeptr + 12 -; libsrc/jit16core.pla: 0563: codeptr=>5 = ip8+$85 // STA IP -; libsrc/jit16core.pla: 0564: codeptr=>7 = $00A0 // LDY #$00 -; libsrc/jit16core.pla: 0565: codeptr->9 = $4C // JMP FETCHOP -; libsrc/jit16core.pla: 0566: codeptr=>10 = fetchop // FETCHOP -; libsrc/jit16core.pla: 0567: codeptr->12 = opcode // OP -; libsrc/jit16core.pla: 0568: when opcode - !BYTE $2C,$E2,$10 ; CW 4322 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$85,$F2 ; CW 62085 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $2A,$F1 ; CB 241 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $52 ; SEL - !WORD _B185-* -; libsrc/jit16core.pla: 0569: is $54 // CALL -_B186 -; libsrc/jit16core.pla: 0570: // -; libsrc/jit16core.pla: 0571: // Call address -; libsrc/jit16core.pla: 0572: // -; libsrc/jit16core.pla: 0573: //puts("CALL $"); puth(*(bytecode+i)) -; libsrc/jit16core.pla: 0574: codeptr=>13 = *(bytecode+i+1) // CALL ADDR -; libsrc/jit16core.pla: 0575: codeptr->15 = $C0 // NATV -; libsrc/jit16core.pla: 0576: codeptr = codeptr + 16 -; libsrc/jit16core.pla: 0577: i = i + 2 -; libsrc/jit16core.pla: 0578: break - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; libsrc/jit16core.pla: 0579: is $56 // ICAL -_B187 -; libsrc/jit16core.pla: 0580: // -; libsrc/jit16core.pla: 0581: // Call address off stack -; libsrc/jit16core.pla: 0582: // -; libsrc/jit16core.pla: 0583: //puts("ICAL") -; libsrc/jit16core.pla: 0584: codeptr->13 = $C0 // NATV -; libsrc/jit16core.pla: 0585: codeptr = codeptr + 14 -; libsrc/jit16core.pla: 0586: break - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; libsrc/jit16core.pla: 0587: is $5A // LEAVE -_B188 -; libsrc/jit16core.pla: 0588: // -; libsrc/jit16core.pla: 0589: // Leave routine -; libsrc/jit16core.pla: 0590: // -; libsrc/jit16core.pla: 0591: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0592: //puts("LEAVE "); puti(^(bytecode+i)) -; libsrc/jit16core.pla: 0593: codeptr->13 = ^(bytecode+i) // LEAVE CODE OPERAND -; libsrc/jit16core.pla: 0594: codeptr = codeptr + 14 -; libsrc/jit16core.pla: 0595: break - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; libsrc/jit16core.pla: 0596: is $5C // RET -_B189 -; libsrc/jit16core.pla: 0597: // -; libsrc/jit16core.pla: 0598: // Quick return from routine -; libsrc/jit16core.pla: 0599: // -; libsrc/jit16core.pla: 0600: //puts("RET") -; libsrc/jit16core.pla: 0601: codeptr = codeptr + 13 -; libsrc/jit16core.pla: 0602: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; libsrc/jit16core.pla: 0603: wend - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -_B185 - !BYTE $04 ; CASEBLOCK - !WORD $0054 - !WORD _B186-* - !WORD $0056 - !WORD _B187-* - !WORD $005A - !WORD _B188-* - !WORD $005C - !WORD _B189-* -_B184 -; libsrc/jit16core.pla: 0604: X_IS_IFP = FALSE -; libsrc/jit16core.pla: 0605: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0606: break - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0607: is $60 // LB -_B190 -; libsrc/jit16core.pla: 0608: //puts("LB") -; libsrc/jit16core.pla: 0609: if not A_IS_TOS -; libsrc/jit16core.pla: 0610: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B191 - !WORD _B191-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0611: fin - !BYTE $76,$02 ; SLW [2] -_B191 -_B192 -; libsrc/jit16core.pla: 0612: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 0613: codeptr=>2 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0614: codeptr=>4 = tmp8+$B2 // LDA (TMP) -; libsrc/jit16core.pla: 0615: codeptr=>6 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0616: codeptr->8 = $29 // AND #$00FF -; libsrc/jit16core.pla: 0617: codeptr=>9 = $00FF -; libsrc/jit16core.pla: 0618: codeptr = codeptr + 11 -; libsrc/jit16core.pla: 0619: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0620: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B2,$E7 ; CW 59314 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0621: is $62 // LW -_B193 -; libsrc/jit16core.pla: 0622: //puts("LW") -; libsrc/jit16core.pla: 0623: if not A_IS_TOS -; libsrc/jit16core.pla: 0624: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B194 - !WORD _B194-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0625: fin - !BYTE $76,$02 ; SLW [2] -_B194 -_B195 -; libsrc/jit16core.pla: 0626: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 0627: codeptr=>2 = tmp8+$B2 // LDA (TMP) -; libsrc/jit16core.pla: 0628: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0629: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0630: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B2,$E7 ; CW 59314 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0631: is $64 // LLB -_B196 -; libsrc/jit16core.pla: 0632: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0633: j = ^(bytecode+i) -; libsrc/jit16core.pla: 0634: //puts("LLB "); puti(j) -; libsrc/jit16core.pla: 0635: if A_IS_TOS -; libsrc/jit16core.pla: 0636: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B197 - !WORD _B197-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0637: fin - !BYTE $76,$02 ; SLW [2] -_B197 -_B198 -; libsrc/jit16core.pla: 0638: if not X_IS_IFP -; libsrc/jit16core.pla: 0639: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 0640: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0641: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 0642: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B199 - !WORD _B199-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B199 -_B200 -; libsrc/jit16core.pla: 0643: codeptr=>0 = $B5+(j<<8) // LDA dp,X -; libsrc/jit16core.pla: 0644: codeptr->2 = $29 // AND #$00FF -; libsrc/jit16core.pla: 0645: codeptr=>3 = $00FF -; libsrc/jit16core.pla: 0646: codeptr = codeptr + 5 -; libsrc/jit16core.pla: 0647: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0648: break - !BYTE $2A,$B5 ; CB 181 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0649: is $66 // LLW -_B201 -; libsrc/jit16core.pla: 0650: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0651: j = ^(bytecode+i) -; libsrc/jit16core.pla: 0652: //puts("LLW "); puti(j) -; libsrc/jit16core.pla: 0653: if A_IS_TOS -; libsrc/jit16core.pla: 0654: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B202 - !WORD _B202-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0655: fin - !BYTE $76,$02 ; SLW [2] -_B202 -_B203 -; libsrc/jit16core.pla: 0656: if not X_IS_IFP -; libsrc/jit16core.pla: 0657: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 0658: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0659: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 0660: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B204 - !WORD _B204-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B204 -_B205 -; libsrc/jit16core.pla: 0661: codeptr=>0 = $B5+(j<<8) // LDA dp,X -; libsrc/jit16core.pla: 0662: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0663: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0664: break - !BYTE $2A,$B5 ; CB 181 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0665: is $68 // LAB -_B206 -; libsrc/jit16core.pla: 0666: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 0667: i = i + 2 -; libsrc/jit16core.pla: 0668: //puts("LAB $"); puth(dest) -; libsrc/jit16core.pla: 0669: if A_IS_TOS -; libsrc/jit16core.pla: 0670: ^codeptr = $48; codeptr++ // PHA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B207 - !WORD _B207-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0671: fin - !BYTE $76,$02 ; SLW [2] -_B207 -_B208 -; libsrc/jit16core.pla: 0672: if is_hwaddr(dest) -; libsrc/jit16core.pla: 0673: // -; libsrc/jit16core.pla: 0674: // Ensure we only do byte sized accesses to H/W -; libsrc/jit16core.pla: 0675: // -; libsrc/jit16core.pla: 0676: codeptr=>0 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0677: codeptr->2 = $AD // LDA abs -; libsrc/jit16core.pla: 0678: codeptr=>3 = dest -; libsrc/jit16core.pla: 0679: codeptr=>5 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0680: codeptr->7 = $29 // AND #$00FF -; libsrc/jit16core.pla: 0681: codeptr=>8 = $00FF -; libsrc/jit16core.pla: 0682: codeptr = codeptr + 10 -; libsrc/jit16core.pla: 0683: else - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C001 -_F012 !WORD _C001 - !BYTE $4C ; BRFLS _B209 - !WORD _B209-* - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B210 - !WORD _B210-* -_B209 -; libsrc/jit16core.pla: 0684: codeptr->0 = $AD // LDA abs -; libsrc/jit16core.pla: 0685: codeptr=>1 = dest -; libsrc/jit16core.pla: 0686: codeptr->3 = $29 // AND #$00FF -; libsrc/jit16core.pla: 0687: codeptr=>4 = $00FF -; libsrc/jit16core.pla: 0688: codeptr = codeptr + 6 -; libsrc/jit16core.pla: 0689: fin - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] -_B210 -; libsrc/jit16core.pla: 0690: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0691: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0692: is $6A // LAW -_B211 -; libsrc/jit16core.pla: 0693: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 0694: i = i + 2 -; libsrc/jit16core.pla: 0695: //puts("LAW $"); puth(dest) -; libsrc/jit16core.pla: 0696: if A_IS_TOS -; libsrc/jit16core.pla: 0697: ^codeptr = $48; codeptr++ // PHA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B212 - !WORD _B212-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0698: fin - !BYTE $76,$02 ; SLW [2] -_B212 -_B213 -; libsrc/jit16core.pla: 0699: codeptr->0 = $AD // LDA abs -; libsrc/jit16core.pla: 0700: codeptr=>1 = dest -; libsrc/jit16core.pla: 0701: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0702: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0703: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0704: is $6C // DLB -_B214 -; libsrc/jit16core.pla: 0705: is $74 // SLB -_B215 -; libsrc/jit16core.pla: 0706: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0707: j = ^(bytecode+i) -; libsrc/jit16core.pla: 0708: if not A_IS_TOS -; libsrc/jit16core.pla: 0709: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B216 - !WORD _B216-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0710: fin - !BYTE $76,$02 ; SLW [2] -_B216 -_B217 -; libsrc/jit16core.pla: 0711: if not X_IS_IFP -; libsrc/jit16core.pla: 0712: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 0713: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0714: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 0715: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B218 - !WORD _B218-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B218 -_B219 -; libsrc/jit16core.pla: 0716: codeptr=>0 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0717: codeptr=>2 = $95+(j<<8) // STA dp,X -; libsrc/jit16core.pla: 0718: codeptr=>4 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0719: if opcode == $6C -; libsrc/jit16core.pla: 0720: //puts("DLB "); puti(j) -; libsrc/jit16core.pla: 0721: codeptr->6 = $29 // AND #$00FF -; libsrc/jit16core.pla: 0722: codeptr=>7 = $00FF -; libsrc/jit16core.pla: 0723: codeptr = codeptr + 9 -; libsrc/jit16core.pla: 0724: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0725: else - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$95 ; CB 149 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$6C ; CB 108 - !BYTE $24 ; BRNE _B220 - !WORD _B220-* - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B221 - !WORD _B221-* -_B220 -; libsrc/jit16core.pla: 0726: //puts("SLB "); puti(j) -; libsrc/jit16core.pla: 0727: codeptr = codeptr + 6 -; libsrc/jit16core.pla: 0728: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0729: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B221 -; libsrc/jit16core.pla: 0730: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0731: is $6E // DLW -_B222 -; libsrc/jit16core.pla: 0732: is $76 // SLW -_B223 -; libsrc/jit16core.pla: 0733: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0734: j = ^(bytecode+i) -; libsrc/jit16core.pla: 0735: if not A_IS_TOS -; libsrc/jit16core.pla: 0736: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B224 - !WORD _B224-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0737: fin - !BYTE $76,$02 ; SLW [2] -_B224 -_B225 -; libsrc/jit16core.pla: 0738: if not X_IS_IFP -; libsrc/jit16core.pla: 0739: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 0740: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0741: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 0742: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B226 - !WORD _B226-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B226 -_B227 -; libsrc/jit16core.pla: 0743: codeptr=>0 = $95+(j<<8) // STA dp,X -; libsrc/jit16core.pla: 0744: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 0745: if opcode == $6E -; libsrc/jit16core.pla: 0746: //puts("DLW "); puti(j) -; libsrc/jit16core.pla: 0747: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0748: else - !BYTE $2A,$95 ; CB 149 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$6E ; CB 110 - !BYTE $24 ; BRNE _B228 - !WORD _B228-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B229 - !WORD _B229-* -_B228 -; libsrc/jit16core.pla: 0749: //puts("SLW "); puti(j) -; libsrc/jit16core.pla: 0750: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0751: fin - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B229 -; libsrc/jit16core.pla: 0752: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0753: is $70 // SB -_B230 -; libsrc/jit16core.pla: 0754: //puts("SB") -; libsrc/jit16core.pla: 0755: if not A_IS_TOS -; libsrc/jit16core.pla: 0756: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B231 - !WORD _B231-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0757: fin - !BYTE $76,$02 ; SLW [2] -_B231 -_B232 -; libsrc/jit16core.pla: 0758: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 0759: codeptr->2 = $68 // PLA -; libsrc/jit16core.pla: 0760: codeptr=>3 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0761: codeptr=>5 = tmp8+$92 // STA (TMP) -; libsrc/jit16core.pla: 0762: codeptr=>7 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0763: codeptr = codeptr + 9 -; libsrc/jit16core.pla: 0764: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0765: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$92,$E7 ; CW 59282 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0766: is $72 // SW -_B233 -; libsrc/jit16core.pla: 0767: //puts("SW") -; libsrc/jit16core.pla: 0768: if not A_IS_TOS -; libsrc/jit16core.pla: 0769: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B234 - !WORD _B234-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0770: fin - !BYTE $76,$02 ; SLW [2] -_B234 -_B235 -; libsrc/jit16core.pla: 0771: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 0772: codeptr->2 = $68 // PLA -; libsrc/jit16core.pla: 0773: codeptr=>3 = tmp8+$92 // STA (TMP) -; libsrc/jit16core.pla: 0774: codeptr = codeptr + 5 -; libsrc/jit16core.pla: 0775: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0776: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$92,$E7 ; CW 59282 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0777: is $78 // SAB -_B236 -; libsrc/jit16core.pla: 0778: is $7C // DAB -_B237 -; libsrc/jit16core.pla: 0779: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 0780: i = i + 2 -; libsrc/jit16core.pla: 0781: if not A_IS_TOS -; libsrc/jit16core.pla: 0782: ^codeptr = $68; codeptr++ // PLA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B238 - !WORD _B238-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0783: fin - !BYTE $76,$02 ; SLW [2] -_B238 -_B239 -; libsrc/jit16core.pla: 0784: codeptr=>0 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0785: codeptr->2 = $8D // STA abs -; libsrc/jit16core.pla: 0786: codeptr=>3 = dest -; libsrc/jit16core.pla: 0787: codeptr=>5 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 0788: if opcode == $78 -; libsrc/jit16core.pla: 0789: //puts("SAB $"); puth(*(bytecode+i)) -; libsrc/jit16core.pla: 0790: codeptr = codeptr + 7 -; libsrc/jit16core.pla: 0791: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0792: else - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$78 ; CB 120 - !BYTE $24 ; BRNE _B240 - !WORD _B240-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B241 - !WORD _B241-* -_B240 -; libsrc/jit16core.pla: 0793: //puts("DAB $"); puth(*(bytecode+i)) -; libsrc/jit16core.pla: 0794: codeptr->7 = $29 // AND #$00FF -; libsrc/jit16core.pla: 0795: codeptr=>8 = $00FF -; libsrc/jit16core.pla: 0796: codeptr = codeptr + 10 -; libsrc/jit16core.pla: 0797: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0798: fin - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] -_B241 -; libsrc/jit16core.pla: 0799: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0800: is $7A // SAW -_B242 -; libsrc/jit16core.pla: 0801: is $7E // DAW -_B243 -; libsrc/jit16core.pla: 0802: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 0803: i = i + 2 -; libsrc/jit16core.pla: 0804: if not A_IS_TOS -; libsrc/jit16core.pla: 0805: ^codeptr = $68; codeptr++ // PLA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B244 - !WORD _B244-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0806: fin - !BYTE $76,$02 ; SLW [2] -_B244 -_B245 -; libsrc/jit16core.pla: 0807: codeptr->0 = $8D // STA abs -; libsrc/jit16core.pla: 0808: codeptr=>1 = dest -; libsrc/jit16core.pla: 0809: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0810: if opcode == $7A -; libsrc/jit16core.pla: 0811: //puts("SAW $"); puth(dest) -; libsrc/jit16core.pla: 0812: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0813: else - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$7A ; CB 122 - !BYTE $24 ; BRNE _B246 - !WORD _B246-* - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B247 - !WORD _B247-* -_B246 -; libsrc/jit16core.pla: 0814: //puts("DAW $"); puth(*(bytecode+i)) -; libsrc/jit16core.pla: 0815: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0816: fin - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] -_B247 -; libsrc/jit16core.pla: 0817: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0818: is $80 // NOT -_B248 -; libsrc/jit16core.pla: 0819: //puts("NOT") -; libsrc/jit16core.pla: 0820: if not A_IS_TOS -; libsrc/jit16core.pla: 0821: codeptr->0 = $68 // PLA -; libsrc/jit16core.pla: 0822: else - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B249 - !WORD _B249-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B250 - !WORD _B250-* -_B249 -; libsrc/jit16core.pla: 0823: codeptr->0 = $A8 // TAY -; libsrc/jit16core.pla: 0824: fin - !BYTE $2A,$A8 ; CB 168 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB -_B250 -; libsrc/jit16core.pla: 0825: codeptr=>1 = $03F0 // BEQ +3 -; libsrc/jit16core.pla: 0826: codeptr->3 = $A9 // LDA #$FFFF -; libsrc/jit16core.pla: 0827: codeptr=>4 = $FFFF -; libsrc/jit16core.pla: 0828: codeptr->6 = $49 // EOR #$FFFF -; libsrc/jit16core.pla: 0829: codeptr=>7 = $FFFF -; libsrc/jit16core.pla: 0830: codeptr = codeptr + 9 -; libsrc/jit16core.pla: 0831: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0832: break - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0833: is $82 // ADD -_B251 -; libsrc/jit16core.pla: 0834: //puts("ADD") -; libsrc/jit16core.pla: 0835: if not A_IS_TOS -; libsrc/jit16core.pla: 0836: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B252 - !WORD _B252-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0837: fin - !BYTE $76,$02 ; SLW [2] -_B252 -_B253 -; libsrc/jit16core.pla: 0838: codeptr->0 = $18 // CLC -; libsrc/jit16core.pla: 0839: codeptr=>1 = $63+(TOS<<8) // ADC S,TOS -; libsrc/jit16core.pla: 0840: codeptr->3 = $7A // PLY -; libsrc/jit16core.pla: 0841: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0842: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0843: break - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$63,$01 ; CW 355 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0844: is $84 // SUB -_B254 -; libsrc/jit16core.pla: 0845: //puts("SUB") -; libsrc/jit16core.pla: 0846: if not A_IS_TOS -; libsrc/jit16core.pla: 0847: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B255 - !WORD _B255-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0848: fin - !BYTE $76,$02 ; SLW [2] -_B255 -_B256 -; libsrc/jit16core.pla: 0849: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 0850: codeptr=>2 = $3868 // PLA; SEC -; libsrc/jit16core.pla: 0851: codeptr=>4 = tmp8+$E5 // SBC TMP -; libsrc/jit16core.pla: 0852: codeptr = codeptr + 6 -; libsrc/jit16core.pla: 0853: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0854: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$68,$38 ; CW 14440 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$E5,$E7 ; CW 59365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0855: is $86 // MUL -_B257 -; libsrc/jit16core.pla: 0856: is $88 // DIV -_B258 -; libsrc/jit16core.pla: 0857: is $8A // MOD -_B259 -; libsrc/jit16core.pla: 0858: is $9A // SHL -_B260 -; libsrc/jit16core.pla: 0859: is $9C // SHR -_B261 -; libsrc/jit16core.pla: 0860: //puts("MUL,DIV,MOD,SHL,SHR") -; libsrc/jit16core.pla: 0861: // when opcode -; libsrc/jit16core.pla: 0862: // is $86 -; libsrc/jit16core.pla: 0863: // //puts("MUL") -; libsrc/jit16core.pla: 0864: // is $88 -; libsrc/jit16core.pla: 0865: // //puts("DIV") -; libsrc/jit16core.pla: 0866: // is $8A -; libsrc/jit16core.pla: 0867: // //puts("MOD") -; libsrc/jit16core.pla: 0868: // is $9A -; libsrc/jit16core.pla: 0869: // //puts("SHL") -; libsrc/jit16core.pla: 0870: // is $9C -; libsrc/jit16core.pla: 0871: // //puts("SHR") -; libsrc/jit16core.pla: 0872: // wend -; libsrc/jit16core.pla: 0873: // -; libsrc/jit16core.pla: 0874: // Call into VM -; libsrc/jit16core.pla: 0875: // -; libsrc/jit16core.pla: 0876: if A_IS_TOS -; libsrc/jit16core.pla: 0877: ^codeptr = $48; codeptr++ // PHA - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B262 - !WORD _B262-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0878: fin - !BYTE $76,$02 ; SLW [2] -_B262 -_B263 -; libsrc/jit16core.pla: 0879: codeptr=>0 = $10E2 // SEP #$10 -> 8 BIT X/Y -; libsrc/jit16core.pla: 0880: codeptr->2 = $A9 // LDA #imm -; libsrc/jit16core.pla: 0881: codeptr=>3 = codeptr + 12 -; libsrc/jit16core.pla: 0882: codeptr=>5 = ip8+$85 // STA IP -; libsrc/jit16core.pla: 0883: codeptr=>7 = $00A0 // LDY #$00 -; libsrc/jit16core.pla: 0884: codeptr->9 = $4C // JMP FETCHOP -; libsrc/jit16core.pla: 0885: codeptr=>10 = fetchop // FETCHOP -; libsrc/jit16core.pla: 0886: codeptr=>12 = $C000+opcode // OPCODE; NATV CODE -; libsrc/jit16core.pla: 0887: codeptr = codeptr + 14 -; libsrc/jit16core.pla: 0888: X_IS_IFP = FALSE -; libsrc/jit16core.pla: 0889: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0890: break - !BYTE $2C,$E2,$10 ; CW 4322 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$85,$F2 ; CW 62085 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $2A,$F1 ; CB 241 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $B0,$0E ; ADDLB [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0891: is $8C // INCR -_B264 -; libsrc/jit16core.pla: 0892: //puts("INCR") -; libsrc/jit16core.pla: 0893: if not A_IS_TOS -; libsrc/jit16core.pla: 0894: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B265 - !WORD _B265-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0895: fin - !BYTE $76,$02 ; SLW [2] -_B265 -_B266 -; libsrc/jit16core.pla: 0896: ^codeptr = $1A; codeptr++ // INC A - !BYTE $2A,$1A ; CB 26 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0897: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0898: break - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0899: is $8E // DECR -_B267 -; libsrc/jit16core.pla: 0900: //puts("DECR") -; libsrc/jit16core.pla: 0901: if not A_IS_TOS -; libsrc/jit16core.pla: 0902: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B268 - !WORD _B268-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0903: fin - !BYTE $76,$02 ; SLW [2] -_B268 -_B269 -; libsrc/jit16core.pla: 0904: ^codeptr = $3A; codeptr++ // DEC A - !BYTE $2A,$3A ; CB 58 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0905: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 0906: break - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0907: is $90 // NEG -_B270 -; libsrc/jit16core.pla: 0908: //puts("NEG") -; libsrc/jit16core.pla: 0909: if not A_IS_TOS -; libsrc/jit16core.pla: 0910: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B271 - !WORD _B271-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0911: fin - !BYTE $76,$02 ; SLW [2] -_B271 -_B272 -; libsrc/jit16core.pla: 0912: codeptr->0 = $49 // EOR #$FFFF -; libsrc/jit16core.pla: 0913: codeptr=>1 = $FFFF -; libsrc/jit16core.pla: 0914: codeptr->3 = $1A // INC A -; libsrc/jit16core.pla: 0915: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 0916: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0917: break - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$1A ; CB 26 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0918: is $92 // COMP -_B273 -; libsrc/jit16core.pla: 0919: //puts("COMP") -; libsrc/jit16core.pla: 0920: if not A_IS_TOS -; libsrc/jit16core.pla: 0921: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B274 - !WORD _B274-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0922: fin - !BYTE $76,$02 ; SLW [2] -_B274 -_B275 -; libsrc/jit16core.pla: 0923: codeptr->0 = $49 // EOR #$FFFF -; libsrc/jit16core.pla: 0924: codeptr=>1 = $FFFF -; libsrc/jit16core.pla: 0925: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0926: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0927: break - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0928: is $94 // AND -_B276 -; libsrc/jit16core.pla: 0929: //puts("AND") -; libsrc/jit16core.pla: 0930: if not A_IS_TOS -; libsrc/jit16core.pla: 0931: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B277 - !WORD _B277-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0932: fin - !BYTE $76,$02 ; SLW [2] -_B277 -_B278 -; libsrc/jit16core.pla: 0933: codeptr=>0 = $23+(TOS<<8) // AND S,TOS -; libsrc/jit16core.pla: 0934: codeptr->2 = $7A // PLY -; libsrc/jit16core.pla: 0935: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0936: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0937: break - !BYTE $2C,$23,$01 ; CW 291 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0938: is $96 // OR -_B279 -; libsrc/jit16core.pla: 0939: //puts("OR") -; libsrc/jit16core.pla: 0940: if not A_IS_TOS -; libsrc/jit16core.pla: 0941: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B280 - !WORD _B280-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0942: fin - !BYTE $76,$02 ; SLW [2] -_B280 -_B281 -; libsrc/jit16core.pla: 0943: codeptr=>0 = $03+(TOS<<8) // OR S,TOS -; libsrc/jit16core.pla: 0944: codeptr->2 = $7A // PLY -; libsrc/jit16core.pla: 0945: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0946: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0947: break - !BYTE $2C,$03,$01 ; CW 259 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0948: is $98 // XOR -_B282 -; libsrc/jit16core.pla: 0949: //puts("XOR") -; libsrc/jit16core.pla: 0950: if not A_IS_TOS -; libsrc/jit16core.pla: 0951: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B283 - !WORD _B283-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0952: fin - !BYTE $76,$02 ; SLW [2] -_B283 -_B284 -; libsrc/jit16core.pla: 0953: codeptr=>0 = $43+(TOS<<8) // EOR S,TOS -; libsrc/jit16core.pla: 0954: codeptr->2 = $7A // PLY -; libsrc/jit16core.pla: 0955: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 0956: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0957: break - !BYTE $2C,$43,$01 ; CW 323 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0958: is $9E // IDXW -_B285 -; libsrc/jit16core.pla: 0959: //puts("IDXW") -; libsrc/jit16core.pla: 0960: if not A_IS_TOS -; libsrc/jit16core.pla: 0961: ^codeptr = $68; codeptr++ // PLA - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B286 - !WORD _B286-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0962: fin - !BYTE $76,$02 ; SLW [2] -_B286 -_B287 -; libsrc/jit16core.pla: 0963: codeptr=>0 = $180A // ASL; CLC -; libsrc/jit16core.pla: 0964: codeptr=>2 = $63+(TOS<<8) // ADC S,TOS -; libsrc/jit16core.pla: 0965: codeptr->4 = $7A // PLY -; libsrc/jit16core.pla: 0966: codeptr = codeptr + 5 -; libsrc/jit16core.pla: 0967: A_IS_TOS = TRUE -; libsrc/jit16core.pla: 0968: break - !BYTE $2C,$0A,$18 ; CW 6154 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$63,$01 ; CW 355 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0969: is $A0 // BRGT - FOR/NEXT SPECIFIC TEST & BRANCH -_B288 -; libsrc/jit16core.pla: 0970: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0971: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 0972: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0973: //puts("BRGT "); puti(dest) -; libsrc/jit16core.pla: 0974: if A_IS_TOS -; libsrc/jit16core.pla: 0975: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B289 - !WORD _B289-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0976: fin - !BYTE $76,$02 ; SLW [2] -_B289 -_B290 -; libsrc/jit16core.pla: 0977: codeptr=>0 = $A3+(NOS<<8) // LDA S,NOS -; libsrc/jit16core.pla: 0978: codeptr->2 = $38 // SEC -; libsrc/jit16core.pla: 0979: codeptr=>3 = $E3+(TOS<<8) // SBC S,TOS -; libsrc/jit16core.pla: 0980: codeptr=>5 = $0350 // BVC +3 -; libsrc/jit16core.pla: 0981: codeptr->7 = $49 // EOR #$8000 -; libsrc/jit16core.pla: 0982: codeptr=>8 = $8000 -; libsrc/jit16core.pla: 0983: codeptr=>10 = $0310 // BPL +3 -; libsrc/jit16core.pla: 0984: codeptr->12 = $4C // JMP abs -; libsrc/jit16core.pla: 0985: codeptr=>13 = addrxlate=>[dest] -; libsrc/jit16core.pla: 0986: if not (codeptr->14 & $80) // Unresolved address list -; libsrc/jit16core.pla: 0987: addrxlate=>[dest] = codeptr + 13 - *jitcodeptr -; libsrc/jit16core.pla: 0988: fin - !BYTE $2C,$A3,$03 ; CW 931 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$E3,$01 ; CW 483 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$50,$03 ; CW 848 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$10,$03 ; CW 784 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B291 - !WORD _B291-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B291 -_B292 -; libsrc/jit16core.pla: 0989: codeptr = codeptr + 15 -; libsrc/jit16core.pla: 0990: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 0991: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 0992: is $A2 // BRLT - FOR/NEXT SPECIFIC TEST & BRANCH -_B293 -; libsrc/jit16core.pla: 0993: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0994: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 0995: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0996: //puts("BRLT "); puti(dest) -; libsrc/jit16core.pla: 0997: if A_IS_TOS -; libsrc/jit16core.pla: 0998: ^codeptr = $48; codeptr++ // PHA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B294 - !WORD _B294-* - !BYTE $2A,$48 ; CB 72 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 0999: fin - !BYTE $76,$02 ; SLW [2] -_B294 -_B295 -; libsrc/jit16core.pla: 1000: codeptr->0 = $38 // SEC -; libsrc/jit16core.pla: 1001: codeptr=>1 = $E3+(NOS<<8) // SBC S,NOS -; libsrc/jit16core.pla: 1002: codeptr=>3 = $0350 // BVC +3 -; libsrc/jit16core.pla: 1003: codeptr->5 = $49 // EOR #$8000 -; libsrc/jit16core.pla: 1004: codeptr=>6 = $8000 -; libsrc/jit16core.pla: 1005: codeptr=>8 = $0310 // BPL +3 -; libsrc/jit16core.pla: 1006: codeptr->10 = $4C // JMP abs -; libsrc/jit16core.pla: 1007: codeptr=>11 = addrxlate=>[dest] -; libsrc/jit16core.pla: 1008: if not (codeptr->12 & $80) // Unresolved address list -; libsrc/jit16core.pla: 1009: addrxlate=>[dest] = codeptr + 11 - *jitcodeptr -; libsrc/jit16core.pla: 1010: fin - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$E3,$03 ; CW 995 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$50,$03 ; CW 848 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$10,$03 ; CW 784 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B296 - !WORD _B296-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B296 -_B297 -; libsrc/jit16core.pla: 1011: codeptr = codeptr + 13 -; libsrc/jit16core.pla: 1012: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 1013: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1014: is $A4 // INCBRLE - FOR/NEXT SPECIFIC INC & TEST & BRANCH -_B298 -; libsrc/jit16core.pla: 1015: is $A6 // ADDBRLE - FOR/NEXT SPECIFIC ADD & TEST & BRANCH -_B299 -; libsrc/jit16core.pla: 1016: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1017: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 1018: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1019: if not A_IS_TOS -; libsrc/jit16core.pla: 1020: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B300 - !WORD _B300-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1021: fin - !BYTE $76,$02 ; SLW [2] -_B300 -_B301 -; libsrc/jit16core.pla: 1022: if opcode == $A4 -; libsrc/jit16core.pla: 1023: // -; libsrc/jit16core.pla: 1024: // INCR -; libsrc/jit16core.pla: 1025: // -; libsrc/jit16core.pla: 1026: //puts("INCBRLE "); puti(dest) -; libsrc/jit16core.pla: 1027: codeptr=>0 = $481A // INC A; PHA -; libsrc/jit16core.pla: 1028: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 1029: else - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$A4 ; CB 164 - !BYTE $24 ; BRNE _B302 - !WORD _B302-* - !BYTE $2C,$1A,$48 ; CW 18458 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B303 - !WORD _B303-* -_B302 -; libsrc/jit16core.pla: 1030: // -; libsrc/jit16core.pla: 1031: // ADD -; libsrc/jit16core.pla: 1032: // -; libsrc/jit16core.pla: 1033: //puts("ADDBRLE "); puti(dest) -; libsrc/jit16core.pla: 1034: codeptr->0 = $18 // CLC -; libsrc/jit16core.pla: 1035: codeptr=>1 = $63+(TOS<<8) // ADC S,TOS -; libsrc/jit16core.pla: 1036: codeptr=>3 = $83+(TOS<<8) // STA S,TOS -; libsrc/jit16core.pla: 1037: codeptr = codeptr + 5 -; libsrc/jit16core.pla: 1038: fin - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$63,$01 ; CW 355 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$83,$01 ; CW 387 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] -_B303 -; libsrc/jit16core.pla: 1039: // -; libsrc/jit16core.pla: 1040: // BRLE -; libsrc/jit16core.pla: 1041: // -; libsrc/jit16core.pla: 1042: codeptr=>0 = $A3+(NOS<<8) // LDA S,NOS -; libsrc/jit16core.pla: 1043: codeptr->2 = $38 // SEC -; libsrc/jit16core.pla: 1044: codeptr=>3 = $E3+(TOS<<8) // SBC S,TOS -; libsrc/jit16core.pla: 1045: codeptr=>5 = $0350 // BVC +3 -; libsrc/jit16core.pla: 1046: codeptr->7 = $49 // EOR #$8000 -; libsrc/jit16core.pla: 1047: codeptr=>8 = $8000 -; libsrc/jit16core.pla: 1048: codeptr=>10 = $0330 // BMI +3 -; libsrc/jit16core.pla: 1049: codeptr->12 = $4C // JMP abs -; libsrc/jit16core.pla: 1050: codeptr=>13 = addrxlate=>[dest] -; libsrc/jit16core.pla: 1051: if not (codeptr->14 & $80) // Unresolved address list -; libsrc/jit16core.pla: 1052: addrxlate=>[dest] = codeptr + 13 - *jitcodeptr -; libsrc/jit16core.pla: 1053: fin - !BYTE $2C,$A3,$03 ; CW 931 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$E3,$01 ; CW 483 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$50,$03 ; CW 848 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$30,$03 ; CW 816 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B304 - !WORD _B304-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B304 -_B305 -; libsrc/jit16core.pla: 1054: codeptr = codeptr + 15 -; libsrc/jit16core.pla: 1055: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 1056: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1057: is $A8 // DECBRGR - FOR/NEXT SPECIFIC DEC & TEST & BRANCH -_B306 -; libsrc/jit16core.pla: 1058: is $AA // SUBBRGE - FOR/NEXT SPECIFIC SUB & TEST & BRANCH -_B307 -; libsrc/jit16core.pla: 1059: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1060: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 1061: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1062: if not A_IS_TOS -; libsrc/jit16core.pla: 1063: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B308 - !WORD _B308-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1064: fin - !BYTE $76,$02 ; SLW [2] -_B308 -_B309 -; libsrc/jit16core.pla: 1065: if opcode == $A8 -; libsrc/jit16core.pla: 1066: // -; libsrc/jit16core.pla: 1067: // DECR -; libsrc/jit16core.pla: 1068: // -; libsrc/jit16core.pla: 1069: //puts("DECBRGE "); puti(dest) -; libsrc/jit16core.pla: 1070: codeptr=>0 = $483A // DEC A; PHA -; libsrc/jit16core.pla: 1071: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 1072: else - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B310 - !WORD _B310-* - !BYTE $2C,$3A,$48 ; CW 18490 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B311 - !WORD _B311-* -_B310 -; libsrc/jit16core.pla: 1073: // -; libsrc/jit16core.pla: 1074: // SUB -; libsrc/jit16core.pla: 1075: // -; libsrc/jit16core.pla: 1076: //puts("SUBBRGE "); puti(dest) -; libsrc/jit16core.pla: 1077: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1078: codeptr=>2 = $A3+(TOS<<8) // LDA S,TOS -; libsrc/jit16core.pla: 1079: codeptr->4 = $38 // SEC -; libsrc/jit16core.pla: 1080: codeptr=>5 = tmp8+$E5 // SBC TMP -; libsrc/jit16core.pla: 1081: codeptr=>7 = $83+(TOS<<8) // STA S,TOS -; libsrc/jit16core.pla: 1082: codeptr = codeptr + 9 -; libsrc/jit16core.pla: 1083: fin - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$A3,$01 ; CW 419 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2C,$E5,$E7 ; CW 59365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$83,$01 ; CW 387 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] -_B311 -; libsrc/jit16core.pla: 1084: // -; libsrc/jit16core.pla: 1085: // BRGE -; libsrc/jit16core.pla: 1086: // -; libsrc/jit16core.pla: 1087: codeptr->0 = $38 // SEC -; libsrc/jit16core.pla: 1088: codeptr=>1 = $E3+(NOS<<8) // SBC S,NOS -; libsrc/jit16core.pla: 1089: codeptr=>3 = $0350 // BVC +3 -; libsrc/jit16core.pla: 1090: codeptr->5 = $49 // EOR #$8000 -; libsrc/jit16core.pla: 1091: codeptr=>6 = $8000 -; libsrc/jit16core.pla: 1092: codeptr=>8 = $0330 // BMI +3 -; libsrc/jit16core.pla: 1093: codeptr->10 = $4C // JMP abs -; libsrc/jit16core.pla: 1094: codeptr=>11 = addrxlate=>[dest] -; libsrc/jit16core.pla: 1095: if not (codeptr->12 & $80) // Unresolved address list -; libsrc/jit16core.pla: 1096: addrxlate=>[dest] = codeptr + 11 - *jitcodeptr -; libsrc/jit16core.pla: 1097: fin - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$E3,$03 ; CW 995 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$50,$03 ; CW 848 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$30,$03 ; CW 816 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B312 - !WORD _B312-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B312 -_B313 -; libsrc/jit16core.pla: 1098: codeptr = codeptr + 13 -; libsrc/jit16core.pla: 1099: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 1100: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1101: is $AC // BRAND - LOGICAL AND SPECIFIC BRANCH -_B314 -; libsrc/jit16core.pla: 1102: is $AE // BROR - LOGICAL OR SPECIFIC BRANCH -_B315 -; libsrc/jit16core.pla: 1103: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1104: dest = i + *(bytecode+i) -; libsrc/jit16core.pla: 1105: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1106: if not A_IS_TOS -; libsrc/jit16core.pla: 1107: codeptr->0 = $68 // PLA -; libsrc/jit16core.pla: 1108: else - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B316 - !WORD _B316-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B317 - !WORD _B317-* -_B316 -; libsrc/jit16core.pla: 1109: codeptr->0 = $A8 // TAY -; libsrc/jit16core.pla: 1110: fin - !BYTE $2A,$A8 ; CB 168 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB -_B317 -; libsrc/jit16core.pla: 1111: if opcode == $AC -; libsrc/jit16core.pla: 1112: //puts("BRAND "); puti(dest) -; libsrc/jit16core.pla: 1113: codeptr=>1 = $04D0 // BNE +4 -; libsrc/jit16core.pla: 1114: else - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$AC ; CB 172 - !BYTE $24 ; BRNE _B318 - !WORD _B318-* - !BYTE $2C,$D0,$04 ; CW 1232 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B319 - !WORD _B319-* -_B318 -; libsrc/jit16core.pla: 1115: //puts("BROR "); puti(dest) -; libsrc/jit16core.pla: 1116: codeptr=>1 = $04F0 // BEQ +4 -; libsrc/jit16core.pla: 1117: fin - !BYTE $2C,$F0,$04 ; CW 1264 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW -_B319 -; libsrc/jit16core.pla: 1118: codeptr=>3 = $4C48 // PHA; JMP abs -; libsrc/jit16core.pla: 1119: codeptr=>5 = addrxlate=>[dest] -; libsrc/jit16core.pla: 1120: if not (codeptr->6 & $80) // Unresolved address list -; libsrc/jit16core.pla: 1121: addrxlate=>[dest] = codeptr + 5 - *jitcodeptr -; libsrc/jit16core.pla: 1122: fin - !BYTE $2C,$48,$4C ; CW 19528 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B320 - !WORD _B320-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B320 -_B321 -; libsrc/jit16core.pla: 1123: codeptr = codeptr + 7 -; libsrc/jit16core.pla: 1124: A_IS_TOS = FALSE -; libsrc/jit16core.pla: 1125: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1126: is $B0 // ADDLB -_B322 -; libsrc/jit16core.pla: 1127: //puts("ADDLB "); puti(j) -; libsrc/jit16core.pla: 1128: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1129: j = ^(bytecode+i) -; libsrc/jit16core.pla: 1130: if not A_IS_TOS -; libsrc/jit16core.pla: 1131: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B323 - !WORD _B323-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1132: fin - !BYTE $76,$02 ; SLW [2] -_B323 -_B324 -; libsrc/jit16core.pla: 1133: if not X_IS_IFP -; libsrc/jit16core.pla: 1134: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 1135: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 1136: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 1137: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B325 - !WORD _B325-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B325 -_B326 -; libsrc/jit16core.pla: 1138: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1139: codeptr=>2 = $B5+(j<<8) // LDA dp,X -; libsrc/jit16core.pla: 1140: codeptr->4 = $29 // AND #$00FF -; libsrc/jit16core.pla: 1141: codeptr=>5 = $00FF -; libsrc/jit16core.pla: 1142: codeptr->7 = $18 // CLC -; libsrc/jit16core.pla: 1143: codeptr=>8 = tmp8+$65 // ADC TMP -; libsrc/jit16core.pla: 1144: codeptr = codeptr + 10 -; libsrc/jit16core.pla: 1145: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1146: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$B5 ; CB 181 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$65,$E7 ; CW 59237 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1147: is $B2 // ADDLW -_B327 -; libsrc/jit16core.pla: 1148: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1149: j = ^(bytecode+i) -; libsrc/jit16core.pla: 1150: //puts("ADDLW "); puti(j) -; libsrc/jit16core.pla: 1151: if not A_IS_TOS -; libsrc/jit16core.pla: 1152: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B328 - !WORD _B328-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1153: fin - !BYTE $76,$02 ; SLW [2] -_B328 -_B329 -; libsrc/jit16core.pla: 1154: if not X_IS_IFP -; libsrc/jit16core.pla: 1155: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 1156: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 1157: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 1158: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B330 - !WORD _B330-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B330 -_B331 -; libsrc/jit16core.pla: 1159: codeptr->0 = $18 // CLC -; libsrc/jit16core.pla: 1160: codeptr=>1 = $75+(j<<8) // ADC dp,X -; libsrc/jit16core.pla: 1161: codeptr = codeptr + 3 -; libsrc/jit16core.pla: 1162: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1163: break - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$75 ; CB 117 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1164: is $B4 // ADDAB -_B332 -; libsrc/jit16core.pla: 1165: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 1166: i = i + 2 -; libsrc/jit16core.pla: 1167: //puts("ADDAB $"); puth(dest) -; libsrc/jit16core.pla: 1168: if not A_IS_TOS -; libsrc/jit16core.pla: 1169: ^codeptr = $68; codeptr++ // PLA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B333 - !WORD _B333-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1170: fin - !BYTE $76,$02 ; SLW [2] -_B333 -_B334 -; libsrc/jit16core.pla: 1171: if is_hwaddr(dest) -; libsrc/jit16core.pla: 1172: // -; libsrc/jit16core.pla: 1173: // Ensure only byte sized accesses to H/W addresses -; libsrc/jit16core.pla: 1174: // -; libsrc/jit16core.pla: 1175: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1176: codeptr=>2 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 1177: codeptr->4 = $AD // LDA abs -; libsrc/jit16core.pla: 1178: codeptr=>5 = dest -; libsrc/jit16core.pla: 1179: codeptr=>7 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 1180: codeptr->9 = $29 // AND #$00FF -; libsrc/jit16core.pla: 1181: codeptr=>10 = $00FF -; libsrc/jit16core.pla: 1182: codeptr->12 = $18 // CLC -; libsrc/jit16core.pla: 1183: codeptr=>13 = tmp8+$65 // ADC TMP -; libsrc/jit16core.pla: 1184: codeptr = codeptr + 15 -; libsrc/jit16core.pla: 1185: else - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C001 -_F013 !WORD _C001 - !BYTE $4C ; BRFLS _B335 - !WORD _B335-* - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $2C,$65,$E7 ; CW 59237 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B336 - !WORD _B336-* -_B335 -; libsrc/jit16core.pla: 1186: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1187: codeptr->2 = $AD // LDA abs -; libsrc/jit16core.pla: 1188: codeptr=>3 = dest -; libsrc/jit16core.pla: 1189: codeptr->5 = $29 // AND #$00FF -; libsrc/jit16core.pla: 1190: codeptr=>6 = $00FF -; libsrc/jit16core.pla: 1191: codeptr->8 = $18 // CLC -; libsrc/jit16core.pla: 1192: codeptr=>9 = tmp8+$65 // ADC TMP -; libsrc/jit16core.pla: 1193: codeptr = codeptr + 11 -; libsrc/jit16core.pla: 1194: fin - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $2C,$65,$E7 ; CW 59237 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] -_B336 -; libsrc/jit16core.pla: 1195: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1196: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1197: is $B6 // ADDAW -_B337 -; libsrc/jit16core.pla: 1198: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 1199: i = i + 2 -; libsrc/jit16core.pla: 1200: if not A_IS_TOS -; libsrc/jit16core.pla: 1201: ^codeptr = $68; codeptr++ // PLA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B338 - !WORD _B338-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1202: fin - !BYTE $76,$02 ; SLW [2] -_B338 -_B339 -; libsrc/jit16core.pla: 1203: codeptr=>0 = $6D18 // CLC; ADC abs -; libsrc/jit16core.pla: 1204: codeptr=>2 = dest -; libsrc/jit16core.pla: 1205: codeptr = codeptr + 4 -; libsrc/jit16core.pla: 1206: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1207: break - !BYTE $2C,$18,$6D ; CW 27928 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1208: is $B8 // IDXLB -_B340 -; libsrc/jit16core.pla: 1209: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1210: j = ^(bytecode+i) -; libsrc/jit16core.pla: 1211: //puts("IDXLB "); puti(j) -; libsrc/jit16core.pla: 1212: if not A_IS_TOS -; libsrc/jit16core.pla: 1213: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B341 - !WORD _B341-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1214: fin - !BYTE $76,$02 ; SLW [2] -_B341 -_B342 -; libsrc/jit16core.pla: 1215: if not X_IS_IFP -; libsrc/jit16core.pla: 1216: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 1217: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 1218: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 1219: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B343 - !WORD _B343-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B343 -_B344 -; libsrc/jit16core.pla: 1220: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1221: codeptr=>2 = $B5+(j<<8) // LDA dp,X -; libsrc/jit16core.pla: 1222: codeptr->4 = $29 // AND #$00FF -; libsrc/jit16core.pla: 1223: codeptr=>5 = $00FF -; libsrc/jit16core.pla: 1224: codeptr->7 = $0A // ASL -; libsrc/jit16core.pla: 1225: codeptr=>8 = tmp8+$65 // ADC TMP -; libsrc/jit16core.pla: 1226: codeptr = codeptr + 10 -; libsrc/jit16core.pla: 1227: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1228: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$B5 ; CB 181 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$65,$E7 ; CW 59237 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1229: is $BA // IDXLW -_B345 -; libsrc/jit16core.pla: 1230: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1231: j = ^(bytecode+i) -; libsrc/jit16core.pla: 1232: //puts("IDXLW "); puti(j) -; libsrc/jit16core.pla: 1233: if not A_IS_TOS -; libsrc/jit16core.pla: 1234: ^codeptr = $68; codeptr++ // PLA - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$0F ; SLB [15] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B346 - !WORD _B346-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1235: fin - !BYTE $76,$02 ; SLW [2] -_B346 -_B347 -; libsrc/jit16core.pla: 1236: if not X_IS_IFP -; libsrc/jit16core.pla: 1237: *codeptr = ifp8+$A6 // LDX IFP -; libsrc/jit16core.pla: 1238: codeptr = codeptr + 2 -; libsrc/jit16core.pla: 1239: X_IS_IFP = TRUE -; libsrc/jit16core.pla: 1240: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4E ; BRTRU _B348 - !WORD _B348-* - !BYTE $2C,$A6,$E0 ; CW 57510 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$11 ; SLB [17] -_B348 -_B349 -; libsrc/jit16core.pla: 1241: codeptr->0 = $18 // CLC -; libsrc/jit16core.pla: 1242: codeptr=>1 = $75+(j<<8) // ADC dp,X -; libsrc/jit16core.pla: 1243: codeptr->3 = $18 // CLC -; libsrc/jit16core.pla: 1244: codeptr=>4 = $75+(j<<8) // ADC dp,X -; libsrc/jit16core.pla: 1245: codeptr = codeptr + 6 -; libsrc/jit16core.pla: 1246: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1247: break - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$75 ; CB 117 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2A,$75 ; CB 117 - !BYTE $64,$0F ; LLB [15] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1248: is $BC // IDXAB -_B350 -; libsrc/jit16core.pla: 1249: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 1250: i = i + 2 -; libsrc/jit16core.pla: 1251: //puts("IDXAB $"); puth(*(bytecode+i)) -; libsrc/jit16core.pla: 1252: if not A_IS_TOS -; libsrc/jit16core.pla: 1253: ^codeptr = $68; codeptr++ // PLA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B351 - !WORD _B351-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1254: fin - !BYTE $76,$02 ; SLW [2] -_B351 -_B352 -; libsrc/jit16core.pla: 1255: if is_hwaddr(dest) -; libsrc/jit16core.pla: 1256: // -; libsrc/jit16core.pla: 1257: // Ensure only byte sized accesses to H/W addresses -; libsrc/jit16core.pla: 1258: // -; libsrc/jit16core.pla: 1259: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1260: codeptr=>2 = $20E2 // SEP #$20 -> 8 BIT ACCUM/MEM -; libsrc/jit16core.pla: 1261: codeptr->4 = $AD // LDA abs -; libsrc/jit16core.pla: 1262: codeptr=>5 = dest -; libsrc/jit16core.pla: 1263: codeptr=>7 = $20C2 // REP #$20 -> 16 BIT ACCUM/MEM -; libsrc/jit16core.pla: 1264: codeptr->9 = $29 // AND #$00FF -; libsrc/jit16core.pla: 1265: codeptr=>10 = $00FF -; libsrc/jit16core.pla: 1266: codeptr->12 = $0A // ASL -; libsrc/jit16core.pla: 1267: codeptr=>13 = tmp8+$65 // ADC TMP -; libsrc/jit16core.pla: 1268: codeptr = codeptr + 15 -; libsrc/jit16core.pla: 1269: else - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C001 -_F014 !WORD _C001 - !BYTE $4C ; BRFLS _B353 - !WORD _B353-* - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$E2,$20 ; CW 8418 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$C2,$20 ; CW 8386 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $2C,$65,$E7 ; CW 59237 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B354 - !WORD _B354-* -_B353 -; libsrc/jit16core.pla: 1270: codeptr=>0 = tmp8+$85 // STA TMP -; libsrc/jit16core.pla: 1271: codeptr->2 = $AD // LDA abs -; libsrc/jit16core.pla: 1272: codeptr=>3 = dest -; libsrc/jit16core.pla: 1273: codeptr->5 = $29 // AND #$00FF -; libsrc/jit16core.pla: 1274: codeptr=>6 = $00FF -; libsrc/jit16core.pla: 1275: codeptr->8 = $0A // ASL -; libsrc/jit16core.pla: 1276: codeptr=>9 = tmp8+$65 // ADC TMP -; libsrc/jit16core.pla: 1277: codeptr = codeptr + 11 -; libsrc/jit16core.pla: 1278: fin - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $2C,$65,$E7 ; CW 59237 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] -_B354 -; libsrc/jit16core.pla: 1279: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1280: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1281: is $BE // IDXAW -_B355 -; libsrc/jit16core.pla: 1282: dest = *(bytecode+i+1) -; libsrc/jit16core.pla: 1283: i = i + 2 -; libsrc/jit16core.pla: 1284: //puts("IDXAW $"); puth(dest) -; libsrc/jit16core.pla: 1285: if not A_IS_TOS -; libsrc/jit16core.pla: 1286: ^codeptr = $68; codeptr++ // PLA - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$10 ; LLB [16] - !BYTE $4E ; BRTRU _B356 - !WORD _B356-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1287: fin - !BYTE $76,$02 ; SLW [2] -_B356 -_B357 -; libsrc/jit16core.pla: 1288: codeptr=>0 = $6D18 // CLC; ADC abs -; libsrc/jit16core.pla: 1289: codeptr=>2 = dest -; libsrc/jit16core.pla: 1290: codeptr=>4 = $6D18 // CLC; ADC abs -; libsrc/jit16core.pla: 1291: codeptr=>6 = dest -; libsrc/jit16core.pla: 1292: codeptr = codeptr + 8 -; libsrc/jit16core.pla: 1293: A_IS_TOS = TRUE // PHA -; libsrc/jit16core.pla: 1294: break - !BYTE $2C,$18,$6D ; CW 27928 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$18,$6D ; CW 27928 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1295: is $FE // NOPed out earlier by SELect -_B358 -; libsrc/jit16core.pla: 1296: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; libsrc/jit16core.pla: 1297: otherwise -_B080 - !BYTE $4F ; CASEBLOCK - !WORD $0020 - !WORD _B081-* - !WORD $0022 - !WORD _B084-* - !WORD $0024 - !WORD _B085-* - !WORD $0026 - !WORD _B092-* - !WORD $0028 - !WORD _B096-* - !WORD $002A - !WORD _B103-* - !WORD $002C - !WORD _B093-* - !WORD $002E - !WORD _B109-* - !WORD $0030 - !WORD _B117-* - !WORD $0032 - !WORD _B114-* - !WORD $0034 - !WORD _B120-* - !WORD $0038 - !WORD _B123-* - !WORD $003A - !WORD _B126-* - !WORD $003C - !WORD _B129-* - !WORD $003E - !WORD _B132-* - !WORD $0040 - !WORD _B135-* - !WORD $0042 - !WORD _B136-* - !WORD $0044 - !WORD _B141-* - !WORD $0046 - !WORD _B147-* - !WORD $0048 - !WORD _B148-* - !WORD $004A - !WORD _B142-* - !WORD $004C - !WORD _B153-* - !WORD $004E - !WORD _B154-* - !WORD $0050 - !WORD _B161-* - !WORD $0052 - !WORD _B166-* - !WORD $0054 - !WORD _B178-* - !WORD $0056 - !WORD _B179-* - !WORD $005A - !WORD _B180-* - !WORD $005C - !WORD _B181-* - !WORD $005E - !WORD _B104-* - !WORD $0060 - !WORD _B190-* - !WORD $0062 - !WORD _B193-* - !WORD $0064 - !WORD _B196-* - !WORD $0066 - !WORD _B201-* - !WORD $0068 - !WORD _B206-* - !WORD $006A - !WORD _B211-* - !WORD $006C - !WORD _B214-* - !WORD $006E - !WORD _B222-* - !WORD $0070 - !WORD _B230-* - !WORD $0072 - !WORD _B233-* - !WORD $0074 - !WORD _B215-* - !WORD $0076 - !WORD _B223-* - !WORD $0078 - !WORD _B236-* - !WORD $007A - !WORD _B242-* - !WORD $007C - !WORD _B237-* - !WORD $007E - !WORD _B243-* - !WORD $0080 - !WORD _B248-* - !WORD $0082 - !WORD _B251-* - !WORD $0084 - !WORD _B254-* - !WORD $0086 - !WORD _B257-* - !WORD $0088 - !WORD _B258-* - !WORD $008A - !WORD _B259-* - !WORD $008C - !WORD _B264-* - !WORD $008E - !WORD _B267-* - !WORD $0090 - !WORD _B270-* - !WORD $0092 - !WORD _B273-* - !WORD $0094 - !WORD _B276-* - !WORD $0096 - !WORD _B279-* - !WORD $0098 - !WORD _B282-* - !WORD $009A - !WORD _B260-* - !WORD $009C - !WORD _B261-* - !WORD $009E - !WORD _B285-* - !WORD $00A0 - !WORD _B288-* - !WORD $00A2 - !WORD _B293-* - !WORD $00A4 - !WORD _B298-* - !WORD $00A6 - !WORD _B299-* - !WORD $00A8 - !WORD _B306-* - !WORD $00AA - !WORD _B307-* - !WORD $00AC - !WORD _B314-* - !WORD $00AE - !WORD _B315-* - !WORD $00B0 - !WORD _B322-* - !WORD $00B2 - !WORD _B327-* - !WORD $00B4 - !WORD _B332-* - !WORD $00B6 - !WORD _B337-* - !WORD $00B8 - !WORD _B340-* - !WORD $00BA - !WORD _B345-* - !WORD $00BC - !WORD _B350-* - !WORD $00BE - !WORD _B355-* - !WORD $00FE - !WORD _B358-* -; libsrc/jit16core.pla: 1298: //puts("???: $"); puth(^(bytecode+i)); putln -; libsrc/jit16core.pla: 1299: wend -_B079 -; libsrc/jit16core.pla: 1300: fin -_B076 -; libsrc/jit16core.pla: 1301: //putln -; libsrc/jit16core.pla: 1302: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jit16core.pla: 1303: if i >= defptr->bytecodesize -; libsrc/jit16core.pla: 1304: // -; libsrc/jit16core.pla: 1305: // Done compiling. Update DEF entry with JMP to compiled code -; libsrc/jit16core.pla: 1306: // -; libsrc/jit16core.pla: 1307: defptr->interpjsr = $4C // JMP -; libsrc/jit16core.pla: 1308: defptr=>interpaddr = *jitcodeptr -; libsrc/jit16core.pla: 1309: *jitcodeptr = codeptr -; libsrc/jit16core.pla: 1310: //puts("Done compiling: $"); puth(defptr=>interpaddr) -; libsrc/jit16core.pla: 1311: //puts("->$"); puth(*jitcodeptr); putln -; libsrc/jit16core.pla: 1312: //getc -; libsrc/jit16core.pla: 1313: return - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B359 - !WORD _B359-* - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $6A,$E4,$03 ; LAW 996 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A,$E4,$03 ; SAW 996 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/jit16core.pla: 1314: fin -_B359 -_B360 -; libsrc/jit16core.pla: 1315: loop -_B065 - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$E0,$BE ; CW 48864 - !BYTE $54 ; CALL _X027 -_F015 !WORD 0 - !BYTE $4E ; BRTRU _B063 - !WORD _B063-* -_B064 -; libsrc/jit16core.pla: 1316: // -; libsrc/jit16core.pla: 1317: // If we got here we ran out of code buffer space. -; libsrc/jit16core.pla: 1318: // -; libsrc/jit16core.pla: 1319: //puts("Ran out of code buffer\n") -; libsrc/jit16core.pla: 1320: //getc -; libsrc/jit16core.pla: 1321: end - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/apple/jit16.pla: 0055: -; libsrc/apple/jit16.pla: 0056: // -; libsrc/apple/jit16.pla: 0057: // Install JIT compiler -; libsrc/apple/jit16.pla: 0058: // -; libsrc/apple/jit16.pla: 0059: if *jitcomp -_INIT -; libsrc/apple/jit16.pla: 0060: return 0 - !BYTE $6A,$E2,$03 ; LAW 994 - !BYTE $4C ; BRFLS _B361 - !WORD _B361-* - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/jit16.pla: 0061: fin -_B361 -_B362 -; libsrc/apple/jit16.pla: 0062: *jitcomp = @compiler -; libsrc/apple/jit16.pla: 0063: cmdsys.jitcount = 32 -; libsrc/apple/jit16.pla: 0064: cmdsys.jitsize = 255 -; libsrc/apple/jit16.pla: 0065: puts("16-bit VM/JITC enabled\n") - !BYTE $26 ; LA _C002+0 -_F016 !WORD _C002+0 - !BYTE $7A,$E2,$03 ; SAW 994 - !BYTE $2A,$20 ; CB 32 - !BYTE $78 ; SAB _X000+17 -_F017 !WORD 0+17 - !BYTE $2A,$FF ; CB 255 - !BYTE $78 ; SAB _X000+18 -_F018 !WORD 0+18 - !BYTE $2E ; CS - !BYTE $17 - !BYTE $31,$36,$2D,$62,$69,$74,$20,$56 - !BYTE $4D,$2F,$4A,$49,$54,$43,$20,$65 - !BYTE $6E,$61,$62,$6C,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 -; libsrc/apple/jit16.pla: 0066: return modkeep - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/jit16.pla: 0067: done -_SYSFLAGS = 0 -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ISULE - !BYTE $C9,$D3,$D5,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 27 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/joybuzz.a b/src/libsrc/apple/joybuzz.a deleted file mode 100644 index da64de7..0000000 --- a/src/libsrc/apple/joybuzz.a +++ /dev/null @@ -1,299 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/joybuzz.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/joybuzz.pla: 0001: -; libsrc/apple/joybuzz.pla: 0002: asm asmdefs - !BYTE $00 ; END OF MODULE DEPENDENCIES -_A000 ; asmdefs() -; libsrc/apple/joybuzz.pla: 0003: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/joybuzz.pla: 0004: SPEAKER = $C030 -SPEAKER = $C030 -; libsrc/apple/joybuzz.pla: 0005: GCSTRB = $C070 -GCSTRB = $C070 -; libsrc/apple/joybuzz.pla: 0006: GC0 = $C064 -GC0 = $C064 -; libsrc/apple/joybuzz.pla: 0007: GC1 = $C065 -GC1 = $C065 -; libsrc/apple/joybuzz.pla: 0008: GCPB1 = $C061 -GCPB1 = $C061 -; libsrc/apple/joybuzz.pla: 0009: GCPB2 = $C062 -GCPB2 = $C062 -; libsrc/apple/joybuzz.pla: 0010: GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER -GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER -; libsrc/apple/joybuzz.pla: 0011: end -; libsrc/apple/joybuzz.pla: 0012: // -; libsrc/apple/joybuzz.pla: 0013: // Read both game controllers in parallel -; libsrc/apple/joybuzz.pla: 0014: // -; libsrc/apple/joybuzz.pla: 0015: export asm joypos(buzz)#4 -_A001 ; joypos() -; libsrc/apple/joybuzz.pla: 0016: LDY ESTKL,X ; BUZZ TONE - LDY ESTKL,X ; BUZZ TONE -; libsrc/apple/joybuzz.pla: 0017: STY TMPH - STY TMPH -; libsrc/apple/joybuzz.pla: 0018: DEX - DEX -; libsrc/apple/joybuzz.pla: 0019: DEX - DEX -; libsrc/apple/joybuzz.pla: 0020: DEX - DEX -; libsrc/apple/joybuzz.pla: 0021: LDA #$00 - LDA #$00 -; libsrc/apple/joybuzz.pla: 0022: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/joybuzz.pla: 0023: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/apple/joybuzz.pla: 0024: STA ESTKL+3,X - STA ESTKL+3,X -; libsrc/apple/joybuzz.pla: 0025: STA ESTKH+3,X - STA ESTKH+3,X -; libsrc/apple/joybuzz.pla: 0026: LDA #GCMAX - LDA #GCMAX -; libsrc/apple/joybuzz.pla: 0027: SEC - SEC -; libsrc/apple/joybuzz.pla: 0028: BIT GCSTRB - BIT GCSTRB -; libsrc/apple/joybuzz.pla: 0029: BUZZ DEY -BUZZ DEY -; libsrc/apple/joybuzz.pla: 0030: BNE BUZZDLY - BNE BUZZDLY -; libsrc/apple/joybuzz.pla: 0031: BIT SPEAKER - BIT SPEAKER -; libsrc/apple/joybuzz.pla: 0032: LDY TMPH ; BUZZ TONE - LDY TMPH ; BUZZ TONE -; libsrc/apple/joybuzz.pla: 0033: GC0READ BIT GC0 -GC0READ BIT GC0 -; libsrc/apple/joybuzz.pla: 0034: BPL GC0DLY - BPL GC0DLY -; libsrc/apple/joybuzz.pla: 0035: INC ESTKL+3,X - INC ESTKL+3,X -; libsrc/apple/joybuzz.pla: 0036: GC1READ BIT GC1 -GC1READ BIT GC1 -; libsrc/apple/joybuzz.pla: 0037: BPL GC1DLY - BPL GC1DLY -; libsrc/apple/joybuzz.pla: 0038: INC ESTKL+2,X - INC ESTKL+2,X -; libsrc/apple/joybuzz.pla: 0039: JOYLP SBC #$01 -JOYLP SBC #$01 -; libsrc/apple/joybuzz.pla: 0040: BNE BUZZ - BNE BUZZ -; libsrc/apple/joybuzz.pla: 0041: TAY ; LDY #$00 - TAY ; LDY #$00 -; libsrc/apple/joybuzz.pla: 0042: BIT GCPB1 ; READ GC BUTTONS - BIT GCPB1 ; READ GC BUTTONS -; libsrc/apple/joybuzz.pla: 0043: BPL + - BPL + -; libsrc/apple/joybuzz.pla: 0044: DEY - DEY -; libsrc/apple/joybuzz.pla: 0045: + STY ESTKL+1,X -+ STY ESTKL+1,X -; libsrc/apple/joybuzz.pla: 0046: STY ESTKH+1,X - STY ESTKH+1,X -; libsrc/apple/joybuzz.pla: 0047: TAY ; LDY #$00 - TAY ; LDY #$00 -; libsrc/apple/joybuzz.pla: 0048: BIT GCPB2 - BIT GCPB2 -; libsrc/apple/joybuzz.pla: 0049: BPL + - BPL + -; libsrc/apple/joybuzz.pla: 0050: DEY - DEY -; libsrc/apple/joybuzz.pla: 0051: + STY ESTKL,X -+ STY ESTKL,X -; libsrc/apple/joybuzz.pla: 0052: STY ESTKH,X - STY ESTKH,X -; libsrc/apple/joybuzz.pla: 0053: RTS - RTS -; libsrc/apple/joybuzz.pla: 0054: GC0DLY NOP ; TIMING -GC0DLY NOP ; TIMING -; libsrc/apple/joybuzz.pla: 0055: BPL GC1READ - BPL GC1READ -; libsrc/apple/joybuzz.pla: 0056: GC1DLY NOP ; TIMING -GC1DLY NOP ; TIMING -; libsrc/apple/joybuzz.pla: 0057: BPL JOYLP - BPL JOYLP -; libsrc/apple/joybuzz.pla: 0058: BUZZDLY BNE + ; TIMING -BUZZDLY BNE + ; TIMING -; libsrc/apple/joybuzz.pla: 0059: + BNE GC0READ -+ BNE GC0READ -; libsrc/apple/joybuzz.pla: 0060: end -; libsrc/apple/joybuzz.pla: 0061: // -; libsrc/apple/joybuzz.pla: 0062: // Keep module in memory -; libsrc/apple/joybuzz.pla: 0063: // -; libsrc/apple/joybuzz.pla: 0064: return modkeep - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/joybuzz.pla: 0065: done -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: JOYPOS - !BYTE $CA,$CF,$D9,$D0,$CF,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/matchfiles.a b/src/libsrc/apple/matchfiles.a deleted file mode 100644 index 3a29db9..0000000 --- a/src/libsrc/apple/matchfiles.a +++ /dev/null @@ -1,1067 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/matchfiles.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/matchfiles.pla: 0001: -; libsrc/apple/matchfiles.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; libsrc/apple/matchfiles.pla: 0002: -; libsrc/apple/matchfiles.pla: 0003: -; libsrc/apple/matchfiles.pla: 0004: var dirbuf - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D030 !FILL 2 ; dirbuf -; libsrc/apple/matchfiles.pla: 0005: char[64] srcpath -_D031 !FILL 64 ; srcpath -; libsrc/apple/matchfiles.pla: 0006: char[64] srcfile -_D032 !FILL 64 ; srcfile -; libsrc/apple/matchfiles.pla: 0007: -; libsrc/apple/matchfiles.pla: 0008: // -; libsrc/apple/matchfiles.pla: 0009: // Match next section of source and expression -; libsrc/apple/matchfiles.pla: 0010: // -; libsrc/apple/matchfiles.pla: 0011: def matchNext(src, srcofst, exp, expofst) -_SUBSEG ; BYTECODE STARTS - ; src -> [0] - ; srcofst -> [2] - ; exp -> [4] - ; expofst -> [6] -_C000 ; matchNext() -; libsrc/apple/matchfiles.pla: 0012: if ^exp >= expofst - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/matchfiles.pla: 0013: when exp->[expofst] - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B004-* -; libsrc/apple/matchfiles.pla: 0014: is '*' // Multi-char wildcard -_B005 -; libsrc/apple/matchfiles.pla: 0015: if matchNext(src, srcofst, exp, expofst + 1) // Match zero wild chars -; libsrc/apple/matchfiles.pla: 0016: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F000 !WORD _C000 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0017: elsif ^src >= srcofst and matchNext(src, srcofst + 1, exp, expofst) // Match more wild chars - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; libsrc/apple/matchfiles.pla: 0018: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B008 - !WORD _B008-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F001 !WORD _C000 -_B008 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0019: fin -_B009 -_B007 -; libsrc/apple/matchfiles.pla: 0020: is '?' // Single char wildcard -_B010 -; libsrc/apple/matchfiles.pla: 0021: if ^src >= srcofst -; libsrc/apple/matchfiles.pla: 0022: return matchNext(src, srcofst + 1, exp, expofst + 1) - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F002 !WORD _C000 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0023: fin -_B011 -_B012 -; libsrc/apple/matchfiles.pla: 0024: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0025: otherwise // verbatim match - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -_B004 - !BYTE $02 ; CASEBLOCK - !WORD $002A - !WORD _B005-* - !WORD $003F - !WORD _B010-* -_B013 -; libsrc/apple/matchfiles.pla: 0026: if ^src >= srcofst and src->[srcofst] == exp->[expofst] -; libsrc/apple/matchfiles.pla: 0027: return matchNext(src, srcofst + 1, exp, expofst + 1) - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B014 - !WORD _B014-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $40 ; ISEQ -_B014 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0028: fin -_B015 -_B016 -; libsrc/apple/matchfiles.pla: 0029: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0030: wend -_B003 -; libsrc/apple/matchfiles.pla: 0031: fin -_B001 -_B002 -; libsrc/apple/matchfiles.pla: 0032: return ^src < srcofst and ^exp < expofst // Return TRUE if at the end of both - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B017 - !WORD _B017-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $46 ; ISLT -_B017 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/matchfiles.pla: 0033: end -; libsrc/apple/matchfiles.pla: 0034: // -; libsrc/apple/matchfiles.pla: 0035: // Start off matching process -; libsrc/apple/matchfiles.pla: 0036: // -; libsrc/apple/matchfiles.pla: 0037: export def matchName(src, exp)#1 - ; src -> [0] - ; exp -> [2] -_C001 ; matchName() -; libsrc/apple/matchfiles.pla: 0038: // -; libsrc/apple/matchfiles.pla: 0039: // Match on empty wildcard name (same as '*') -; libsrc/apple/matchfiles.pla: 0040: // -; libsrc/apple/matchfiles.pla: 0041: if not ^exp - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/matchfiles.pla: 0042: return TRUE - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/matchfiles.pla: 0043: fin -_B018 -_B019 -; libsrc/apple/matchfiles.pla: 0044: return matchNext(src, 1, exp, 1) - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C000 -_F004 !WORD _C000 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/matchfiles.pla: 0045: end -; libsrc/apple/matchfiles.pla: 0046: export def matchList(pathstr, exp)#2 - ; pathstr -> [0] - ; exp -> [2] -_C002 ; matchList() -; libsrc/apple/matchfiles.pla: 0047: byte refnum - ; refnum -> [4] -; libsrc/apple/matchfiles.pla: 0048: char[64] curpath - ; curpath -> [5] -; libsrc/apple/matchfiles.pla: 0049: var firstblk, entrylen, entriesblk, i, entry, entrylist, entryptr, entrycnt - ; firstblk -> [69] - ; entrylen -> [71] - ; entriesblk -> [73] - ; i -> [75] - ; entry -> [77] - ; entrylist -> [79] - ; entryptr -> [81] - ; entrycnt -> [83] -; libsrc/apple/matchfiles.pla: 0050: -; libsrc/apple/matchfiles.pla: 0051: if not dirbuf - !BYTE $58,$55,$02 ; ENTER 85,2 -; libsrc/apple/matchfiles.pla: 0052: dirbuf = heapallocalign(512, 8, 0) -; libsrc/apple/matchfiles.pla: 0053: fin - !BYTE $6A ; LAW _D030+0 -_F005 !WORD _D030+0 - !BYTE $4E ; BRTRU _B020 - !WORD _B020-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X013 -_F006 !WORD 0 - !BYTE $7A ; SAW _D030+0 -_F007 !WORD _D030+0 -_B020 -_B021 -; libsrc/apple/matchfiles.pla: 0054: if not (pathstr and ^pathstr) -; libsrc/apple/matchfiles.pla: 0055: fileio:getpfx(@curpath) -; libsrc/apple/matchfiles.pla: 0056: pathstr = @curpath -; libsrc/apple/matchfiles.pla: 0057: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B022 - !WORD _B022-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB -_B022 - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* - !BYTE $28,$05 ; LLA [5] - !BYTE $6A ; LAW _X028+0 -_F008 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$05 ; LLA [5] - !BYTE $76,$00 ; SLW [0] -_B023 -_B024 -; libsrc/apple/matchfiles.pla: 0058: if pathstr->[^pathstr] <> '/' // Make sure path ends with a '/' -; libsrc/apple/matchfiles.pla: 0059: ^pathstr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B025 - !WORD _B025-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR -; libsrc/apple/matchfiles.pla: 0060: pathstr->[^pathstr] = '/' -; libsrc/apple/matchfiles.pla: 0061: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $2A,$2F ; CB 47 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B025 -_B026 -; libsrc/apple/matchfiles.pla: 0062: entrylist = 0 -; libsrc/apple/matchfiles.pla: 0063: entrycnt = 0 -; libsrc/apple/matchfiles.pla: 0064: firstblk = 1 -; libsrc/apple/matchfiles.pla: 0065: refnum = fileio:open(pathstr) -; libsrc/apple/matchfiles.pla: 0066: while fileio:read(refnum, dirbuf, 512) == 512 - !BYTE $00 ; CN 0 - !BYTE $76,$4F ; SLW [79] - !BYTE $00 ; CN 0 - !BYTE $76,$53 ; SLW [83] - !BYTE $02 ; CN 1 - !BYTE $76,$45 ; SLW [69] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F009 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B027 -; libsrc/apple/matchfiles.pla: 0067: // -; libsrc/apple/matchfiles.pla: 0068: // Skip block pointers -; libsrc/apple/matchfiles.pla: 0069: // -; libsrc/apple/matchfiles.pla: 0070: entry = dirbuf + 4 -; libsrc/apple/matchfiles.pla: 0071: if firstblk -; libsrc/apple/matchfiles.pla: 0072: // -; libsrc/apple/matchfiles.pla: 0073: // Pull out revelant details from the first block -; libsrc/apple/matchfiles.pla: 0074: // -; libsrc/apple/matchfiles.pla: 0075: entrylen = dirbuf->$23 -; libsrc/apple/matchfiles.pla: 0076: entriesblk = dirbuf->$24 - 1 -; libsrc/apple/matchfiles.pla: 0077: entry = entry + entrylen -; libsrc/apple/matchfiles.pla: 0078: fin - !BYTE $6A ; LAW _D030+0 -_F010 !WORD _D030+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$4D ; SLW [77] - !BYTE $66,$45 ; LLW [69] - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $6A ; LAW _D030+0 -_F011 !WORD _D030+0 - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $76,$47 ; SLW [71] - !BYTE $6A ; LAW _D030+0 -_F012 !WORD _D030+0 - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $76,$49 ; SLW [73] - !BYTE $66,$4D ; LLW [77] - !BYTE $B2,$47 ; ADDLW [71] - !BYTE $76,$4D ; SLW [77] -_B030 -_B031 -; libsrc/apple/matchfiles.pla: 0079: for i = firstblk to entriesblk - !BYTE $66,$49 ; LLW [73] - !BYTE $66,$45 ; LLW [69] - !BYTE $A0 ; BRGT _B032 - !WORD _B032-* -_B033 - !BYTE $6E,$4B ; DLW [75] -; libsrc/apple/matchfiles.pla: 0080: // -; libsrc/apple/matchfiles.pla: 0081: // Copy directory entry details -; libsrc/apple/matchfiles.pla: 0082: // -; libsrc/apple/matchfiles.pla: 0083: ^entry = ^entry & $0F -; libsrc/apple/matchfiles.pla: 0084: if ^entry -; libsrc/apple/matchfiles.pla: 0085: // -; libsrc/apple/matchfiles.pla: 0086: // Match wildcard filename -; libsrc/apple/matchfiles.pla: 0087: // -; libsrc/apple/matchfiles.pla: 0088: if matchName(entry, exp) -; libsrc/apple/matchfiles.pla: 0089: entryptr = heapalloc(t_fileentry) -; libsrc/apple/matchfiles.pla: 0090: memcpy(entryptr, entry, t_fileentry) -; libsrc/apple/matchfiles.pla: 0091: entrycnt++ - !BYTE $66,$4D ; LLW [77] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$4D ; LLW [77] - !BYTE $70 ; SB - !BYTE $66,$4D ; LLW [77] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $66,$4D ; LLW [77] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F013 !WORD _C001 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $2A,$27 ; CB 39 - !BYTE $54 ; CALL _X014 -_F014 !WORD 0 - !BYTE $6E,$51 ; DLW [81] - !BYTE $66,$4D ; LLW [77] - !BYTE $2A,$27 ; CB 39 - !BYTE $54 ; CALL _X018 -_F015 !WORD 0 - !BYTE $66,$53 ; LLW [83] - !BYTE $8C ; INCR -; libsrc/apple/matchfiles.pla: 0092: if not entrylist -; libsrc/apple/matchfiles.pla: 0093: entrylist = entryptr -; libsrc/apple/matchfiles.pla: 0094: fin - !BYTE $76,$53 ; SLW [83] - !BYTE $66,$4F ; LLW [79] - !BYTE $4E ; BRTRU _B039 - !WORD _B039-* - !BYTE $66,$51 ; LLW [81] - !BYTE $76,$4F ; SLW [79] -_B039 -_B040 -; libsrc/apple/matchfiles.pla: 0095: fin -_B037 -_B038 -; libsrc/apple/matchfiles.pla: 0096: fin -_B035 -_B036 -; libsrc/apple/matchfiles.pla: 0097: entry = entry + entrylen -; libsrc/apple/matchfiles.pla: 0098: next - !BYTE $66,$4D ; LLW [77] - !BYTE $B2,$47 ; ADDLW [71] - !BYTE $76,$4D ; SLW [77] -_B034 - !BYTE $A4 ; INCBRLE _B033 - !WORD _B033-* -_B032 - !BYTE $76,$4B ; SLW [75] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0099: firstblk = 0 -; libsrc/apple/matchfiles.pla: 0100: loop - !BYTE $00 ; CN 0 - !BYTE $76,$45 ; SLW [69] -_B029 - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _D030+0 -_F016 !WORD _D030+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X028+18 -_F017 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B027 - !WORD _B027-* -_B028 -; libsrc/apple/matchfiles.pla: 0101: fileio:close(refnum) -; libsrc/apple/matchfiles.pla: 0102: return entrylist, entrycnt - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X028+16 -_F018 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$4F ; LLW [79] - !BYTE $66,$53 ; LLW [83] - !BYTE $5A,$55 ; LEAVE 85 -; libsrc/apple/matchfiles.pla: 0103: end -; libsrc/apple/matchfiles.pla: 0104: // -; libsrc/apple/matchfiles.pla: 0105: // Is this a wildcard name? -; libsrc/apple/matchfiles.pla: 0106: // -; libsrc/apple/matchfiles.pla: 0107: export def isWildName(exp)#1 - ; exp -> [0] -_C003 ; isWildName() -; libsrc/apple/matchfiles.pla: 0108: byte i - ; i -> [2] -; libsrc/apple/matchfiles.pla: 0109: -; libsrc/apple/matchfiles.pla: 0110: if ^exp - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/apple/matchfiles.pla: 0111: for i = 1 to ^exp - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B043 - !WORD _B043-* -_B044 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/matchfiles.pla: 0112: if exp->[i] == '*' or exp->[i] == '?' -; libsrc/apple/matchfiles.pla: 0113: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$2A ; CB 42 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B046 - !WORD _B046-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$3F ; CB 63 - !BYTE $40 ; ISEQ -_B046 - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $32 ; DROP2 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/matchfiles.pla: 0114: fin -_B047 -_B048 -; libsrc/apple/matchfiles.pla: 0115: next -_B045 - !BYTE $A4 ; INCBRLE _B044 - !WORD _B044-* -_B043 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0116: fin -_B041 -_B042 -; libsrc/apple/matchfiles.pla: 0117: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/matchfiles.pla: 0118: end -; libsrc/apple/matchfiles.pla: 0119: // -; libsrc/apple/matchfiles.pla: 0120: // Utility routine to separate filename from path -; libsrc/apple/matchfiles.pla: 0121: // -; libsrc/apple/matchfiles.pla: 0122: export def fileFromPath(filestr, pathstr)#0 - ; filestr -> [0] - ; pathstr -> [2] -_C004 ; fileFromPath() -; libsrc/apple/matchfiles.pla: 0123: byte i - ; i -> [4] -; libsrc/apple/matchfiles.pla: 0124: -; libsrc/apple/matchfiles.pla: 0125: for i = ^pathstr downto 1 - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B049 - !WORD _B049-* -_B050 - !BYTE $6C,$04 ; DLB [4] -; libsrc/apple/matchfiles.pla: 0126: if pathstr->[i] == '/' -; libsrc/apple/matchfiles.pla: 0127: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B052 - !WORD _B052-* - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -; libsrc/apple/matchfiles.pla: 0128: fin -_B052 -_B053 -; libsrc/apple/matchfiles.pla: 0129: next -_B051 - !BYTE $A8 ; DECBRGE _B050 - !WORD _B050-* -_B049 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0130: ^filestr = ^pathstr - i -; libsrc/apple/matchfiles.pla: 0131: memcpy(filestr + 1, pathstr + 1 + i, ^filestr) -; libsrc/apple/matchfiles.pla: 0132: end - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $64,$04 ; LLB [4] - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F019 !WORD 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/matchfiles.pla: 0133: // -; libsrc/apple/matchfiles.pla: 0134: // Split path and filename apart -; libsrc/apple/matchfiles.pla: 0135: // -; libsrc/apple/matchfiles.pla: 0136: export def splitPathFile(pathstr)#2 - ; pathstr -> [0] -_C005 ; splitPathFile() -; libsrc/apple/matchfiles.pla: 0137: byte i - ; i -> [2] -; libsrc/apple/matchfiles.pla: 0138: -; libsrc/apple/matchfiles.pla: 0139: for i = 0 to ^pathstr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B054 - !WORD _B054-* -_B055 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/matchfiles.pla: 0140: srcpath[i] = toupper(^(pathstr + i)) -; libsrc/apple/matchfiles.pla: 0141: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F020 !WORD 0 - !BYTE $26 ; LA _D031+0 -_F021 !WORD _D031+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB -_B056 - !BYTE $A4 ; INCBRLE _B055 - !WORD _B055-* -_B054 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/matchfiles.pla: 0142: fileFromPath(@srcfile, @srcpath) -; libsrc/apple/matchfiles.pla: 0143: srcpath = srcpath - srcfile -; libsrc/apple/matchfiles.pla: 0144: return @srcpath, @srcfile - !BYTE $26 ; LA _D032+0 -_F022 !WORD _D032+0 - !BYTE $26 ; LA _D031+0 -_F023 !WORD _D031+0 - !BYTE $54 ; CALL _C004 -_F024 !WORD _C004 - !BYTE $68 ; LAB _D031+0 -_F025 !WORD _D031+0 - !BYTE $68 ; LAB _D032+0 -_F026 !WORD _D032+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D031+0 -_F027 !WORD _D031+0 - !BYTE $26 ; LA _D031+0 -_F028 !WORD _D031+0 - !BYTE $26 ; LA _D032+0 -_F029 !WORD _D032+0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/matchfiles.pla: 0145: end -; libsrc/apple/matchfiles.pla: 0146: -; libsrc/apple/matchfiles.pla: 0147: done -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: MATCHNAME - !BYTE $CD,$C1,$D4,$C3,$C8,$CE,$C1,$CD,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: MATCHLIST - !BYTE $CD,$C1,$D4,$C3,$C8,$CC,$C9,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: ISWILDNAME - !BYTE $C9,$D3,$D7,$C9,$CC,$C4,$CE,$C1,$CD,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: FILEFROMPATH - !BYTE $C6,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D0,$C1,$D4,$48 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: SPLITPATHFILE - !BYTE $D3,$D0,$CC,$C9,$D4,$D0,$C1,$D4,$C8,$C6,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/mouse.a b/src/libsrc/apple/mouse.a deleted file mode 100644 index adadfdf..0000000 --- a/src/libsrc/apple/mouse.a +++ /dev/null @@ -1,1245 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/mouse.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/mouse.pla: 0001: -; libsrc/apple/mouse.pla: 0002: // -; libsrc/apple/mouse.pla: 0003: // Mouse driver interface -; libsrc/apple/mouse.pla: 0004: // -; libsrc/apple/mouse.pla: 0005: predef chkVbl, chkMouse, readMouse#3, setMouse(mode), clearMouse, posMouse(x, y), clampMouse(xMin, xMax, yMin, yMax), homeMouse, detachMouse - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/apple/mouse.pla: 0006: word = @chkVbl, @chkMouse, @readMouse, @setMouse, @clearMouse, @posMouse, @clampMouse, @homeMouse, @detachMouse -_F000 !WORD _P000 -_F001 !WORD _P001 -_F002 !WORD _P002 -_F003 !WORD _P003 -_F004 !WORD _P004 -_F005 !WORD _P005 -_F006 !WORD _P006 -_F007 !WORD _P007 -_F008 !WORD _P008 -; libsrc/apple/mouse.pla: 0007: word rom -_D037 !FILL 2 ; rom -; libsrc/apple/mouse.pla: 0008: byte params[] -_D038 ; params[] -; libsrc/apple/mouse.pla: 0009: byte slot, index, page -_D039 !FILL 1 ; slot, index, page -_D040 !FILL 1 ; index, page -_D041 !FILL 1 ; page -; libsrc/apple/mouse.pla: 0010: word setMouseFW -_D042 !FILL 2 ; setMouseFW -; libsrc/apple/mouse.pla: 0011: byte vblDiv, vblInt, mouInt, bttnPrev -_D043 !FILL 1 ; vblDiv, vblInt, mouInt, bttnPrev -_D044 !FILL 1 ; vblInt, mouInt, bttnPrev -_D045 !FILL 1 ; mouInt, bttnPrev -_D046 !FILL 1 ; bttnPrev -; libsrc/apple/mouse.pla: 0012: asm equates -_A000 ; equates() -; libsrc/apple/mouse.pla: 0013: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/mouse.pla: 0014: end -; libsrc/apple/mouse.pla: 0015: // -; libsrc/apple/mouse.pla: 0016: // Serve Mouse/VBL IRQ -; libsrc/apple/mouse.pla: 0017: // -; libsrc/apple/mouse.pla: 0018: asm serviceMouse#0 -_A001 ; serviceMouse() -; libsrc/apple/mouse.pla: 0019: VBLINT = $400 ; DUMMY VALUES TO BE FIXED-UP -VBLINT = $400 ; DUMMY VALUES TO BE FIXED-UP -; libsrc/apple/mouse.pla: 0020: MOUINT = $401 -MOUINT = $401 -; libsrc/apple/mouse.pla: 0021: LASTBTTN= $402 -LASTBTTN= $402 -; libsrc/apple/mouse.pla: 0022: CLD - CLD -; libsrc/apple/mouse.pla: 0023: JSR $C400 - JSR $C400 -; libsrc/apple/mouse.pla: 0024: BCC + - BCC + -; libsrc/apple/mouse.pla: 0025: RTS ; NOT MOUSE INT - RTS ; NOT MOUSE INT -; libsrc/apple/mouse.pla: 0026: + LDY $0778+4 ; CHECK MOUSE INT CAUSE -+ LDY $0778+4 ; CHECK MOUSE INT CAUSE -; libsrc/apple/mouse.pla: 0027: TYA ; WAS IT VBL? - TYA ; WAS IT VBL? -; libsrc/apple/mouse.pla: 0028: AND #$08 - AND #$08 -; libsrc/apple/mouse.pla: 0029: BEQ + ; NOPE, MOVE OR BUTTON - BEQ + ; NOPE, MOVE OR BUTTON -; libsrc/apple/mouse.pla: 0030: end -; libsrc/apple/mouse.pla: 0031: asm vblEvent -_A002 ; vblEvent() -; libsrc/apple/mouse.pla: 0032: INC VBLINT ; INC VBL EVENT - INC VBLINT ; INC VBL EVENT -; libsrc/apple/mouse.pla: 0033: + TYA ; MOUSE MOVE OR BUTTON ACTIVE -+ TYA ; MOUSE MOVE OR BUTTON ACTIVE -; libsrc/apple/mouse.pla: 0034: AND #$82 - AND #$82 -; libsrc/apple/mouse.pla: 0035: end -; libsrc/apple/mouse.pla: 0036: asm bttnEvent -_A003 ; bttnEvent() -; libsrc/apple/mouse.pla: 0037: EOR LASTBTTN - EOR LASTBTTN -; libsrc/apple/mouse.pla: 0038: BEQ + - BEQ + -; libsrc/apple/mouse.pla: 0039: end -; libsrc/apple/mouse.pla: 0040: asm mouseEvent -_A004 ; mouseEvent() -; libsrc/apple/mouse.pla: 0041: INC MOUINT ; INC MOUSE EVENT - INC MOUINT ; INC MOUSE EVENT -; libsrc/apple/mouse.pla: 0042: + TYA -+ TYA -; libsrc/apple/mouse.pla: 0043: AND #$80 - AND #$80 -; libsrc/apple/mouse.pla: 0044: end -; libsrc/apple/mouse.pla: 0045: asm updateBttn -_A005 ; updateBttn() -; libsrc/apple/mouse.pla: 0046: STA LASTBTTN - STA LASTBTTN -; libsrc/apple/mouse.pla: 0047: end -; libsrc/apple/mouse.pla: 0048: asm updateMouse -_A006 ; updateMouse() -; libsrc/apple/mouse.pla: 0049: LDX #$C4 - LDX #$C4 -; libsrc/apple/mouse.pla: 0050: LDY #$40 - LDY #$40 -; libsrc/apple/mouse.pla: 0051: JMP $C400 ; IIGS REQUIRES THIS HAPPEN IN IRQ - JMP $C400 ; IIGS REQUIRES THIS HAPPEN IN IRQ -; libsrc/apple/mouse.pla: 0052: end -; libsrc/apple/mouse.pla: 0053: asm serviceCYA#0 -_A007 ; serviceCYA() -; libsrc/apple/mouse.pla: 0054: CLC - CLC -; libsrc/apple/mouse.pla: 0055: RTS - RTS -; libsrc/apple/mouse.pla: 0056: end -; libsrc/apple/mouse.pla: 0057: // -; libsrc/apple/mouse.pla: 0058: // Check for VBL (timer) and Mouse events (atomic read and reset) -; libsrc/apple/mouse.pla: 0059: // -; libsrc/apple/mouse.pla: 0060: asm chkEvt(addr) -_A008 ; chkEvt() -; libsrc/apple/mouse.pla: 0061: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/mouse.pla: 0062: STA ESTKH-1,X - STA ESTKH-1,X -; libsrc/apple/mouse.pla: 0063: SEI - SEI -; libsrc/apple/mouse.pla: 0064: LDA (ESTKH-1,X) ; READ INT COUNT - LDA (ESTKH-1,X) ; READ INT COUNT -; libsrc/apple/mouse.pla: 0065: TAY - TAY -; libsrc/apple/mouse.pla: 0066: LDA #$00 - LDA #$00 -; libsrc/apple/mouse.pla: 0067: STA (ESTKH-1,X) ; CLEAR INT COUNT - STA (ESTKH-1,X) ; CLEAR INT COUNT -; libsrc/apple/mouse.pla: 0068: CLI - CLI -; libsrc/apple/mouse.pla: 0069: STY ESTKL,X ; RETURN INT COUNT - STY ESTKL,X ; RETURN INT COUNT -; libsrc/apple/mouse.pla: 0070: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/mouse.pla: 0071: RTS - RTS -; libsrc/apple/mouse.pla: 0072: end -; libsrc/apple/mouse.pla: 0073: asm readMouse#3 -_P002 ; readMouse#3() -_A009 ; readMouse() -; libsrc/apple/mouse.pla: 0074: LDY #$04 - LDY #$04 -; libsrc/apple/mouse.pla: 0075: DEX - DEX -; libsrc/apple/mouse.pla: 0076: DEX - DEX -; libsrc/apple/mouse.pla: 0077: DEX - DEX -; libsrc/apple/mouse.pla: 0078: PHP - PHP -; libsrc/apple/mouse.pla: 0079: SEI - SEI -; libsrc/apple/mouse.pla: 0080: LDA $0478,Y - LDA $0478,Y -; libsrc/apple/mouse.pla: 0081: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/apple/mouse.pla: 0082: LDA $0578,Y - LDA $0578,Y -; libsrc/apple/mouse.pla: 0083: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/apple/mouse.pla: 0084: LDA $04F8,Y - LDA $04F8,Y -; libsrc/apple/mouse.pla: 0085: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/apple/mouse.pla: 0086: LDA $05F8,Y - LDA $05F8,Y -; libsrc/apple/mouse.pla: 0087: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/apple/mouse.pla: 0088: LDA $0778,Y - LDA $0778,Y -; libsrc/apple/mouse.pla: 0089: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/mouse.pla: 0090: LDA #$00 - LDA #$00 -; libsrc/apple/mouse.pla: 0091: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/mouse.pla: 0092: PLP - PLP -; libsrc/apple/mouse.pla: 0093: RTS - RTS -; libsrc/apple/mouse.pla: 0094: end -; libsrc/apple/mouse.pla: 0095: // -; libsrc/apple/mouse.pla: 0096: // Convert VBL interrupts into millisecond timer increment -; libsrc/apple/mouse.pla: 0097: // -; libsrc/apple/mouse.pla: 0098: def chkVblTimer -_SUBSEG ; BYTECODE STARTS -_C000 ; chkVblTimer() -; libsrc/apple/mouse.pla: 0099: byte count - ; count -> [0] -; libsrc/apple/mouse.pla: 0100: word msec - ; msec -> [1] -; libsrc/apple/mouse.pla: 0101: -; libsrc/apple/mouse.pla: 0102: msec = 0 - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/apple/mouse.pla: 0103: count = chkEvt(@vblInt) -; libsrc/apple/mouse.pla: 0104: while count - !BYTE $00 ; CN 0 - !BYTE $76,$01 ; SLW [1] - !BYTE $26 ; LA _D044+0 -_F009 !WORD _D044+0 - !BYTE $54 ; CALL _A008 -_F010 !WORD _A008 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; libsrc/apple/mouse.pla: 0105: if vblDiv & 2 -; libsrc/apple/mouse.pla: 0106: msec = msec + 16 -; libsrc/apple/mouse.pla: 0107: vblDiv = 0 -; libsrc/apple/mouse.pla: 0108: else - !BYTE $68 ; LAB _D043+0 -_F011 !WORD _D043+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$01 ; SLW [1] - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D043+0 -_F012 !WORD _D043+0 - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -_B004 -; libsrc/apple/mouse.pla: 0109: msec = msec + 17 -; libsrc/apple/mouse.pla: 0110: vblDiv++ - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$01 ; SLW [1] - !BYTE $68 ; LAB _D043+0 -_F013 !WORD _D043+0 - !BYTE $8C ; INCR -; libsrc/apple/mouse.pla: 0111: fin - !BYTE $78 ; SAB _D043+0 -_F014 !WORD _D043+0 -_B005 -; libsrc/apple/mouse.pla: 0112: count-- - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; libsrc/apple/mouse.pla: 0113: loop - !BYTE $74,$00 ; SLB [0] -_B003 - !BYTE $64,$00 ; LLB [0] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/apple/mouse.pla: 0114: return msec - !BYTE $66,$01 ; LLW [1] - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/mouse.pla: 0115: end -; libsrc/apple/mouse.pla: 0116: // -; libsrc/apple/mouse.pla: 0117: // Check for VBL/Mouse interrupt events -; libsrc/apple/mouse.pla: 0118: // -; libsrc/apple/mouse.pla: 0119: def chkVbl -_P000 ; chkVbl() -_C001 ; chkVbl() -; libsrc/apple/mouse.pla: 0120: return chkEvt(@vblInt) - !BYTE $26 ; LA _D044+0 -_F015 !WORD _D044+0 - !BYTE $54 ; CALL _A008 -_F016 !WORD _A008 - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0121: end -; libsrc/apple/mouse.pla: 0122: def chkMouse -_P001 ; chkMouse() -_C002 ; chkMouse() -; libsrc/apple/mouse.pla: 0123: return chkEvt(@mouInt) - !BYTE $26 ; LA _D045+0 -_F017 !WORD _D045+0 - !BYTE $54 ; CALL _A008 -_F018 !WORD _A008 - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0124: end -; libsrc/apple/mouse.pla: 0125: // -; libsrc/apple/mouse.pla: 0126: // Mouse routines -; libsrc/apple/mouse.pla: 0127: // -; libsrc/apple/mouse.pla: 0128: def setMouse(mode) - ; mode -> [0] -_P003 ; setMouse(mode)() -_C003 ; setMouse() -; libsrc/apple/mouse.pla: 0129: return call(setMouseFW, mode, slot, page, $04) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D042+0 -_F019 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D039+0 -_F020 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F021 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F022 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/mouse.pla: 0130: end -; libsrc/apple/mouse.pla: 0131: def clearMouse -_P004 ; clearMouse() -_C004 ; clearMouse() -; libsrc/apple/mouse.pla: 0132: return call(rom + rom->$15, $00, slot, page, $04) // clearMouseFW - !BYTE $6A ; LAW _D037+0 -_F023 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$15 ; ADDI 21 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D039+0 -_F024 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F025 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F026 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0133: end -; libsrc/apple/mouse.pla: 0134: def posMouse(x, y) - ; x -> [0] - ; y -> [2] -_P005 ; posMouse(x, y)() -_C005 ; posMouse() -; libsrc/apple/mouse.pla: 0135: // -; libsrc/apple/mouse.pla: 0136: // Fill screen holes -; libsrc/apple/mouse.pla: 0137: // -; libsrc/apple/mouse.pla: 0138: ^($0478 + index) = x - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/mouse.pla: 0139: ^($0578 + index) = x >> 8 -; libsrc/apple/mouse.pla: 0140: ^($04F8 + index) = y -; libsrc/apple/mouse.pla: 0141: ^($05F8 + index) = y >> 8 -; libsrc/apple/mouse.pla: 0142: return call(rom + rom->$16, $00, slot, page, $04) // posMouseFW - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$78,$04 ; CW 1144 - !BYTE $B4 ; ADDAB _D040+0 -_F027 !WORD _D040+0 - !BYTE $70 ; SB - !BYTE $64,$01 ; LLB [1] - !BYTE $2C,$78,$05 ; CW 1400 - !BYTE $B4 ; ADDAB _D040+0 -_F028 !WORD _D040+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$F8,$04 ; CW 1272 - !BYTE $B4 ; ADDAB _D040+0 -_F029 !WORD _D040+0 - !BYTE $70 ; SB - !BYTE $64,$03 ; LLB [3] - !BYTE $2C,$F8,$05 ; CW 1528 - !BYTE $B4 ; ADDAB _D040+0 -_F030 !WORD _D040+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D037+0 -_F031 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$16 ; ADDI 22 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D039+0 -_F032 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F033 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F034 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/mouse.pla: 0143: end -; libsrc/apple/mouse.pla: 0144: def clampMouse(xMin, xMax, yMin, yMax) - ; xMin -> [0] - ; xMax -> [2] - ; yMin -> [4] - ; yMax -> [6] -_P006 ; clampMouse(xMin, xMax, yMin, yMax)() -_C006 ; clampMouse() -; libsrc/apple/mouse.pla: 0145: ^$0478 = xMin - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/apple/mouse.pla: 0146: ^$0578 = xMin >> 8 -; libsrc/apple/mouse.pla: 0147: ^$04F8 = xMax -; libsrc/apple/mouse.pla: 0148: ^$05F8 = xMax >> 8 -; libsrc/apple/mouse.pla: 0149: call(rom + rom->$17, $00, slot, page, $04) // clampMouseFW -; libsrc/apple/mouse.pla: 0150: ^$0478 = yMin -; libsrc/apple/mouse.pla: 0151: ^$0578 = yMin >> 8 -; libsrc/apple/mouse.pla: 0152: ^$04F8 = yMax -; libsrc/apple/mouse.pla: 0153: ^$05F8 = yMax >> 8 -; libsrc/apple/mouse.pla: 0154: return call(rom + rom->$17, $01, slot, page, $04)) // clampMouseFW - !BYTE $66,$00 ; LLW [0] - !BYTE $78,$78,$04 ; SAB 1144 - !BYTE $64,$01 ; LLB [1] - !BYTE $78,$78,$05 ; SAB 1400 - !BYTE $66,$02 ; LLW [2] - !BYTE $78,$F8,$04 ; SAB 1272 - !BYTE $64,$03 ; LLB [3] - !BYTE $78,$F8,$05 ; SAB 1528 - !BYTE $6A ; LAW _D037+0 -_F035 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$17 ; ADDI 23 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D039+0 -_F036 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F037 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F038 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $78,$78,$04 ; SAB 1144 - !BYTE $64,$05 ; LLB [5] - !BYTE $78,$78,$05 ; SAB 1400 - !BYTE $66,$06 ; LLW [6] - !BYTE $78,$F8,$04 ; SAB 1272 - !BYTE $64,$07 ; LLB [7] - !BYTE $78,$F8,$05 ; SAB 1528 - !BYTE $6A ; LAW _D037+0 -_F039 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$17 ; ADDI 23 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $02 ; CN 1 - !BYTE $68 ; LAB _D039+0 -_F040 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F041 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F042 !WORD 0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/apple/mouse.pla: 0155: end -; libsrc/apple/mouse.pla: 0156: def homeMouse -_P007 ; homeMouse() -_C007 ; homeMouse() -; libsrc/apple/mouse.pla: 0157: return call(rom + rom->$18, $00, slot, page, $04) // homeMouseFW - !BYTE $6A ; LAW _D037+0 -_F043 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$18 ; ADDI 24 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D039+0 -_F044 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F045 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F046 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0158: end -; libsrc/apple/mouse.pla: 0159: // -; libsrc/apple/mouse.pla: 0160: // Detach mouse from interrupts -; libsrc/apple/mouse.pla: 0161: // -; libsrc/apple/mouse.pla: 0162: def detachMouse -_P008 ; detachMouse() -_C008 ; detachMouse() -; libsrc/apple/mouse.pla: 0163: setMouse(0) -; libsrc/apple/mouse.pla: 0164: params.0 = 1 -; libsrc/apple/mouse.pla: 0165: params.1 = 0 -; libsrc/apple/mouse.pla: 0166: return syscall($41, @params) - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F047 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D038+0 -_F048 !WORD _D038+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D038+1 -_F049 !WORD _D038+1 - !BYTE $2A,$41 ; CB 65 - !BYTE $26 ; LA _D038+0 -_F050 !WORD _D038+0 - !BYTE $54 ; CALL _X011 -_F051 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0167: end -; libsrc/apple/mouse.pla: 0168: // -; libsrc/apple/mouse.pla: 0169: // Identify Mouse card/slot and initialize -; libsrc/apple/mouse.pla: 0170: // -; libsrc/apple/mouse.pla: 0171: for rom = $C100 to $C700 step $0100 -_INIT - !BYTE $2C,$00,$C7 ; CW 50944 - !BYTE $2C,$00,$C1 ; CW 49408 -_B007 - !BYTE $7E ; DAW _D037+0 -_F052 !WORD _D037+0 -; libsrc/apple/mouse.pla: 0172: if rom->5 == $38 and rom->7 == $18 and rom->11 == $01 and rom->12 == $20 -; libsrc/apple/mouse.pla: 0173: puts("Found Mouse in slot #"); putc('0' + ((rom >> 8) & $07)); putln - !BYTE $6A ; LAW _D037+0 -_F053 !WORD _D037+0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $2A,$38 ; CB 56 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D037+0 -_F054 !WORD _D037+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $2A,$18 ; CB 24 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B010 - !WORD _B010-* - !BYTE $6A ; LAW _D037+0 -_F055 !WORD _D037+0 - !BYTE $38,$0B ; ADDI 11 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B011 - !WORD _B011-* - !BYTE $6A ; LAW _D037+0 -_F056 !WORD _D037+0 - !BYTE $38,$0C ; ADDI 12 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $40 ; ISEQ -_B011 -_B010 -_B009 - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $46,$6F,$75,$6E,$64,$20,$4D,$6F - !BYTE $75,$73,$65,$20,$69,$6E,$20,$73 - !BYTE $6C,$6F,$74,$20,$23 - !BYTE $54 ; CALL _X004 -_F057 !WORD 0 -; libsrc/apple/mouse.pla: 0174: // -; libsrc/apple/mouse.pla: 0175: // Hook mouse IRQ handler into ProDOS IRQ chain -; libsrc/apple/mouse.pla: 0176: // -; libsrc/apple/mouse.pla: 0177: params.0 = 2 -; libsrc/apple/mouse.pla: 0178: params.1 = 0 -; libsrc/apple/mouse.pla: 0179: params:2 = @serviceMouse -; libsrc/apple/mouse.pla: 0180: syscall($40, @params) -; libsrc/apple/mouse.pla: 0181: // -; libsrc/apple/mouse.pla: 0182: // Hook CYA IRQ handler into ProDOS IRQ chain -; libsrc/apple/mouse.pla: 0183: // -; libsrc/apple/mouse.pla: 0184: params.0 = 2 -; libsrc/apple/mouse.pla: 0185: params.1 = 3 -; libsrc/apple/mouse.pla: 0186: params:2 = @serviceCYA -; libsrc/apple/mouse.pla: 0187: syscall($40, @params) -; libsrc/apple/mouse.pla: 0188: // -; libsrc/apple/mouse.pla: 0189: // Set values -; libsrc/apple/mouse.pla: 0190: // -; libsrc/apple/mouse.pla: 0191: slot = rom >> 8 -; libsrc/apple/mouse.pla: 0192: index = slot & $07 -; libsrc/apple/mouse.pla: 0193: page = index << 4 -; libsrc/apple/mouse.pla: 0194: setMouseFW = rom + rom->$12 -; libsrc/apple/mouse.pla: 0195: // -; libsrc/apple/mouse.pla: 0196: // Fix-up IRQ routine -; libsrc/apple/mouse.pla: 0197: // -; libsrc/apple/mouse.pla: 0198: serviceMouse:2 = rom + rom->$13 // serveMouseFW -; libsrc/apple/mouse.pla: 0199: serviceMouse:8 = $0778+index -; libsrc/apple/mouse.pla: 0200: vblEvent:1 = @vblInt -; libsrc/apple/mouse.pla: 0201: bttnEvent:1 = @bttnPrev -; libsrc/apple/mouse.pla: 0202: mouseEvent:1 = @mouInt -; libsrc/apple/mouse.pla: 0203: updateBttn:1 = @bttnPrev -; libsrc/apple/mouse.pla: 0204: updateMouse.1 = slot -; libsrc/apple/mouse.pla: 0205: updateMouse.3 = page -; libsrc/apple/mouse.pla: 0206: updateMouse:5 = rom + rom->$14 // readMouseFW -; libsrc/apple/mouse.pla: 0207: readMouse.1 = index -; libsrc/apple/mouse.pla: 0208: call(rom + rom->$19, $00, slot, page, $04) // initMouseFW -; libsrc/apple/mouse.pla: 0209: // -; libsrc/apple/mouse.pla: 0210: // Keep module in memory -; libsrc/apple/mouse.pla: 0211: // -; libsrc/apple/mouse.pla: 0212: return modkeep - !BYTE $2A,$30 ; CB 48 - !BYTE $68 ; LAB _D037+1 -_F058 !WORD _D037+1 - !BYTE $3C,$07 ; ANDI 7 - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X002 -_F059 !WORD 0 - !BYTE $54 ; CALL _X003 -_F060 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D038+0 -_F061 !WORD _D038+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D038+1 -_F062 !WORD _D038+1 - !BYTE $26 ; LA _A001+0 -_F063 !WORD _A001+0 - !BYTE $7A ; SAW _D038+2 -_F064 !WORD _D038+2 - !BYTE $2A,$40 ; CB 64 - !BYTE $26 ; LA _D038+0 -_F065 !WORD _D038+0 - !BYTE $54 ; CALL _X011 -_F066 !WORD 0 - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D038+0 -_F067 !WORD _D038+0 - !BYTE $06 ; CN 3 - !BYTE $78 ; SAB _D038+1 -_F068 !WORD _D038+1 - !BYTE $26 ; LA _A007+0 -_F069 !WORD _A007+0 - !BYTE $7A ; SAW _D038+2 -_F070 !WORD _D038+2 - !BYTE $2A,$40 ; CB 64 - !BYTE $26 ; LA _D038+0 -_F071 !WORD _D038+0 - !BYTE $54 ; CALL _X011 -_F072 !WORD 0 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D037+1 -_F073 !WORD _D037+1 - !BYTE $7C ; DAB _D039+0 -_F074 !WORD _D039+0 - !BYTE $3C,$07 ; ANDI 7 - !BYTE $7C ; DAB _D040+0 -_F075 !WORD _D040+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $78 ; SAB _D041+0 -_F076 !WORD _D041+0 - !BYTE $6A ; LAW _D037+0 -_F077 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D042+0 -_F078 !WORD _D042+0 - !BYTE $6A ; LAW _D037+0 -_F079 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$13 ; ADDI 19 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $7A ; SAW _A001+2 -_F080 !WORD _A001+2 - !BYTE $2C,$78,$07 ; CW 1912 - !BYTE $B4 ; ADDAB _D040+0 -_F081 !WORD _D040+0 - !BYTE $7A ; SAW _A001+8 -_F082 !WORD _A001+8 - !BYTE $26 ; LA _D044+0 -_F083 !WORD _D044+0 - !BYTE $7A ; SAW _A002+1 -_F084 !WORD _A002+1 - !BYTE $26 ; LA _D046+0 -_F085 !WORD _D046+0 - !BYTE $7A ; SAW _A003+1 -_F086 !WORD _A003+1 - !BYTE $26 ; LA _D045+0 -_F087 !WORD _D045+0 - !BYTE $7A ; SAW _A004+1 -_F088 !WORD _A004+1 - !BYTE $26 ; LA _D046+0 -_F089 !WORD _D046+0 - !BYTE $7A ; SAW _A005+1 -_F090 !WORD _A005+1 - !BYTE $68 ; LAB _D039+0 -_F091 !WORD _D039+0 - !BYTE $78 ; SAB _A006+1 -_F092 !WORD _A006+1 - !BYTE $68 ; LAB _D041+0 -_F093 !WORD _D041+0 - !BYTE $78 ; SAB _A006+3 -_F094 !WORD _A006+3 - !BYTE $6A ; LAW _D037+0 -_F095 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$14 ; ADDI 20 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $7A ; SAW _A006+5 -_F096 !WORD _A006+5 - !BYTE $68 ; LAB _D040+0 -_F097 !WORD _D040+0 - !BYTE $78 ; SAB _A009+1 -_F098 !WORD _A009+1 - !BYTE $6A ; LAW _D037+0 -_F099 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $38,$19 ; ADDI 25 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D039+0 -_F100 !WORD _D039+0 - !BYTE $68 ; LAB _D041+0 -_F101 !WORD _D041+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X010 -_F102 !WORD 0 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0213: fin -_B012 -_B013 -; libsrc/apple/mouse.pla: 0214: next -_B008 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $A6 ; ADDBRLE _B007 - !WORD _B007-* -_B006 - !BYTE $7A ; SAW _D037+0 -_F103 !WORD _D037+0 - !BYTE $30 ; DROP -; libsrc/apple/mouse.pla: 0215: // -; libsrc/apple/mouse.pla: 0216: // Not found -; libsrc/apple/mouse.pla: 0217: // -; libsrc/apple/mouse.pla: 0218: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/mouse.pla: 0219: done -_SYSFLAGS = 0 -_DEFCNT = 10 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/portio.a b/src/libsrc/apple/portio.a deleted file mode 100644 index 7220446..0000000 --- a/src/libsrc/apple/portio.a +++ /dev/null @@ -1,472 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/portio.pla: 0001: // -; libsrc/apple/portio.pla: 0002: // Game port I/O library based on the wiring library -; libsrc/apple/portio.pla: 0003: // -; libsrc/apple/portio.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/portio.pla: 0004: -; libsrc/apple/portio.pla: 0005: -; libsrc/apple/portio.pla: 0006: const ANN0 = $C058 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; ANN0 = 49240 -; libsrc/apple/portio.pla: 0007: const ANN1 = $C05A - ; ANN1 = 49242 -; libsrc/apple/portio.pla: 0008: const ANN2 = $C05C - ; ANN2 = 49244 -; libsrc/apple/portio.pla: 0009: const ANN3 = $C05E - ; ANN3 = 49246 -; libsrc/apple/portio.pla: 0010: const OFF = 0 - ; OFF = 0 -; libsrc/apple/portio.pla: 0011: const ON = 1 - ; ON = 1 -; libsrc/apple/portio.pla: 0012: const STROBE = $C040 - ; STROBE = 49216 -; libsrc/apple/portio.pla: 0013: const FLAG0 = $C061 - ; FLAG0 = 49249 -; libsrc/apple/portio.pla: 0014: const FLAG1 = $C062 - ; FLAG1 = 49250 -; libsrc/apple/portio.pla: 0015: const FLAG2 = $C063 - ; FLAG2 = 49251 -; libsrc/apple/portio.pla: 0016: const FLAG3 = $C060 - ; FLAG3 = 49248 -; libsrc/apple/portio.pla: 0017: const PREAD = $FB1E - ; PREAD = 64286 -; libsrc/apple/portio.pla: 0018: const WAIT = $FCA8 - ; WAIT = 64680 -; libsrc/apple/portio.pla: 0019: asm asmdefs -_A000 ; asmdefs() -; libsrc/apple/portio.pla: 0020: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/portio.pla: 0021: ANN0 = $C058 -ANN0 = $C058 -; libsrc/apple/portio.pla: 0022: ANN1 = $C05A -ANN1 = $C05A -; libsrc/apple/portio.pla: 0023: ANN2 = $C05C -ANN2 = $C05C -; libsrc/apple/portio.pla: 0024: ANN3 = $C05E -ANN3 = $C05E -; libsrc/apple/portio.pla: 0025: STROBE = $C040 -STROBE = $C040 -; libsrc/apple/portio.pla: 0026: FLAG0 = $C061 -FLAG0 = $C061 -; libsrc/apple/portio.pla: 0027: FLAG1 = $C062 -FLAG1 = $C062 -; libsrc/apple/portio.pla: 0028: FLAG2 = $C063 -FLAG2 = $C063 -; libsrc/apple/portio.pla: 0029: FLAG3 = $C060 -FLAG3 = $C060 -; libsrc/apple/portio.pla: 0030: end -; libsrc/apple/portio.pla: 0031: -; libsrc/apple/portio.pla: 0032: //export def digitalRead(pin)#1 -; libsrc/apple/portio.pla: 0033: // return FLAG3[(pin+1)&3] > 127 -; libsrc/apple/portio.pla: 0034: export asm digitalRead(pin)#1 -_A001 ; digitalRead() -; libsrc/apple/portio.pla: 0035: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/portio.pla: 0036: CLC - CLC -; libsrc/apple/portio.pla: 0037: ADC #$01 - ADC #$01 -; libsrc/apple/portio.pla: 0038: AND #$03 - AND #$03 -; libsrc/apple/portio.pla: 0039: TAY - TAY -; libsrc/apple/portio.pla: 0040: LDA FLAG3,Y - LDA FLAG3,Y -; libsrc/apple/portio.pla: 0041: BPL + - BPL + -; libsrc/apple/portio.pla: 0042: LDY #$FF - LDY #$FF -; libsrc/apple/portio.pla: 0043: STY ESTKL,X - STY ESTKL,X -; libsrc/apple/portio.pla: 0044: STY ESTKH,X - STY ESTKH,X -; libsrc/apple/portio.pla: 0045: RTS - RTS -; libsrc/apple/portio.pla: 0046: + LDY #$00 -+ LDY #$00 -; libsrc/apple/portio.pla: 0047: STY ESTKL,X - STY ESTKL,X -; libsrc/apple/portio.pla: 0048: STY ESTKH,X - STY ESTKH,X -; libsrc/apple/portio.pla: 0049: RTS - RTS -; libsrc/apple/portio.pla: 0050: -; libsrc/apple/portio.pla: 0051: end -; libsrc/apple/portio.pla: 0052: -; libsrc/apple/portio.pla: 0053: //export def portRead -; libsrc/apple/portio.pla: 0054: // return (^FLAG0>>7)&1|(^FLAG1>>6)&2|(^FLAG2>>5)&4|(^FLAG3>>4)&8 -; libsrc/apple/portio.pla: 0055: export asm portRead#1 -_A002 ; portRead() -; libsrc/apple/portio.pla: 0056: DEX - DEX -; libsrc/apple/portio.pla: 0057: LDA #$00 - LDA #$00 -; libsrc/apple/portio.pla: 0058: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/portio.pla: 0059: BIT FLAG0 - BIT FLAG0 -; libsrc/apple/portio.pla: 0060: BPL + - BPL + -; libsrc/apple/portio.pla: 0061: ORA #$01 - ORA #$01 -; libsrc/apple/portio.pla: 0062: + BIT FLAG1 -+ BIT FLAG1 -; libsrc/apple/portio.pla: 0063: BPL + - BPL + -; libsrc/apple/portio.pla: 0064: ORA #$02 - ORA #$02 -; libsrc/apple/portio.pla: 0065: + BIT FLAG2 -+ BIT FLAG2 -; libsrc/apple/portio.pla: 0066: BPL + - BPL + -; libsrc/apple/portio.pla: 0067: ORA #$04 - ORA #$04 -; libsrc/apple/portio.pla: 0068: + BIT FLAG3 -+ BIT FLAG3 -; libsrc/apple/portio.pla: 0069: BPL + - BPL + -; libsrc/apple/portio.pla: 0070: ORA #$08 - ORA #$08 -; libsrc/apple/portio.pla: 0071: + STA ESTKL,X -+ STA ESTKL,X -; libsrc/apple/portio.pla: 0072: RTS - RTS -; libsrc/apple/portio.pla: 0073: end -; libsrc/apple/portio.pla: 0074: //export def digitalWrite(pin, val)#0 -; libsrc/apple/portio.pla: 0075: // ANN0[((pin&3)<<1)+(val&1)] -; libsrc/apple/portio.pla: 0076: export asm digitalWrite(pin, val)#0 -_A003 ; digitalWrite() -; libsrc/apple/portio.pla: 0077: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/portio.pla: 0078: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/portio.pla: 0079: AND #$03 - AND #$03 -; libsrc/apple/portio.pla: 0080: ROL - ROL -; libsrc/apple/portio.pla: 0081: TAY - TAY -; libsrc/apple/portio.pla: 0082: LDA ANN0,Y - LDA ANN0,Y -; libsrc/apple/portio.pla: 0083: INX - INX -; libsrc/apple/portio.pla: 0084: INX - INX -; libsrc/apple/portio.pla: 0085: RTS - RTS -; libsrc/apple/portio.pla: 0086: end -; libsrc/apple/portio.pla: 0087: //export def portWrite(val)#0 -; libsrc/apple/portio.pla: 0088: // ANN0[val&1] -; libsrc/apple/portio.pla: 0089: // ANN1[(val>>1)&1] -; libsrc/apple/portio.pla: 0090: // ANN2[(val>>2)&1] -; libsrc/apple/portio.pla: 0091: // ANN3[(val>>3)&1] -; libsrc/apple/portio.pla: 0092: export asm portWrite(val)#0 -_A004 ; portWrite() -; libsrc/apple/portio.pla: 0093: LDY #$00 - LDY #$00 -; libsrc/apple/portio.pla: 0094: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/portio.pla: 0095: BCC + - BCC + -; libsrc/apple/portio.pla: 0096: INY - INY -; libsrc/apple/portio.pla: 0097: + LDA ANN0,Y -+ LDA ANN0,Y -; libsrc/apple/portio.pla: 0098: LDY #$00 - LDY #$00 -; libsrc/apple/portio.pla: 0099: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/portio.pla: 0100: BCC + - BCC + -; libsrc/apple/portio.pla: 0101: INY - INY -; libsrc/apple/portio.pla: 0102: + LDA ANN1,Y -+ LDA ANN1,Y -; libsrc/apple/portio.pla: 0103: LDY #$00 - LDY #$00 -; libsrc/apple/portio.pla: 0104: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/portio.pla: 0105: BCC + - BCC + -; libsrc/apple/portio.pla: 0106: INY - INY -; libsrc/apple/portio.pla: 0107: + LDA ANN2,Y -+ LDA ANN2,Y -; libsrc/apple/portio.pla: 0108: LDY #$00 - LDY #$00 -; libsrc/apple/portio.pla: 0109: LSR ESTKL,X - LSR ESTKL,X -; libsrc/apple/portio.pla: 0110: BCC + - BCC + -; libsrc/apple/portio.pla: 0111: INY - INY -; libsrc/apple/portio.pla: 0112: + LDA ANN3,Y -+ LDA ANN3,Y -; libsrc/apple/portio.pla: 0113: INX - INX -; libsrc/apple/portio.pla: 0114: RTS - RTS -; libsrc/apple/portio.pla: 0115: end -; libsrc/apple/portio.pla: 0116: //export def strobe#0 -; libsrc/apple/portio.pla: 0117: // ^STROBE -; libsrc/apple/portio.pla: 0118: export asm strobe#0 -_A005 ; strobe() -; libsrc/apple/portio.pla: 0119: LDA STROBE - LDA STROBE -; libsrc/apple/portio.pla: 0120: RTS - RTS -; libsrc/apple/portio.pla: 0121: end -; libsrc/apple/portio.pla: 0122: export def analogRead(pin) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; pin -> [0] -_C000 ; analogRead() -; libsrc/apple/portio.pla: 0123: return call(PREAD,0,pin&3,0,0).2 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2C,$1E,$FB ; CW 64286 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F000 !WORD 0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/portio.pla: 0124: end -; libsrc/apple/portio.pla: 0125: export def delay(time)#0 - ; time -> [0] -_C001 ; delay() -; libsrc/apple/portio.pla: 0126: call(WAIT,time,0,0,0) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/portio.pla: 0127: end - !BYTE $2C,$A8,$FC ; CW 64680 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F001 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/portio.pla: 0128: // -; libsrc/apple/portio.pla: 0129: // Keep module in memory -; libsrc/apple/portio.pla: 0130: // -; libsrc/apple/portio.pla: 0131: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/portio.pla: 0132: done -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: DIGITALREAD - !BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: PORTREAD - !BYTE $D0,$CF,$D2,$D4,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A002 - ; DCI STRING: DIGITALWRITE - !BYTE $C4,$C9,$C7,$C9,$D4,$C1,$CC,$D7,$D2,$C9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: PORTWRITE - !BYTE $D0,$CF,$D2,$D4,$D7,$D2,$C9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A004 - ; DCI STRING: STROBE - !BYTE $D3,$D4,$D2,$CF,$C2,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: ANALOGREAD - !BYTE $C1,$CE,$C1,$CC,$CF,$C7,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: DELAY - !BYTE $C4,$C5,$CC,$C1,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/sdfat.a b/src/libsrc/apple/sdfat.a deleted file mode 100644 index 788bab2..0000000 --- a/src/libsrc/apple/sdfat.a +++ /dev/null @@ -1,961 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/sdfat.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/sdfat.pla: 0001: -; libsrc/apple/sdfat.pla: 0002: include "inc/spiport.plh" -; inc/spiport.plh: 0001: import spiport - ; DCI STRING: SPIPORT - !BYTE $D3,$D0,$C9,$D0,$CF,$D2,$54 - ; SPIPORT -> X028 -; inc/spiport.plh: 0002: // -; inc/spiport.plh: 0003: // Wiring constants for Arduino -; inc/spiport.plh: 0004: // -; inc/spiport.plh: 0005: const PINHIGH = 1 - ; PINHIGH = 1 -; inc/spiport.plh: 0006: const PINLOW = 0 - ; PINLOW = 0 -; inc/spiport.plh: 0007: const PINOUTPUT = 1 - ; PINOUTPUT = 1 -; inc/spiport.plh: 0008: const PININPUT = 0 - ; PININPUT = 0 -; inc/spiport.plh: 0009: const PINPULLUP = 2 - ; PINPULLUP = 2 -; inc/spiport.plh: 0010: // -; inc/spiport.plh: 0011: // SPI commands to Wiring functions on Arduino -; inc/spiport.plh: 0012: // -; inc/spiport.plh: 0013: const CMDPINMODE = 3 - ; CMDPINMODE = 3 -; inc/spiport.plh: 0014: const CMDDIGREAD = 4 - ; CMDDIGREAD = 4 -; inc/spiport.plh: 0015: const CMDDIGWRITE = 5 - ; CMDDIGWRITE = 5 -; inc/spiport.plh: 0016: const CMDANAREAD = 6 - ; CMDANAREAD = 6 -; inc/spiport.plh: 0017: const CMDANAWRITE = 7 - ; CMDANAWRITE = 7 -; inc/spiport.plh: 0018: // -; inc/spiport.plh: 0019: // SPI commands to serial functions on Arduino -; inc/spiport.plh: 0020: // -; inc/spiport.plh: 0021: const CMDSERMODE = 8 - ; CMDSERMODE = 8 -; inc/spiport.plh: 0022: const CMDSERAVAIL = 9 - ; CMDSERAVAIL = 9 -; inc/spiport.plh: 0023: const CMDSERREAD = 10 - ; CMDSERREAD = 10 -; inc/spiport.plh: 0024: const CMDSERWRITE = 11 - ; CMDSERWRITE = 11 -; inc/spiport.plh: 0025: predef spiXferByte(outbyte), spiSend(data), spiRecv, spiWriteBuf(buf, len), spiReadBuf(buf, len) - ; SPIXFERBYTE -> X029 - ; SPISEND -> X030 - ; SPIRECV -> X031 - ; SPIWRITEBUF -> X032 - ; SPIREADBUF -> X033 -; inc/spiport.plh: 0026: predef spiDelay(time), spiReady - ; SPIDELAY -> X034 - ; SPIREADY -> X035 -; inc/spiport.plh: 0027: end -; libsrc/apple/sdfat.pla: 0002: -; libsrc/apple/sdfat.pla: 0003: -; libsrc/apple/sdfat.pla: 0004: // -; libsrc/apple/sdfat.pla: 0005: // FAT I/O object -; libsrc/apple/sdfat.pla: 0006: // -; libsrc/apple/sdfat.pla: 0007: predef cwd(pathname), chdir(path), mkdir(path), rmdir(path), rename(newpath), remove, exists(path) - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/apple/sdfat.pla: 0008: predef openFirst(filename), openNext(filename), open(path, mode) -; libsrc/apple/sdfat.pla: 0009: predef close, read(buf, len), write(buf, len), sync, rewind, seek, seekOfs, pos -; libsrc/apple/sdfat.pla: 0010: predef size, truncate, isDir, isFile -; libsrc/apple/sdfat.pla: 0011: // -; libsrc/apple/sdfat.pla: 0012: // SD card FAT filesystem interface -; libsrc/apple/sdfat.pla: 0013: // -; libsrc/apple/sdfat.pla: 0014: export byte[] sdFAT -_D058 ; sdFAT -; libsrc/apple/sdfat.pla: 0015: word[] = @cwd, @chdir, @mkdir, @rmdir, @rename, @remove, @exists, @openFirst, @openNext, @open -_F000 !WORD _P000 -_F001 !WORD _P001 -_F002 !WORD _P002 -_F003 !WORD _P003 -_F004 !WORD _P004 -_F005 !WORD _P005 -_F006 !WORD _P006 -_F007 !WORD _P007 -_F008 !WORD _P008 -_F009 !WORD _P009 -; libsrc/apple/sdfat.pla: 0016: word[] = @close, @read, @write, @sync, @rewind, @seek, @seekOfs, @pos -_F010 !WORD _P010 -_F011 !WORD _P011 -_F012 !WORD _P012 -_F013 !WORD _P013 -_F014 !WORD _P014 -_F015 !WORD _P015 -_F016 !WORD _P016 -_F017 !WORD _P017 -; libsrc/apple/sdfat.pla: 0017: word[] = @size, @truncate, @isDir, @isFile -_F018 !WORD _P018 -_F019 !WORD _P019 -_F020 !WORD _P020 -_F021 !WORD _P021 -; libsrc/apple/sdfat.pla: 0018: // -; libsrc/apple/sdfat.pla: 0019: // Directory related functions -; libsrc/apple/sdfat.pla: 0020: // -; libsrc/apple/sdfat.pla: 0021: def cwd(pathname) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; pathname -> [0] -_P000 ; cwd(pathname)() -_C000 ; cwd() -; libsrc/apple/sdfat.pla: 0022: byte namelen - ; namelen -> [2] -; libsrc/apple/sdfat.pla: 0023: -; libsrc/apple/sdfat.pla: 0024: namelen = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/apple/sdfat.pla: 0025: spiSend(15) // CWD -; libsrc/apple/sdfat.pla: 0026: namelen = spiRecv -; libsrc/apple/sdfat.pla: 0027: if namelen -; libsrc/apple/sdfat.pla: 0028: spiReadBuf(pathname+1, namelen) -; libsrc/apple/sdfat.pla: 0029: fin - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $1E ; CN 15 - !BYTE $54 ; CALL _X030 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F023 !WORD 0 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X033 -_F024 !WORD 0 - !BYTE $30 ; DROP -_B001 -_B002 -; libsrc/apple/sdfat.pla: 0030: ^pathname = namelen -; libsrc/apple/sdfat.pla: 0031: return namelen - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/apple/sdfat.pla: 0032: end -; libsrc/apple/sdfat.pla: 0033: -; libsrc/apple/sdfat.pla: 0034: def chdir(path) - ; path -> [0] -_P001 ; chdir(path)() -_C001 ; chdir() -; libsrc/apple/sdfat.pla: 0035: spiWriteBuf(path + 1, ^path) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sdfat.pla: 0036: spiSend(16) // CHGDIR -; libsrc/apple/sdfat.pla: 0037: return spiRecv - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X032 -_F025 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _X030 -_F026 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F027 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0038: end -; libsrc/apple/sdfat.pla: 0039: -; libsrc/apple/sdfat.pla: 0040: def mkdir(path) - ; path -> [0] -_P002 ; mkdir(path)() -_C002 ; mkdir() -; libsrc/apple/sdfat.pla: 0041: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0042: end -; libsrc/apple/sdfat.pla: 0043: -; libsrc/apple/sdfat.pla: 0044: def rmdir(path) - ; path -> [0] -_P003 ; rmdir(path)() -_C003 ; rmdir() -; libsrc/apple/sdfat.pla: 0045: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0046: end -; libsrc/apple/sdfat.pla: 0047: -; libsrc/apple/sdfat.pla: 0048: def rename(newpath) - ; newpath -> [0] -_P004 ; rename(newpath)() -_C004 ; rename() -; libsrc/apple/sdfat.pla: 0049: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0050: end -; libsrc/apple/sdfat.pla: 0051: -; libsrc/apple/sdfat.pla: 0052: def remove -_P005 ; remove() -_C005 ; remove() -; libsrc/apple/sdfat.pla: 0053: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0054: end -; libsrc/apple/sdfat.pla: 0055: -; libsrc/apple/sdfat.pla: 0056: def exists(path) - ; path -> [0] -_P006 ; exists(path)() -_C006 ; exists() -; libsrc/apple/sdfat.pla: 0057: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0058: end -; libsrc/apple/sdfat.pla: 0059: -; libsrc/apple/sdfat.pla: 0060: def openDir(cmd, filename) - ; cmd -> [0] - ; filename -> [2] -_C007 ; openDir() -; libsrc/apple/sdfat.pla: 0061: byte namelen - ; namelen -> [4] -; libsrc/apple/sdfat.pla: 0062: -; libsrc/apple/sdfat.pla: 0063: namelen = 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sdfat.pla: 0064: spiSend(cmd) -; libsrc/apple/sdfat.pla: 0065: namelen = spiRecv -; libsrc/apple/sdfat.pla: 0066: if namelen == $FF -; libsrc/apple/sdfat.pla: 0067: namelen = 0 -; libsrc/apple/sdfat.pla: 0068: fin - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X030 -_F028 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F029 !WORD 0 - !BYTE $6C,$04 ; DLB [4] - !BYTE $2A,$FF ; CB 255 - !BYTE $24 ; BRNE _B003 - !WORD _B003-* - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] -_B003 -_B004 -; libsrc/apple/sdfat.pla: 0069: if namelen -; libsrc/apple/sdfat.pla: 0070: spiReadBuf(filename+1, namelen) -; libsrc/apple/sdfat.pla: 0071: fin - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $64,$04 ; LLB [4] - !BYTE $54 ; CALL _X033 -_F030 !WORD 0 - !BYTE $30 ; DROP -_B005 -_B006 -; libsrc/apple/sdfat.pla: 0072: ^filename = namelen -; libsrc/apple/sdfat.pla: 0073: return namelen - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/sdfat.pla: 0074: end -; libsrc/apple/sdfat.pla: 0075: def openFirst(filename) // return filename in buffer - ; filename -> [0] -_P007 ; openFirst(filename) // return filename in buffer() -_C008 ; openFirst() -; libsrc/apple/sdfat.pla: 0076: return openDir(22, filename) // OPENFIRST - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2A,$16 ; CB 22 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F031 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0077: end -; libsrc/apple/sdfat.pla: 0078: -; libsrc/apple/sdfat.pla: 0079: def openNext(filename) // return filename i buffer - ; filename -> [0] -_P008 ; openNext(filename) // return filename i buffer() -_C009 ; openNext() -; libsrc/apple/sdfat.pla: 0080: return openDir(23, filename) // OPENNEXT - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2A,$17 ; CB 23 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F032 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sdfat.pla: 0081: end -; libsrc/apple/sdfat.pla: 0082: -; libsrc/apple/sdfat.pla: 0083: // -; libsrc/apple/sdfat.pla: 0084: // File related functions -; libsrc/apple/sdfat.pla: 0085: // -; libsrc/apple/sdfat.pla: 0086: def open(path, mode) - ; path -> [0] - ; mode -> [2] -_P009 ; open(path, mode)() -_C010 ; open() -; libsrc/apple/sdfat.pla: 0087: spiWriteBuf(path + 1, ^path) // send filename - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/sdfat.pla: 0088: spiSend(21) // OPEN -; libsrc/apple/sdfat.pla: 0089: spiSend(mode) -; libsrc/apple/sdfat.pla: 0090: return spiRecv // status - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X032 -_F033 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$15 ; CB 21 - !BYTE $54 ; CALL _X030 -_F034 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X030 -_F035 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F036 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/sdfat.pla: 0091: end -; libsrc/apple/sdfat.pla: 0092: -; libsrc/apple/sdfat.pla: 0093: def close -_P010 ; close() -_C011 ; close() -; libsrc/apple/sdfat.pla: 0094: return spiSend(24) // CLOSE - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _X030 -_F037 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0095: end -; libsrc/apple/sdfat.pla: 0096: -; libsrc/apple/sdfat.pla: 0097: def read(buf, len) - ; buf -> [0] - ; len -> [2] -_P011 ; read(buf, len)() -_C012 ; read() -; libsrc/apple/sdfat.pla: 0098: if len > 512 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/sdfat.pla: 0099: len = 512 -; libsrc/apple/sdfat.pla: 0100: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$02 ; SLW [2] -_B007 -_B008 -; libsrc/apple/sdfat.pla: 0101: spiSend(25) // READ -; libsrc/apple/sdfat.pla: 0102: spiSend(len >> 8); spiSend(len) -; libsrc/apple/sdfat.pla: 0103: len = (spiRecv << 8) | spiRecv -; libsrc/apple/sdfat.pla: 0104: if len > 0 -; libsrc/apple/sdfat.pla: 0105: spiReadBuf(buf, len) -; libsrc/apple/sdfat.pla: 0106: fin - !BYTE $2A,$19 ; CB 25 - !BYTE $54 ; CALL _X030 -_F038 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _X030 -_F039 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X030 -_F040 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F041 !WORD 0 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X031 -_F042 !WORD 0 - !BYTE $96 ; OR - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X033 -_F043 !WORD 0 - !BYTE $30 ; DROP -_B009 -_B010 -; libsrc/apple/sdfat.pla: 0107: return len - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/sdfat.pla: 0108: end -; libsrc/apple/sdfat.pla: 0109: -; libsrc/apple/sdfat.pla: 0110: def write(buf, len) - ; buf -> [0] - ; len -> [2] -_P012 ; write(buf, len)() -_C013 ; write() -; libsrc/apple/sdfat.pla: 0111: if len > 512 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/sdfat.pla: 0112: len = 512 -; libsrc/apple/sdfat.pla: 0113: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$02 ; SLW [2] -_B011 -_B012 -; libsrc/apple/sdfat.pla: 0114: spiWriteBuf(buf, len) -; libsrc/apple/sdfat.pla: 0115: spiSend(26) // WRITE -; libsrc/apple/sdfat.pla: 0116: spiSend(len >> 8); spiSend(len) -; libsrc/apple/sdfat.pla: 0117: len = (spiRecv << 8) | spiRecv -; libsrc/apple/sdfat.pla: 0118: return len - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X032 -_F044 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _X030 -_F045 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _X030 -_F046 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X030 -_F047 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F048 !WORD 0 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X031 -_F049 !WORD 0 - !BYTE $96 ; OR - !BYTE $6E,$02 ; DLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/sdfat.pla: 0119: end -; libsrc/apple/sdfat.pla: 0120: -; libsrc/apple/sdfat.pla: 0121: def sync -_P013 ; sync() -_C014 ; sync() -; libsrc/apple/sdfat.pla: 0122: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0123: end -; libsrc/apple/sdfat.pla: 0124: -; libsrc/apple/sdfat.pla: 0125: def rewind -_P014 ; rewind() -_C015 ; rewind() -; libsrc/apple/sdfat.pla: 0126: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0127: end -; libsrc/apple/sdfat.pla: 0128: -; libsrc/apple/sdfat.pla: 0129: def seek -_P015 ; seek() -_C016 ; seek() -; libsrc/apple/sdfat.pla: 0130: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0131: end -; libsrc/apple/sdfat.pla: 0132: -; libsrc/apple/sdfat.pla: 0133: def seekOfs -_P016 ; seekOfs() -_C017 ; seekOfs() -; libsrc/apple/sdfat.pla: 0134: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0135: end -; libsrc/apple/sdfat.pla: 0136: -; libsrc/apple/sdfat.pla: 0137: def pos -_P017 ; pos() -_C018 ; pos() -; libsrc/apple/sdfat.pla: 0138: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0139: end -; libsrc/apple/sdfat.pla: 0140: -; libsrc/apple/sdfat.pla: 0141: def size -_P018 ; size() -_C019 ; size() -; libsrc/apple/sdfat.pla: 0142: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0143: end -; libsrc/apple/sdfat.pla: 0144: -; libsrc/apple/sdfat.pla: 0145: def truncate -_P019 ; truncate() -_C020 ; truncate() -; libsrc/apple/sdfat.pla: 0146: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0147: end -; libsrc/apple/sdfat.pla: 0148: -; libsrc/apple/sdfat.pla: 0149: def isDir -_P020 ; isDir() -_C021 ; isDir() -; libsrc/apple/sdfat.pla: 0150: spiSend(35) // ISDIR -; libsrc/apple/sdfat.pla: 0151: return spiRecv - !BYTE $2A,$23 ; CB 35 - !BYTE $54 ; CALL _X030 -_F050 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X031 -_F051 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0152: end -; libsrc/apple/sdfat.pla: 0153: -; libsrc/apple/sdfat.pla: 0154: def isFile -_P021 ; isFile() -_C022 ; isFile() -; libsrc/apple/sdfat.pla: 0155: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0156: end -; libsrc/apple/sdfat.pla: 0157: -; libsrc/apple/sdfat.pla: 0158: // -; libsrc/apple/sdfat.pla: 0159: // Init SD card FAT filesystem -; libsrc/apple/sdfat.pla: 0160: // -; libsrc/apple/sdfat.pla: 0161: spiSend(14) // SDINIT -_INIT -; libsrc/apple/sdfat.pla: 0162: return spiReady <> 0 // Is Arduino READY? - !BYTE $1C ; CN 14 - !BYTE $54 ; CALL _X030 -_F052 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X035 -_F053 !WORD 0 - !BYTE $5C ; RET -; libsrc/apple/sdfat.pla: 0163: done -_SYSFLAGS = 0 -_DEFCNT = 24 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: SPISEND - !BYTE $D3,$D0,$C9,$D3,$C5,$CE,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: SPIRECV - !BYTE $D3,$D0,$C9,$D2,$C5,$C3,$56 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: SPIWRITEBUF - !BYTE $D3,$D0,$C9,$D7,$D2,$C9,$D4,$C5,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: SPIREADBUF - !BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: SPIREADY - !BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D058 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/sndseq.a b/src/libsrc/apple/sndseq.a deleted file mode 100644 index 9a2bf97..0000000 --- a/src/libsrc/apple/sndseq.a +++ /dev/null @@ -1,4197 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/sndseq.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/sndseq.pla: 0001: -; libsrc/apple/sndseq.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; libsrc/apple/sndseq.pla: 0002: -; libsrc/apple/sndseq.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X030 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X031 - ; ARGNEXT -> X032 -; inc/args.plh: 0003: end -; libsrc/apple/sndseq.pla: 0003: -; libsrc/apple/sndseq.pla: 0004: // -; libsrc/apple/sndseq.pla: 0005: // Usage is documented following the source in this file... -; libsrc/apple/sndseq.pla: 0006: // -; libsrc/apple/sndseq.pla: 0007: const rndseed = $004E - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; rndseed = 78 -; libsrc/apple/sndseq.pla: 0008: const LSB = 0 - ; LSB = 0 -; libsrc/apple/sndseq.pla: 0009: const MSB = 1 - ; MSB = 1 -; libsrc/apple/sndseq.pla: 0010: const MB_ARPEGGIO = 4 // In 16ths of a second - ; MB_ARPEGGIO = 4 -; libsrc/apple/sndseq.pla: 0011: const MAX_MBCH_NOTES = 9 - ; MAX_MBCH_NOTES = 9 -; libsrc/apple/sndseq.pla: 0012: const SPKR_ARPEGGIO = 2 // In 16ths of a second - ; SPKR_ARPEGGIO = 2 -; libsrc/apple/sndseq.pla: 0013: const DUR16TH = 8 - ; DUR16TH = 8 -; libsrc/apple/sndseq.pla: 0014: const MAX_SPKR_NOTES = 4 - ; MAX_SPKR_NOTES = 4 -; libsrc/apple/sndseq.pla: 0015: const NOTEDIV = 4 - ; NOTEDIV = 4 -; libsrc/apple/sndseq.pla: 0016: // -; libsrc/apple/sndseq.pla: 0017: // 6522 VIA registers -; libsrc/apple/sndseq.pla: 0018: // -; libsrc/apple/sndseq.pla: 0019: struc t_VIA -; libsrc/apple/sndseq.pla: 0020: byte IORB // I/O Register B - ; IORB = 0 -; libsrc/apple/sndseq.pla: 0021: byte IORA // I/O Register A - ; IORA = 1 -; libsrc/apple/sndseq.pla: 0022: byte DDRB // Data Direction Register B - ; DDRB = 2 -; libsrc/apple/sndseq.pla: 0023: byte DDRA // Data Direction Register A - ; DDRA = 3 -; libsrc/apple/sndseq.pla: 0024: word T1C // Timer 1 Count - ; T1C = 4 -; libsrc/apple/sndseq.pla: 0025: word T1L // Timer 1 Latch - ; T1L = 6 -; libsrc/apple/sndseq.pla: 0026: word T2C // Timer 2 Count - ; T2C = 8 -; libsrc/apple/sndseq.pla: 0027: byte SR // Shift Register - ; SR = 10 -; libsrc/apple/sndseq.pla: 0028: byte ACR // Aux Control Register - ; ACR = 11 -; libsrc/apple/sndseq.pla: 0029: byte PCR // Peripheral Control Register - ; PCR = 12 -; libsrc/apple/sndseq.pla: 0030: byte IFR // Interrupt Flag Register - ; IFR = 13 -; libsrc/apple/sndseq.pla: 0031: byte IER // Interrupt Enable Register - ; IER = 14 -; libsrc/apple/sndseq.pla: 0032: byte IOA_noHS // I/O Register A - no HandShake - ; IOA_noHS = 15 -; libsrc/apple/sndseq.pla: 0033: end - ; t_VIA = 16 -; libsrc/apple/sndseq.pla: 0034: const T1CH = T1C+1 - ; T1CH = 5 -; libsrc/apple/sndseq.pla: 0035: // -; libsrc/apple/sndseq.pla: 0036: // AY-3-8910 PSG registers -; libsrc/apple/sndseq.pla: 0037: // -; libsrc/apple/sndseq.pla: 0038: struc t_PSG -; libsrc/apple/sndseq.pla: 0039: word AFREQ // A Frequency Period - ; AFREQ = 0 -; libsrc/apple/sndseq.pla: 0040: word BFREQ // B Frequency Period - ; BFREQ = 2 -; libsrc/apple/sndseq.pla: 0041: word CFREQ // C Frequency Period - ; CFREQ = 4 -; libsrc/apple/sndseq.pla: 0042: byte NGFREQ // Noise Generator Frequency Period - ; NGFREQ = 6 -; libsrc/apple/sndseq.pla: 0043: byte MIXER // Enable=0/Disable=1 NG C(5) B(4) A(3) Tone C(2) B(1) A(0) - ; MIXER = 7 -; libsrc/apple/sndseq.pla: 0044: byte AENVAMP // A Envelope/Amplitude - ; AENVAMP = 8 -; libsrc/apple/sndseq.pla: 0045: byte BENVAMP // B Envelope/Amplitude - ; BENVAMP = 9 -; libsrc/apple/sndseq.pla: 0046: byte CENVAMP // C Envelope/Amplitude - ; CENVAMP = 10 -; libsrc/apple/sndseq.pla: 0047: word ENVPERIOD // Envelope Period - ; ENVPERIOD = 11 -; libsrc/apple/sndseq.pla: 0048: byte ENVSHAPE // Envelope Shape - ; ENVSHAPE = 13 -; libsrc/apple/sndseq.pla: 0049: end - ; t_PSG = 14 -; libsrc/apple/sndseq.pla: 0050: // -; libsrc/apple/sndseq.pla: 0051: // Apple III hardware constants. -; libsrc/apple/sndseq.pla: 0052: // -; libsrc/apple/sndseq.pla: 0053: const ENV_REG = $FFDF - ; ENV_REG = 65503 -; libsrc/apple/sndseq.pla: 0054: // -; libsrc/apple/sndseq.pla: 0055: // Sequence event -; libsrc/apple/sndseq.pla: 0056: // -; libsrc/apple/sndseq.pla: 0057: struc t_event -; libsrc/apple/sndseq.pla: 0058: byte deltatime // Event delta time in 4.4 seconds - ; deltatime = 0 -; libsrc/apple/sndseq.pla: 0059: byte percnote // Percussion:7==0 ? Pitch:4-0 : Octave:6-4,Note:3-0 - ; percnote = 1 -; libsrc/apple/sndseq.pla: 0060: byte perchanvol // Percussion ? EnvDur:7-0 : Channel:7,Volume:3-0 - ; perchanvol = 2 -; libsrc/apple/sndseq.pla: 0061: end - ; t_event = 3 -; libsrc/apple/sndseq.pla: 0062: // -; libsrc/apple/sndseq.pla: 0063: // Predef routines -; libsrc/apple/sndseq.pla: 0064: // -; libsrc/apple/sndseq.pla: 0065: predef musicPlay(track, rept)#0 -; libsrc/apple/sndseq.pla: 0066: predef musicStop#0 -; libsrc/apple/sndseq.pla: 0067: predef spkrSequence(yield, func)#0 -; libsrc/apple/sndseq.pla: 0068: predef a2spkrTone(pitch, duration)#0 -; libsrc/apple/sndseq.pla: 0069: predef a2spkrPCM(samples, pagecnt)#0 -; libsrc/apple/sndseq.pla: 0070: predef a2keypressed -; libsrc/apple/sndseq.pla: 0071: // -; libsrc/apple/sndseq.pla: 0072: // Static sequencer values -; libsrc/apple/sndseq.pla: 0073: // -; libsrc/apple/sndseq.pla: 0074: export word musicSequence = @spkrSequence -_D039 ; musicSequence = @spkrSequence -_F000 !WORD _P002 -; libsrc/apple/sndseq.pla: 0075: export word tonePlay = @a2spkrTone -_D040 ; tonePlay = @a2spkrTone -_F001 !WORD _P003 -; libsrc/apple/sndseq.pla: 0076: export word pcmPlay = @a2spkrPCM -_D041 ; pcmPlay = @a2spkrPCM -_F002 !WORD _P004 -; libsrc/apple/sndseq.pla: 0077: word keypressed = @a2keypressed -_D042 ; keypressed = @a2keypressed -_F003 !WORD _P005 -; libsrc/apple/sndseq.pla: 0078: -; libsrc/apple/sndseq.pla: 0079: word instr[] // Overlay with other variables -_D043 ; instr[] // Overlay with other variables -; libsrc/apple/sndseq.pla: 0080: word seqTrack, seqEvent, seqTime, eventTime, updateTime -_D044 !FILL 2 ; seqTrack, seqEvent, seqTime, eventTime, updateTime -_D045 !FILL 2 ; seqEvent, seqTime, eventTime, updateTime -_D046 !FILL 2 ; seqTime, eventTime, updateTime -_D047 !FILL 2 ; eventTime, updateTime -_D048 !FILL 2 ; updateTime -; libsrc/apple/sndseq.pla: 0081: byte numNotes, seqRepeat -_D049 !FILL 1 ; numNotes, seqRepeat -_D050 !FILL 1 ; seqRepeat -; libsrc/apple/sndseq.pla: 0082: byte indexA[2], indexB[2], indexC[2] -_D051 !FILL 2 ; indexA[2], indexB[2], indexC[2] -_D052 !FILL 2 ; indexB[2], indexC[2] -_D053 !FILL 2 ; indexC[2] -; libsrc/apple/sndseq.pla: 0083: byte noteA[2], noteB[2], noteC[2] -_D054 !FILL 2 ; noteA[2], noteB[2], noteC[2] -_D055 !FILL 2 ; noteB[2], noteC[2] -_D056 !FILL 2 ; noteC[2] -; libsrc/apple/sndseq.pla: 0084: word notes1[MAX_MBCH_NOTES], notes2[MAX_MBCH_NOTES] -_D057 !FILL 18 ; notes1[MAX_MBCH_NOTES], notes2[MAX_MBCH_NOTES] -_D058 !FILL 18 ; notes2[MAX_MBCH_NOTES] -; libsrc/apple/sndseq.pla: 0085: word notes[2] = @notes1, @notes2 -_D059 ; notes[2] = @notes1, @notes2 -_F004 !WORD _D057 -_F005 !WORD _D058 -; libsrc/apple/sndseq.pla: 0086: word periods1[MAX_MBCH_NOTES], periods2[MAX_MBCH_NOTES] -_D060 !FILL 18 ; periods1[MAX_MBCH_NOTES], periods2[MAX_MBCH_NOTES] -_D061 !FILL 18 ; periods2[MAX_MBCH_NOTES] -; libsrc/apple/sndseq.pla: 0087: word periods[2] = @periods1, @periods2 -_D062 ; periods[2] = @periods1, @periods2 -_F006 !WORD _D060 -_F007 !WORD _D061 -; libsrc/apple/sndseq.pla: 0088: // -; libsrc/apple/sndseq.pla: 0089: // MockingBoard data. -; libsrc/apple/sndseq.pla: 0090: // -; libsrc/apple/sndseq.pla: 0091: word[] mbVIAs // Treat this as an array of VIA ptrs -_D063 ; mbVIAs // Treat this as an array of VIA ptrs -; libsrc/apple/sndseq.pla: 0092: word mbVIA1, mbVIA2 -_D064 !FILL 2 ; mbVIA1, mbVIA2 -_D065 !FILL 2 ; mbVIA2 -; libsrc/apple/sndseq.pla: 0093: word mbSlot = -1 -_D066 ; mbSlot = -1 - !WORD $FFFF -; libsrc/apple/sndseq.pla: 0094: // -; libsrc/apple/sndseq.pla: 0095: // Octave basis frequency periods (starting at MIDI note #12) -; libsrc/apple/sndseq.pla: 0096: // Notes will be encoded as basis note (LSNibble) and octave (MSNibble)) -; libsrc/apple/sndseq.pla: 0097: // -; libsrc/apple/sndseq.pla: 0098: word[] spkrOctave0 // Overlay and scale mbOctave0 for speaker version -_D067 ; spkrOctave0 // Overlay and scale mbOctave0 for speaker version -; libsrc/apple/sndseq.pla: 0099: word[12] mbOctave0 = 3900, 3681, 3474, 3279, 3095, 2922, 2758, 2603, 2457, 2319, 2189, 2066 -_D068 ; mbOctave0 = 3900, 3681, 3474, 3279, 3095, 2922, 2758, 2603, 2457, 2319, 2189, 2066 - !WORD $0F3C - !WORD $0E61 - !WORD $0D92 - !WORD $0CCF - !WORD $0C17 - !WORD $0B6A - !WORD $0AC6 - !WORD $0A2B - !WORD $0999 - !WORD $090F - !WORD $088D - !WORD $0812 -; libsrc/apple/sndseq.pla: 0100: word[5] arpeggioDuration = DUR16TH, DUR16TH, DUR16TH/2, DUR16TH/3, DUR16TH/4 -_D069 ; arpeggioDuration = DUR16TH, DUR16TH, DUR16TH/2, DUR16TH/3, DUR16TH/4 - !WORD $0008 - !WORD $0008 - !WORD $0004 - !WORD $0002 - !WORD $0002 -; libsrc/apple/sndseq.pla: 0101: // -; libsrc/apple/sndseq.pla: 0102: // Emulators are broken - they only activate the MockingBoard's 6522 Timer1 -; libsrc/apple/sndseq.pla: 0103: // functionality when interrupts are enabled. This music sequencer is run -; libsrc/apple/sndseq.pla: 0104: // in polling mode without the use of MockingBoard interrupts. To work around -; libsrc/apple/sndseq.pla: 0105: // the emulators, MockingBoard interrupts are enabled, but the 6502 IRQs are -; libsrc/apple/sndseq.pla: 0106: // disabled. NO INTERRUPTS ARE HANDLED WHEN PLAYING MUSIC! The previous state -; libsrc/apple/sndseq.pla: 0107: // is restored between playing sequences. -; libsrc/apple/sndseq.pla: 0108: // -; libsrc/apple/sndseq.pla: 0109: asm vmincs -_A000 ; vmincs() -; libsrc/apple/sndseq.pla: 0110: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/sndseq.pla: 0111: end -; libsrc/apple/sndseq.pla: 0112: asm getStatusReg#1 -_A001 ; getStatusReg() -; libsrc/apple/sndseq.pla: 0113: PHP - PHP -; libsrc/apple/sndseq.pla: 0114: PLA - PLA -; libsrc/apple/sndseq.pla: 0115: DEX - DEX -; libsrc/apple/sndseq.pla: 0116: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/sndseq.pla: 0117: LDA #$00 - LDA #$00 -; libsrc/apple/sndseq.pla: 0118: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/sndseq.pla: 0119: RTS - RTS -; libsrc/apple/sndseq.pla: 0120: end -; libsrc/apple/sndseq.pla: 0121: asm setStatusReg(stat)#0 -_A002 ; setStatusReg() -; libsrc/apple/sndseq.pla: 0122: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0123: INX - INX -; libsrc/apple/sndseq.pla: 0124: PHA - PHA -; libsrc/apple/sndseq.pla: 0125: PLP - PLP -; libsrc/apple/sndseq.pla: 0126: RTS - RTS -; libsrc/apple/sndseq.pla: 0127: end -; libsrc/apple/sndseq.pla: 0128: asm disableInts#0 -_A003 ; disableInts() -; libsrc/apple/sndseq.pla: 0129: SEI - SEI -; libsrc/apple/sndseq.pla: 0130: RTS - RTS -; libsrc/apple/sndseq.pla: 0131: end -; libsrc/apple/sndseq.pla: 0132: asm enableInts#0 -_A004 ; enableInts() -; libsrc/apple/sndseq.pla: 0133: CLI - CLI -; libsrc/apple/sndseq.pla: 0134: RTS - RTS -; libsrc/apple/sndseq.pla: 0135: end -; libsrc/apple/sndseq.pla: 0136: // -; libsrc/apple/sndseq.pla: 0137: // Write Programmable Sound Generator Registers -; libsrc/apple/sndseq.pla: 0138: // -; libsrc/apple/sndseq.pla: 0139: asm psgWriteTone(pVIA, reg, freq, vol)#0 -_A005 ; psgWriteTone() -; libsrc/apple/sndseq.pla: 0140: LDA ESTKL+3,X - LDA ESTKL+3,X -; libsrc/apple/sndseq.pla: 0141: STA TMPL - STA TMPL -; libsrc/apple/sndseq.pla: 0142: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/apple/sndseq.pla: 0143: STA TMPH - STA TMPH -; libsrc/apple/sndseq.pla: 0144: LDY #$01 - LDY #$01 -; libsrc/apple/sndseq.pla: 0145: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/sndseq.pla: 0146: LSR - LSR -; libsrc/apple/sndseq.pla: 0147: ADC #$08 - ADC #$08 -; libsrc/apple/sndseq.pla: 0148: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0149: DEY - DEY -; libsrc/apple/sndseq.pla: 0150: LDA #$07 - LDA #$07 -; libsrc/apple/sndseq.pla: 0151: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0152: LDA #$04 - LDA #$04 -; libsrc/apple/sndseq.pla: 0153: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0154: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0155: INY - INY -; libsrc/apple/sndseq.pla: 0156: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0157: DEY - DEY -; libsrc/apple/sndseq.pla: 0158: LDA #$06 - LDA #$06 -; libsrc/apple/sndseq.pla: 0159: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0160: LDA #$04 - LDA #$04 -; libsrc/apple/sndseq.pla: 0161: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0162: INX - INX -; libsrc/apple/sndseq.pla: 0163: BNE + - BNE + -; libsrc/apple/sndseq.pla: 0164: end -; libsrc/apple/sndseq.pla: 0165: asm psgWriteWord(pVIA, reg, val)#0 -_A006 ; psgWriteWord() -; libsrc/apple/sndseq.pla: 0166: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/sndseq.pla: 0167: STA TMPL - STA TMPL -; libsrc/apple/sndseq.pla: 0168: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/apple/sndseq.pla: 0169: STA TMPH - STA TMPH -; libsrc/apple/sndseq.pla: 0170: + LDY #$01 -+ LDY #$01 -; libsrc/apple/sndseq.pla: 0171: TYA - TYA -; libsrc/apple/sndseq.pla: 0172: CLC - CLC -; libsrc/apple/sndseq.pla: 0173: ADC ESTKL+1,X - ADC ESTKL+1,X -; libsrc/apple/sndseq.pla: 0174: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0175: DEY - DEY -; libsrc/apple/sndseq.pla: 0176: LDA #$07 - LDA #$07 -; libsrc/apple/sndseq.pla: 0177: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0178: LDA #$04 - LDA #$04 -; libsrc/apple/sndseq.pla: 0179: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0180: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/sndseq.pla: 0181: INY - INY -; libsrc/apple/sndseq.pla: 0182: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0183: DEY - DEY -; libsrc/apple/sndseq.pla: 0184: LDA #$06 - LDA #$06 -; libsrc/apple/sndseq.pla: 0185: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0186: LDA #$04 - LDA #$04 -; libsrc/apple/sndseq.pla: 0187: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0188: BNE + - BNE + -; libsrc/apple/sndseq.pla: 0189: end -; libsrc/apple/sndseq.pla: 0190: asm psgWrite(pVIA, reg, val)#0 -_A007 ; psgWrite() -; libsrc/apple/sndseq.pla: 0191: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/apple/sndseq.pla: 0192: STA TMPL - STA TMPL -; libsrc/apple/sndseq.pla: 0193: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/apple/sndseq.pla: 0194: STA TMPH - STA TMPH -; libsrc/apple/sndseq.pla: 0195: + LDY #$01 -+ LDY #$01 -; libsrc/apple/sndseq.pla: 0196: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/sndseq.pla: 0197: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0198: DEY - DEY -; libsrc/apple/sndseq.pla: 0199: LDA #$07 - LDA #$07 -; libsrc/apple/sndseq.pla: 0200: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0201: LDA #$04 - LDA #$04 -; libsrc/apple/sndseq.pla: 0202: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0203: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0204: INY - INY -; libsrc/apple/sndseq.pla: 0205: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0206: DEY - DEY -; libsrc/apple/sndseq.pla: 0207: LDA #$06 - LDA #$06 -; libsrc/apple/sndseq.pla: 0208: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0209: LDA #$04 - LDA #$04 -; libsrc/apple/sndseq.pla: 0210: STA (TMP),Y - STA (TMP),Y -; libsrc/apple/sndseq.pla: 0211: INX - INX -; libsrc/apple/sndseq.pla: 0212: INX - INX -; libsrc/apple/sndseq.pla: 0213: INX - INX -; libsrc/apple/sndseq.pla: 0214: RTS - RTS -; libsrc/apple/sndseq.pla: 0215: end -; libsrc/apple/sndseq.pla: 0216: asm viaCheck(pVIA)#1 -_A008 ; viaCheck() -; libsrc/apple/sndseq.pla: 0217: PHP - PHP -; libsrc/apple/sndseq.pla: 0218: SEI - SEI -; libsrc/apple/sndseq.pla: 0219: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0220: STA TMPL - STA TMPL -; libsrc/apple/sndseq.pla: 0221: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/sndseq.pla: 0222: STA TMPH - STA TMPH -; libsrc/apple/sndseq.pla: 0223: STX ESP - STX ESP -; libsrc/apple/sndseq.pla: 0224: LDX #$80 - LDX #$80 -; libsrc/apple/sndseq.pla: 0225: LDY #$04 - LDY #$04 -; libsrc/apple/sndseq.pla: 0226: SEC - SEC -; libsrc/apple/sndseq.pla: 0227: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/apple/sndseq.pla: 0228: BMI + - BMI + -; libsrc/apple/sndseq.pla: 0229: DEX - DEX -; libsrc/apple/sndseq.pla: 0230: BNE - - BNE - -; libsrc/apple/sndseq.pla: 0231: TXA ; TIMEOUT - TXA ; TIMEOUT -; libsrc/apple/sndseq.pla: 0232: BEQ ++ - BEQ ++ -; libsrc/apple/sndseq.pla: 0233: + SBC (TMP),Y -+ SBC (TMP),Y -; libsrc/apple/sndseq.pla: 0234: ++ LDX ESP -++ LDX ESP -; libsrc/apple/sndseq.pla: 0235: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/sndseq.pla: 0236: LDA #$00 - LDA #$00 -; libsrc/apple/sndseq.pla: 0237: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/sndseq.pla: 0238: PLP - PLP -; libsrc/apple/sndseq.pla: 0239: RTS - RTS -; libsrc/apple/sndseq.pla: 0240: end -; libsrc/apple/sndseq.pla: 0241: // -; libsrc/apple/sndseq.pla: 0242: // Apple II speaker tone generator routines -; libsrc/apple/sndseq.pla: 0243: // -; libsrc/apple/sndseq.pla: 0244: asm a2spkrTone(pitch, duration)#0 -_P003 ; a2spkrTone(pitch, duration)#0() -_A009 ; a2spkrTone() -; libsrc/apple/sndseq.pla: 0245: STX ESP - STX ESP -; libsrc/apple/sndseq.pla: 0246: LDY ESTKH,X - LDY ESTKH,X -; libsrc/apple/sndseq.pla: 0247: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0248: BEQ + - BEQ + -; libsrc/apple/sndseq.pla: 0249: INY - INY -; libsrc/apple/sndseq.pla: 0250: + STA DSTL -+ STA DSTL -; libsrc/apple/sndseq.pla: 0251: STY DSTH - STY DSTH -; libsrc/apple/sndseq.pla: 0252: LDY ESTKH+1,X - LDY ESTKH+1,X -; libsrc/apple/sndseq.pla: 0253: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/sndseq.pla: 0254: BEQ + - BEQ + -; libsrc/apple/sndseq.pla: 0255: INY - INY -; libsrc/apple/sndseq.pla: 0256: + STA TMPL -+ STA TMPL -; libsrc/apple/sndseq.pla: 0257: STY TMPH - STY TMPH -; libsrc/apple/sndseq.pla: 0258: TAX - TAX -; libsrc/apple/sndseq.pla: 0259: LDA #$FF - LDA #$FF -; libsrc/apple/sndseq.pla: 0260: PHP - PHP -; libsrc/apple/sndseq.pla: 0261: SEI - SEI -; libsrc/apple/sndseq.pla: 0262: ; -; libsrc/apple/sndseq.pla: 0263: ; Total loop count is 32 cycles, regardless of path taken -; Total loop count is 32 cycles, regardless of path taken -; libsrc/apple/sndseq.pla: 0264: ; -; libsrc/apple/sndseq.pla: 0265: - NOP ; 2 -- NOP ; 2 -; libsrc/apple/sndseq.pla: 0266: NOP ; 2 - NOP ; 2 -; libsrc/apple/sndseq.pla: 0267: BCS + ; 3 - BCS + ; 3 -; libsrc/apple/sndseq.pla: 0268: ;--- - ;--- -; libsrc/apple/sndseq.pla: 0269: ;+7 = 12 (from BCS below) - ;+7 = 12 (from BCS below) -; libsrc/apple/sndseq.pla: 0270: + -+ -; libsrc/apple/sndseq.pla: 0271: -- SEC ; 2 --- SEC ; 2 -; libsrc/apple/sndseq.pla: 0272: DEX ; 2 - DEX ; 2 -; libsrc/apple/sndseq.pla: 0273: BNE ++ ; 2/3 - BNE ++ ; 2/3 -; libsrc/apple/sndseq.pla: 0274: ;---- - ;---- -; libsrc/apple/sndseq.pla: 0275: ; 6/7 - ; 6/7 -; libsrc/apple/sndseq.pla: 0276: -; libsrc/apple/sndseq.pla: 0277: DEY ; 2 - DEY ; 2 -; libsrc/apple/sndseq.pla: 0278: BNE +++ ; 2/3 - BNE +++ ; 2/3 -; libsrc/apple/sndseq.pla: 0279: ;---- - ;---- -; libsrc/apple/sndseq.pla: 0280: ;+4/5 = 10/11 - ;+4/5 = 10/11 -; libsrc/apple/sndseq.pla: 0281: -; libsrc/apple/sndseq.pla: 0282: BIT $C030 ; 4 - BIT $C030 ; 4 -; libsrc/apple/sndseq.pla: 0283: LDX TMPL ; 3 - LDX TMPL ; 3 -; libsrc/apple/sndseq.pla: 0284: LDY TMPH ; 3 - LDY TMPH ; 3 -; libsrc/apple/sndseq.pla: 0285: ;--- - ;--- -; libsrc/apple/sndseq.pla: 0286: ;+10 = 20 - ;+10 = 20 -; libsrc/apple/sndseq.pla: 0287: -; libsrc/apple/sndseq.pla: 0288: TONELP SBC #$01 ; 2 -TONELP SBC #$01 ; 2 -; libsrc/apple/sndseq.pla: 0289: BCS - ; 2/3 - BCS - ; 2/3 -; libsrc/apple/sndseq.pla: 0290: ;---- - ;---- -; libsrc/apple/sndseq.pla: 0291: ; 4/5 - ; 4/5 -; libsrc/apple/sndseq.pla: 0292: -; libsrc/apple/sndseq.pla: 0293: DEC DSTL ; 5 - DEC DSTL ; 5 -; libsrc/apple/sndseq.pla: 0294: BNE -- ; 3 - BNE -- ; 3 -; libsrc/apple/sndseq.pla: 0295: ;---- - ;---- -; libsrc/apple/sndseq.pla: 0296: ;+8 = 12 - ;+8 = 12 -; libsrc/apple/sndseq.pla: 0297: -; libsrc/apple/sndseq.pla: 0298: DEC DSTH ; This sequence isn't accounted for - DEC DSTH ; This sequence isn't accounted for -; libsrc/apple/sndseq.pla: 0299: BNE -- ; since it is taken only in extreme cases - BNE -- ; since it is taken only in extreme cases -; libsrc/apple/sndseq.pla: 0300: BEQ TONEXIT - BEQ TONEXIT -; libsrc/apple/sndseq.pla: 0301: -; libsrc/apple/sndseq.pla: 0302: ++ NOP ; 2 -++ NOP ; 2 -; libsrc/apple/sndseq.pla: 0303: NOP ; 2 - NOP ; 2 -; libsrc/apple/sndseq.pla: 0304: ;--- - ;--- -; libsrc/apple/sndseq.pla: 0305: ;+4 = 11 (from BNE above) - ;+4 = 11 (from BNE above) -; libsrc/apple/sndseq.pla: 0306: -; libsrc/apple/sndseq.pla: 0307: +++ BIT $C000 ; 4 -+++ BIT $C000 ; 4 -; libsrc/apple/sndseq.pla: 0308: NOP ; 2 - NOP ; 2 -; libsrc/apple/sndseq.pla: 0309: BPL TONELP ; 3 - BPL TONELP ; 3 -; libsrc/apple/sndseq.pla: 0310: ;--- - ;--- -; libsrc/apple/sndseq.pla: 0311: ;+9 = 20 - ;+9 = 20 -; libsrc/apple/sndseq.pla: 0312: TONEXIT PLP -TONEXIT PLP -; libsrc/apple/sndseq.pla: 0313: LDX ESP - LDX ESP -; libsrc/apple/sndseq.pla: 0314: INX - INX -; libsrc/apple/sndseq.pla: 0315: INX - INX -; libsrc/apple/sndseq.pla: 0316: RTS - RTS -; libsrc/apple/sndseq.pla: 0317: end -; libsrc/apple/sndseq.pla: 0318: asm a2spkrPCM(rlepcm, pgcnt)#0 -_P004 ; a2spkrPCM(rlepcm, pgcnt)#0() -_A010 ; a2spkrPCM() -; libsrc/apple/sndseq.pla: 0319: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/sndseq.pla: 0320: STA TMP - STA TMP -; libsrc/apple/sndseq.pla: 0321: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/sndseq.pla: 0322: STA SRCL - STA SRCL -; libsrc/apple/sndseq.pla: 0323: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/sndseq.pla: 0324: STA SRCH - STA SRCH -; libsrc/apple/sndseq.pla: 0325: STX ESP - STX ESP -; libsrc/apple/sndseq.pla: 0326: PHP - PHP -; libsrc/apple/sndseq.pla: 0327: SEI - SEI -; libsrc/apple/sndseq.pla: 0328: LDY #$00 - LDY #$00 -; libsrc/apple/sndseq.pla: 0329: PWM_OUT LDA (SRC),Y ; 5 -PWM_OUT LDA (SRC),Y ; 5 -; libsrc/apple/sndseq.pla: 0330: LSR ; 2 - LSR ; 2 -; libsrc/apple/sndseq.pla: 0331: LSR ; 2 - LSR ; 2 -; libsrc/apple/sndseq.pla: 0332: LSR ; 2 - LSR ; 2 -; libsrc/apple/sndseq.pla: 0333: LSR ; 2 - LSR ; 2 -; libsrc/apple/sndseq.pla: 0334: TAX ; 2 - TAX ; 2 -; libsrc/apple/sndseq.pla: 0335: PWM_REP BIT $C030 ; 4 -PWM_REP BIT $C030 ; 4 -; libsrc/apple/sndseq.pla: 0336: LDA (SRC),Y ; 5 - LDA (SRC),Y ; 5 -; libsrc/apple/sndseq.pla: 0337: AND #$0F ; 2 - AND #$0F ; 2 -; libsrc/apple/sndseq.pla: 0338: end -; libsrc/apple/sndseq.pla: 0339: asm pwm_on -_A011 ; pwm_on() -; libsrc/apple/sndseq.pla: 0340: STA ON_BR+1 ; 4 - STA ON_BR+1 ; 4 -; libsrc/apple/sndseq.pla: 0341: ON_BR BNE OFF_BR ; 3 -ON_BR BNE OFF_BR ; 3 -; libsrc/apple/sndseq.pla: 0342: !FILL 15, $EA ; 15 * 2 NOPs - !FILL 15, $EA ; 15 * 2 NOPs -; libsrc/apple/sndseq.pla: 0343: BIT $C030 ; 4 - BIT $C030 ; 4 -; libsrc/apple/sndseq.pla: 0344: EOR #$0F ; 2 - EOR #$0F ; 2 -; libsrc/apple/sndseq.pla: 0345: end -; libsrc/apple/sndseq.pla: 0346: asm pwm_off -_A012 ; pwm_off() -; libsrc/apple/sndseq.pla: 0347: STA OFF_BR+1 ; 4 - STA OFF_BR+1 ; 4 -; libsrc/apple/sndseq.pla: 0348: OFF_BR BNE ON_BR ; 3 -OFF_BR BNE ON_BR ; 3 -; libsrc/apple/sndseq.pla: 0349: !FILL 15, $EA ; 15 * 2 NOPs - !FILL 15, $EA ; 15 * 2 NOPs -; libsrc/apple/sndseq.pla: 0350: DEX ; 2 - DEX ; 2 -; libsrc/apple/sndseq.pla: 0351: BPL PWM_REP ; 3 - BPL PWM_REP ; 3 -; libsrc/apple/sndseq.pla: 0352: INY ; 2 - INY ; 2 -; libsrc/apple/sndseq.pla: 0353: BNE PWM_OUT ; 3 - BNE PWM_OUT ; 3 -; libsrc/apple/sndseq.pla: 0354: INC SRCH - INC SRCH -; libsrc/apple/sndseq.pla: 0355: DEC TMP - DEC TMP -; libsrc/apple/sndseq.pla: 0356: BNE PWM_OUT - BNE PWM_OUT -; libsrc/apple/sndseq.pla: 0357: PCMEX PLP -PCMEX PLP -; libsrc/apple/sndseq.pla: 0358: LDX ESP - LDX ESP -; libsrc/apple/sndseq.pla: 0359: INX - INX -; libsrc/apple/sndseq.pla: 0360: INX - INX -; libsrc/apple/sndseq.pla: 0361: RTS - RTS -; libsrc/apple/sndseq.pla: 0362: end -; libsrc/apple/sndseq.pla: 0363: asm a2keypressed -_P005 ; a2keypressed() -_A013 ; a2keypressed() -; libsrc/apple/sndseq.pla: 0364: INC $004E ; rndseed - INC $004E ; rndseed -; libsrc/apple/sndseq.pla: 0365: BNE + - BNE + -; libsrc/apple/sndseq.pla: 0366: INC $004F - INC $004F -; libsrc/apple/sndseq.pla: 0367: + DEX -+ DEX -; libsrc/apple/sndseq.pla: 0368: LDY #$00 - LDY #$00 -; libsrc/apple/sndseq.pla: 0369: BIT $C000 - BIT $C000 -; libsrc/apple/sndseq.pla: 0370: BPL + - BPL + -; libsrc/apple/sndseq.pla: 0371: DEY - DEY -; libsrc/apple/sndseq.pla: 0372: + STY ESTKL,X -+ STY ESTKL,X -; libsrc/apple/sndseq.pla: 0373: STY ESTKH,X - STY ESTKH,X -; libsrc/apple/sndseq.pla: 0374: end -; libsrc/apple/sndseq.pla: 0375: asm nopBackground#0 -_A014 ; nopBackground() -; libsrc/apple/sndseq.pla: 0376: RTS - RTS -; libsrc/apple/sndseq.pla: 0377: end -; libsrc/apple/sndseq.pla: 0378: def a3keypressed - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; a3keypressed() -; libsrc/apple/sndseq.pla: 0379: byte count - ; count -> [0] -; libsrc/apple/sndseq.pla: 0380: byte params[5] - ; params -> [1] -; libsrc/apple/sndseq.pla: 0381: -; libsrc/apple/sndseq.pla: 0382: params.0 = 3 - !BYTE $58,$06,$00 ; ENTER 6,0 -; libsrc/apple/sndseq.pla: 0383: params.1 = cmdsys.devcons -; libsrc/apple/sndseq.pla: 0384: params.2 = 5 -; libsrc/apple/sndseq.pla: 0385: params:3 = @count -; libsrc/apple/sndseq.pla: 0386: syscall($82, @params) -; libsrc/apple/sndseq.pla: 0387: return count - !BYTE $06 ; CN 3 - !BYTE $74,$01 ; SLB [1] - !BYTE $68 ; LAB _X000+20 -_F008 !WORD 0+20 - !BYTE $74,$02 ; SLB [2] - !BYTE $0A ; CN 5 - !BYTE $74,$03 ; SLB [3] - !BYTE $28,$00 ; LLA [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $2A,$82 ; CB 130 - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _X011 -_F009 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/sndseq.pla: 0388: end -; libsrc/apple/sndseq.pla: 0389: def a3spkrTone(pitch, duration)#0 - ; pitch -> [0] - ; duration -> [2] -_C001 ; a3spkrTone() -; libsrc/apple/sndseq.pla: 0390: byte env - ; env -> [4] -; libsrc/apple/sndseq.pla: 0391: -; libsrc/apple/sndseq.pla: 0392: env = ^ENV_REG - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sndseq.pla: 0393: ^ENV_REG = env | $C0 -; libsrc/apple/sndseq.pla: 0394: a2spkrTone(pitch, duration) -; libsrc/apple/sndseq.pla: 0395: ^ENV_REG = env -; libsrc/apple/sndseq.pla: 0396: end - !BYTE $68,$DF,$FF ; LAB 65503 - !BYTE $6C,$04 ; DLB [4] - !BYTE $3E,$C0 ; ORI 192 - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A009 -_F010 !WORD _A009 - !BYTE $64,$04 ; LLB [4] - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/sndseq.pla: 0397: def a3spkrPCM(samples, pagecnt)#0 - ; samples -> [0] - ; pagecnt -> [2] -_C002 ; a3spkrPCM() -; libsrc/apple/sndseq.pla: 0398: byte env - ; env -> [4] -; libsrc/apple/sndseq.pla: 0399: -; libsrc/apple/sndseq.pla: 0400: env = ^ENV_REG - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sndseq.pla: 0401: ^ENV_REG = env | $C0 -; libsrc/apple/sndseq.pla: 0402: a2spkrPCM(samples, pagecnt) -; libsrc/apple/sndseq.pla: 0403: ^ENV_REG = env -; libsrc/apple/sndseq.pla: 0404: end - !BYTE $68,$DF,$FF ; LAB 65503 - !BYTE $6C,$04 ; DLB [4] - !BYTE $3E,$C0 ; ORI 192 - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A010 -_F011 !WORD _A010 - !BYTE $64,$04 ; LLB [4] - !BYTE $78,$DF,$FF ; SAB 65503 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/sndseq.pla: 0405: // -; libsrc/apple/sndseq.pla: 0406: // Search slots for MockingBoard -; libsrc/apple/sndseq.pla: 0407: // -; libsrc/apple/sndseq.pla: 0408: def mbTicklePSG(pVIA) - ; pVIA -> [0] -_C003 ; mbTicklePSG() -; libsrc/apple/sndseq.pla: 0409: //puts("VIA address: $"); puth(pVIA); puts(" Timer Diff = "); puti(viaCheck(pVIA)); putln -; libsrc/apple/sndseq.pla: 0410: if viaCheck(pVIA) == 8 and viaCheck(pVIA) == 8 // Check twice - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sndseq.pla: 0411: pVIA->IER = $7F // Mask all interrupts -; libsrc/apple/sndseq.pla: 0412: //pVIA->ACR = $00 // Stop T1 countdown -; libsrc/apple/sndseq.pla: 0413: pVIA->DDRB = $FF // Output enable port A and B -; libsrc/apple/sndseq.pla: 0414: pVIA->DDRA = $FF -; libsrc/apple/sndseq.pla: 0415: pVIA->IORA = $00 // Reset MockingBoard -; libsrc/apple/sndseq.pla: 0416: //if pVIA->IORA == $00 -; libsrc/apple/sndseq.pla: 0417: pVIA->IORA = $04 // Inactive MockingBoard control lines -; libsrc/apple/sndseq.pla: 0418: //if pVIA->IORA == $04 -; libsrc/apple/sndseq.pla: 0419: // -; libsrc/apple/sndseq.pla: 0420: // At least we know we have some sort of R/W in the ROM -; libsrc/apple/sndseq.pla: 0421: // address space. Most likely a MockingBoard or John Bell -; libsrc/apple/sndseq.pla: 0422: // 6522 board. We will assume its a MockingBoard because -; libsrc/apple/sndseq.pla: 0423: // emulators fail the following PSG read test. -; libsrc/apple/sndseq.pla: 0424: // -; libsrc/apple/sndseq.pla: 0425: //psgWriteWord(pVIA, 2, $DA7E) -; libsrc/apple/sndseq.pla: 0426: //if mbReadP(pVIA, 2) == $7E and mbReadP(pVIA, 3) == $0A -; libsrc/apple/sndseq.pla: 0427: return pVIA - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F012 !WORD _A008 - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B001 - !WORD _B001-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F013 !WORD _A008 - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ -_B001 - !BYTE $4C ; BRFLS _B002 - !WORD _B002-* - !BYTE $2A,$7F ; CB 127 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0428: //fin -; libsrc/apple/sndseq.pla: 0429: //fin -; libsrc/apple/sndseq.pla: 0430: fin -_B002 -_B003 -; libsrc/apple/sndseq.pla: 0431: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0432: end -; libsrc/apple/sndseq.pla: 0433: def mbSearch(slot) - ; slot -> [0] -_C004 ; mbSearch() -; libsrc/apple/sndseq.pla: 0434: if slot >= 0 and slot <= 7 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sndseq.pla: 0435: if slot -; libsrc/apple/sndseq.pla: 0436: mbVIA1 = mbTicklePSG($C000 + (slot << 8)) -; libsrc/apple/sndseq.pla: 0437: if mbVIA1 -; libsrc/apple/sndseq.pla: 0438: mbVIA2 = mbTicklePSG(mbVIA1 + $80) -; libsrc/apple/sndseq.pla: 0439: return slot - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $66,$00 ; LLW [0] - !BYTE $0E ; CN 7 - !BYTE $4A ; ISLE -_B004 - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $66,$00 ; LLW [0] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C003 -_F014 !WORD _C003 - !BYTE $7E ; DAW _D064+0 -_F015 !WORD _D064+0 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D064+0 -_F016 !WORD _D064+0 - !BYTE $38,$80 ; ADDI 128 - !BYTE $54 ; CALL _C003 -_F017 !WORD _C003 - !BYTE $7A ; SAW _D065+0 -_F018 !WORD _D065+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0440: fin -_B009 -_B010 -; libsrc/apple/sndseq.pla: 0441: else - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; libsrc/apple/sndseq.pla: 0442: for slot = 1 to 7 - !BYTE $0E ; CN 7 - !BYTE $02 ; CN 1 -_B012 - !BYTE $6E,$00 ; DLW [0] -; libsrc/apple/sndseq.pla: 0443: if slot == 3 or slot == 6 -; libsrc/apple/sndseq.pla: 0444: continue - !BYTE $66,$00 ; LLW [0] - !BYTE $06 ; CN 3 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B014 - !WORD _B014-* - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $40 ; ISEQ -_B014 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -; libsrc/apple/sndseq.pla: 0445: fin -_B015 -_B016 -; libsrc/apple/sndseq.pla: 0446: mbVIA1 = mbTicklePSG($C000 + (slot << 8)) -; libsrc/apple/sndseq.pla: 0447: if mbVIA1 -; libsrc/apple/sndseq.pla: 0448: mbVIA2 = mbTicklePSG(mbVIA1 + $80) -; libsrc/apple/sndseq.pla: 0449: return slot - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $66,$00 ; LLW [0] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C003 -_F019 !WORD _C003 - !BYTE $7E ; DAW _D064+0 -_F020 !WORD _D064+0 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $6A ; LAW _D064+0 -_F021 !WORD _D064+0 - !BYTE $38,$80 ; ADDI 128 - !BYTE $54 ; CALL _C003 -_F022 !WORD _C003 - !BYTE $7A ; SAW _D065+0 -_F023 !WORD _D065+0 - !BYTE $32 ; DROP2 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0450: fin -_B017 -_B018 -; libsrc/apple/sndseq.pla: 0451: next -_B013 - !BYTE $A4 ; INCBRLE _B012 - !WORD _B012-* -_B011 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0452: fin -_B008 -; libsrc/apple/sndseq.pla: 0453: fin -_B005 -_B006 -; libsrc/apple/sndseq.pla: 0454: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0455: end -; libsrc/apple/sndseq.pla: 0456: def psgSetup(pVIA)#0 - ; pVIA -> [0] -_C005 ; psgSetup() -; libsrc/apple/sndseq.pla: 0457: psgWrite(pVIA, MIXER, $3F) // Turn everything off - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/sndseq.pla: 0458: psgWrite(pVIA, AENVAMP, $00) -; libsrc/apple/sndseq.pla: 0459: psgWrite(pVIA, BENVAMP, $00) -; libsrc/apple/sndseq.pla: 0460: psgWrite(pVIA, CENVAMP, $10) -; libsrc/apple/sndseq.pla: 0461: psgWrite(pVIA, NGFREQ, $01) -; libsrc/apple/sndseq.pla: 0462: psgWriteWord(pVIA, ENVPERIOD, $0001) -; libsrc/apple/sndseq.pla: 0463: psgWrite(pVIA, ENVSHAPE, $00) // Single decay -; libsrc/apple/sndseq.pla: 0464: psgWriteWord(pVIA, AFREQ, $0000) // Fast response to update -; libsrc/apple/sndseq.pla: 0465: psgWriteWord(pVIA, BFREQ, $0000) -; libsrc/apple/sndseq.pla: 0466: psgWriteWord(pVIA, CFREQ, $0000) -; libsrc/apple/sndseq.pla: 0467: psgWrite(pVIA, MIXER, $38) // Tone on C, B, A -; libsrc/apple/sndseq.pla: 0468: end - !BYTE $66,$00 ; LLW [0] - !BYTE $0E ; CN 7 - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A007 -_F024 !WORD _A007 - !BYTE $66,$00 ; LLW [0] - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F025 !WORD _A007 - !BYTE $66,$00 ; LLW [0] - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F026 !WORD _A007 - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _A007 -_F027 !WORD _A007 - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _A007 -_F028 !WORD _A007 - !BYTE $66,$00 ; LLW [0] - !BYTE $16 ; CN 11 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _A006 -_F029 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $1A ; CN 13 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F030 !WORD _A007 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A006 -_F031 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A006 -_F032 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A006 -_F033 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $0E ; CN 7 - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _A007 -_F034 !WORD _A007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/sndseq.pla: 0469: // -; libsrc/apple/sndseq.pla: 0470: // Sequence notes through MockingBoard -; libsrc/apple/sndseq.pla: 0471: // -; libsrc/apple/sndseq.pla: 0472: def mbSequence(yield, func)#0 - ; yield -> [0] - ; func -> [2] -_C006 ; mbSequence() -; libsrc/apple/sndseq.pla: 0473: word period, n, yieldTime - ; period -> [4] - ; n -> [6] - ; yieldTime -> [8] -; libsrc/apple/sndseq.pla: 0474: byte note, volume, channel, i, overflow, status, quit - ; note -> [10] - ; volume -> [11] - ; channel -> [12] - ; i -> [13] - ; overflow -> [14] - ; status -> [15] - ; quit -> [16] -; libsrc/apple/sndseq.pla: 0475: -; libsrc/apple/sndseq.pla: 0476: // -; libsrc/apple/sndseq.pla: 0477: // Reset oscillator table -; libsrc/apple/sndseq.pla: 0478: // -; libsrc/apple/sndseq.pla: 0479: indexA[0] = 0; indexA[1] = 0 - !BYTE $58,$11,$02 ; ENTER 17,2 -; libsrc/apple/sndseq.pla: 0480: indexB[0] = 1; indexB[1] = 1 -; libsrc/apple/sndseq.pla: 0481: indexC[0] = 2; indexC[1] = 2 -; libsrc/apple/sndseq.pla: 0482: noteA[0] = 0; noteA[1] = 0 -; libsrc/apple/sndseq.pla: 0483: noteB[0] = 0; noteB[1] = 0 -; libsrc/apple/sndseq.pla: 0484: noteC[0] = 0; noteC[1] = 0 -; libsrc/apple/sndseq.pla: 0485: // -; libsrc/apple/sndseq.pla: 0486: // Get the PSGs ready -; libsrc/apple/sndseq.pla: 0487: // -; libsrc/apple/sndseq.pla: 0488: status = getStatusReg -; libsrc/apple/sndseq.pla: 0489: disableInts -; libsrc/apple/sndseq.pla: 0490: mbVIA1->ACR = $40 // Continuous T1 interrupts -; libsrc/apple/sndseq.pla: 0491: mbVIA1=>T1L = $F9C2 // 16 Ints/sec -; libsrc/apple/sndseq.pla: 0492: mbVIA1=>T1C = $F9C2 // 16 Ints/sec -; libsrc/apple/sndseq.pla: 0493: mbVIA1->IFR = $40 // Clear interrupt -; libsrc/apple/sndseq.pla: 0494: mbVIA1->IER = $C0 // Enable Timer1 interrupt -; libsrc/apple/sndseq.pla: 0495: psgSetup(mbVIA1) -; libsrc/apple/sndseq.pla: 0496: if mbVIA2; psgSetup(mbVIA2); fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D051+0 -_F035 !WORD _D051+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D051+1 -_F036 !WORD _D051+1 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D052+0 -_F037 !WORD _D052+0 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D052+1 -_F038 !WORD _D052+1 - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D053+0 -_F039 !WORD _D053+0 - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D053+1 -_F040 !WORD _D053+1 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D054+0 -_F041 !WORD _D054+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D054+1 -_F042 !WORD _D054+1 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D055+0 -_F043 !WORD _D055+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D055+1 -_F044 !WORD _D055+1 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D056+0 -_F045 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D056+1 -_F046 !WORD _D056+1 - !BYTE $54 ; CALL _A001 -_F047 !WORD _A001 - !BYTE $74,$0F ; SLB [15] - !BYTE $54 ; CALL _A003 -_F048 !WORD _A003 - !BYTE $2A,$40 ; CB 64 - !BYTE $6A ; LAW _D064+0 -_F049 !WORD _D064+0 - !BYTE $38,$0B ; ADDI 11 - !BYTE $70 ; SB - !BYTE $2C,$C2,$F9 ; CW 63938 - !BYTE $6A ; LAW _D064+0 -_F050 !WORD _D064+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$C2,$F9 ; CW 63938 - !BYTE $6A ; LAW _D064+0 -_F051 !WORD _D064+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$40 ; CB 64 - !BYTE $6A ; LAW _D064+0 -_F052 !WORD _D064+0 - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $2A,$C0 ; CB 192 - !BYTE $6A ; LAW _D064+0 -_F053 !WORD _D064+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D064+0 -_F054 !WORD _D064+0 - !BYTE $54 ; CALL _C005 -_F055 !WORD _C005 - !BYTE $6A ; LAW _D065+0 -_F056 !WORD _D065+0 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $6A ; LAW _D065+0 -_F057 !WORD _D065+0 - !BYTE $54 ; CALL _C005 -_F058 !WORD _C005 -_B019 -_B020 -; libsrc/apple/sndseq.pla: 0497: overflow = 0 -; libsrc/apple/sndseq.pla: 0498: if yield and func -; libsrc/apple/sndseq.pla: 0499: yieldTime = seqTime + yield -; libsrc/apple/sndseq.pla: 0500: else - !BYTE $00 ; CN 0 - !BYTE $74,$0E ; SLB [14] - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B021 - !WORD _B021-* - !BYTE $66,$02 ; LLW [2] -_B021 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $6A ; LAW _D046+0 -_F059 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B023 - !WORD _B023-* -_B022 -; libsrc/apple/sndseq.pla: 0501: yieldTime = $7FFF -; libsrc/apple/sndseq.pla: 0502: fin - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $76,$08 ; SLW [8] -_B023 -; libsrc/apple/sndseq.pla: 0503: updateTime = seqTime -; libsrc/apple/sndseq.pla: 0504: quit = FALSE -; libsrc/apple/sndseq.pla: 0505: repeat - !BYTE $6A ; LAW _D046+0 -_F060 !WORD _D046+0 - !BYTE $7A ; SAW _D048+0 -_F061 !WORD _D048+0 - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B025 -; libsrc/apple/sndseq.pla: 0506: while eventTime == seqTime - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B027 -; libsrc/apple/sndseq.pla: 0507: note = seqEvent->percnote -; libsrc/apple/sndseq.pla: 0508: if note & $80 -; libsrc/apple/sndseq.pla: 0509: // -; libsrc/apple/sndseq.pla: 0510: // Note event -; libsrc/apple/sndseq.pla: 0511: // -; libsrc/apple/sndseq.pla: 0512: volume = seqEvent->perchanvol -; libsrc/apple/sndseq.pla: 0513: channel = (volume & mbVIA2.LSB) >> 7 // Clever - mbVIA2.0 will be $80 if it exists -; libsrc/apple/sndseq.pla: 0514: if volume & $0F -; libsrc/apple/sndseq.pla: 0515: // -; libsrc/apple/sndseq.pla: 0516: // Note on -; libsrc/apple/sndseq.pla: 0517: // -; libsrc/apple/sndseq.pla: 0518: for i = 0 to MAX_MBCH_NOTES-1 - !BYTE $6A ; LAW _D045+0 -_F062 !WORD _D045+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $6C,$0A ; DLB [10] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $6A ; LAW _D045+0 -_F063 !WORD _D045+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $6C,$0B ; DLB [11] - !BYTE $68 ; LAB _D065+0 -_F064 !WORD _D065+0 - !BYTE $94 ; AND - !BYTE $0E ; CN 7 - !BYTE $9C ; SHR - !BYTE $74,$0C ; SLB [12] - !BYTE $64,$0B ; LLB [11] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 -_B035 - !BYTE $6C,$0D ; DLB [13] -; libsrc/apple/sndseq.pla: 0519: // -; libsrc/apple/sndseq.pla: 0520: // Look for available slot in active note table -; libsrc/apple/sndseq.pla: 0521: // -; libsrc/apple/sndseq.pla: 0522: if !notes[channel, i].LSB //or notes[channel, i] == note -; libsrc/apple/sndseq.pla: 0523: break - !BYTE $26 ; LA _D059+0 -_F065 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B037 - !WORD _B037-* - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -; libsrc/apple/sndseq.pla: 0524: fin -_B037 -_B038 -; libsrc/apple/sndseq.pla: 0525: next -_B036 - !BYTE $A4 ; INCBRLE _B035 - !WORD _B035-* -_B034 - !BYTE $74,$0D ; SLB [13] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0526: // -; libsrc/apple/sndseq.pla: 0527: // Full note table, kick one out -; libsrc/apple/sndseq.pla: 0528: // -; libsrc/apple/sndseq.pla: 0529: if i == MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0530: i = overflow -; libsrc/apple/sndseq.pla: 0531: overflow = (overflow + 1) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0532: else - !BYTE $64,$0D ; LLB [13] - !BYTE $12 ; CN 9 - !BYTE $24 ; BRNE _B039 - !WORD _B039-* - !BYTE $64,$0E ; LLB [14] - !BYTE $74,$0D ; SLB [13] - !BYTE $64,$0E ; LLB [14] - !BYTE $8C ; INCR - !BYTE $12 ; CN 9 - !BYTE $8A ; MOD - !BYTE $74,$0E ; SLB [14] - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B039 -; libsrc/apple/sndseq.pla: 0533: numNotes++ - !BYTE $68 ; LAB _D049+0 -_F066 !WORD _D049+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0534: fin - !BYTE $78 ; SAB _D049+0 -_F067 !WORD _D049+0 -_B040 -; libsrc/apple/sndseq.pla: 0535: notes[channel, i] = note | (volume << 8) -; libsrc/apple/sndseq.pla: 0536: periods[channel, i] = mbOctave0[note & $0F] >> ((note >> 4) & $07) -; libsrc/apple/sndseq.pla: 0537: else - !BYTE $64,$0A ; LLB [10] - !BYTE $64,$0B ; LLB [11] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $26 ; LA _D059+0 -_F068 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $72 ; SW - !BYTE $26 ; LA _D068+0 -_F069 !WORD _D068+0 - !BYTE $64,$0A ; LLB [10] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $64,$0A ; LLB [10] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$07 ; ANDI 7 - !BYTE $9C ; SHR - !BYTE $26 ; LA _D062+0 -_F070 !WORD _D062+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -_B032 -; libsrc/apple/sndseq.pla: 0538: // -; libsrc/apple/sndseq.pla: 0539: // Note off -; libsrc/apple/sndseq.pla: 0540: // -; libsrc/apple/sndseq.pla: 0541: for i = 0 to MAX_MBCH_NOTES-1 - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 -_B042 - !BYTE $6C,$0D ; DLB [13] -; libsrc/apple/sndseq.pla: 0542: // -; libsrc/apple/sndseq.pla: 0543: // Remove from active note table -; libsrc/apple/sndseq.pla: 0544: // -; libsrc/apple/sndseq.pla: 0545: if notes[channel, i].LSB == note -; libsrc/apple/sndseq.pla: 0546: notes[channel, i] = 0 -; libsrc/apple/sndseq.pla: 0547: numNotes-- - !BYTE $26 ; LA _D059+0 -_F071 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $60 ; LB - !BYTE $64,$0A ; LLB [10] - !BYTE $24 ; BRNE _B044 - !WORD _B044-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D059+0 -_F072 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $72 ; SW - !BYTE $68 ; LAB _D049+0 -_F073 !WORD _D049+0 - !BYTE $8E ; DECR -; libsrc/apple/sndseq.pla: 0548: break - !BYTE $78 ; SAB _D049+0 -_F074 !WORD _D049+0 - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; libsrc/apple/sndseq.pla: 0549: fin -_B044 -_B045 -; libsrc/apple/sndseq.pla: 0550: next -_B043 - !BYTE $A4 ; INCBRLE _B042 - !WORD _B042-* -_B041 - !BYTE $74,$0D ; SLB [13] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0551: fin -_B033 -; libsrc/apple/sndseq.pla: 0552: updateTime = seqTime -; libsrc/apple/sndseq.pla: 0553: else - !BYTE $6A ; LAW _D046+0 -_F075 !WORD _D046+0 - !BYTE $7A ; SAW _D048+0 -_F076 !WORD _D048+0 - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B030 -; libsrc/apple/sndseq.pla: 0554: // -; libsrc/apple/sndseq.pla: 0555: // Percussion event -; libsrc/apple/sndseq.pla: 0556: // -; libsrc/apple/sndseq.pla: 0557: period = seqEvent->perchanvol -; libsrc/apple/sndseq.pla: 0558: if period -; libsrc/apple/sndseq.pla: 0559: if (period & $80) -; libsrc/apple/sndseq.pla: 0560: psgWrite(mbVIA1, MIXER, $1C) // NG on C, Tone on B, A -; libsrc/apple/sndseq.pla: 0561: psgWrite(mbVIA1, CENVAMP, $10) -; libsrc/apple/sndseq.pla: 0562: psgWrite(mbVIA1, ENVSHAPE, (note >> 4) & $04) -; libsrc/apple/sndseq.pla: 0563: psgWrite(mbVIA1, NGFREQ, (note >> 1) & $1F) -; libsrc/apple/sndseq.pla: 0564: psgWrite(mbVIA1, ENVPERIOD+1, period & $7F) -; libsrc/apple/sndseq.pla: 0565: elsif mbVIA2 - !BYTE $6A ; LAW _D045+0 -_F077 !WORD _D045+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $6A ; LAW _D064+0 -_F078 !WORD _D064+0 - !BYTE $0E ; CN 7 - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _A007 -_F079 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F080 !WORD _D064+0 - !BYTE $14 ; CN 10 - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _A007 -_F081 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F082 !WORD _D064+0 - !BYTE $1A ; CN 13 - !BYTE $64,$0A ; LLB [10] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$04 ; ANDI 4 - !BYTE $54 ; CALL _A007 -_F083 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F084 !WORD _D064+0 - !BYTE $0C ; CN 6 - !BYTE $64,$0A ; LLB [10] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $3C,$1F ; ANDI 31 - !BYTE $54 ; CALL _A007 -_F085 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F086 !WORD _D064+0 - !BYTE $18 ; CN 12 - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $54 ; CALL _A007 -_F087 !WORD _A007 - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 -; libsrc/apple/sndseq.pla: 0566: psgWrite(mbVIA2, MIXER, $1C) // NG on C, Tone on B, A -; libsrc/apple/sndseq.pla: 0567: psgWrite(mbVIA2, CENVAMP, $10) -; libsrc/apple/sndseq.pla: 0568: psgWrite(mbVIA2, ENVSHAPE, (note >> 4) & $04) -; libsrc/apple/sndseq.pla: 0569: psgWrite(mbVIA2, NGFREQ, (note >> 1) & $1F) -; libsrc/apple/sndseq.pla: 0570: psgWrite(mbVIA2, ENVPERIOD+1, period) -; libsrc/apple/sndseq.pla: 0571: fin - !BYTE $6A ; LAW _D065+0 -_F088 !WORD _D065+0 - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* - !BYTE $6A ; LAW _D065+0 -_F089 !WORD _D065+0 - !BYTE $0E ; CN 7 - !BYTE $2A,$1C ; CB 28 - !BYTE $54 ; CALL _A007 -_F090 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F091 !WORD _D065+0 - !BYTE $14 ; CN 10 - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _A007 -_F092 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F093 !WORD _D065+0 - !BYTE $1A ; CN 13 - !BYTE $64,$0A ; LLB [10] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$04 ; ANDI 4 - !BYTE $54 ; CALL _A007 -_F094 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F095 !WORD _D065+0 - !BYTE $0C ; CN 6 - !BYTE $64,$0A ; LLB [10] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $3C,$1F ; ANDI 31 - !BYTE $54 ; CALL _A007 -_F096 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F097 !WORD _D065+0 - !BYTE $18 ; CN 12 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A007 -_F098 !WORD _A007 -_B050 -_B049 -; libsrc/apple/sndseq.pla: 0572: else - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 -; libsrc/apple/sndseq.pla: 0573: if seqRepeat -; libsrc/apple/sndseq.pla: 0574: // -; libsrc/apple/sndseq.pla: 0575: // Reset sequence -; libsrc/apple/sndseq.pla: 0576: // -; libsrc/apple/sndseq.pla: 0577: musicPlay(seqTrack, TRUE) -; libsrc/apple/sndseq.pla: 0578: seqTime = -1 // Offset seqTime++ later -; libsrc/apple/sndseq.pla: 0579: else - !BYTE $68 ; LAB _D050+0 -_F099 !WORD _D050+0 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $6A ; LAW _D044+0 -_F100 !WORD _D044+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _P000 -_F101 !WORD _P000 - !BYTE $20 ; MINUS ONE - !BYTE $7A ; SAW _D046+0 -_F102 !WORD _D046+0 - !BYTE $50 ; BRNCH _B052 - !WORD _B052-* -_B051 -; libsrc/apple/sndseq.pla: 0580: musicStop -; libsrc/apple/sndseq.pla: 0581: fin - !BYTE $54 ; CALL _P001 -_F103 !WORD _P001 -_B052 -; libsrc/apple/sndseq.pla: 0582: quit = TRUE // Exit out -; libsrc/apple/sndseq.pla: 0583: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -; libsrc/apple/sndseq.pla: 0584: fin -_B047 -; libsrc/apple/sndseq.pla: 0585: fin -_B031 -; libsrc/apple/sndseq.pla: 0586: // -; libsrc/apple/sndseq.pla: 0587: // Next event -; libsrc/apple/sndseq.pla: 0588: // -; libsrc/apple/sndseq.pla: 0589: seqEvent = seqEvent + t_event -; libsrc/apple/sndseq.pla: 0590: eventTime = seqEvent->deltatime + eventTime -; libsrc/apple/sndseq.pla: 0591: loop - !BYTE $6A ; LAW _D045+0 -_F104 !WORD _D045+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7E ; DAW _D045+0 -_F105 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $B6 ; ADDAW _D047+0 -_F106 !WORD _D047+0 - !BYTE $7A ; SAW _D047+0 -_F107 !WORD _D047+0 -_B029 - !BYTE $6A ; LAW _D047+0 -_F108 !WORD _D047+0 - !BYTE $6A ; LAW _D046+0 -_F109 !WORD _D046+0 - !BYTE $22 ; BREQ _B027 - !WORD _B027-* -_B028 -; libsrc/apple/sndseq.pla: 0592: if updateTime <= seqTime -; libsrc/apple/sndseq.pla: 0593: // -; libsrc/apple/sndseq.pla: 0594: // Time slice active note tables (arpeggio) -; libsrc/apple/sndseq.pla: 0595: // -; libsrc/apple/sndseq.pla: 0596: for channel = 0 to 1 - !BYTE $6A ; LAW _D048+0 -_F110 !WORD _D048+0 - !BYTE $6A ; LAW _D046+0 -_F111 !WORD _D046+0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B053 - !WORD _B053-* - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 -_B056 - !BYTE $6C,$0C ; DLB [12] -; libsrc/apple/sndseq.pla: 0597: // -; libsrc/apple/sndseq.pla: 0598: // Multiplex oscillator A -; libsrc/apple/sndseq.pla: 0599: // -; libsrc/apple/sndseq.pla: 0600: i = indexA[channel] -; libsrc/apple/sndseq.pla: 0601: repeat - !BYTE $26 ; LA _D051+0 -_F112 !WORD _D051+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $74,$0D ; SLB [13] -_B059 -; libsrc/apple/sndseq.pla: 0602: i = (i + 3) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0603: n = notes[channel, i] -; libsrc/apple/sndseq.pla: 0604: if n // Non-zero volume -; libsrc/apple/sndseq.pla: 0605: break - !BYTE $64,$0D ; LLB [13] - !BYTE $38,$03 ; ADDI 3 - !BYTE $12 ; CN 9 - !BYTE $8A ; MOD - !BYTE $74,$0D ; SLB [13] - !BYTE $26 ; LA _D059+0 -_F113 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B061 - !WORD _B061-* - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; libsrc/apple/sndseq.pla: 0606: fin -_B061 -_B062 -; libsrc/apple/sndseq.pla: 0607: until i == indexA[channel] -_B060 - !BYTE $64,$0D ; LLB [13] - !BYTE $26 ; LA _D051+0 -_F114 !WORD _D051+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B059 - !WORD _B059-* -_B058 -; libsrc/apple/sndseq.pla: 0608: if n.LSB <> noteA[channel] -; libsrc/apple/sndseq.pla: 0609: psgWriteTone(mbVIAs[channel], AFREQ, periods[channel, i], n.MSB) -; libsrc/apple/sndseq.pla: 0610: noteA[channel] = n.LSB -; libsrc/apple/sndseq.pla: 0611: indexA[channel] = i -; libsrc/apple/sndseq.pla: 0612: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $26 ; LA _D054+0 -_F115 !WORD _D054+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B063 - !WORD _B063-* - !BYTE $26 ; LA _D063+0 -_F116 !WORD _D063+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D062+0 -_F117 !WORD _D062+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $62 ; LW - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A005 -_F118 !WORD _A005 - !BYTE $64,$06 ; LLB [6] - !BYTE $26 ; LA _D054+0 -_F119 !WORD _D054+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $64,$0D ; LLB [13] - !BYTE $26 ; LA _D051+0 -_F120 !WORD _D051+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B063 -_B064 -; libsrc/apple/sndseq.pla: 0613: // -; libsrc/apple/sndseq.pla: 0614: // Multiplex oscillator B -; libsrc/apple/sndseq.pla: 0615: // -; libsrc/apple/sndseq.pla: 0616: i = indexB[channel] -; libsrc/apple/sndseq.pla: 0617: repeat - !BYTE $26 ; LA _D052+0 -_F121 !WORD _D052+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $74,$0D ; SLB [13] -_B066 -; libsrc/apple/sndseq.pla: 0618: i = (i + 3) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0619: n = notes[channel, i] -; libsrc/apple/sndseq.pla: 0620: if n // Non-zero volume -; libsrc/apple/sndseq.pla: 0621: break - !BYTE $64,$0D ; LLB [13] - !BYTE $38,$03 ; ADDI 3 - !BYTE $12 ; CN 9 - !BYTE $8A ; MOD - !BYTE $74,$0D ; SLB [13] - !BYTE $26 ; LA _D059+0 -_F122 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -; libsrc/apple/sndseq.pla: 0622: fin -_B068 -_B069 -; libsrc/apple/sndseq.pla: 0623: until i == indexB[channel] -_B067 - !BYTE $64,$0D ; LLB [13] - !BYTE $26 ; LA _D052+0 -_F123 !WORD _D052+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B066 - !WORD _B066-* -_B065 -; libsrc/apple/sndseq.pla: 0624: if n.LSB <> noteB[channel] -; libsrc/apple/sndseq.pla: 0625: psgWriteTone(mbVIAs[channel], BFREQ, periods[channel, i], n.MSB) -; libsrc/apple/sndseq.pla: 0626: noteB[channel] = n.LSB -; libsrc/apple/sndseq.pla: 0627: indexB[channel] = i -; libsrc/apple/sndseq.pla: 0628: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $26 ; LA _D055+0 -_F124 !WORD _D055+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B070 - !WORD _B070-* - !BYTE $26 ; LA _D063+0 -_F125 !WORD _D063+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _D062+0 -_F126 !WORD _D062+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $62 ; LW - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A005 -_F127 !WORD _A005 - !BYTE $64,$06 ; LLB [6] - !BYTE $26 ; LA _D055+0 -_F128 !WORD _D055+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $64,$0D ; LLB [13] - !BYTE $26 ; LA _D052+0 -_F129 !WORD _D052+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B070 -_B071 -; libsrc/apple/sndseq.pla: 0629: // -; libsrc/apple/sndseq.pla: 0630: // Multiplex oscillator C -; libsrc/apple/sndseq.pla: 0631: // -; libsrc/apple/sndseq.pla: 0632: i = indexC[channel] -; libsrc/apple/sndseq.pla: 0633: repeat - !BYTE $26 ; LA _D053+0 -_F130 !WORD _D053+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $74,$0D ; SLB [13] -_B073 -; libsrc/apple/sndseq.pla: 0634: i = (i + 3) % MAX_MBCH_NOTES -; libsrc/apple/sndseq.pla: 0635: n = notes[channel, i] -; libsrc/apple/sndseq.pla: 0636: if n // Non-zero volume -; libsrc/apple/sndseq.pla: 0637: break - !BYTE $64,$0D ; LLB [13] - !BYTE $38,$03 ; ADDI 3 - !BYTE $12 ; CN 9 - !BYTE $8A ; MOD - !BYTE $74,$0D ; SLB [13] - !BYTE $26 ; LA _D059+0 -_F131 !WORD _D059+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -; libsrc/apple/sndseq.pla: 0638: fin -_B075 -_B076 -; libsrc/apple/sndseq.pla: 0639: until i == indexC[channel] -_B074 - !BYTE $64,$0D ; LLB [13] - !BYTE $26 ; LA _D053+0 -_F132 !WORD _D053+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B073 - !WORD _B073-* -_B072 -; libsrc/apple/sndseq.pla: 0640: if n.LSB <> noteC[channel] -; libsrc/apple/sndseq.pla: 0641: psgWrite(mbVIAs[channel], MIXER, $38) // Tone on C, B, A -; libsrc/apple/sndseq.pla: 0642: psgWriteTone(mbVIAs[channel], CFREQ, periods[channel, i], n.MSB) -; libsrc/apple/sndseq.pla: 0643: noteC[channel] = n.LSB -; libsrc/apple/sndseq.pla: 0644: indexC[channel] = i -; libsrc/apple/sndseq.pla: 0645: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $26 ; LA _D056+0 -_F133 !WORD _D056+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B077 - !WORD _B077-* - !BYTE $26 ; LA _D063+0 -_F134 !WORD _D063+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $0E ; CN 7 - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _A007 -_F135 !WORD _A007 - !BYTE $26 ; LA _D063+0 -_F136 !WORD _D063+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $08 ; CN 4 - !BYTE $26 ; LA _D062+0 -_F137 !WORD _D062+0 - !BYTE $B8,$0C ; IDXLB [12] - !BYTE $62 ; LW - !BYTE $B8,$0D ; IDXLB [13] - !BYTE $62 ; LW - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A005 -_F138 !WORD _A005 - !BYTE $64,$06 ; LLB [6] - !BYTE $26 ; LA _D056+0 -_F139 !WORD _D056+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $64,$0D ; LLB [13] - !BYTE $26 ; LA _D053+0 -_F140 !WORD _D053+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B077 -_B078 -; libsrc/apple/sndseq.pla: 0646: next -_B057 - !BYTE $A4 ; INCBRLE _B056 - !WORD _B056-* -_B055 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0647: updateTime = seqTime + MB_ARPEGGIO - (numNotes >> 2) -; libsrc/apple/sndseq.pla: 0648: fin - !BYTE $6A ; LAW _D046+0 -_F141 !WORD _D046+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $68 ; LAB _D049+0 -_F142 !WORD _D049+0 - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D048+0 -_F143 !WORD _D048+0 -_B053 -_B054 -; libsrc/apple/sndseq.pla: 0649: // -; libsrc/apple/sndseq.pla: 0650: // Increment time tick -; libsrc/apple/sndseq.pla: 0651: // -; libsrc/apple/sndseq.pla: 0652: seqTime++ - !BYTE $6A ; LAW _D046+0 -_F144 !WORD _D046+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0653: while !(mbVIA1->IFR & $40) // Wait for T1 interrupt - !BYTE $7A ; SAW _D046+0 -_F145 !WORD _D046+0 - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B079 -; libsrc/apple/sndseq.pla: 0654: if a2keypressed(); quit = TRUE; break; fin - !BYTE $54 ; CALL _A013 -_F146 !WORD _A013 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$10 ; SLB [16] - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B082 -_B083 -; libsrc/apple/sndseq.pla: 0655: loop -_B081 - !BYTE $6A ; LAW _D064+0 -_F147 !WORD _D064+0 - !BYTE $38,$0D ; ADDI 13 - !BYTE $60 ; LB - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* -_B080 -; libsrc/apple/sndseq.pla: 0656: mbVIA1->IFR = $40 // Clear interrupt -; libsrc/apple/sndseq.pla: 0657: if yieldTime <= seqTime; func()#0; yieldTime = seqTime + yield; fin - !BYTE $2A,$40 ; CB 64 - !BYTE $6A ; LAW _D064+0 -_F148 !WORD _D064+0 - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D046+0 -_F149 !WORD _D046+0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $66,$02 ; LLW [2] - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _D046+0 -_F150 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$08 ; SLW [8] -_B084 -_B085 -; libsrc/apple/sndseq.pla: 0658: until quit -_B026 - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* -_B024 -; libsrc/apple/sndseq.pla: 0659: psgWrite(mbVIA1, MIXER, $FF) // Turn everything off -; libsrc/apple/sndseq.pla: 0660: psgWrite(mbVIA1, AENVAMP, $00) -; libsrc/apple/sndseq.pla: 0661: psgWrite(mbVIA1, BENVAMP, $00) -; libsrc/apple/sndseq.pla: 0662: psgWrite(mbVIA1, CENVAMP, $00) -; libsrc/apple/sndseq.pla: 0663: if mbVIA2 -; libsrc/apple/sndseq.pla: 0664: psgWrite(mbVIA2, MIXER, $FF) -; libsrc/apple/sndseq.pla: 0665: psgWrite(mbVIA2, AENVAMP, $00) -; libsrc/apple/sndseq.pla: 0666: psgWrite(mbVIA2, BENVAMP, $00) -; libsrc/apple/sndseq.pla: 0667: psgWrite(mbVIA2, CENVAMP, $00) -; libsrc/apple/sndseq.pla: 0668: fin - !BYTE $6A ; LAW _D064+0 -_F151 !WORD _D064+0 - !BYTE $0E ; CN 7 - !BYTE $2A,$FF ; CB 255 - !BYTE $54 ; CALL _A007 -_F152 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F153 !WORD _D064+0 - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F154 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F155 !WORD _D064+0 - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F156 !WORD _A007 - !BYTE $6A ; LAW _D064+0 -_F157 !WORD _D064+0 - !BYTE $14 ; CN 10 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F158 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F159 !WORD _D065+0 - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $6A ; LAW _D065+0 -_F160 !WORD _D065+0 - !BYTE $0E ; CN 7 - !BYTE $2A,$FF ; CB 255 - !BYTE $54 ; CALL _A007 -_F161 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F162 !WORD _D065+0 - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F163 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F164 !WORD _D065+0 - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F165 !WORD _A007 - !BYTE $6A ; LAW _D065+0 -_F166 !WORD _D065+0 - !BYTE $14 ; CN 10 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A007 -_F167 !WORD _A007 -_B086 -_B087 -; libsrc/apple/sndseq.pla: 0669: //mbVIA1->ACR = $00 // Stop T1 countdown -; libsrc/apple/sndseq.pla: 0670: mbVIA1->IER = $7F // Mask all interrupts -; libsrc/apple/sndseq.pla: 0671: mbVIA1->IFR = $40 // Clear interrupt -; libsrc/apple/sndseq.pla: 0672: setStatusReg(status) -; libsrc/apple/sndseq.pla: 0673: end - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _D064+0 -_F168 !WORD _D064+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $2A,$40 ; CB 64 - !BYTE $6A ; LAW _D064+0 -_F169 !WORD _D064+0 - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $54 ; CALL _A002 -_F170 !WORD _A002 - !BYTE $5A,$11 ; LEAVE 17 -; libsrc/apple/sndseq.pla: 0674: // -; libsrc/apple/sndseq.pla: 0675: // Sequence notes through Apple II speaker -; libsrc/apple/sndseq.pla: 0676: // -; libsrc/apple/sndseq.pla: 0677: def spkrSequence(yield, func)#0 - ; yield -> [0] - ; func -> [2] -_P002 ; spkrSequence(yield, func)#0() -_C007 ; spkrSequence() -; libsrc/apple/sndseq.pla: 0678: word period, duration, yieldTime - ; period -> [4] - ; duration -> [6] - ; yieldTime -> [8] -; libsrc/apple/sndseq.pla: 0679: byte note, i, n, overflow - ; note -> [10] - ; i -> [11] - ; n -> [12] - ; overflow -> [13] -; libsrc/apple/sndseq.pla: 0680: -; libsrc/apple/sndseq.pla: 0681: // -; libsrc/apple/sndseq.pla: 0682: // Start sequencing -; libsrc/apple/sndseq.pla: 0683: // -; libsrc/apple/sndseq.pla: 0684: overflow = 0 - !BYTE $58,$0E,$02 ; ENTER 14,2 -; libsrc/apple/sndseq.pla: 0685: if yield and func -; libsrc/apple/sndseq.pla: 0686: yieldTime = seqTime + yield -; libsrc/apple/sndseq.pla: 0687: else - !BYTE $00 ; CN 0 - !BYTE $74,$0D ; SLB [13] - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B088 - !WORD _B088-* - !BYTE $66,$02 ; LLW [2] -_B088 - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $6A ; LAW _D046+0 -_F171 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B090 - !WORD _B090-* -_B089 -; libsrc/apple/sndseq.pla: 0688: yieldTime = $7FFF -; libsrc/apple/sndseq.pla: 0689: fin - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $76,$08 ; SLW [8] -_B090 -; libsrc/apple/sndseq.pla: 0690: updateTime = seqTime -; libsrc/apple/sndseq.pla: 0691: repeat - !BYTE $6A ; LAW _D046+0 -_F172 !WORD _D046+0 - !BYTE $7A ; SAW _D048+0 -_F173 !WORD _D048+0 -_B092 -; libsrc/apple/sndseq.pla: 0692: while eventTime == seqTime - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B094 -; libsrc/apple/sndseq.pla: 0693: note = seqEvent->percnote -; libsrc/apple/sndseq.pla: 0694: if note & $80 -; libsrc/apple/sndseq.pla: 0695: // -; libsrc/apple/sndseq.pla: 0696: // Note event -; libsrc/apple/sndseq.pla: 0697: // -; libsrc/apple/sndseq.pla: 0698: if seqEvent->perchanvol & $0F -; libsrc/apple/sndseq.pla: 0699: // -; libsrc/apple/sndseq.pla: 0700: // Note on -; libsrc/apple/sndseq.pla: 0701: // -; libsrc/apple/sndseq.pla: 0702: for i = 0 to MAX_SPKR_NOTES-1 - !BYTE $6A ; LAW _D045+0 -_F174 !WORD _D045+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $6C,$0A ; DLB [10] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $6A ; LAW _D045+0 -_F175 !WORD _D045+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B102 - !BYTE $6C,$0B ; DLB [11] -; libsrc/apple/sndseq.pla: 0703: // -; libsrc/apple/sndseq.pla: 0704: // Look for available slot in active note table -; libsrc/apple/sndseq.pla: 0705: // -; libsrc/apple/sndseq.pla: 0706: if !notes1[i] or note == notes1[i] -; libsrc/apple/sndseq.pla: 0707: break - !BYTE $26 ; LA _D057+0 -_F176 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B104 - !WORD _B104-* - !BYTE $64,$0A ; LLB [10] - !BYTE $26 ; LA _D057+0 -_F177 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B104 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $50 ; BRNCH _B101 - !WORD _B101-* -; libsrc/apple/sndseq.pla: 0708: fin -_B105 -_B106 -; libsrc/apple/sndseq.pla: 0709: next -_B103 - !BYTE $A4 ; INCBRLE _B102 - !WORD _B102-* -_B101 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0710: if i == MAX_SPKR_NOTES -; libsrc/apple/sndseq.pla: 0711: // -; libsrc/apple/sndseq.pla: 0712: // Full note table, kick one out -; libsrc/apple/sndseq.pla: 0713: // -; libsrc/apple/sndseq.pla: 0714: overflow = (overflow + 1) & (MAX_SPKR_NOTES-1) -; libsrc/apple/sndseq.pla: 0715: i = overflow -; libsrc/apple/sndseq.pla: 0716: elsif !notes1[i] - !BYTE $64,$0B ; LLB [11] - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B107 - !WORD _B107-* - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR - !BYTE $3C,$03 ; ANDI 3 - !BYTE $6C,$0D ; DLB [13] - !BYTE $74,$0B ; SLB [11] - !BYTE $50 ; BRNCH _B108 - !WORD _B108-* -_B107 -; libsrc/apple/sndseq.pla: 0717: // -; libsrc/apple/sndseq.pla: 0718: // Add new note -; libsrc/apple/sndseq.pla: 0719: // -; libsrc/apple/sndseq.pla: 0720: numNotes++ - !BYTE $26 ; LA _D057+0 -_F178 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B109 - !WORD _B109-* - !BYTE $68 ; LAB _D049+0 -_F179 !WORD _D049+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0721: fin - !BYTE $78 ; SAB _D049+0 -_F180 !WORD _D049+0 -_B109 -_B108 -; libsrc/apple/sndseq.pla: 0722: notes1[i] = note -; libsrc/apple/sndseq.pla: 0723: periods1[i] = spkrOctave0[note & $0F] >> ((note >> 4) & $07) -; libsrc/apple/sndseq.pla: 0724: else - !BYTE $64,$0A ; LLB [10] - !BYTE $26 ; LA _D057+0 -_F181 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $72 ; SW - !BYTE $26 ; LA _D067+0 -_F182 !WORD _D067+0 - !BYTE $64,$0A ; LLB [10] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $64,$0A ; LLB [10] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$07 ; ANDI 7 - !BYTE $9C ; SHR - !BYTE $26 ; LA _D060+0 -_F183 !WORD _D060+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -_B099 -; libsrc/apple/sndseq.pla: 0725: // -; libsrc/apple/sndseq.pla: 0726: // Note off -; libsrc/apple/sndseq.pla: 0727: // -; libsrc/apple/sndseq.pla: 0728: for i = 0 to MAX_SPKR_NOTES-1 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B111 - !BYTE $6C,$0B ; DLB [11] -; libsrc/apple/sndseq.pla: 0729: // -; libsrc/apple/sndseq.pla: 0730: // Remove from active note table -; libsrc/apple/sndseq.pla: 0731: // -; libsrc/apple/sndseq.pla: 0732: if notes1[i] == note -; libsrc/apple/sndseq.pla: 0733: notes1[i] = 0 -; libsrc/apple/sndseq.pla: 0734: numNotes-- - !BYTE $26 ; LA _D057+0 -_F184 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $64,$0A ; LLB [10] - !BYTE $24 ; BRNE _B113 - !WORD _B113-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D057+0 -_F185 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $72 ; SW - !BYTE $68 ; LAB _D049+0 -_F186 !WORD _D049+0 - !BYTE $8E ; DECR -; libsrc/apple/sndseq.pla: 0735: break - !BYTE $78 ; SAB _D049+0 -_F187 !WORD _D049+0 - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -; libsrc/apple/sndseq.pla: 0736: fin -_B113 -_B114 -; libsrc/apple/sndseq.pla: 0737: next -_B112 - !BYTE $A4 ; INCBRLE _B111 - !WORD _B111-* -_B110 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0738: fin -_B100 -; libsrc/apple/sndseq.pla: 0739: else - !BYTE $50 ; BRNCH _B098 - !WORD _B098-* -_B097 -; libsrc/apple/sndseq.pla: 0740: // -; libsrc/apple/sndseq.pla: 0741: // Percussion event -; libsrc/apple/sndseq.pla: 0742: // -; libsrc/apple/sndseq.pla: 0743: if seqEvent->perchanvol -; libsrc/apple/sndseq.pla: 0744: //pcmPlay($D000, 0, 64) // Play some random sample as percussion -; libsrc/apple/sndseq.pla: 0745: else - !BYTE $6A ; LAW _D045+0 -_F188 !WORD _D045+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $50 ; BRNCH _B116 - !WORD _B116-* -_B115 -; libsrc/apple/sndseq.pla: 0746: if seqRepeat -; libsrc/apple/sndseq.pla: 0747: musicPlay(seqTrack, TRUE) -; libsrc/apple/sndseq.pla: 0748: else - !BYTE $68 ; LAB _D050+0 -_F189 !WORD _D050+0 - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $6A ; LAW _D044+0 -_F190 !WORD _D044+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _P000 -_F191 !WORD _P000 - !BYTE $50 ; BRNCH _B118 - !WORD _B118-* -_B117 -; libsrc/apple/sndseq.pla: 0749: musicStop -; libsrc/apple/sndseq.pla: 0750: fin - !BYTE $54 ; CALL _P001 -_F192 !WORD _P001 -_B118 -; libsrc/apple/sndseq.pla: 0751: return - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/sndseq.pla: 0752: fin -_B116 -; libsrc/apple/sndseq.pla: 0753: fin -_B098 -; libsrc/apple/sndseq.pla: 0754: // -; libsrc/apple/sndseq.pla: 0755: // Next event -; libsrc/apple/sndseq.pla: 0756: // -; libsrc/apple/sndseq.pla: 0757: seqEvent = seqEvent + t_event -; libsrc/apple/sndseq.pla: 0758: eventTime = eventTime + seqEvent->deltatime -; libsrc/apple/sndseq.pla: 0759: loop - !BYTE $6A ; LAW _D045+0 -_F193 !WORD _D045+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D045+0 -_F194 !WORD _D045+0 - !BYTE $6A ; LAW _D047+0 -_F195 !WORD _D047+0 - !BYTE $6A ; LAW _D045+0 -_F196 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D047+0 -_F197 !WORD _D047+0 -_B096 - !BYTE $6A ; LAW _D047+0 -_F198 !WORD _D047+0 - !BYTE $6A ; LAW _D046+0 -_F199 !WORD _D046+0 - !BYTE $22 ; BREQ _B094 - !WORD _B094-* -_B095 -; libsrc/apple/sndseq.pla: 0760: if numNotes > 1 -; libsrc/apple/sndseq.pla: 0761: for i = 0 to MAX_SPKR_NOTES-1 - !BYTE $68 ; LAB _D049+0 -_F200 !WORD _D049+0 - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B122 - !BYTE $6C,$0B ; DLB [11] -; libsrc/apple/sndseq.pla: 0762: if notes1[i] -; libsrc/apple/sndseq.pla: 0763: tonePlay(periods1[i], arpeggioDuration[numNotes])#0 -; libsrc/apple/sndseq.pla: 0764: fin - !BYTE $26 ; LA _D057+0 -_F201 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B124 - !WORD _B124-* - !BYTE $26 ; LA _D060+0 -_F202 !WORD _D060+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $26 ; LA _D069+0 -_F203 !WORD _D069+0 - !BYTE $BC ; IDXAB _D049+0 -_F204 !WORD _D049+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D040+0 -_F205 !WORD _D040+0 - !BYTE $56 ; ICAL -_B124 -_B125 -; libsrc/apple/sndseq.pla: 0765: next -_B123 - !BYTE $A4 ; INCBRLE _B122 - !WORD _B122-* -_B121 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0766: seqTime++ - !BYTE $6A ; LAW _D046+0 -_F206 !WORD _D046+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0767: else - !BYTE $7A ; SAW _D046+0 -_F207 !WORD _D046+0 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B119 -; libsrc/apple/sndseq.pla: 0768: period = 0 -; libsrc/apple/sndseq.pla: 0769: for i = 0 to MAX_SPKR_NOTES-1 - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B127 - !BYTE $6C,$0B ; DLB [11] -; libsrc/apple/sndseq.pla: 0770: if notes1[i] -; libsrc/apple/sndseq.pla: 0771: period = periods1[i] -; libsrc/apple/sndseq.pla: 0772: break; - !BYTE $26 ; LA _D057+0 -_F208 !WORD _D057+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B129 - !WORD _B129-* - !BYTE $26 ; LA _D060+0 -_F209 !WORD _D060+0 - !BYTE $B8,$0B ; IDXLB [11] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -; libsrc/apple/sndseq.pla: 0773: fin -_B129 -_B130 -; libsrc/apple/sndseq.pla: 0774: next -_B128 - !BYTE $A4 ; INCBRLE _B127 - !WORD _B127-* -_B126 - !BYTE $74,$0B ; SLB [11] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0775: duration = eventTime - seqTime -; libsrc/apple/sndseq.pla: 0776: seqTime = duration + seqTime -; libsrc/apple/sndseq.pla: 0777: tonePlay(period, DUR16TH * duration)#0 -; libsrc/apple/sndseq.pla: 0778: fin - !BYTE $6A ; LAW _D047+0 -_F210 !WORD _D047+0 - !BYTE $6A ; LAW _D046+0 -_F211 !WORD _D046+0 - !BYTE $84 ; SUB - !BYTE $6E,$06 ; DLW [6] - !BYTE $B6 ; ADDAW _D046+0 -_F212 !WORD _D046+0 - !BYTE $7A ; SAW _D046+0 -_F213 !WORD _D046+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $10 ; CN 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D040+0 -_F214 !WORD _D040+0 - !BYTE $56 ; ICAL -_B120 -; libsrc/apple/sndseq.pla: 0779: if yieldTime <= seqTime; func()#0; yieldTime = seqTime + yield; fin - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D046+0 -_F215 !WORD _D046+0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B131 - !WORD _B131-* - !BYTE $66,$02 ; LLW [2] - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _D046+0 -_F216 !WORD _D046+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$08 ; SLW [8] -_B131 -_B132 -; libsrc/apple/sndseq.pla: 0780: until keypressed() -_B093 - !BYTE $6A ; LAW _D042+0 -_F217 !WORD _D042+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* -_B091 -; libsrc/apple/sndseq.pla: 0781: end - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/apple/sndseq.pla: 0782: // -; libsrc/apple/sndseq.pla: 0783: // No sequence, just waste time and yield -; libsrc/apple/sndseq.pla: 0784: // -; libsrc/apple/sndseq.pla: 0785: def noSequence(yield, func)#0 - ; yield -> [0] - ; func -> [2] -_C008 ; noSequence() -; libsrc/apple/sndseq.pla: 0786: // -; libsrc/apple/sndseq.pla: 0787: // Start wasting time -; libsrc/apple/sndseq.pla: 0788: // -; libsrc/apple/sndseq.pla: 0789: if !yield or !func - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/sndseq.pla: 0790: yield = 0 -; libsrc/apple/sndseq.pla: 0791: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B133 - !WORD _B133-* - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT -_B133 - !BYTE $4C ; BRFLS _B134 - !WORD _B134-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B134 -_B135 -; libsrc/apple/sndseq.pla: 0792: seqTime = 0 -; libsrc/apple/sndseq.pla: 0793: repeat - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D046+0 -_F218 !WORD _D046+0 -_B137 -; libsrc/apple/sndseq.pla: 0794: seqTime++ - !BYTE $6A ; LAW _D046+0 -_F219 !WORD _D046+0 - !BYTE $8C ; INCR -; libsrc/apple/sndseq.pla: 0795: if seqTime < 0; seqTime = 1; fin // Capture wrap-around - !BYTE $7E ; DAW _D046+0 -_F220 !WORD _D046+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B139 - !WORD _B139-* - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D046+0 -_F221 !WORD _D046+0 -_B139 -_B140 -; libsrc/apple/sndseq.pla: 0796: tonePlay(0, DUR16TH) // Waste 16th of a second playing silence -; libsrc/apple/sndseq.pla: 0797: if keypressed(); return; fin - !BYTE $00 ; CN 0 - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D040+0 -_F222 !WORD _D040+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D042+0 -_F223 !WORD _D042+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B141 - !WORD _B141-* - !BYTE $5A,$04 ; LEAVE 4 -_B141 -_B142 -; libsrc/apple/sndseq.pla: 0798: if yield == seqTime; func()#0; seqTime = 0; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D046+0 -_F224 !WORD _D046+0 - !BYTE $24 ; BRNE _B143 - !WORD _B143-* - !BYTE $66,$02 ; LLW [2] - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D046+0 -_F225 !WORD _D046+0 -_B143 -_B144 -; libsrc/apple/sndseq.pla: 0799: until FALSE -_B138 - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B136 -; libsrc/apple/sndseq.pla: 0800: end - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/sndseq.pla: 0801: // -; libsrc/apple/sndseq.pla: 0802: // Start sequencing music track -; libsrc/apple/sndseq.pla: 0803: // -; libsrc/apple/sndseq.pla: 0804: export def musicPlay(track, rept)#0 - ; track -> [0] - ; rept -> [2] -_P000 ; musicPlay(track, rept)#0() -_C009 ; musicPlay() -; libsrc/apple/sndseq.pla: 0805: byte i - ; i -> [4] -; libsrc/apple/sndseq.pla: 0806: -; libsrc/apple/sndseq.pla: 0807: // -; libsrc/apple/sndseq.pla: 0808: // Select proper sequencer based on hardware -; libsrc/apple/sndseq.pla: 0809: // -; libsrc/apple/sndseq.pla: 0810: if mbSlot > 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sndseq.pla: 0811: musicSequence = @mbSequence -; libsrc/apple/sndseq.pla: 0812: else - !BYTE $6A ; LAW _D066+0 -_F226 !WORD _D066+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $26 ; LA _C006+0 -_F227 !WORD _C006+0 - !BYTE $7A ; SAW _D039+0 -_F228 !WORD _D039+0 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -_B145 -; libsrc/apple/sndseq.pla: 0813: musicSequence = @spkrSequence -; libsrc/apple/sndseq.pla: 0814: fin - !BYTE $26 ; LA _C007+0 -_F229 !WORD _C007+0 - !BYTE $7A ; SAW _D039+0 -_F230 !WORD _D039+0 -_B146 -; libsrc/apple/sndseq.pla: 0815: // -; libsrc/apple/sndseq.pla: 0816: // Zero out active notes -; libsrc/apple/sndseq.pla: 0817: // -; libsrc/apple/sndseq.pla: 0818: for i = 0 to MAX_MBCH_NOTES-1; notes1[i] = 0; notes2[i] = 0; next - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 -_B148 - !BYTE $6C,$04 ; DLB [4] - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D057+0 -_F231 !WORD _D057+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D058+0 -_F232 !WORD _D058+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $72 ; SW -_B149 - !BYTE $A4 ; INCBRLE _B148 - !WORD _B148-* -_B147 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0819: for i = 0 to MAX_MBCH_NOTES-1; periods1[i] = 0; periods2[i] = 0; next - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 -_B151 - !BYTE $6C,$04 ; DLB [4] - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D060+0 -_F233 !WORD _D060+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D061+0 -_F234 !WORD _D061+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $72 ; SW -_B152 - !BYTE $A4 ; INCBRLE _B151 - !WORD _B151-* -_B150 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0820: // -; libsrc/apple/sndseq.pla: 0821: // Start sequencing -; libsrc/apple/sndseq.pla: 0822: // -; libsrc/apple/sndseq.pla: 0823: seqRepeat = rept -; libsrc/apple/sndseq.pla: 0824: seqTrack = track -; libsrc/apple/sndseq.pla: 0825: seqEvent = seqTrack -; libsrc/apple/sndseq.pla: 0826: seqTime = 0 -; libsrc/apple/sndseq.pla: 0827: eventTime = seqEvent->deltatime -; libsrc/apple/sndseq.pla: 0828: numNotes = 0 -; libsrc/apple/sndseq.pla: 0829: end - !BYTE $66,$02 ; LLW [2] - !BYTE $78 ; SAB _D050+0 -_F235 !WORD _D050+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D044+0 -_F236 !WORD _D044+0 - !BYTE $7A ; SAW _D045+0 -_F237 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D046+0 -_F238 !WORD _D046+0 - !BYTE $6A ; LAW _D045+0 -_F239 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $7A ; SAW _D047+0 -_F240 !WORD _D047+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+0 -_F241 !WORD _D049+0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/sndseq.pla: 0830: // -; libsrc/apple/sndseq.pla: 0831: // Stop sequencing music track -; libsrc/apple/sndseq.pla: 0832: // -; libsrc/apple/sndseq.pla: 0833: export def musicStop#0 -_P001 ; musicStop#0() -_C010 ; musicStop() -; libsrc/apple/sndseq.pla: 0834: musicSequence = @noSequence -; libsrc/apple/sndseq.pla: 0835: end - !BYTE $26 ; LA _C008+0 -_F242 !WORD _C008+0 - !BYTE $7A ; SAW _D039+0 -_F243 !WORD _D039+0 - !BYTE $5C ; RET -; libsrc/apple/sndseq.pla: 0836: // -; libsrc/apple/sndseq.pla: 0837: // Play until keystroke -; libsrc/apple/sndseq.pla: 0838: // -; libsrc/apple/sndseq.pla: 0839: export def musicGetKey(yield, backgroundProc)#1 - ; yield -> [0] - ; backgroundProc -> [2] -_C011 ; musicGetKey() -; libsrc/apple/sndseq.pla: 0840: char key - ; key -> [4] -; libsrc/apple/sndseq.pla: 0841: -; libsrc/apple/sndseq.pla: 0842: key = 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/apple/sndseq.pla: 0843: if yield < 1; yield = 1; fin - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $02 ; CN 1 - !BYTE $76,$00 ; SLW [0] -_B153 -_B154 -; libsrc/apple/sndseq.pla: 0844: if backgroundProc == NULL; backgroundProc = @nopBackground; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B155 - !WORD _B155-* - !BYTE $26 ; LA _A014+0 -_F244 !WORD _A014+0 - !BYTE $76,$02 ; SLW [2] -_B155 -_B156 -; libsrc/apple/sndseq.pla: 0845: if seqTrack -; libsrc/apple/sndseq.pla: 0846: repeat - !BYTE $6A ; LAW _D044+0 -_F245 !WORD _D044+0 - !BYTE $4C ; BRFLS _B157 - !WORD _B157-* -_B160 -; libsrc/apple/sndseq.pla: 0847: musicSequence(yield, backgroundProc)#0 // Call background proc every half second -; libsrc/apple/sndseq.pla: 0848: if keypressed() -; libsrc/apple/sndseq.pla: 0849: key = getc -; libsrc/apple/sndseq.pla: 0850: seqRepeat = FALSE -; libsrc/apple/sndseq.pla: 0851: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D039+0 -_F246 !WORD _D039+0 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _D042+0 -_F247 !WORD _D042+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $54 ; CALL _X006 -_F248 !WORD 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D050+0 -_F249 !WORD _D050+0 -_B162 -_B163 -; libsrc/apple/sndseq.pla: 0852: until not seqRepeat -_B161 - !BYTE $68 ; LAB _D050+0 -_F250 !WORD _D050+0 - !BYTE $4E ; BRTRU _B160 - !WORD _B160-* -_B159 -; libsrc/apple/sndseq.pla: 0853: fin -_B157 -_B158 -; libsrc/apple/sndseq.pla: 0854: return key - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/apple/sndseq.pla: 0855: end -; libsrc/apple/sndseq.pla: 0856: // -; libsrc/apple/sndseq.pla: 0857: // Read sequence onto heap -; libsrc/apple/sndseq.pla: 0858: // -; libsrc/apple/sndseq.pla: 0859: export def musicRead(filename)#1 - ; filename -> [0] -_C012 ; musicRead() -; libsrc/apple/sndseq.pla: 0860: byte ref - ; ref -> [2] -; libsrc/apple/sndseq.pla: 0861: word seq, len - ; seq -> [3] - ; len -> [5] -; libsrc/apple/sndseq.pla: 0862: -; libsrc/apple/sndseq.pla: 0863: seq = NULL - !BYTE $58,$07,$01 ; ENTER 7,1 -; libsrc/apple/sndseq.pla: 0864: ref = fileio:open(filename) -; libsrc/apple/sndseq.pla: 0865: if ref -; libsrc/apple/sndseq.pla: 0866: seq = heapalloc(heapavail - 256) -; libsrc/apple/sndseq.pla: 0867: len = fileio:read(ref, seq, heapmark - seq) -; libsrc/apple/sndseq.pla: 0868: fileio:close(ref) -; libsrc/apple/sndseq.pla: 0869: heaprelease(seq + len) -; libsrc/apple/sndseq.pla: 0870: fin - !BYTE $00 ; CN 0 - !BYTE $76,$03 ; SLW [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F251 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B164 - !WORD _B164-* - !BYTE $54 ; CALL _X016 -_F252 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F253 !WORD 0 - !BYTE $76,$03 ; SLW [3] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $54 ; CALL _X012 -_F254 !WORD 0 - !BYTE $66,$03 ; LLW [3] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X028+18 -_F255 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$05 ; SLW [5] - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+16 -_F256 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$03 ; LLW [3] - !BYTE $B2,$05 ; ADDLW [5] - !BYTE $54 ; CALL _X015 -_F257 !WORD 0 - !BYTE $30 ; DROP -_B164 -_B165 -; libsrc/apple/sndseq.pla: 0871: return seq - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/sndseq.pla: 0872: end -; libsrc/apple/sndseq.pla: 0873: -; libsrc/apple/sndseq.pla: 0874: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F258 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B167-* -; libsrc/apple/sndseq.pla: 0875: is MACHID_III -_B168 -; libsrc/apple/sndseq.pla: 0876: tonePlay = @a3spkrTone -; libsrc/apple/sndseq.pla: 0877: pcmPlay = @a3spkrPCM -; libsrc/apple/sndseq.pla: 0878: keypressed = @a3keypressed -; libsrc/apple/sndseq.pla: 0879: break - !BYTE $26 ; LA _C001+0 -_F259 !WORD _C001+0 - !BYTE $7A ; SAW _D040+0 -_F260 !WORD _D040+0 - !BYTE $26 ; LA _C002+0 -_F261 !WORD _C002+0 - !BYTE $7A ; SAW _D041+0 -_F262 !WORD _D041+0 - !BYTE $26 ; LA _C000+0 -_F263 !WORD _C000+0 - !BYTE $7A ; SAW _D042+0 -_F264 !WORD _D042+0 - !BYTE $50 ; BRNCH _B166 - !WORD _B166-* -; libsrc/apple/sndseq.pla: 0880: is MACHID_I -_B169 -; libsrc/apple/sndseq.pla: 0881: puts("Sound unsupported.\n") - !BYTE $2E ; CS - !BYTE $13 - !BYTE $53,$6F,$75,$6E,$64,$20,$75,$6E - !BYTE $73,$75,$70,$70,$6F,$72,$74,$65 - !BYTE $64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F265 !WORD 0 -; libsrc/apple/sndseq.pla: 0882: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/sndseq.pla: 0883: break - !BYTE $50 ; BRNCH _B166 - !WORD _B166-* -; libsrc/apple/sndseq.pla: 0884: otherwise -_B167 - !BYTE $02 ; CASEBLOCK - !WORD $0008 - !WORD _B169-* - !WORD $00C0 - !WORD _B168-* -; libsrc/apple/sndseq.pla: 0885: //puts("MockingBoard Slot:\n") -; libsrc/apple/sndseq.pla: 0886: //puts("ENTER = None\n") -; libsrc/apple/sndseq.pla: 0887: //puts("0 = Scan\n") -; libsrc/apple/sndseq.pla: 0888: //puts("1-7 = Slot #\n") -; libsrc/apple/sndseq.pla: 0889: //instr = gets('>'|$80) -; libsrc/apple/sndseq.pla: 0890: //if ^instr -; libsrc/apple/sndseq.pla: 0891: // mbSlot = mbSearch(^(instr + 1) - '0') -; libsrc/apple/sndseq.pla: 0892: //fin -; libsrc/apple/sndseq.pla: 0893: mbSlot = mbSearch(0) -; libsrc/apple/sndseq.pla: 0894: break - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C004 -_F266 !WORD _C004 - !BYTE $7A ; SAW _D066+0 -_F267 !WORD _D066+0 - !BYTE $50 ; BRNCH _B166 - !WORD _B166-* -; libsrc/apple/sndseq.pla: 0895: wend -_B166 -; libsrc/apple/sndseq.pla: 0896: if mbSlot < 0 -; libsrc/apple/sndseq.pla: 0897: // -; libsrc/apple/sndseq.pla: 0898: // No MockingBoard - scale octave0 for speaker -; libsrc/apple/sndseq.pla: 0899: // -; libsrc/apple/sndseq.pla: 0900: for instr = 0 to 11 - !BYTE $6A ; LAW _D066+0 -_F268 !WORD _D066+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B170 - !WORD _B170-* - !BYTE $16 ; CN 11 - !BYTE $00 ; CN 0 -_B173 - !BYTE $7E ; DAW _D043+0 -_F269 !WORD _D043+0 -; libsrc/apple/sndseq.pla: 0901: spkrOctave0[instr] = mbOctave0[instr]/NOTEDIV -; libsrc/apple/sndseq.pla: 0902: next - !BYTE $26 ; LA _D068+0 -_F270 !WORD _D068+0 - !BYTE $BE ; IDXAW _D043+0 -_F271 !WORD _D043+0 - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $26 ; LA _D067+0 -_F272 !WORD _D067+0 - !BYTE $BE ; IDXAW _D043+0 -_F273 !WORD _D043+0 - !BYTE $72 ; SW -_B174 - !BYTE $A4 ; INCBRLE _B173 - !WORD _B173-* -_B172 - !BYTE $7A ; SAW _D043+0 -_F274 !WORD _D043+0 - !BYTE $30 ; DROP -; libsrc/apple/sndseq.pla: 0903: fin -_B170 -_B171 -; libsrc/apple/sndseq.pla: 0904: // -; libsrc/apple/sndseq.pla: 0905: // Fixups -; libsrc/apple/sndseq.pla: 0906: // -; libsrc/apple/sndseq.pla: 0907: pwm_on:1 = @pwm_on+4 -; libsrc/apple/sndseq.pla: 0908: pwm_off:1 = @pwm_off+4 -; libsrc/apple/sndseq.pla: 0909: // -; libsrc/apple/sndseq.pla: 0910: // Keep module in memory -; libsrc/apple/sndseq.pla: 0911: // -; libsrc/apple/sndseq.pla: 0912: done - !BYTE $26 ; LA _A011+4 -_F275 !WORD _A011+4 - !BYTE $7A ; SAW _A011+1 -_F276 !WORD _A011+1 - !BYTE $26 ; LA _A012+4 -_F277 !WORD _A012+4 - !BYTE $7A ; SAW _A012+1 -_F278 !WORD _A012+1 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 14 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: MUSICPLAY - !BYTE $CD,$D5,$D3,$C9,$C3,$D0,$CC,$C1,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - ; DCI STRING: MUSICSTOP - !BYTE $CD,$D5,$D3,$C9,$C3,$D3,$D4,$CF,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C010 - ; DCI STRING: MUSICSEQUENCE - !BYTE $CD,$D5,$D3,$C9,$C3,$D3,$C5,$D1,$D5,$C5,$CE,$C3,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D039 - ; DCI STRING: TONEPLAY - !BYTE $D4,$CF,$CE,$C5,$D0,$CC,$C1,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D040 - ; DCI STRING: PCMPLAY - !BYTE $D0,$C3,$CD,$D0,$CC,$C1,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D041 - ; DCI STRING: MUSICGETKEY - !BYTE $CD,$D5,$D3,$C9,$C3,$C7,$C5,$D4,$CB,$C5,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C011 - ; DCI STRING: MUSICREAD - !BYTE $CD,$D5,$D3,$C9,$C3,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C012 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/spiport.a b/src/libsrc/apple/spiport.a deleted file mode 100644 index 6be406c..0000000 --- a/src/libsrc/apple/spiport.a +++ /dev/null @@ -1,1367 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/spiport.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/spiport.pla: 0001: -; libsrc/apple/spiport.pla: 0002: // -; libsrc/apple/spiport.pla: 0003: // Bit banged spi over gameport -; libsrc/apple/spiport.pla: 0004: // -; libsrc/apple/spiport.pla: 0005: const SPI_SLAVE_READY = '@' - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; SPI_SLAVE_READY = 64 -; libsrc/apple/spiport.pla: 0006: const SPI_SLAVE_ERROR = '!' - ; SPI_SLAVE_ERROR = 33 -; libsrc/apple/spiport.pla: 0007: const SPI_SLAVE_BUSY = $FF - ; SPI_SLAVE_BUSY = 255 -; libsrc/apple/spiport.pla: 0008: word spiReadWriteByte, spiWriteBytes, spiReadBytes -_D028 !FILL 2 ; spiReadWriteByte, spiWriteBytes, spiReadBytes -_D029 !FILL 2 ; spiWriteBytes, spiReadBytes -_D030 !FILL 2 ; spiReadBytes -; libsrc/apple/spiport.pla: 0009: -; libsrc/apple/spiport.pla: 0010: asm spiInc -_A000 ; spiInc() -; libsrc/apple/spiport.pla: 0011: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/spiport.pla: 0012: !CPU 65C02 -!CPU 65C02 -; libsrc/apple/spiport.pla: 0013: end -; libsrc/apple/spiport.pla: 0014: asm spiXferByteStd(outbyte) -_A001 ; spiXferByteStd() -; libsrc/apple/spiport.pla: 0015: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0016: SEI - SEI -; libsrc/apple/spiport.pla: 0017: STA $C05A ; ENABLE SLAVE - STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0018: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0019: LDA ESTKL,X ; GET ARGUMENT - LDA ESTKL,X ; GET ARGUMENT -; libsrc/apple/spiport.pla: 0020: BPL + ; CHECK MSB - BPL + ; CHECK MSB -; libsrc/apple/spiport.pla: 0021: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0022: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0023: STA $C040 ; CLOCK - STA $C040 ; CLOCK -; libsrc/apple/spiport.pla: 0024: LDY #0 ; DOING THIS HERE GIVES TIME FOR OUTPUT TO BECOME STABLE - NOT REALLY NEEDED - LDY #0 ; DOING THIS HERE GIVES TIME FOR OUTPUT TO BECOME STABLE - NOT REALLY NEEDED -; libsrc/apple/spiport.pla: 0025: ASL $C061 ; READ BIT 7 INTO CARRY - ASL $C061 ; READ BIT 7 INTO CARRY -; libsrc/apple/spiport.pla: 0026: ROL ; ROTATE INTO ACC - ROL ; ROTATE INTO ACC -; libsrc/apple/spiport.pla: 0027: BPL + ; REPEAT FOR ALL BITS - BPL + ; REPEAT FOR ALL BITS -; libsrc/apple/spiport.pla: 0028: INY - INY -; libsrc/apple/spiport.pla: 0029: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0030: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0031: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0032: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0033: ROL - ROL -; libsrc/apple/spiport.pla: 0034: BPL + - BPL + -; libsrc/apple/spiport.pla: 0035: INY - INY -; libsrc/apple/spiport.pla: 0036: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0037: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0038: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0039: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0040: ROL - ROL -; libsrc/apple/spiport.pla: 0041: BPL + - BPL + -; libsrc/apple/spiport.pla: 0042: INY - INY -; libsrc/apple/spiport.pla: 0043: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0044: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0045: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0046: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0047: ROL - ROL -; libsrc/apple/spiport.pla: 0048: BPL + - BPL + -; libsrc/apple/spiport.pla: 0049: INY - INY -; libsrc/apple/spiport.pla: 0050: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0051: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0052: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0053: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0054: ROL - ROL -; libsrc/apple/spiport.pla: 0055: BPL + - BPL + -; libsrc/apple/spiport.pla: 0056: INY - INY -; libsrc/apple/spiport.pla: 0057: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0058: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0059: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0060: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0061: ROL - ROL -; libsrc/apple/spiport.pla: 0062: BPL + - BPL + -; libsrc/apple/spiport.pla: 0063: INY - INY -; libsrc/apple/spiport.pla: 0064: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0065: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0066: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0067: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0068: ROL - ROL -; libsrc/apple/spiport.pla: 0069: BPL + - BPL + -; libsrc/apple/spiport.pla: 0070: INY - INY -; libsrc/apple/spiport.pla: 0071: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0072: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0073: NOP - NOP -; libsrc/apple/spiport.pla: 0074: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0075: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0076: ROL - ROL -; libsrc/apple/spiport.pla: 0077: STA ESTKL,X ; SAVE RETURN PARAMETER - STA ESTKL,X ; SAVE RETURN PARAMETER -; libsrc/apple/spiport.pla: 0078: PLP - PLP -; libsrc/apple/spiport.pla: 0079: RTS - RTS -; libsrc/apple/spiport.pla: 0080: end -; libsrc/apple/spiport.pla: 0081: asm spiXferByteGS(outbyte) -_A002 ; spiXferByteGS() -; libsrc/apple/spiport.pla: 0082: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0083: SEI - SEI -; libsrc/apple/spiport.pla: 0084: LDA $C036 ; SET 1 MHZ - LDA $C036 ; SET 1 MHZ -; libsrc/apple/spiport.pla: 0085: PHA - PHA -; libsrc/apple/spiport.pla: 0086: AND #$7F - AND #$7F -; libsrc/apple/spiport.pla: 0087: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0088: STA $C05A ; ENABLE SLAVE - STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0089: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0090: LDA ESTKL,X ; GET ARGUMENT - LDA ESTKL,X ; GET ARGUMENT -; libsrc/apple/spiport.pla: 0091: BPL + ; CHECK MSB - BPL + ; CHECK MSB -; libsrc/apple/spiport.pla: 0092: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0093: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0094: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0095: LDY #0 ; DOING THIS HERE GIVES TIME FOR OUTPUT TO BECOME STABLE - NOT REALLY NEEDED - LDY #0 ; DOING THIS HERE GIVES TIME FOR OUTPUT TO BECOME STABLE - NOT REALLY NEEDED -; libsrc/apple/spiport.pla: 0096: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0097: ASL $C061 ; READ BIT 7 INTO CARRY - ASL $C061 ; READ BIT 7 INTO CARRY -; libsrc/apple/spiport.pla: 0098: ROL ; ROTATE INTO ACC - ROL ; ROTATE INTO ACC -; libsrc/apple/spiport.pla: 0099: BPL + ; REPEAT FOR ALL BITS - BPL + ; REPEAT FOR ALL BITS -; libsrc/apple/spiport.pla: 0100: INY - INY -; libsrc/apple/spiport.pla: 0101: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0102: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0103: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0104: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0105: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0106: ROL - ROL -; libsrc/apple/spiport.pla: 0107: BPL + - BPL + -; libsrc/apple/spiport.pla: 0108: INY - INY -; libsrc/apple/spiport.pla: 0109: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0110: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0111: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0112: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0113: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0114: ROL - ROL -; libsrc/apple/spiport.pla: 0115: BPL + - BPL + -; libsrc/apple/spiport.pla: 0116: INY - INY -; libsrc/apple/spiport.pla: 0117: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0118: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0119: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0120: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0121: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0122: ROL - ROL -; libsrc/apple/spiport.pla: 0123: BPL + - BPL + -; libsrc/apple/spiport.pla: 0124: INY - INY -; libsrc/apple/spiport.pla: 0125: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0126: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0127: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0128: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0129: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0130: ROL - ROL -; libsrc/apple/spiport.pla: 0131: BPL + - BPL + -; libsrc/apple/spiport.pla: 0132: INY - INY -; libsrc/apple/spiport.pla: 0133: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0134: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0135: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0136: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0137: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0138: ROL - ROL -; libsrc/apple/spiport.pla: 0139: BPL + - BPL + -; libsrc/apple/spiport.pla: 0140: INY - INY -; libsrc/apple/spiport.pla: 0141: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0142: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0143: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0144: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0145: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0146: ROL - ROL -; libsrc/apple/spiport.pla: 0147: BPL + - BPL + -; libsrc/apple/spiport.pla: 0148: INY - INY -; libsrc/apple/spiport.pla: 0149: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0150: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0151: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0152: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0153: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0154: ROL - ROL -; libsrc/apple/spiport.pla: 0155: STA ESTKL,X ; SAVE RETURN PARAMETER - STA ESTKL,X ; SAVE RETURN PARAMETER -; libsrc/apple/spiport.pla: 0156: PLA - PLA -; libsrc/apple/spiport.pla: 0157: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0158: PLP - PLP -; libsrc/apple/spiport.pla: 0159: RTS - RTS -; libsrc/apple/spiport.pla: 0160: end -; libsrc/apple/spiport.pla: 0161: asm spiReadBytesStd(buf, len) -_A003 ; spiReadBytesStd() -; libsrc/apple/spiport.pla: 0162: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0163: SEI - SEI -; libsrc/apple/spiport.pla: 0164: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0165: STA DSTL - STA DSTL -; libsrc/apple/spiport.pla: 0166: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0167: STA DSTH - STA DSTH -; libsrc/apple/spiport.pla: 0168: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0169: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0170: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0171: + LDY #$00 -+ LDY #$00 -; libsrc/apple/spiport.pla: 0172: - STA $C05A ; ENABLE SLAVE -- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0173: STA $C040 ; CLOCK - STA $C040 ; CLOCK -; libsrc/apple/spiport.pla: 0174: NOP - NOP -; libsrc/apple/spiport.pla: 0175: ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB - ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB -; libsrc/apple/spiport.pla: 0176: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0177: ROL - ROL -; libsrc/apple/spiport.pla: 0178: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0179: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0180: ROL - ROL -; libsrc/apple/spiport.pla: 0181: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0182: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0183: ROL - ROL -; libsrc/apple/spiport.pla: 0184: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0185: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0186: ROL - ROL -; libsrc/apple/spiport.pla: 0187: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0188: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0189: ROL - ROL -; libsrc/apple/spiport.pla: 0190: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0191: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0192: ROL - ROL -; libsrc/apple/spiport.pla: 0193: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0194: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0195: ROL - ROL -; libsrc/apple/spiport.pla: 0196: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0197: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0198: ROL - ROL -; libsrc/apple/spiport.pla: 0199: STA (DST),Y ; SAVE TO BUFFER - STA (DST),Y ; SAVE TO BUFFER -; libsrc/apple/spiport.pla: 0200: INY - INY -; libsrc/apple/spiport.pla: 0201: BNE + - BNE + -; libsrc/apple/spiport.pla: 0202: INC DSTH - INC DSTH -; libsrc/apple/spiport.pla: 0203: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/spiport.pla: 0204: BNE - - BNE - -; libsrc/apple/spiport.pla: 0205: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0206: BNE - - BNE - -; libsrc/apple/spiport.pla: 0207: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0208: PLP - PLP -; libsrc/apple/spiport.pla: 0209: RTS - RTS -; libsrc/apple/spiport.pla: 0210: end -; libsrc/apple/spiport.pla: 0211: asm spiReadBytesGS(buf, len) -_A004 ; spiReadBytesGS() -; libsrc/apple/spiport.pla: 0212: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0213: SEI - SEI -; libsrc/apple/spiport.pla: 0214: LDA $C036 ; SET 1 MHZ - LDA $C036 ; SET 1 MHZ -; libsrc/apple/spiport.pla: 0215: PHA - PHA -; libsrc/apple/spiport.pla: 0216: AND #$7F - AND #$7F -; libsrc/apple/spiport.pla: 0217: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0218: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0219: STA DSTL - STA DSTL -; libsrc/apple/spiport.pla: 0220: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0221: STA DSTH - STA DSTH -; libsrc/apple/spiport.pla: 0222: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0223: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0224: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0225: + LDY #$00 -+ LDY #$00 -; libsrc/apple/spiport.pla: 0226: - STA $C05A ; ENABLE SLAVE -- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0227: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0228: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0229: ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB - ASL $C061 ; SHIFT IN ALL BITS STARTING WITH MSB -; libsrc/apple/spiport.pla: 0230: ROL - ROL -; libsrc/apple/spiport.pla: 0231: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0232: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0233: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0234: ROL - ROL -; libsrc/apple/spiport.pla: 0235: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0236: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0237: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0238: ROL - ROL -; libsrc/apple/spiport.pla: 0239: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0240: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0241: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0242: ROL - ROL -; libsrc/apple/spiport.pla: 0243: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0244: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0245: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0246: ROL - ROL -; libsrc/apple/spiport.pla: 0247: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0248: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0249: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0250: ROL - ROL -; libsrc/apple/spiport.pla: 0251: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0252: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0253: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0254: ROL - ROL -; libsrc/apple/spiport.pla: 0255: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0256: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0257: ASL $C061 - ASL $C061 -; libsrc/apple/spiport.pla: 0258: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0259: ROL - ROL -; libsrc/apple/spiport.pla: 0260: STA (DST),Y ; SAVE TO BUFFER - STA (DST),Y ; SAVE TO BUFFER -; libsrc/apple/spiport.pla: 0261: INY - INY -; libsrc/apple/spiport.pla: 0262: BNE + - BNE + -; libsrc/apple/spiport.pla: 0263: INC DSTH - INC DSTH -; libsrc/apple/spiport.pla: 0264: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/spiport.pla: 0265: BNE - - BNE - -; libsrc/apple/spiport.pla: 0266: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0267: BNE - - BNE - -; libsrc/apple/spiport.pla: 0268: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0269: PLA - PLA -; libsrc/apple/spiport.pla: 0270: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0271: PLP - PLP -; libsrc/apple/spiport.pla: 0272: RTS - RTS -; libsrc/apple/spiport.pla: 0273: end -; libsrc/apple/spiport.pla: 0274: asm spiWriteBytesStd(buf, len) -_A005 ; spiWriteBytesStd() -; libsrc/apple/spiport.pla: 0275: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0276: SEI - SEI -; libsrc/apple/spiport.pla: 0277: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0278: STA SRCL - STA SRCL -; libsrc/apple/spiport.pla: 0279: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0280: STA SRCH - STA SRCH -; libsrc/apple/spiport.pla: 0281: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0282: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0283: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0284: + -+ -; libsrc/apple/spiport.pla: 0285: - STA $C05A ; ENABLE SLAVE -- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0286: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0287: LDA (SRC),Y ; GET BYTE - LDA (SRC),Y ; GET BYTE -; libsrc/apple/spiport.pla: 0288: BPL + ; CHECK MSB - BPL + ; CHECK MSB -; libsrc/apple/spiport.pla: 0289: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0290: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0291: STA $C040 ; CLOCK - STA $C040 ; CLOCK -; libsrc/apple/spiport.pla: 0292: LDY #0 ; DOING THIS HERE GIVES TIME FOR OUTPUT TO BECOME STABLE - LDY #0 ; DOING THIS HERE GIVES TIME FOR OUTPUT TO BECOME STABLE -; libsrc/apple/spiport.pla: 0293: ASL ; ROTATE NEXT BIT TO SEND - ASL ; ROTATE NEXT BIT TO SEND -; libsrc/apple/spiport.pla: 0294: BPL + ; REPEAT FOR ALL BITS - BPL + ; REPEAT FOR ALL BITS -; libsrc/apple/spiport.pla: 0295: INY - INY -; libsrc/apple/spiport.pla: 0296: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0297: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0298: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0299: ASL - ASL -; libsrc/apple/spiport.pla: 0300: BPL + - BPL + -; libsrc/apple/spiport.pla: 0301: INY - INY -; libsrc/apple/spiport.pla: 0302: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0303: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0304: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0305: ASL - ASL -; libsrc/apple/spiport.pla: 0306: BPL + - BPL + -; libsrc/apple/spiport.pla: 0307: INY - INY -; libsrc/apple/spiport.pla: 0308: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0309: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0310: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0311: ASL - ASL -; libsrc/apple/spiport.pla: 0312: BPL + - BPL + -; libsrc/apple/spiport.pla: 0313: INY - INY -; libsrc/apple/spiport.pla: 0314: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0315: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0316: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0317: ASL - ASL -; libsrc/apple/spiport.pla: 0318: BPL + - BPL + -; libsrc/apple/spiport.pla: 0319: INY - INY -; libsrc/apple/spiport.pla: 0320: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0321: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0322: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0323: ASL - ASL -; libsrc/apple/spiport.pla: 0324: BPL + - BPL + -; libsrc/apple/spiport.pla: 0325: INY - INY -; libsrc/apple/spiport.pla: 0326: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0327: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0328: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0329: ASL - ASL -; libsrc/apple/spiport.pla: 0330: BPL + - BPL + -; libsrc/apple/spiport.pla: 0331: INY - INY -; libsrc/apple/spiport.pla: 0332: + STA $C058,Y -+ STA $C058,Y -; libsrc/apple/spiport.pla: 0333: STA $C040 - STA $C040 -; libsrc/apple/spiport.pla: 0334: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0335: INC SRCL - INC SRCL -; libsrc/apple/spiport.pla: 0336: BNE + - BNE + -; libsrc/apple/spiport.pla: 0337: INC SRCH - INC SRCH -; libsrc/apple/spiport.pla: 0338: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/spiport.pla: 0339: BNE - - BNE - -; libsrc/apple/spiport.pla: 0340: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0341: BNE - - BNE - -; libsrc/apple/spiport.pla: 0342: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0343: PLP - PLP -; libsrc/apple/spiport.pla: 0344: RTS - RTS -; libsrc/apple/spiport.pla: 0345: end -; libsrc/apple/spiport.pla: 0346: asm spiWriteBytesGS(buf, len) -_A006 ; spiWriteBytesGS() -; libsrc/apple/spiport.pla: 0347: PHP ; DISABLE INTS - PHP ; DISABLE INTS -; libsrc/apple/spiport.pla: 0348: SEI - SEI -; libsrc/apple/spiport.pla: 0349: LDA $C036 ; SET 1 MHZ - LDA $C036 ; SET 1 MHZ -; libsrc/apple/spiport.pla: 0350: PHA - PHA -; libsrc/apple/spiport.pla: 0351: AND #$7F - AND #$7F -; libsrc/apple/spiport.pla: 0352: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0353: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/spiport.pla: 0354: STA SRCL - STA SRCL -; libsrc/apple/spiport.pla: 0355: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/spiport.pla: 0356: STA SRCH - STA SRCH -; libsrc/apple/spiport.pla: 0357: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/spiport.pla: 0358: BEQ + - BEQ + -; libsrc/apple/spiport.pla: 0359: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/spiport.pla: 0360: + -+ -; libsrc/apple/spiport.pla: 0361: -- STA $C05A ; ENABLE SLAVE --- STA $C05A ; ENABLE SLAVE -; libsrc/apple/spiport.pla: 0362: PHX - PHX -; libsrc/apple/spiport.pla: 0363: LDX #8 - LDX #8 -; libsrc/apple/spiport.pla: 0364: LDY #0 ; ASSUME MSB IS ZERO - LDY #0 ; ASSUME MSB IS ZERO -; libsrc/apple/spiport.pla: 0365: LDA (SRC),Y ; GET BYTE - LDA (SRC),Y ; GET BYTE -; libsrc/apple/spiport.pla: 0366: - ASL -- ASL -; libsrc/apple/spiport.pla: 0367: BCC + ; CHECK MSB - BCC + ; CHECK MSB -; libsrc/apple/spiport.pla: 0368: INY ; IT'S A ONE - INY ; IT'S A ONE -; libsrc/apple/spiport.pla: 0369: + STA $C058,Y ; WRITE BIT 7 -+ STA $C058,Y ; WRITE BIT 7 -; libsrc/apple/spiport.pla: 0370: STA $C05C ; CLOCK FALLING EDGE - STA $C05C ; CLOCK FALLING EDGE -; libsrc/apple/spiport.pla: 0371: STA $C05D ; CLOCK RISING EDGE - STA $C05D ; CLOCK RISING EDGE -; libsrc/apple/spiport.pla: 0372: LDY #0 - LDY #0 -; libsrc/apple/spiport.pla: 0373: DEX - DEX -; libsrc/apple/spiport.pla: 0374: BNE - - BNE - -; libsrc/apple/spiport.pla: 0375: STA $C05B ; DISABLE SLAVE - STA $C05B ; DISABLE SLAVE -; libsrc/apple/spiport.pla: 0376: INC SRCL - INC SRCL -; libsrc/apple/spiport.pla: 0377: BNE + - BNE + -; libsrc/apple/spiport.pla: 0378: INC SRCH - INC SRCH -; libsrc/apple/spiport.pla: 0379: + PLX -+ PLX -; libsrc/apple/spiport.pla: 0380: DEC ESTKL,X - DEC ESTKL,X -; libsrc/apple/spiport.pla: 0381: BNE -- - BNE -- -; libsrc/apple/spiport.pla: 0382: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/spiport.pla: 0383: BNE -- - BNE -- -; libsrc/apple/spiport.pla: 0384: INX ; REMOVE AN ARGUMENT - INX ; REMOVE AN ARGUMENT -; libsrc/apple/spiport.pla: 0385: PLA - PLA -; libsrc/apple/spiport.pla: 0386: STA $C036 - STA $C036 -; libsrc/apple/spiport.pla: 0387: PLP - PLP -; libsrc/apple/spiport.pla: 0388: RTS - RTS -; libsrc/apple/spiport.pla: 0389: end -; libsrc/apple/spiport.pla: 0390: export def spiXferByte(outbyte) -_SUBSEG ; BYTECODE STARTS - ; outbyte -> [0] -_C000 ; spiXferByte() -; libsrc/apple/spiport.pla: 0391: return (spiReadWriteByte)(outbyte) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D028+0 -_F000 !WORD _D028+0 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/spiport.pla: 0392: end -; libsrc/apple/spiport.pla: 0393: export def spiDelay(time) - ; time -> [0] -_C001 ; spiDelay() -; libsrc/apple/spiport.pla: 0394: return call($FCA8, time, 0, 0, 0) // DELAY - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2C,$A8,$FC ; CW 64680 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F001 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/spiport.pla: 0395: end -; libsrc/apple/spiport.pla: 0396: export def spiSend(data) - ; data -> [0] -_C002 ; spiSend() -; libsrc/apple/spiport.pla: 0397: byte timeout, status - ; timeout -> [2] - ; status -> [3] -; libsrc/apple/spiport.pla: 0398: -; libsrc/apple/spiport.pla: 0399: for timeout = 1 to 100 step 10 - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $2A,$64 ; CB 100 - !BYTE $02 ; CN 1 -_B002 - !BYTE $6C,$02 ; DLB [2] -; libsrc/apple/spiport.pla: 0400: status = (spiReadWriteByte)(data) -; libsrc/apple/spiport.pla: 0401: if status <> SPI_SLAVE_BUSY -; libsrc/apple/spiport.pla: 0402: return status - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D028+0 -_F002 !WORD _D028+0 - !BYTE $56 ; ICAL - !BYTE $6C,$03 ; DLB [3] - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B004 - !WORD _B004-* - !BYTE $32 ; DROP2 - !BYTE $64,$03 ; LLB [3] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/spiport.pla: 0403: fin -_B004 -_B005 -; libsrc/apple/spiport.pla: 0404: spiDelay(timeout) -; libsrc/apple/spiport.pla: 0405: next - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C001 -_F003 !WORD _C001 - !BYTE $30 ; DROP -_B003 - !BYTE $14 ; CN 10 - !BYTE $A6 ; ADDBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/apple/spiport.pla: 0406: putc(status);putc('0'+data/10);putc('0'+data%10) -; libsrc/apple/spiport.pla: 0407: return status - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _X002 -_F004 !WORD 0 - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X002 -_F005 !WORD 0 - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X002 -_F006 !WORD 0 - !BYTE $64,$03 ; LLB [3] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/spiport.pla: 0408: end -; libsrc/apple/spiport.pla: 0409: export def spiRecv -_C003 ; spiRecv() -; libsrc/apple/spiport.pla: 0410: return spiSend(0) - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F007 !WORD _C002 - !BYTE $5C ; RET -; libsrc/apple/spiport.pla: 0411: end -; libsrc/apple/spiport.pla: 0412: export def spiWriteBuf(buf, len) - ; buf -> [0] - ; len -> [2] -_C004 ; spiWriteBuf() -; libsrc/apple/spiport.pla: 0413: spiSend(13) // CMD_BUF_WRITE - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/spiport.pla: 0414: spiSend(len >> 8); spiSend(len) -; libsrc/apple/spiport.pla: 0415: return (spiWriteBytes)(buf, len) - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _C002 -_F008 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _C002 -_F009 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F010 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D029+0 -_F011 !WORD _D029+0 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/spiport.pla: 0416: end -; libsrc/apple/spiport.pla: 0417: export def spiReadBuf(buf, len) - ; buf -> [0] - ; len -> [2] -_C005 ; spiReadBuf() -; libsrc/apple/spiport.pla: 0418: spiSend(12) // CMD_BUF_READ - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/spiport.pla: 0419: spiSend(len >> 8); spiSend(len) -; libsrc/apple/spiport.pla: 0420: return (spiReadBytes)(buf, len) - !BYTE $18 ; CN 12 - !BYTE $54 ; CALL _C002 -_F012 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _C002 -_F013 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F014 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D030+0 -_F015 !WORD _D030+0 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/spiport.pla: 0421: end -; libsrc/apple/spiport.pla: 0422: export def spiReady -_C006 ; spiReady() -; libsrc/apple/spiport.pla: 0423: byte timeout - ; timeout -> [0] -; libsrc/apple/spiport.pla: 0424: -; libsrc/apple/spiport.pla: 0425: timeout = 0xFF - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/apple/spiport.pla: 0426: while (spiReadWriteByte)(0) <> SPI_SLAVE_READY and timeout // WAIT FOR READY - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B006 -; libsrc/apple/spiport.pla: 0427: timeout-- - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; libsrc/apple/spiport.pla: 0428: spiDelay(10) -; libsrc/apple/spiport.pla: 0429: loop - !BYTE $74,$00 ; SLB [0] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _C001 -_F016 !WORD _C001 - !BYTE $30 ; DROP -_B008 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D028+0 -_F017 !WORD _D028+0 - !BYTE $56 ; ICAL - !BYTE $2A,$40 ; CB 64 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B009 - !WORD _B009-* - !BYTE $64,$00 ; LLB [0] -_B009 - !BYTE $4E ; BRTRU _B006 - !WORD _B006-* -_B007 -; libsrc/apple/spiport.pla: 0430: return timeout - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/apple/spiport.pla: 0431: end -; libsrc/apple/spiport.pla: 0432: export def spiReset -_C007 ; spiReset() -; libsrc/apple/spiport.pla: 0433: ^$C05B // DISABLE SLAVE SELECT -; libsrc/apple/spiport.pla: 0434: ^$C05D // CLOCK RAISE (GS ONLY) -; libsrc/apple/spiport.pla: 0435: return spiReady - !BYTE $68,$5B,$C0 ; LAB 49243 - !BYTE $30 ; DROP - !BYTE $68,$5D,$C0 ; LAB 49245 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C006 -_F018 !WORD _C006 - !BYTE $5C ; RET -; libsrc/apple/spiport.pla: 0436: end -; libsrc/apple/spiport.pla: 0437: if call($FE1F, 0, 0, 0, 1).3 & 1 // GS ID ROUTINE -_INIT -; libsrc/apple/spiport.pla: 0438: spiReadWriteByte = @spiXferByteStd -; libsrc/apple/spiport.pla: 0439: spiReadBytes = @spiReadBytesStd -; libsrc/apple/spiport.pla: 0440: spiWriteBytes = @spiWriteBytesStd -; libsrc/apple/spiport.pla: 0441: else - !BYTE $2C,$1F,$FE ; CW 65055 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X010 -_F019 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $26 ; LA _A001+0 -_F020 !WORD _A001+0 - !BYTE $7A ; SAW _D028+0 -_F021 !WORD _D028+0 - !BYTE $26 ; LA _A003+0 -_F022 !WORD _A003+0 - !BYTE $7A ; SAW _D030+0 -_F023 !WORD _D030+0 - !BYTE $26 ; LA _A005+0 -_F024 !WORD _A005+0 - !BYTE $7A ; SAW _D029+0 -_F025 !WORD _D029+0 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B010 -; libsrc/apple/spiport.pla: 0442: spiReadWriteByte = @spiXferByteGS -; libsrc/apple/spiport.pla: 0443: spiReadBytes = @spiReadBytesGS -; libsrc/apple/spiport.pla: 0444: spiWriteBytes = @spiWriteBytesGS -; libsrc/apple/spiport.pla: 0445: fin - !BYTE $26 ; LA _A002+0 -_F026 !WORD _A002+0 - !BYTE $7A ; SAW _D028+0 -_F027 !WORD _D028+0 - !BYTE $26 ; LA _A004+0 -_F028 !WORD _A004+0 - !BYTE $7A ; SAW _D030+0 -_F029 !WORD _D030+0 - !BYTE $26 ; LA _A006+0 -_F030 !WORD _A006+0 - !BYTE $7A ; SAW _D029+0 -_F031 !WORD _D029+0 -_B011 -; libsrc/apple/spiport.pla: 0446: // -; libsrc/apple/spiport.pla: 0447: // Keep module in memory -; libsrc/apple/spiport.pla: 0448: // -; libsrc/apple/spiport.pla: 0449: return spiReset <> 0 - !BYTE $54 ; CALL _C007 -_F032 !WORD _C007 - !BYTE $5C ; RET -; libsrc/apple/spiport.pla: 0450: done -_SYSFLAGS = 0 -_DEFCNT = 9 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: SPIXFERBYTE - !BYTE $D3,$D0,$C9,$D8,$C6,$C5,$D2,$C2,$D9,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: SPIDELAY - !BYTE $D3,$D0,$C9,$C4,$C5,$CC,$C1,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: SPISEND - !BYTE $D3,$D0,$C9,$D3,$C5,$CE,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: SPIRECV - !BYTE $D3,$D0,$C9,$D2,$C5,$C3,$56 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: SPIWRITEBUF - !BYTE $D3,$D0,$C9,$D7,$D2,$C9,$D4,$C5,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: SPIREADBUF - !BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$C2,$D5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: SPIREADY - !BYTE $D3,$D0,$C9,$D2,$C5,$C1,$C4,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: SPIRESET - !BYTE $D3,$D0,$C9,$D2,$C5,$D3,$C5,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/uthernet.a b/src/libsrc/apple/uthernet.a deleted file mode 100644 index 4b59bcc..0000000 --- a/src/libsrc/apple/uthernet.a +++ /dev/null @@ -1,1205 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/uthernet.pla: 0001: // -; libsrc/apple/uthernet.pla: 0002: // Original Uthernet ethernet card based on Cirrus Logic cs8900a -; libsrc/apple/uthernet.pla: 0003: // -; libsrc/apple/uthernet.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/uthernet.pla: 0004: -; libsrc/apple/uthernet.pla: 0005: // -; libsrc/apple/uthernet.pla: 0006: // Include dependency on S/W IP stack -; libsrc/apple/uthernet.pla: 0007: // -; libsrc/apple/uthernet.pla: 0008: import etherip - ; DCI STRING: ETHERIP - !BYTE $C5,$D4,$C8,$C5,$D2,$C9,$50 - ; ETHERIP -> X028 -; libsrc/apple/uthernet.pla: 0009: predef setEtherDriver(MAC, getlen, readfrm, setlen, writefrm)#0 - ; SETETHERDRIVER -> X029 -; libsrc/apple/uthernet.pla: 0010: end -; libsrc/apple/uthernet.pla: 0011: // -; libsrc/apple/uthernet.pla: 0012: // Uthernet register offsets -; libsrc/apple/uthernet.pla: 0013: // -; libsrc/apple/uthernet.pla: 0014: const TX_DATA = $00 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; TX_DATA = 0 -; libsrc/apple/uthernet.pla: 0015: const RX_DATA = $00 - ; RX_DATA = 0 -; libsrc/apple/uthernet.pla: 0016: const TX_CMD = $04 - ; TX_CMD = 4 -; libsrc/apple/uthernet.pla: 0017: const TX_LEN = $06 - ; TX_LEN = 6 -; libsrc/apple/uthernet.pla: 0018: const INT_STATUS = $08 - ; INT_STATUS = 8 -; libsrc/apple/uthernet.pla: 0019: const PREG_INDEX = $0A - ; PREG_INDEX = 10 -; libsrc/apple/uthernet.pla: 0020: const PREG_DATA = $0C - ; PREG_DATA = 12 -; libsrc/apple/uthernet.pla: 0021: const AUTO_INC = $8000 - ; AUTO_INC = 32768 -; libsrc/apple/uthernet.pla: 0022: // -; libsrc/apple/uthernet.pla: 0023: // Uthernet register addresses -; libsrc/apple/uthernet.pla: 0024: // -; libsrc/apple/uthernet.pla: 0025: byte rxdata_lo, rxdata_hi -_D030 !FILL 1 ; rxdata_lo, rxdata_hi -_D031 !FILL 1 ; rxdata_hi -; libsrc/apple/uthernet.pla: 0026: byte txcmd -_D032 !FILL 1 ; txcmd -; libsrc/apple/uthernet.pla: 0027: byte txlen -_D033 !FILL 1 ; txlen -; libsrc/apple/uthernet.pla: 0028: byte isq -_D034 !FILL 1 ; isq -; libsrc/apple/uthernet.pla: 0029: word rom[] -_D035 ; rom[] -; libsrc/apple/uthernet.pla: 0030: byte pregidx -_D036 !FILL 1 ; pregidx -; libsrc/apple/uthernet.pla: 0031: byte pregdata -_D037 !FILL 1 ; pregdata -; libsrc/apple/uthernet.pla: 0032: byte[] slot // Init time only -_D038 ; slot // Init time only -; libsrc/apple/uthernet.pla: 0033: // -; libsrc/apple/uthernet.pla: 0034: // Uthernet MAC address -; libsrc/apple/uthernet.pla: 0035: // -; libsrc/apple/uthernet.pla: 0036: byte[6] utherMAC = $00,$0A,$99,$1E,$02,$A0 -_D039 ; utherMAC = $00,$0A,$99,$1E,$02,$A0 - !BYTE $00 - !BYTE $0A - !BYTE $99 - !BYTE $1E - !BYTE $02 - !BYTE $A0 -; libsrc/apple/uthernet.pla: 0037: // -; libsrc/apple/uthernet.pla: 0038: // Defines for ASM routines -; libsrc/apple/uthernet.pla: 0039: // -; libsrc/apple/uthernet.pla: 0040: asm equates -_A000 ; equates() -; libsrc/apple/uthernet.pla: 0041: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/uthernet.pla: 0042: end -; libsrc/apple/uthernet.pla: 0043: // -; libsrc/apple/uthernet.pla: 0044: // Uthernet I/O functions -; libsrc/apple/uthernet.pla: 0045: // -; libsrc/apple/uthernet.pla: 0046: asm _pokeiow(val)#0 -_A001 ; _pokeiow() -; libsrc/apple/uthernet.pla: 0047: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/uthernet.pla: 0048: end -; libsrc/apple/uthernet.pla: 0049: asm _pokeiowl -_A002 ; _pokeiowl() -; libsrc/apple/uthernet.pla: 0050: STA $C000 - STA $C000 -; libsrc/apple/uthernet.pla: 0051: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/uthernet.pla: 0052: end -; libsrc/apple/uthernet.pla: 0053: asm _pokeiowh -_A003 ; _pokeiowh() -; libsrc/apple/uthernet.pla: 0054: STA $C000 - STA $C000 -; libsrc/apple/uthernet.pla: 0055: INX - INX -; libsrc/apple/uthernet.pla: 0056: RTS - RTS -; libsrc/apple/uthernet.pla: 0057: end -; libsrc/apple/uthernet.pla: 0058: // -; libsrc/apple/uthernet.pla: 0059: // PEEK BYTE FROM I/O SPACE -; libsrc/apple/uthernet.pla: 0060: // _peekio() -; libsrc/apple/uthernet.pla: 0061: // -; libsrc/apple/uthernet.pla: 0062: asm _peekio#1 -_A004 ; _peekio() -; libsrc/apple/uthernet.pla: 0063: DEX - DEX -; libsrc/apple/uthernet.pla: 0064: end -; libsrc/apple/uthernet.pla: 0065: asm _peekiol -_A005 ; _peekiol() -; libsrc/apple/uthernet.pla: 0066: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet.pla: 0067: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/uthernet.pla: 0068: LDA #$00 - LDA #$00 -; libsrc/apple/uthernet.pla: 0069: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/uthernet.pla: 0070: RTS - RTS -; libsrc/apple/uthernet.pla: 0071: end -; libsrc/apple/uthernet.pla: 0072: // -; libsrc/apple/uthernet.pla: 0073: // PEEK WORD FROM I/O SPACE -; libsrc/apple/uthernet.pla: 0074: // _peekiow() -; libsrc/apple/uthernet.pla: 0075: // -; libsrc/apple/uthernet.pla: 0076: asm _peekiow#1 -_A006 ; _peekiow() -; libsrc/apple/uthernet.pla: 0077: DEX - DEX -; libsrc/apple/uthernet.pla: 0078: end -; libsrc/apple/uthernet.pla: 0079: asm _peekiowl -_A007 ; _peekiowl() -; libsrc/apple/uthernet.pla: 0080: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet.pla: 0081: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/uthernet.pla: 0082: end -; libsrc/apple/uthernet.pla: 0083: asm _peekiowh -_A008 ; _peekiowh() -; libsrc/apple/uthernet.pla: 0084: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet.pla: 0085: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/uthernet.pla: 0086: RTS - RTS -; libsrc/apple/uthernet.pla: 0087: end -; libsrc/apple/uthernet.pla: 0088: // -; libsrc/apple/uthernet.pla: 0089: // WRITE FRAME DATA INTO I/O SPACE -; libsrc/apple/uthernet.pla: 0090: // pokefrm(BUF, LEN) -; libsrc/apple/uthernet.pla: 0091: // -; libsrc/apple/uthernet.pla: 0092: asm pokefrm(buf, len)#1 -_A009 ; pokefrm() -; libsrc/apple/uthernet.pla: 0093: LDY #$00 - LDY #$00 -; libsrc/apple/uthernet.pla: 0094: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/uthernet.pla: 0095: STA SRCL - STA SRCL -; libsrc/apple/uthernet.pla: 0096: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/uthernet.pla: 0097: STA SRCH - STA SRCH -; libsrc/apple/uthernet.pla: 0098: LSR ESTKH,X ; CONVERT BYTE LEN TO WORD LEN - LSR ESTKH,X ; CONVERT BYTE LEN TO WORD LEN -; libsrc/apple/uthernet.pla: 0099: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/uthernet.pla: 0100: ROR - ROR -; libsrc/apple/uthernet.pla: 0101: ADC #$00 - ADC #$00 -; libsrc/apple/uthernet.pla: 0102: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/uthernet.pla: 0103: BEQ + - BEQ + -; libsrc/apple/uthernet.pla: 0104: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/uthernet.pla: 0105: + BCC POKELP -+ BCC POKELP -; libsrc/apple/uthernet.pla: 0106: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/uthernet.pla: 0107: POKELP LDA (SRC),Y -POKELP LDA (SRC),Y -; libsrc/apple/uthernet.pla: 0108: end -; libsrc/apple/uthernet.pla: 0109: asm _pokefrml -_A010 ; _pokefrml() -; libsrc/apple/uthernet.pla: 0110: STA $C000 - STA $C000 -; libsrc/apple/uthernet.pla: 0111: INY - INY -; libsrc/apple/uthernet.pla: 0112: LDA (SRC),Y - LDA (SRC),Y -; libsrc/apple/uthernet.pla: 0113: end -; libsrc/apple/uthernet.pla: 0114: asm _pokefrmh -_A011 ; _pokefrmh() -; libsrc/apple/uthernet.pla: 0115: STA $C000 - STA $C000 -; libsrc/apple/uthernet.pla: 0116: INY - INY -; libsrc/apple/uthernet.pla: 0117: BNE + - BNE + -; libsrc/apple/uthernet.pla: 0118: INC SRCH - INC SRCH -; libsrc/apple/uthernet.pla: 0119: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/uthernet.pla: 0120: BNE POKELP - BNE POKELP -; libsrc/apple/uthernet.pla: 0121: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/uthernet.pla: 0122: BNE POKELP - BNE POKELP -; libsrc/apple/uthernet.pla: 0123: INX - INX -; libsrc/apple/uthernet.pla: 0124: RTS - RTS -; libsrc/apple/uthernet.pla: 0125: end -; libsrc/apple/uthernet.pla: 0126: // -; libsrc/apple/uthernet.pla: 0127: // READ FRAME DATA FROM I/O SPACE -; libsrc/apple/uthernet.pla: 0128: // peekfrm(BUF, LEN) -; libsrc/apple/uthernet.pla: 0129: // -; libsrc/apple/uthernet.pla: 0130: asm peekfrm(buf, len)#1 -_A012 ; peekfrm() -; libsrc/apple/uthernet.pla: 0131: LDY #$00 - LDY #$00 -; libsrc/apple/uthernet.pla: 0132: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/uthernet.pla: 0133: STA DSTL - STA DSTL -; libsrc/apple/uthernet.pla: 0134: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/uthernet.pla: 0135: STA DSTH - STA DSTH -; libsrc/apple/uthernet.pla: 0136: LSR ESTKH,X ; CONVERT BYTE LEN TO WORD LEN - LSR ESTKH,X ; CONVERT BYTE LEN TO WORD LEN -; libsrc/apple/uthernet.pla: 0137: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/uthernet.pla: 0138: ROR - ROR -; libsrc/apple/uthernet.pla: 0139: ADC #$00 - ADC #$00 -; libsrc/apple/uthernet.pla: 0140: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/uthernet.pla: 0141: BEQ + - BEQ + -; libsrc/apple/uthernet.pla: 0142: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/uthernet.pla: 0143: + BCC PEEKLP -+ BCC PEEKLP -; libsrc/apple/uthernet.pla: 0144: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/uthernet.pla: 0145: end -; libsrc/apple/uthernet.pla: 0146: asm _peekfrml -_A013 ; _peekfrml() -; libsrc/apple/uthernet.pla: 0147: PEEKLP LDA $C000 -PEEKLP LDA $C000 -; libsrc/apple/uthernet.pla: 0148: STA (DST),Y - STA (DST),Y -; libsrc/apple/uthernet.pla: 0149: INY - INY -; libsrc/apple/uthernet.pla: 0150: end -; libsrc/apple/uthernet.pla: 0151: asm _peekfrmh -_A014 ; _peekfrmh() -; libsrc/apple/uthernet.pla: 0152: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet.pla: 0153: STA (DST),Y - STA (DST),Y -; libsrc/apple/uthernet.pla: 0154: INY - INY -; libsrc/apple/uthernet.pla: 0155: BNE + - BNE + -; libsrc/apple/uthernet.pla: 0156: INC DSTH - INC DSTH -; libsrc/apple/uthernet.pla: 0157: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/uthernet.pla: 0158: BNE PEEKLP - BNE PEEKLP -; libsrc/apple/uthernet.pla: 0159: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/uthernet.pla: 0160: BNE PEEKLP - BNE PEEKLP -; libsrc/apple/uthernet.pla: 0161: EXPSW INX -EXPSW INX -; libsrc/apple/uthernet.pla: 0162: RTS - RTS -; libsrc/apple/uthernet.pla: 0163: end -; libsrc/apple/uthernet.pla: 0164: def pokeiow(io, data)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; io -> [0] - ; data -> [2] -_C000 ; pokeiow() -; libsrc/apple/uthernet.pla: 0165: _pokeiowl.1 = io - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet.pla: 0166: _pokeiowh.1 = io+1 -; libsrc/apple/uthernet.pla: 0167: _pokeiow(data) -; libsrc/apple/uthernet.pla: 0168: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A002+1 -_F000 !WORD _A002+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $78 ; SAB _A003+1 -_F001 !WORD _A003+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A001 -_F002 !WORD _A001 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet.pla: 0169: def peekio(io)#1 - ; io -> [0] -_C001 ; peekio() -; libsrc/apple/uthernet.pla: 0170: _peekiol.1 = io - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet.pla: 0171: return _peekio() - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A005+1 -_F003 !WORD _A005+1 - !BYTE $54 ; CALL _A004 -_F004 !WORD _A004 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet.pla: 0172: end -; libsrc/apple/uthernet.pla: 0173: def peekiow(io)#1 - ; io -> [0] -_C002 ; peekiow() -; libsrc/apple/uthernet.pla: 0174: _peekiowl.1 = io - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet.pla: 0175: _peekiowh.1 = io+1 -; libsrc/apple/uthernet.pla: 0176: return _peekiow() - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A007+1 -_F005 !WORD _A007+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $78 ; SAB _A008+1 -_F006 !WORD _A008+1 - !BYTE $54 ; CALL _A006 -_F007 !WORD _A006 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet.pla: 0177: end -; libsrc/apple/uthernet.pla: 0178: def pokepreg(reg, data)#0 - ; reg -> [0] - ; data -> [2] -_C003 ; pokepreg() -; libsrc/apple/uthernet.pla: 0179: pokeiow(pregidx, reg) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet.pla: 0180: pokeiow(pregdata, data) -; libsrc/apple/uthernet.pla: 0181: end - !BYTE $68 ; LAB _D036+0 -_F008 !WORD _D036+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F009 !WORD _C000 - !BYTE $68 ; LAB _D037+0 -_F010 !WORD _D037+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F011 !WORD _C000 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet.pla: 0182: def peekpreg(reg)#1 - ; reg -> [0] -_C004 ; peekpreg() -; libsrc/apple/uthernet.pla: 0183: pokeiow(pregidx, reg) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet.pla: 0184: return peekiow(pregdata) - !BYTE $68 ; LAB _D036+0 -_F012 !WORD _D036+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F013 !WORD _C000 - !BYTE $68 ; LAB _D037+0 -_F014 !WORD _D037+0 - !BYTE $54 ; CALL _C002 -_F015 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet.pla: 0185: end -; libsrc/apple/uthernet.pla: 0186: // -; libsrc/apple/uthernet.pla: 0187: // Set the length of the next packet to send and wait for data space availability -; libsrc/apple/uthernet.pla: 0188: // -; libsrc/apple/uthernet.pla: 0189: def pokefrmlen(len)#1 - ; len -> [0] -_C005 ; pokefrmlen() -; libsrc/apple/uthernet.pla: 0190: pokeiow(txcmd, $C0) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet.pla: 0191: pokeiow(txlen, len) -; libsrc/apple/uthernet.pla: 0192: repeat; until peekpreg($0138) & $0100 - !BYTE $68 ; LAB _D032+0 -_F016 !WORD _D032+0 - !BYTE $2A,$C0 ; CB 192 - !BYTE $54 ; CALL _C000 -_F017 !WORD _C000 - !BYTE $68 ; LAB _D033+0 -_F018 !WORD _D033+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F019 !WORD _C000 -_B002 -_B003 - !BYTE $2C,$38,$01 ; CW 312 - !BYTE $54 ; CALL _C004 -_F020 !WORD _C004 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B002 - !WORD _B002-* -_B001 -; libsrc/apple/uthernet.pla: 0193: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet.pla: 0194: end -; libsrc/apple/uthernet.pla: 0195: // -; libsrc/apple/uthernet.pla: 0196: // Return the length of awaiting packet, 0 otherwise -; libsrc/apple/uthernet.pla: 0197: // -; libsrc/apple/uthernet.pla: 0198: def peekfrmlen#1 -_C006 ; peekfrmlen() -; libsrc/apple/uthernet.pla: 0199: word len - ; len -> [0] -; libsrc/apple/uthernet.pla: 0200: len = 0 - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/apple/uthernet.pla: 0201: if peekiow(isq) & $3F == $04 -; libsrc/apple/uthernet.pla: 0202: if peekio(rxdata_hi) & $01 -; libsrc/apple/uthernet.pla: 0203: peekio(rxdata_lo) -; libsrc/apple/uthernet.pla: 0204: len.1 = peekio(rxdata_hi) -; libsrc/apple/uthernet.pla: 0205: len.0 = peekio(rxdata_lo) -; libsrc/apple/uthernet.pla: 0206: else - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D034+0 -_F021 !WORD _D034+0 - !BYTE $54 ; CALL _C002 -_F022 !WORD _C002 - !BYTE $3C,$3F ; ANDI 63 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B004 - !WORD _B004-* - !BYTE $68 ; LAB _D031+0 -_F023 !WORD _D031+0 - !BYTE $54 ; CALL _C001 -_F024 !WORD _C001 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $68 ; LAB _D030+0 -_F025 !WORD _D030+0 - !BYTE $54 ; CALL _C001 -_F026 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D031+0 -_F027 !WORD _D031+0 - !BYTE $54 ; CALL _C001 -_F028 !WORD _C001 - !BYTE $74,$01 ; SLB [1] - !BYTE $68 ; LAB _D030+0 -_F029 !WORD _D030+0 - !BYTE $54 ; CALL _C001 -_F030 !WORD _C001 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; libsrc/apple/uthernet.pla: 0207: peekio(rxdata_lo) -; libsrc/apple/uthernet.pla: 0208: pokepreg($0102, $0140) // Skip pkt -; libsrc/apple/uthernet.pla: 0209: fin - !BYTE $68 ; LAB _D030+0 -_F031 !WORD _D030+0 - !BYTE $54 ; CALL _C001 -_F032 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $2C,$02,$01 ; CW 258 - !BYTE $2C,$40,$01 ; CW 320 - !BYTE $54 ; CALL _C003 -_F033 !WORD _C003 -_B007 -; libsrc/apple/uthernet.pla: 0210: fin -_B004 -_B005 -; libsrc/apple/uthernet.pla: 0211: return len - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet.pla: 0212: end -; libsrc/apple/uthernet.pla: 0213: // -; libsrc/apple/uthernet.pla: 0214: // Identify Uthernet card and initialize -; libsrc/apple/uthernet.pla: 0215: // -; libsrc/apple/uthernet.pla: 0216: for slot = $90 to $F0 step $10 -_INIT - !BYTE $2A,$F0 ; CB 240 - !BYTE $2A,$90 ; CB 144 -_B009 - !BYTE $7C ; DAB _D038+0 -_F034 !WORD _D038+0 -; libsrc/apple/uthernet.pla: 0217: rom = ((slot & $70) << 4) | $C000 -; libsrc/apple/uthernet.pla: 0218: if rom=>$06 <> $3C86 or (slot == $0B or (rom->$05 <> $38 and rom->$07 <> $18)) // Skip slots with signature -; libsrc/apple/uthernet.pla: 0219: if (peekiow(slot+TX_CMD) & $CC3F) == $0009 -; libsrc/apple/uthernet.pla: 0220: pokeiow(slot+PREG_INDEX, 0) -; libsrc/apple/uthernet.pla: 0221: if peekiow(slot+PREG_DATA) == $630E -; libsrc/apple/uthernet.pla: 0222: pregidx = slot + PREG_INDEX -; libsrc/apple/uthernet.pla: 0223: pregdata = slot + PREG_DATA -; libsrc/apple/uthernet.pla: 0224: pokepreg($0114, $40) // RESET -; libsrc/apple/uthernet.pla: 0225: rxdata_lo = slot + RX_DATA -; libsrc/apple/uthernet.pla: 0226: rxdata_hi = slot + RX_DATA + 1 -; libsrc/apple/uthernet.pla: 0227: txcmd = slot + TX_CMD -; libsrc/apple/uthernet.pla: 0228: txlen = slot + TX_LEN -; libsrc/apple/uthernet.pla: 0229: isq = slot + INT_STATUS -; libsrc/apple/uthernet.pla: 0230: _pokefrml.1 = slot + TX_DATA -; libsrc/apple/uthernet.pla: 0231: _pokefrmh.1 = slot + TX_DATA + 1 -; libsrc/apple/uthernet.pla: 0232: _peekfrml.1 = slot + RX_DATA -; libsrc/apple/uthernet.pla: 0233: _peekfrmh.1 = slot + RX_DATA + 1 -; libsrc/apple/uthernet.pla: 0234: pokepreg($0158, utherMAC:0) // MAC addr -; libsrc/apple/uthernet.pla: 0235: pokepreg($015A, utherMAC:2) // MAC addr -; libsrc/apple/uthernet.pla: 0236: pokepreg($015C, utherMAC:4) // MAC addr -; libsrc/apple/uthernet.pla: 0237: pokepreg($0102, $0100) // Recv cfg -; libsrc/apple/uthernet.pla: 0238: pokepreg($0104, $0D00) // Recv ctrl -; libsrc/apple/uthernet.pla: 0239: pokepreg($0106, $8200) // Xmit cfg -; libsrc/apple/uthernet.pla: 0240: pokepreg($0112, $00C0) // Line ctrl -; libsrc/apple/uthernet.pla: 0241: // -; libsrc/apple/uthernet.pla: 0242: // Install etherip driver -; libsrc/apple/uthernet.pla: 0243: // -; libsrc/apple/uthernet.pla: 0244: puts("Found Uthernet I in slot #"); putc('0' + ((slot - $80) >> 4)); putln - !BYTE $68 ; LAB _D038+0 -_F035 !WORD _D038+0 - !BYTE $3C,$70 ; ANDI 112 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $96 ; OR - !BYTE $7E ; DAW _D035+0 -_F036 !WORD _D035+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $2C,$86,$3C ; CW 15494 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B011 - !WORD _B011-* - !BYTE $68 ; LAB _D038+0 -_F037 !WORD _D038+0 - !BYTE $16 ; CN 11 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D035+0 -_F038 !WORD _D035+0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $2A,$38 ; CB 56 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D035+0 -_F039 !WORD _D035+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $2A,$18 ; CB 24 - !BYTE $42 ; ISNE -_B013 -_B012 -_B011 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $68 ; LAB _D038+0 -_F040 !WORD _D038+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $54 ; CALL _C002 -_F041 !WORD _C002 - !BYTE $2C,$3F,$CC ; CW 52287 - !BYTE $94 ; AND - !BYTE $12 ; CN 9 - !BYTE $24 ; BRNE _B016 - !WORD _B016-* - !BYTE $68 ; LAB _D038+0 -_F042 !WORD _D038+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F043 !WORD _C000 - !BYTE $68 ; LAB _D038+0 -_F044 !WORD _D038+0 - !BYTE $38,$0C ; ADDI 12 - !BYTE $54 ; CALL _C002 -_F045 !WORD _C002 - !BYTE $2C,$0E,$63 ; CW 25358 - !BYTE $24 ; BRNE _B018 - !WORD _B018-* - !BYTE $68 ; LAB _D038+0 -_F046 !WORD _D038+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $78 ; SAB _D036+0 -_F047 !WORD _D036+0 - !BYTE $68 ; LAB _D038+0 -_F048 !WORD _D038+0 - !BYTE $38,$0C ; ADDI 12 - !BYTE $78 ; SAB _D037+0 -_F049 !WORD _D037+0 - !BYTE $2C,$14,$01 ; CW 276 - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C003 -_F050 !WORD _C003 - !BYTE $68 ; LAB _D038+0 -_F051 !WORD _D038+0 - !BYTE $78 ; SAB _D030+0 -_F052 !WORD _D030+0 - !BYTE $68 ; LAB _D038+0 -_F053 !WORD _D038+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D031+0 -_F054 !WORD _D031+0 - !BYTE $68 ; LAB _D038+0 -_F055 !WORD _D038+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $78 ; SAB _D032+0 -_F056 !WORD _D032+0 - !BYTE $68 ; LAB _D038+0 -_F057 !WORD _D038+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $78 ; SAB _D033+0 -_F058 !WORD _D033+0 - !BYTE $68 ; LAB _D038+0 -_F059 !WORD _D038+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $78 ; SAB _D034+0 -_F060 !WORD _D034+0 - !BYTE $68 ; LAB _D038+0 -_F061 !WORD _D038+0 - !BYTE $78 ; SAB _A010+1 -_F062 !WORD _A010+1 - !BYTE $68 ; LAB _D038+0 -_F063 !WORD _D038+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _A011+1 -_F064 !WORD _A011+1 - !BYTE $68 ; LAB _D038+0 -_F065 !WORD _D038+0 - !BYTE $78 ; SAB _A013+1 -_F066 !WORD _A013+1 - !BYTE $68 ; LAB _D038+0 -_F067 !WORD _D038+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _A014+1 -_F068 !WORD _A014+1 - !BYTE $2C,$58,$01 ; CW 344 - !BYTE $6A ; LAW _D039+0 -_F069 !WORD _D039+0 - !BYTE $54 ; CALL _C003 -_F070 !WORD _C003 - !BYTE $2C,$5A,$01 ; CW 346 - !BYTE $6A ; LAW _D039+2 -_F071 !WORD _D039+2 - !BYTE $54 ; CALL _C003 -_F072 !WORD _C003 - !BYTE $2C,$5C,$01 ; CW 348 - !BYTE $6A ; LAW _D039+4 -_F073 !WORD _D039+4 - !BYTE $54 ; CALL _C003 -_F074 !WORD _C003 - !BYTE $2C,$02,$01 ; CW 258 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _C003 -_F075 !WORD _C003 - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $2C,$00,$0D ; CW 3328 - !BYTE $54 ; CALL _C003 -_F076 !WORD _C003 - !BYTE $2C,$06,$01 ; CW 262 - !BYTE $2C,$00,$82 ; CW 33280 - !BYTE $54 ; CALL _C003 -_F077 !WORD _C003 - !BYTE $2C,$12,$01 ; CW 274 - !BYTE $2A,$C0 ; CB 192 - !BYTE $54 ; CALL _C003 -_F078 !WORD _C003 - !BYTE $2E ; CS - !BYTE $1A - !BYTE $46,$6F,$75,$6E,$64,$20,$55,$74 - !BYTE $68,$65,$72,$6E,$65,$74,$20,$49 - !BYTE $20,$69,$6E,$20,$73,$6C,$6F,$74 - !BYTE $20,$23 - !BYTE $54 ; CALL _X004 -_F079 !WORD 0 -; libsrc/apple/uthernet.pla: 0245: setEtherDriver(@utherMAC, @peekfrmlen, @peekfrm, @pokefrmlen, @pokefrm) -; libsrc/apple/uthernet.pla: 0246: // -; libsrc/apple/uthernet.pla: 0247: // Keep module in memory -; libsrc/apple/uthernet.pla: 0248: // -; libsrc/apple/uthernet.pla: 0249: return modkeep - !BYTE $2A,$30 ; CB 48 - !BYTE $68 ; LAB _D038+0 -_F080 !WORD _D038+0 - !BYTE $3A,$80 ; SUBI 128 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X002 -_F081 !WORD 0 - !BYTE $54 ; CALL _X003 -_F082 !WORD 0 - !BYTE $26 ; LA _D039+0 -_F083 !WORD _D039+0 - !BYTE $26 ; LA _C006+0 -_F084 !WORD _C006+0 - !BYTE $26 ; LA _A012+0 -_F085 !WORD _A012+0 - !BYTE $26 ; LA _C005+0 -_F086 !WORD _C005+0 - !BYTE $26 ; LA _A009+0 -_F087 !WORD _A009+0 - !BYTE $54 ; CALL _X029 -_F088 !WORD 0 - !BYTE $32 ; DROP2 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/uthernet.pla: 0250: fin -_B018 -_B019 -; libsrc/apple/uthernet.pla: 0251: fin -_B016 -_B017 -; libsrc/apple/uthernet.pla: 0252: fin -_B014 -_B015 -; libsrc/apple/uthernet.pla: 0253: next -_B010 - !BYTE $2A,$10 ; CB 16 - !BYTE $A6 ; ADDBRLE _B009 - !WORD _B009-* -_B008 - !BYTE $78 ; SAB _D038+0 -_F089 !WORD _D038+0 - !BYTE $30 ; DROP -; libsrc/apple/uthernet.pla: 0254: // -; libsrc/apple/uthernet.pla: 0255: // Not found -; libsrc/apple/uthernet.pla: 0256: // -; libsrc/apple/uthernet.pla: 0257: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/uthernet.pla: 0258: done -_SYSFLAGS = 0 -_DEFCNT = 8 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: SETETHERDRIVER - !BYTE $D3,$C5,$D4,$C5,$D4,$C8,$C5,$D2,$C4,$D2,$C9,$D6,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/uthernet2.a b/src/libsrc/apple/uthernet2.a deleted file mode 100644 index 7da785b..0000000 --- a/src/libsrc/apple/uthernet2.a +++ /dev/null @@ -1,3889 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/uthernet2.pla: 0001: // -; libsrc/apple/uthernet2.pla: 0002: // Uthernet II Wiznet 5100 based ethernet card -; libsrc/apple/uthernet2.pla: 0003: // -; libsrc/apple/uthernet2.pla: 0004: // TCP/IP is built into hardware, so no dependencies on the software -; libsrc/apple/uthernet2.pla: 0005: // layers, like the Uthernet -; libsrc/apple/uthernet2.pla: 0006: // -; libsrc/apple/uthernet2.pla: 0007: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/uthernet2.pla: 0007: -; libsrc/apple/uthernet2.pla: 0008: include "inc/inet.plh" -; inc/inet.plh: 0001: // -; inc/inet.plh: 0002: // iNet API -; inc/inet.plh: 0003: // -; inc/inet.plh: 0004: import iNet - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - ; INET -> X028 -; inc/inet.plh: 0005: struc t_inet -; inc/inet.plh: 0006: word initIP - ; initIP = 0 -; inc/inet.plh: 0007: word serviceIP - ; serviceIP = 2 -; inc/inet.plh: 0008: word openUDP - ; openUDP = 4 -; inc/inet.plh: 0009: word sendUDP - ; sendUDP = 6 -; inc/inet.plh: 0010: word closeUDP - ; closeUDP = 8 -; inc/inet.plh: 0011: word listenTCP - ; listenTCP = 10 -; inc/inet.plh: 0012: word connectTCP - ; connectTCP = 12 -; inc/inet.plh: 0013: word sendTCP - ; sendTCP = 14 -; inc/inet.plh: 0014: word closeTCP - ; closeTCP = 16 -; inc/inet.plh: 0015: word setInterfaceIP - ; setInterfaceIP = 18 -; inc/inet.plh: 0016: word getInterfaceHA - ; getInterfaceHA = 20 -; inc/inet.plh: 0017: word setDNS - ; setDNS = 22 -; inc/inet.plh: 0018: word resolveIP - ; resolveIP = 24 -; inc/inet.plh: 0019: word setCallback - ; setCallback = 26 -; inc/inet.plh: 0020: word setParam - ; setParam = 28 -; inc/inet.plh: 0021: end - ; t_inet = 30 -; inc/inet.plh: 0022: end -; libsrc/apple/uthernet2.pla: 0008: -; libsrc/apple/uthernet2.pla: 0009: // -; libsrc/apple/uthernet2.pla: 0010: // Wiznet registers -; libsrc/apple/uthernet2.pla: 0011: // -; libsrc/apple/uthernet2.pla: 0012: const WIZ_MR = $00 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; WIZ_MR = 0 -; libsrc/apple/uthernet2.pla: 0013: const WIZ_GWR = $01 - ; WIZ_GWR = 1 -; libsrc/apple/uthernet2.pla: 0014: const WIZ_SUBR = $05 - ; WIZ_SUBR = 5 -; libsrc/apple/uthernet2.pla: 0015: const WIZ_SHAR = $09 - ; WIZ_SHAR = 9 -; libsrc/apple/uthernet2.pla: 0016: const WIZ_SIPR = $0F - ; WIZ_SIPR = 15 -; libsrc/apple/uthernet2.pla: 0017: const WIZ_IR = $15 - ; WIZ_IR = 21 -; libsrc/apple/uthernet2.pla: 0018: const WIZ_IMR = $16 - ; WIZ_IMR = 22 -; libsrc/apple/uthernet2.pla: 0019: const WIZ_RTR = $17 - ; WIZ_RTR = 23 -; libsrc/apple/uthernet2.pla: 0020: const WIZ_RCR = $19 - ; WIZ_RCR = 25 -; libsrc/apple/uthernet2.pla: 0021: const WIZ_RMSR = $1A - ; WIZ_RMSR = 26 -; libsrc/apple/uthernet2.pla: 0022: const WIZ_TMSR = $1B - ; WIZ_TMSR = 27 -; libsrc/apple/uthernet2.pla: 0023: const WIZ_PATR = $1C - ; WIZ_PATR = 28 -; libsrc/apple/uthernet2.pla: 0024: const WIZ_PTMR = $28 - ; WIZ_PTMR = 40 -; libsrc/apple/uthernet2.pla: 0025: const WIZ_PMGC = $29 - ; WIZ_PMGC = 41 -; libsrc/apple/uthernet2.pla: 0026: const WIZ_UIPR = $2A - ; WIZ_UIPR = 42 -; libsrc/apple/uthernet2.pla: 0027: const WIZ_UPRT = $2E - ; WIZ_UPRT = 46 -; libsrc/apple/uthernet2.pla: 0028: // -; libsrc/apple/uthernet2.pla: 0029: // Wiznet socket registers -; libsrc/apple/uthernet2.pla: 0030: // -; libsrc/apple/uthernet2.pla: 0031: const WIZ_SREGS = $0400 - ; WIZ_SREGS = 1024 -; libsrc/apple/uthernet2.pla: 0032: const WIZ_SSIZE = $0100 - ; WIZ_SSIZE = 256 -; libsrc/apple/uthernet2.pla: 0033: const WIZ_SOCK0 = $0400 - ; WIZ_SOCK0 = 1024 -; libsrc/apple/uthernet2.pla: 0034: const WIZ_SOCK1 = $0500 - ; WIZ_SOCK1 = 1280 -; libsrc/apple/uthernet2.pla: 0035: const WIZ_SOCK2 = $0600 - ; WIZ_SOCK2 = 1536 -; libsrc/apple/uthernet2.pla: 0036: const WIZ_SOCK3 = $0700 - ; WIZ_SOCK3 = 1792 -; libsrc/apple/uthernet2.pla: 0037: const WIZ_SnMR = $00 - ; WIZ_SnMR = 0 -; libsrc/apple/uthernet2.pla: 0038: const WIZ_SnCR = $01 - ; WIZ_SnCR = 1 -; libsrc/apple/uthernet2.pla: 0039: const WIZ_SnIR = $02 - ; WIZ_SnIR = 2 -; libsrc/apple/uthernet2.pla: 0040: const WIZ_SnSR = $03 - ; WIZ_SnSR = 3 -; libsrc/apple/uthernet2.pla: 0041: const WIZ_SnPORT = $04 - ; WIZ_SnPORT = 4 -; libsrc/apple/uthernet2.pla: 0042: const WIZ_SnDHAR = $06 - ; WIZ_SnDHAR = 6 -; libsrc/apple/uthernet2.pla: 0043: const WIZ_SnDIPR = $0C - ; WIZ_SnDIPR = 12 -; libsrc/apple/uthernet2.pla: 0044: const WIZ_SnDPORT = $10 - ; WIZ_SnDPORT = 16 -; libsrc/apple/uthernet2.pla: 0045: const WIZ_SnMSSR = $12 - ; WIZ_SnMSSR = 18 -; libsrc/apple/uthernet2.pla: 0046: const WIZ_SnPROTO = $14 - ; WIZ_SnPROTO = 20 -; libsrc/apple/uthernet2.pla: 0047: const WIZ_SnTOS = $15 - ; WIZ_SnTOS = 21 -; libsrc/apple/uthernet2.pla: 0048: const WIZ_SnTTL = $16 - ; WIZ_SnTTL = 22 -; libsrc/apple/uthernet2.pla: 0049: const WIZ_SnFSR = $20 - ; WIZ_SnFSR = 32 -; libsrc/apple/uthernet2.pla: 0050: const WIZ_SnTXRD = $22 - ; WIZ_SnTXRD = 34 -; libsrc/apple/uthernet2.pla: 0051: const WIZ_SnTXWR = $24 - ; WIZ_SnTXWR = 36 -; libsrc/apple/uthernet2.pla: 0052: const WIZ_SnRSR = $26 - ; WIZ_SnRSR = 38 -; libsrc/apple/uthernet2.pla: 0053: const WIZ_SnRXRD = $28 - ; WIZ_SnRXRD = 40 -; libsrc/apple/uthernet2.pla: 0054: // -; libsrc/apple/uthernet2.pla: 0055: // Wiznet socket data -; libsrc/apple/uthernet2.pla: 0056: // -; libsrc/apple/uthernet2.pla: 0057: const WIZ_TXMEM = $4000 - ; WIZ_TXMEM = 16384 -; libsrc/apple/uthernet2.pla: 0058: const WIZ_TXSIZE = $0800 - ; WIZ_TXSIZE = 2048 -; libsrc/apple/uthernet2.pla: 0059: const WIZ_TXMASK = WIZ_TXSIZE-1 - ; WIZ_TXMASK = 2047 -; libsrc/apple/uthernet2.pla: 0060: const WIZ_TXMEM0 = $4000 - ; WIZ_TXMEM0 = 16384 -; libsrc/apple/uthernet2.pla: 0061: const WIZ_TXMEM1 = $4800 - ; WIZ_TXMEM1 = 18432 -; libsrc/apple/uthernet2.pla: 0062: const WIZ_TXMEM2 = $5000 - ; WIZ_TXMEM2 = 20480 -; libsrc/apple/uthernet2.pla: 0063: const WIZ_TXMEM3 = $5800 - ; WIZ_TXMEM3 = 22528 -; libsrc/apple/uthernet2.pla: 0064: const WIZ_RXMEM = $6000 - ; WIZ_RXMEM = 24576 -; libsrc/apple/uthernet2.pla: 0065: const WIZ_RXSIZE = $0800 - ; WIZ_RXSIZE = 2048 -; libsrc/apple/uthernet2.pla: 0066: const WIZ_RXMASK = WIZ_RXSIZE-1 - ; WIZ_RXMASK = 2047 -; libsrc/apple/uthernet2.pla: 0067: const WIZ_RXMEM0 = $6000 - ; WIZ_RXMEM0 = 24576 -; libsrc/apple/uthernet2.pla: 0068: const WIZ_RXMEM1 = $6800 - ; WIZ_RXMEM1 = 26624 -; libsrc/apple/uthernet2.pla: 0069: const WIZ_RXMEM2 = $7000 - ; WIZ_RXMEM2 = 28672 -; libsrc/apple/uthernet2.pla: 0070: const WIZ_RXMEM3 = $7800 - ; WIZ_RXMEM3 = 30720 -; libsrc/apple/uthernet2.pla: 0071: // -; libsrc/apple/uthernet2.pla: 0072: // Wiznet indirect registers -; libsrc/apple/uthernet2.pla: 0073: // -; libsrc/apple/uthernet2.pla: 0074: word[] rom -_D029 ; rom -; libsrc/apple/uthernet2.pla: 0075: word saveidx -_D030 !FILL 2 ; saveidx -; libsrc/apple/uthernet2.pla: 0076: byte regidx -_D031 !FILL 1 ; regidx -; libsrc/apple/uthernet2.pla: 0077: byte regdata -_D032 !FILL 1 ; regdata -; libsrc/apple/uthernet2.pla: 0078: byte slot -_D033 !FILL 1 ; slot -; libsrc/apple/uthernet2.pla: 0079: // -; libsrc/apple/uthernet2.pla: 0080: // Wiznet MAC address -; libsrc/apple/uthernet2.pla: 0081: // -; libsrc/apple/uthernet2.pla: 0082: byte[6] wizMAC = $00,$0A,$99,$1E,$02,$B0 -_D034 ; wizMAC = $00,$0A,$99,$1E,$02,$B0 - !BYTE $00 - !BYTE $0A - !BYTE $99 - !BYTE $1E - !BYTE $02 - !BYTE $B0 -; libsrc/apple/uthernet2.pla: 0083: // -; libsrc/apple/uthernet2.pla: 0084: // Wiznet IP addresses -; libsrc/apple/uthernet2.pla: 0085: // -; libsrc/apple/uthernet2.pla: 0086: byte[4] localip -_D035 !FILL 4 ; localip -; libsrc/apple/uthernet2.pla: 0087: byte[4] subnet -_D036 !FILL 4 ; subnet -; libsrc/apple/uthernet2.pla: 0088: byte[4] gateway -_D037 !FILL 4 ; gateway -; libsrc/apple/uthernet2.pla: 0089: // -; libsrc/apple/uthernet2.pla: 0090: // Predefine service routine -; libsrc/apple/uthernet2.pla: 0091: // -; libsrc/apple/uthernet2.pla: 0092: predef wizServiceIP -; libsrc/apple/uthernet2.pla: 0093: // -; libsrc/apple/uthernet2.pla: 0094: // Segment list element -; libsrc/apple/uthernet2.pla: 0095: // -; libsrc/apple/uthernet2.pla: 0096: struc t_segment -; libsrc/apple/uthernet2.pla: 0097: word seg_buf - ; seg_buf = 0 -; libsrc/apple/uthernet2.pla: 0098: word seg_len - ; seg_len = 2 -; libsrc/apple/uthernet2.pla: 0099: end - ; t_segment = 4 -; libsrc/apple/uthernet2.pla: 0100: // -; libsrc/apple/uthernet2.pla: 0101: // Max Ethernet frame size -; libsrc/apple/uthernet2.pla: 0102: // -; libsrc/apple/uthernet2.pla: 0103: const MAX_FRAME_SIZE = 1518 - ; MAX_FRAME_SIZE = 1518 -; libsrc/apple/uthernet2.pla: 0104: const MAC_BROADCAST = $FFFF - ; MAC_BROADCAST = 65535 -; libsrc/apple/uthernet2.pla: 0105: const MAC_SIZE = 6 - ; MAC_SIZE = 6 -; libsrc/apple/uthernet2.pla: 0106: // -; libsrc/apple/uthernet2.pla: 0107: // Ethernet header -; libsrc/apple/uthernet2.pla: 0108: // -; libsrc/apple/uthernet2.pla: 0109: struc t_ethrhdr -; libsrc/apple/uthernet2.pla: 0110: byte[MAC_SIZE] ethr_dst - ; ethr_dst = 0 -; libsrc/apple/uthernet2.pla: 0111: byte[MAC_SIZE] ethr_src - ; ethr_src = 6 -; libsrc/apple/uthernet2.pla: 0112: word ethr_payload - ; ethr_payload = 12 -; libsrc/apple/uthernet2.pla: 0113: end - ; t_ethrhdr = 14 -; libsrc/apple/uthernet2.pla: 0114: const PAYLOAD_IP = $0008 // BE format - ; PAYLOAD_IP = 8 -; libsrc/apple/uthernet2.pla: 0115: const PAYLOAD_ARP = $0608 // BE format - ; PAYLOAD_ARP = 1544 -; libsrc/apple/uthernet2.pla: 0116: // -; libsrc/apple/uthernet2.pla: 0117: // IP datagram header -; libsrc/apple/uthernet2.pla: 0118: // -; libsrc/apple/uthernet2.pla: 0119: const IP4ADR_SIZE = 4 - ; IP4ADR_SIZE = 4 -; libsrc/apple/uthernet2.pla: 0120: struc t_iphdr -; libsrc/apple/uthernet2.pla: 0121: byte ip_vers_hlen - ; ip_vers_hlen = 0 -; libsrc/apple/uthernet2.pla: 0122: byte ip_service - ; ip_service = 1 -; libsrc/apple/uthernet2.pla: 0123: word ip_length - ; ip_length = 2 -; libsrc/apple/uthernet2.pla: 0124: word ip_id - ; ip_id = 4 -; libsrc/apple/uthernet2.pla: 0125: word ip_flags_fragofst - ; ip_flags_fragofst = 6 -; libsrc/apple/uthernet2.pla: 0126: byte ip_ttl - ; ip_ttl = 8 -; libsrc/apple/uthernet2.pla: 0127: byte ip_proto - ; ip_proto = 9 -; libsrc/apple/uthernet2.pla: 0128: word ip_chksm - ; ip_chksm = 10 -; libsrc/apple/uthernet2.pla: 0129: byte[IP4ADR_SIZE] ip_src - ; ip_src = 12 -; libsrc/apple/uthernet2.pla: 0130: byte[IP4ADR_SIZE] ip_dst - ; ip_dst = 16 -; libsrc/apple/uthernet2.pla: 0131: byte[] ip_options - ; ip_options = 20 -; libsrc/apple/uthernet2.pla: 0132: end - ; t_iphdr = 20 -; libsrc/apple/uthernet2.pla: 0133: const IP_BROADCAST = $FFFF - ; IP_BROADCAST = 65535 -; libsrc/apple/uthernet2.pla: 0134: const IP_PROTO_ICMP = $01 - ; IP_PROTO_ICMP = 1 -; libsrc/apple/uthernet2.pla: 0135: const IP_PROTO_UDP = $11 - ; IP_PROTO_UDP = 17 -; libsrc/apple/uthernet2.pla: 0136: const IP_PROTO_TCP = $06 - ; IP_PROTO_TCP = 6 -; libsrc/apple/uthernet2.pla: 0137: word bcast = IP_BROADCAST, IP_BROADCAST -_D039 ; bcast = IP_BROADCAST, IP_BROADCAST - !WORD $FFFF - !WORD $FFFF -; libsrc/apple/uthernet2.pla: 0138: // -; libsrc/apple/uthernet2.pla: 0139: // ICMP type/codes -; libsrc/apple/uthernet2.pla: 0140: // -; libsrc/apple/uthernet2.pla: 0141: const ICMP_ECHO_REQST = 8 - ; ICMP_ECHO_REQST = 8 -; libsrc/apple/uthernet2.pla: 0142: const ICMP_ECHO_REPLY = 0 - ; ICMP_ECHO_REPLY = 0 -; libsrc/apple/uthernet2.pla: 0143: // -; libsrc/apple/uthernet2.pla: 0144: // ICMP message format -; libsrc/apple/uthernet2.pla: 0145: // -; libsrc/apple/uthernet2.pla: 0146: struc t_icmp -; libsrc/apple/uthernet2.pla: 0147: byte icmp_type - ; icmp_type = 0 -; libsrc/apple/uthernet2.pla: 0148: byte icmp_code - ; icmp_code = 1 -; libsrc/apple/uthernet2.pla: 0149: word icmp_chksm - ; icmp_chksm = 2 -; libsrc/apple/uthernet2.pla: 0150: word[2] icmp_header - ; icmp_header = 4 -; libsrc/apple/uthernet2.pla: 0151: end - ; t_icmp = 8 -; libsrc/apple/uthernet2.pla: 0152: // -; libsrc/apple/uthernet2.pla: 0153: // UDP IPv4 psuedo header -; libsrc/apple/uthernet2.pla: 0154: // -; libsrc/apple/uthernet2.pla: 0155: struc t_piphdr -; libsrc/apple/uthernet2.pla: 0156: byte[IP4ADR_SIZE] pip_src - ; pip_src = 0 -; libsrc/apple/uthernet2.pla: 0157: byte[IP4ADR_SIZE] pip_dst - ; pip_dst = 4 -; libsrc/apple/uthernet2.pla: 0158: byte pip_zero - ; pip_zero = 8 -; libsrc/apple/uthernet2.pla: 0159: byte pip_proto - ; pip_proto = 9 -; libsrc/apple/uthernet2.pla: 0160: word pip_len - ; pip_len = 10 -; libsrc/apple/uthernet2.pla: 0161: end - ; t_piphdr = 12 -; libsrc/apple/uthernet2.pla: 0162: // -; libsrc/apple/uthernet2.pla: 0163: // UDP header -; libsrc/apple/uthernet2.pla: 0164: // -; libsrc/apple/uthernet2.pla: 0165: struc t_udphdr -; libsrc/apple/uthernet2.pla: 0166: word udp_src - ; udp_src = 0 -; libsrc/apple/uthernet2.pla: 0167: word udp_dst - ; udp_dst = 2 -; libsrc/apple/uthernet2.pla: 0168: word udp_len - ; udp_len = 4 -; libsrc/apple/uthernet2.pla: 0169: word udp_chksm - ; udp_chksm = 6 -; libsrc/apple/uthernet2.pla: 0170: end - ; t_udphdr = 8 -; libsrc/apple/uthernet2.pla: 0171: // -; libsrc/apple/uthernet2.pla: 0172: // TCP header -; libsrc/apple/uthernet2.pla: 0173: // -; libsrc/apple/uthernet2.pla: 0174: struc t_tcphdr -; libsrc/apple/uthernet2.pla: 0175: word tcp_src - ; tcp_src = 0 -; libsrc/apple/uthernet2.pla: 0176: word tcp_dst - ; tcp_dst = 2 -; libsrc/apple/uthernet2.pla: 0177: word tcp_len - ; tcp_len = 4 -; libsrc/apple/uthernet2.pla: 0178: word tcp_chksm - ; tcp_chksm = 6 -; libsrc/apple/uthernet2.pla: 0179: end - ; t_tcphdr = 8 -; libsrc/apple/uthernet2.pla: 0180: // -; libsrc/apple/uthernet2.pla: 0181: // Local network parameters -; libsrc/apple/uthernet2.pla: 0182: // -; libsrc/apple/uthernet2.pla: 0183: const MAX_WIZ_CHANNELS = 4 - ; MAX_WIZ_CHANNELS = 4 -; libsrc/apple/uthernet2.pla: 0184: // -; libsrc/apple/uthernet2.pla: 0185: // Channel protocols -; libsrc/apple/uthernet2.pla: 0186: // -; libsrc/apple/uthernet2.pla: 0187: const WIZ_PROTO_CLOSED = 0 - ; WIZ_PROTO_CLOSED = 0 -; libsrc/apple/uthernet2.pla: 0188: const WIZ_PROTO_TCP = 1 - ; WIZ_PROTO_TCP = 1 -; libsrc/apple/uthernet2.pla: 0189: const WIZ_PROTO_UDP = 2 - ; WIZ_PROTO_UDP = 2 -; libsrc/apple/uthernet2.pla: 0190: const WIZ_PROTO_IP = 3 - ; WIZ_PROTO_IP = 3 -; libsrc/apple/uthernet2.pla: 0191: const WIZ_PROTO_RAW = 4 - ; WIZ_PROTO_RAW = 4 -; libsrc/apple/uthernet2.pla: 0192: // -; libsrc/apple/uthernet2.pla: 0193: // State transistions -; libsrc/apple/uthernet2.pla: 0194: // -; libsrc/apple/uthernet2.pla: 0195: const TCP_STATE_CLOSED = 0 - ; TCP_STATE_CLOSED = 0 -; libsrc/apple/uthernet2.pla: 0196: const TCP_STATE_CLOSING = 1 - ; TCP_STATE_CLOSING = 1 -; libsrc/apple/uthernet2.pla: 0197: const TCP_STATE_LISTEN = 2 - ; TCP_STATE_LISTEN = 2 -; libsrc/apple/uthernet2.pla: 0198: const TCP_STATE_CONNECT = 3 - ; TCP_STATE_CONNECT = 3 -; libsrc/apple/uthernet2.pla: 0199: const TCP_STATE_OPEN = 4 - ; TCP_STATE_OPEN = 4 -; libsrc/apple/uthernet2.pla: 0200: // -; libsrc/apple/uthernet2.pla: 0201: // HW channels -; libsrc/apple/uthernet2.pla: 0202: // -; libsrc/apple/uthernet2.pla: 0203: struc t_channel -; libsrc/apple/uthernet2.pla: 0204: byte channel_proto - ; channel_proto = 0 -; libsrc/apple/uthernet2.pla: 0205: byte channel_state - ; channel_state = 1 -; libsrc/apple/uthernet2.pla: 0206: word channel_regs - ; channel_regs = 2 -; libsrc/apple/uthernet2.pla: 0207: word channel_txmem - ; channel_txmem = 4 -; libsrc/apple/uthernet2.pla: 0208: word channel_rxmem - ; channel_rxmem = 6 -; libsrc/apple/uthernet2.pla: 0209: word channel_lclport - ; channel_lclport = 8 -; libsrc/apple/uthernet2.pla: 0210: word channel_remport - ; channel_remport = 10 -; libsrc/apple/uthernet2.pla: 0211: byte[4] channel_remip - ; channel_remip = 12 -; libsrc/apple/uthernet2.pla: 0212: word channel_recv_func - ; channel_recv_func = 16 -; libsrc/apple/uthernet2.pla: 0213: word channel_recv_parm - ; channel_recv_parm = 18 -; libsrc/apple/uthernet2.pla: 0214: end - ; t_channel = 20 -; libsrc/apple/uthernet2.pla: 0215: byte[t_channel] wizChannel[MAX_WIZ_CHANNELS] -_D040 !FILL 80 ; wizChannel[MAX_WIZ_CHANNELS] -; libsrc/apple/uthernet2.pla: 0216: // -; libsrc/apple/uthernet2.pla: 0217: // Service ICMP hook -; libsrc/apple/uthernet2.pla: 0218: // -; libsrc/apple/uthernet2.pla: 0219: export word hookICMP -_D041 !FILL 2 ; hookICMP -; libsrc/apple/uthernet2.pla: 0220: // -; libsrc/apple/uthernet2.pla: 0221: // Defines for ASM routines -; libsrc/apple/uthernet2.pla: 0222: // -; libsrc/apple/uthernet2.pla: 0223: asm equates -_A000 ; equates() -; libsrc/apple/uthernet2.pla: 0224: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/uthernet2.pla: 0225: end -; libsrc/apple/uthernet2.pla: 0226: // -; libsrc/apple/uthernet2.pla: 0227: // Swap bytes in word -; libsrc/apple/uthernet2.pla: 0228: // -; libsrc/apple/uthernet2.pla: 0229: asm swab(val) -_A001 ; swab() -; libsrc/apple/uthernet2.pla: 0230: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/uthernet2.pla: 0231: LDY ESTKH,X - LDY ESTKH,X -; libsrc/apple/uthernet2.pla: 0232: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/uthernet2.pla: 0233: STY ESTKL,X - STY ESTKL,X -; libsrc/apple/uthernet2.pla: 0234: RTS - RTS -; libsrc/apple/uthernet2.pla: 0235: end -; libsrc/apple/uthernet2.pla: 0236: // -; libsrc/apple/uthernet2.pla: 0237: // Wiznet I/O functions -; libsrc/apple/uthernet2.pla: 0238: // -; libsrc/apple/uthernet2.pla: 0239: // POKE WORD TO I/O SPACE -; libsrc/apple/uthernet2.pla: 0240: // Note: Big Endian format -; libsrc/apple/uthernet2.pla: 0241: // -; libsrc/apple/uthernet2.pla: 0242: asm _pokeiow(val)#0 -_A002 ; _pokeiow() -; libsrc/apple/uthernet2.pla: 0243: LDA ESTKH,X - LDA ESTKH,X -; libsrc/apple/uthernet2.pla: 0244: end -; libsrc/apple/uthernet2.pla: 0245: asm _pokeiowl -_A003 ; _pokeiowl() -; libsrc/apple/uthernet2.pla: 0246: STA $C000 - STA $C000 -; libsrc/apple/uthernet2.pla: 0247: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/uthernet2.pla: 0248: end -; libsrc/apple/uthernet2.pla: 0249: asm _pokeiowh -_A004 ; _pokeiowh() -; libsrc/apple/uthernet2.pla: 0250: STA $C000 - STA $C000 -; libsrc/apple/uthernet2.pla: 0251: INX - INX -; libsrc/apple/uthernet2.pla: 0252: RTS - RTS -; libsrc/apple/uthernet2.pla: 0253: end -; libsrc/apple/uthernet2.pla: 0254: // -; libsrc/apple/uthernet2.pla: 0255: // POKE BYTE TO I/O SPACE -; libsrc/apple/uthernet2.pla: 0256: // -; libsrc/apple/uthernet2.pla: 0257: asm _pokeio(val)#0 -_A005 ; _pokeio() -; libsrc/apple/uthernet2.pla: 0258: LDA ESTKL,X - LDA ESTKL,X -; libsrc/apple/uthernet2.pla: 0259: end -; libsrc/apple/uthernet2.pla: 0260: asm _pokeiol -_A006 ; _pokeiol() -; libsrc/apple/uthernet2.pla: 0261: STA $C000 - STA $C000 -; libsrc/apple/uthernet2.pla: 0262: INX - INX -; libsrc/apple/uthernet2.pla: 0263: RTS - RTS -; libsrc/apple/uthernet2.pla: 0264: end -; libsrc/apple/uthernet2.pla: 0265: // -; libsrc/apple/uthernet2.pla: 0266: // PEEK BYTE FROM I/O SPACE -; libsrc/apple/uthernet2.pla: 0267: // -; libsrc/apple/uthernet2.pla: 0268: asm _peekio -_A007 ; _peekio() -; libsrc/apple/uthernet2.pla: 0269: DEX - DEX -; libsrc/apple/uthernet2.pla: 0270: end -; libsrc/apple/uthernet2.pla: 0271: asm _peekiol -_A008 ; _peekiol() -; libsrc/apple/uthernet2.pla: 0272: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet2.pla: 0273: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/uthernet2.pla: 0274: LDA #$00 - LDA #$00 -; libsrc/apple/uthernet2.pla: 0275: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/uthernet2.pla: 0276: RTS - RTS -; libsrc/apple/uthernet2.pla: 0277: end -; libsrc/apple/uthernet2.pla: 0278: // -; libsrc/apple/uthernet2.pla: 0279: // PEEK WORD FROM I/O SPACE -; libsrc/apple/uthernet2.pla: 0280: // Note: Big Endian format -; libsrc/apple/uthernet2.pla: 0281: // -; libsrc/apple/uthernet2.pla: 0282: asm _peekiow -_A009 ; _peekiow() -; libsrc/apple/uthernet2.pla: 0283: DEX - DEX -; libsrc/apple/uthernet2.pla: 0284: end -; libsrc/apple/uthernet2.pla: 0285: asm _peekiowl -_A010 ; _peekiowl() -; libsrc/apple/uthernet2.pla: 0286: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet2.pla: 0287: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/uthernet2.pla: 0288: end -; libsrc/apple/uthernet2.pla: 0289: asm _peekiowh -_A011 ; _peekiowh() -; libsrc/apple/uthernet2.pla: 0290: LDA $C000 - LDA $C000 -; libsrc/apple/uthernet2.pla: 0291: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/uthernet2.pla: 0292: RTS - RTS -; libsrc/apple/uthernet2.pla: 0293: end -; libsrc/apple/uthernet2.pla: 0294: // -; libsrc/apple/uthernet2.pla: 0295: // WRITE DATA INTO I/O SPACE -; libsrc/apple/uthernet2.pla: 0296: // pokedata(BUF, LEN) -; libsrc/apple/uthernet2.pla: 0297: // -; libsrc/apple/uthernet2.pla: 0298: asm pokedata(buf, len)#0 -_A012 ; pokedata() -; libsrc/apple/uthernet2.pla: 0299: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/uthernet2.pla: 0300: STA SRCL - STA SRCL -; libsrc/apple/uthernet2.pla: 0301: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/uthernet2.pla: 0302: STA SRCH - STA SRCH -; libsrc/apple/uthernet2.pla: 0303: LDY ESTKL,X - LDY ESTKL,X -; libsrc/apple/uthernet2.pla: 0304: BEQ POKELP - BEQ POKELP -; libsrc/apple/uthernet2.pla: 0305: LDY #$00 - LDY #$00 -; libsrc/apple/uthernet2.pla: 0306: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/uthernet2.pla: 0307: POKELP LDA (SRC),Y -POKELP LDA (SRC),Y -; libsrc/apple/uthernet2.pla: 0308: end -; libsrc/apple/uthernet2.pla: 0309: asm _pokedata -_A013 ; _pokedata() -; libsrc/apple/uthernet2.pla: 0310: STA $C000 - STA $C000 -; libsrc/apple/uthernet2.pla: 0311: INY - INY -; libsrc/apple/uthernet2.pla: 0312: BNE + - BNE + -; libsrc/apple/uthernet2.pla: 0313: INC SRCH - INC SRCH -; libsrc/apple/uthernet2.pla: 0314: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/uthernet2.pla: 0315: BNE POKELP - BNE POKELP -; libsrc/apple/uthernet2.pla: 0316: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/uthernet2.pla: 0317: BNE POKELP - BNE POKELP -; libsrc/apple/uthernet2.pla: 0318: INX - INX -; libsrc/apple/uthernet2.pla: 0319: INX - INX -; libsrc/apple/uthernet2.pla: 0320: RTS - RTS -; libsrc/apple/uthernet2.pla: 0321: end -; libsrc/apple/uthernet2.pla: 0322: // -; libsrc/apple/uthernet2.pla: 0323: // READ DATA FROM I/O SPACE -; libsrc/apple/uthernet2.pla: 0324: // peekdata(BUF, LEN) -; libsrc/apple/uthernet2.pla: 0325: // -; libsrc/apple/uthernet2.pla: 0326: asm peekdata(buf, len)#0 -_A014 ; peekdata() -; libsrc/apple/uthernet2.pla: 0327: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/apple/uthernet2.pla: 0328: STA DSTL - STA DSTL -; libsrc/apple/uthernet2.pla: 0329: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/apple/uthernet2.pla: 0330: STA DSTH - STA DSTH -; libsrc/apple/uthernet2.pla: 0331: LDY ESTKL,X - LDY ESTKL,X -; libsrc/apple/uthernet2.pla: 0332: BEQ PEEKLP - BEQ PEEKLP -; libsrc/apple/uthernet2.pla: 0333: LDY #$00 - LDY #$00 -; libsrc/apple/uthernet2.pla: 0334: INC ESTKH,X - INC ESTKH,X -; libsrc/apple/uthernet2.pla: 0335: end -; libsrc/apple/uthernet2.pla: 0336: asm _peekdata -_A015 ; _peekdata() -; libsrc/apple/uthernet2.pla: 0337: PEEKLP LDA $C000 -PEEKLP LDA $C000 -; libsrc/apple/uthernet2.pla: 0338: STA (DST),Y - STA (DST),Y -; libsrc/apple/uthernet2.pla: 0339: INY - INY -; libsrc/apple/uthernet2.pla: 0340: BNE + - BNE + -; libsrc/apple/uthernet2.pla: 0341: INC DSTH - INC DSTH -; libsrc/apple/uthernet2.pla: 0342: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/apple/uthernet2.pla: 0343: BNE PEEKLP - BNE PEEKLP -; libsrc/apple/uthernet2.pla: 0344: DEC ESTKH,X - DEC ESTKH,X -; libsrc/apple/uthernet2.pla: 0345: BNE PEEKLP - BNE PEEKLP -; libsrc/apple/uthernet2.pla: 0346: INX - INX -; libsrc/apple/uthernet2.pla: 0347: INX - INX -; libsrc/apple/uthernet2.pla: 0348: RTS - RTS -; libsrc/apple/uthernet2.pla: 0349: end -; libsrc/apple/uthernet2.pla: 0350: def pokeiow(io, data)#0 -_SUBSEG ; BYTECODE STARTS - ; io -> [0] - ; data -> [2] -_C000 ; pokeiow() -; libsrc/apple/uthernet2.pla: 0351: _pokeiowl.1 = io - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet2.pla: 0352: _pokeiowh.1 = io+1 -; libsrc/apple/uthernet2.pla: 0353: _pokeiow(data) -; libsrc/apple/uthernet2.pla: 0354: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A003+1 -_F000 !WORD _A003+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $78 ; SAB _A004+1 -_F001 !WORD _A004+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A002 -_F002 !WORD _A002 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0355: def pokeio(io, data)#0 - ; io -> [0] - ; data -> [2] -_C001 ; pokeio() -; libsrc/apple/uthernet2.pla: 0356: _pokeiol.1 = io - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet2.pla: 0357: _pokeio(data) -; libsrc/apple/uthernet2.pla: 0358: end - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A006+1 -_F003 !WORD _A006+1 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A005 -_F004 !WORD _A005 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0359: def peekio(io) - ; io -> [0] -_C002 ; peekio() -; libsrc/apple/uthernet2.pla: 0360: _peekiol.1 = io - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet2.pla: 0361: return _peekio() - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A008+1 -_F005 !WORD _A008+1 - !BYTE $54 ; CALL _A007 -_F006 !WORD _A007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0362: end -; libsrc/apple/uthernet2.pla: 0363: def peekiow(io) - ; io -> [0] -_C003 ; peekiow() -; libsrc/apple/uthernet2.pla: 0364: _peekiowl.1 = io - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet2.pla: 0365: _peekiowh.1 = io+1 -; libsrc/apple/uthernet2.pla: 0366: return _peekiow() - !BYTE $66,$00 ; LLW [0] - !BYTE $78 ; SAB _A010+1 -_F007 !WORD _A010+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $78 ; SAB _A011+1 -_F008 !WORD _A011+1 - !BYTE $54 ; CALL _A009 -_F009 !WORD _A009 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0367: end -; libsrc/apple/uthernet2.pla: 0368: def pokereg(reg, data)#0 - ; reg -> [0] - ; data -> [2] -_C004 ; pokereg() -; libsrc/apple/uthernet2.pla: 0369: _pokeiow(reg) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet2.pla: 0370: _pokeio(data) -; libsrc/apple/uthernet2.pla: 0371: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A002 -_F010 !WORD _A002 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A005 -_F011 !WORD _A005 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0372: def peekreg(reg) - ; reg -> [0] -_C005 ; peekreg() -; libsrc/apple/uthernet2.pla: 0373: _pokeiow(reg) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet2.pla: 0374: return _peekio() - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A002 -_F012 !WORD _A002 - !BYTE $54 ; CALL _A007 -_F013 !WORD _A007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0375: end -; libsrc/apple/uthernet2.pla: 0376: def pokeregs(reg, buf, len)#0 - ; reg -> [0] - ; buf -> [2] - ; len -> [4] -_C006 ; pokeregs() -; libsrc/apple/uthernet2.pla: 0377: _pokeiow(reg) - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/uthernet2.pla: 0378: pokedata(buf, len) -; libsrc/apple/uthernet2.pla: 0379: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A002 -_F014 !WORD _A002 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A012 -_F015 !WORD _A012 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/uthernet2.pla: 0380: def peekregs(reg, buf, len)#0 - ; reg -> [0] - ; buf -> [2] - ; len -> [4] -_C007 ; peekregs() -; libsrc/apple/uthernet2.pla: 0381: _pokeiow(reg) - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/uthernet2.pla: 0382: peekdata(buf, len) -; libsrc/apple/uthernet2.pla: 0383: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A002 -_F016 !WORD _A002 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A014 -_F017 !WORD _A014 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/uthernet2.pla: 0384: def pokeregw(reg, dataw)#0 - ; reg -> [0] - ; dataw -> [2] -_C008 ; pokeregw() -; libsrc/apple/uthernet2.pla: 0385: _pokeiow(reg) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet2.pla: 0386: _pokeio(dataw.1) -; libsrc/apple/uthernet2.pla: 0387: _pokeio(dataw.0) -; libsrc/apple/uthernet2.pla: 0388: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A002 -_F018 !WORD _A002 - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _A005 -_F019 !WORD _A005 - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _A005 -_F020 !WORD _A005 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0389: def peekregw(reg) - ; reg -> [0] -_C009 ; peekregw() -; libsrc/apple/uthernet2.pla: 0390: word dataw - ; dataw -> [2] -; libsrc/apple/uthernet2.pla: 0391: -; libsrc/apple/uthernet2.pla: 0392: _pokeiow(reg) - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/apple/uthernet2.pla: 0393: dataw.1 = _peekio() -; libsrc/apple/uthernet2.pla: 0394: _pokeiow(reg + 1) -; libsrc/apple/uthernet2.pla: 0395: dataw.0 = _peekio() -; libsrc/apple/uthernet2.pla: 0396: return dataw - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A002 -_F021 !WORD _A002 - !BYTE $54 ; CALL _A007 -_F022 !WORD _A007 - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _A002 -_F023 !WORD _A002 - !BYTE $54 ; CALL _A007 -_F024 !WORD _A007 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0397: end -; libsrc/apple/uthernet2.pla: 0398: // -; libsrc/apple/uthernet2.pla: 0399: // Send UDP datagram -; libsrc/apple/uthernet2.pla: 0400: // -; libsrc/apple/uthernet2.pla: 0401: def wizSendUDP(wiz, ipdst, portdst, data, len) - ; wiz -> [0] - ; ipdst -> [2] - ; portdst -> [4] - ; data -> [6] - ; len -> [8] -_C010 ; wizSendUDP() -; libsrc/apple/uthernet2.pla: 0402: word wizregs, wizdata, txrr, txwr, splitlen - ; wizregs -> [10] - ; wizdata -> [12] - ; txrr -> [14] - ; txwr -> [16] - ; splitlen -> [18] -; libsrc/apple/uthernet2.pla: 0403: -; libsrc/apple/uthernet2.pla: 0404: wizregs = wiz=>channel_regs - !BYTE $58,$14,$05 ; ENTER 20,5 -; libsrc/apple/uthernet2.pla: 0405: wizdata = wiz=>channel_txmem -; libsrc/apple/uthernet2.pla: 0406: if !ipdst -; libsrc/apple/uthernet2.pla: 0407: ipdst = @bcast -; libsrc/apple/uthernet2.pla: 0408: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* - !BYTE $26 ; LA _D039+0 -_F025 !WORD _D039+0 - !BYTE $76,$02 ; SLW [2] -_B001 -_B002 -; libsrc/apple/uthernet2.pla: 0409: // -; libsrc/apple/uthernet2.pla: 0410: // Wait for Tx room -; libsrc/apple/uthernet2.pla: 0411: // -; libsrc/apple/uthernet2.pla: 0412: repeat; until peekregw(wizregs + WIZ_SnFSR) >= len -_B004 -_B005 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$20 ; ADDI 32 - !BYTE $54 ; CALL _C009 -_F026 !WORD _C009 - !BYTE $66,$08 ; LLW [8] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* -_B003 -; libsrc/apple/uthernet2.pla: 0413: // -; libsrc/apple/uthernet2.pla: 0414: // Calc new write ptr, check for split -; libsrc/apple/uthernet2.pla: 0415: // -; libsrc/apple/uthernet2.pla: 0416: txwr = peekregw(wizregs + WIZ_SnTXWR) -; libsrc/apple/uthernet2.pla: 0417: txrr = txwr & WIZ_TXMASK -; libsrc/apple/uthernet2.pla: 0418: if txrr + len > WIZ_TXSIZE -; libsrc/apple/uthernet2.pla: 0419: splitlen = WIZ_TXSIZE - txrr -; libsrc/apple/uthernet2.pla: 0420: pokeregs(wizdata + txrr, data, splitlen) -; libsrc/apple/uthernet2.pla: 0421: pokeregs(wizdata, data + splitlen, len - splitlen) -; libsrc/apple/uthernet2.pla: 0422: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$24 ; ADDI 36 - !BYTE $54 ; CALL _C009 -_F027 !WORD _C009 - !BYTE $6E,$10 ; DLW [16] - !BYTE $2C,$FF,$07 ; CW 2047 - !BYTE $94 ; AND - !BYTE $6E,$0E ; DLW [14] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C006 -_F028 !WORD _C006 - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$12 ; ADDLW [18] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$12 ; LLW [18] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C006 -_F029 !WORD _C006 - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; libsrc/apple/uthernet2.pla: 0423: pokeregs(wizdata + txrr, data, len) -; libsrc/apple/uthernet2.pla: 0424: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C006 -_F030 !WORD _C006 -_B007 -; libsrc/apple/uthernet2.pla: 0425: // -; libsrc/apple/uthernet2.pla: 0426: // Set destination address/port -; libsrc/apple/uthernet2.pla: 0427: // -; libsrc/apple/uthernet2.pla: 0428: pokeregs(wizregs + WIZ_SnDIPR, ipdst, IP4ADR_SIZE) -; libsrc/apple/uthernet2.pla: 0429: pokeregw(wizregs + WIZ_SnDPORT, portdst) -; libsrc/apple/uthernet2.pla: 0430: // -; libsrc/apple/uthernet2.pla: 0431: // Update write pointer and send -; libsrc/apple/uthernet2.pla: 0432: // -; libsrc/apple/uthernet2.pla: 0433: pokeregw(wizregs + WIZ_SnTXWR, txwr + len) -; libsrc/apple/uthernet2.pla: 0434: pokereg(wizregs + WIZ_SnCR, $20) // SEND -; libsrc/apple/uthernet2.pla: 0435: return 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C006 -_F031 !WORD _C006 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$10 ; ADDI 16 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C008 -_F032 !WORD _C008 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$24 ; ADDI 36 - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $54 ; CALL _C008 -_F033 !WORD _C008 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C004 -_F034 !WORD _C004 - !BYTE $00 ; CN 0 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/apple/uthernet2.pla: 0436: end -; libsrc/apple/uthernet2.pla: 0437: // -; libsrc/apple/uthernet2.pla: 0438: // Open UDP channel and set datagram received callback -; libsrc/apple/uthernet2.pla: 0439: // -; libsrc/apple/uthernet2.pla: 0440: def wizOpenUDP(localport, callback, param) - ; localport -> [0] - ; callback -> [2] - ; param -> [4] -_C011 ; wizOpenUDP() -; libsrc/apple/uthernet2.pla: 0441: word wiz - ; wiz -> [6] -; libsrc/apple/uthernet2.pla: 0442: byte i - ; i -> [8] -; libsrc/apple/uthernet2.pla: 0443: -; libsrc/apple/uthernet2.pla: 0444: if !localport; return -1; fin // invalid port - !BYTE $58,$09,$03 ; ENTER 9,3 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B008 - !WORD _B008-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$09 ; LEAVE 9 -_B008 -_B009 -; libsrc/apple/uthernet2.pla: 0445: // -; libsrc/apple/uthernet2.pla: 0446: // Look for an existing notification on localport -; libsrc/apple/uthernet2.pla: 0447: // -; libsrc/apple/uthernet2.pla: 0448: wiz = @wizChannel -; libsrc/apple/uthernet2.pla: 0449: for i = 1 to MAX_WIZ_CHANNELS - !BYTE $26 ; LA _D040+0 -_F035 !WORD _D040+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B011 - !BYTE $6C,$08 ; DLB [8] -; libsrc/apple/uthernet2.pla: 0450: if wiz->channel_proto == IP_PROTO_UDP and wiz=>channel_lclport == localport -; libsrc/apple/uthernet2.pla: 0451: break - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $2A,$11 ; CB 17 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B013 - !WORD _B013-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $40 ; ISEQ -_B013 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; libsrc/apple/uthernet2.pla: 0452: fin -_B014 -_B015 -; libsrc/apple/uthernet2.pla: 0453: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0454: next - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$06 ; SLW [6] -_B012 - !BYTE $A4 ; INCBRLE _B011 - !WORD _B011-* -_B010 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0455: if i > MAX_WIZ_CHANNELS -; libsrc/apple/uthernet2.pla: 0456: // -; libsrc/apple/uthernet2.pla: 0457: // Add notification on localport if room -; libsrc/apple/uthernet2.pla: 0458: // -; libsrc/apple/uthernet2.pla: 0459: wiz = @wizChannel -; libsrc/apple/uthernet2.pla: 0460: for i = 1 to MAX_WIZ_CHANNELS - !BYTE $64,$08 ; LLB [8] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $26 ; LA _D040+0 -_F036 !WORD _D040+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B019 - !BYTE $6C,$08 ; DLB [8] -; libsrc/apple/uthernet2.pla: 0461: if !wiz->channel_proto -; libsrc/apple/uthernet2.pla: 0462: break - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -; libsrc/apple/uthernet2.pla: 0463: fin -_B021 -_B022 -; libsrc/apple/uthernet2.pla: 0464: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0465: next - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$06 ; SLW [6] -_B020 - !BYTE $A4 ; INCBRLE _B019 - !WORD _B019-* -_B018 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0466: if i > MAX_WIZ_CHANNELS -; libsrc/apple/uthernet2.pla: 0467: return 0 - !BYTE $64,$08 ; LLB [8] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/uthernet2.pla: 0468: fin -_B023 -_B024 -; libsrc/apple/uthernet2.pla: 0469: fin -_B016 -_B017 -; libsrc/apple/uthernet2.pla: 0470: // -; libsrc/apple/uthernet2.pla: 0471: // Fill in this channel and open it -; libsrc/apple/uthernet2.pla: 0472: // -; libsrc/apple/uthernet2.pla: 0473: wiz->channel_proto = WIZ_PROTO_UDP -; libsrc/apple/uthernet2.pla: 0474: wiz=>channel_lclport = localport -; libsrc/apple/uthernet2.pla: 0475: wiz=>channel_recv_func = callback -; libsrc/apple/uthernet2.pla: 0476: wiz=>channel_recv_parm = param -; libsrc/apple/uthernet2.pla: 0477: pokereg(wiz=>channel_regs + WIZ_SnMR, $02) // UDP protocol -; libsrc/apple/uthernet2.pla: 0478: pokeregw(wiz=>channel_regs + WIZ_SnPORT, localport) -; libsrc/apple/uthernet2.pla: 0479: pokereg(wiz=>channel_regs + WIZ_SnCR, $01) // OPEN -; libsrc/apple/uthernet2.pla: 0480: return wiz - !BYTE $04 ; CN 2 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F037 !WORD _C004 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C008 -_F038 !WORD _C008 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C004 -_F039 !WORD _C004 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/uthernet2.pla: 0481: end -; libsrc/apple/uthernet2.pla: 0482: // -; libsrc/apple/uthernet2.pla: 0483: // Close UDP port -; libsrc/apple/uthernet2.pla: 0484: // -; libsrc/apple/uthernet2.pla: 0485: def wizCloseUDP(wiz) - ; wiz -> [0] -_C012 ; wizCloseUDP() -; libsrc/apple/uthernet2.pla: 0486: if isuge(wiz, @wizChannel) and isult(wiz, @wizChannel + MAX_WIZ_CHANNELS * t_channel) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet2.pla: 0487: // -; libsrc/apple/uthernet2.pla: 0488: // Clear notiications on this port -; libsrc/apple/uthernet2.pla: 0489: // -; libsrc/apple/uthernet2.pla: 0490: if wiz->channel_proto == WIZ_PROTO_UDP -; libsrc/apple/uthernet2.pla: 0491: wiz->channel_proto = WIZ_PROTO_CLOSED -; libsrc/apple/uthernet2.pla: 0492: pokereg(wiz=>channel_regs + WIZ_SnCR, $10) // CLOSE -; libsrc/apple/uthernet2.pla: 0493: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+0 -_F040 !WORD _D040+0 - !BYTE $54 ; CALL _X025 -_F041 !WORD 0 - !BYTE $AC ; BRAND _B025 - !WORD _B025-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+80 -_F042 !WORD _D040+80 - !BYTE $54 ; CALL _X026 -_F043 !WORD 0 -_B025 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B028 - !WORD _B028-* - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C004 -_F044 !WORD _C004 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0494: fin -_B028 -_B029 -; libsrc/apple/uthernet2.pla: 0495: fin -_B026 -_B027 -; libsrc/apple/uthernet2.pla: 0496: // -; libsrc/apple/uthernet2.pla: 0497: // Invalid port -; libsrc/apple/uthernet2.pla: 0498: // -; libsrc/apple/uthernet2.pla: 0499: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0500: end -; libsrc/apple/uthernet2.pla: 0501: // -; libsrc/apple/uthernet2.pla: 0502: // Open TCP socket in SERVER mode -; libsrc/apple/uthernet2.pla: 0503: // -; libsrc/apple/uthernet2.pla: 0504: def wizListenTCP(lclport, callback, param) - ; lclport -> [0] - ; callback -> [2] - ; param -> [4] -_C013 ; wizListenTCP() -; libsrc/apple/uthernet2.pla: 0505: word wiz - ; wiz -> [6] -; libsrc/apple/uthernet2.pla: 0506: byte i - ; i -> [8] -; libsrc/apple/uthernet2.pla: 0507: -; libsrc/apple/uthernet2.pla: 0508: // -; libsrc/apple/uthernet2.pla: 0509: // Look for an existing notification on localport -; libsrc/apple/uthernet2.pla: 0510: // -; libsrc/apple/uthernet2.pla: 0511: wiz = @wizChannel - !BYTE $58,$09,$03 ; ENTER 9,3 -; libsrc/apple/uthernet2.pla: 0512: for i = 1 to MAX_WIZ_CHANNELS - !BYTE $26 ; LA _D040+0 -_F045 !WORD _D040+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B031 - !BYTE $6C,$08 ; DLB [8] -; libsrc/apple/uthernet2.pla: 0513: if wiz->channel_proto == WIZ_PROTO_TCP and wiz->channel_state == TCP_STATE_LISTEN and wiz=>channel_lclport == lclport -; libsrc/apple/uthernet2.pla: 0514: break - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B034 - !WORD _B034-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $40 ; ISEQ -_B034 -_B033 - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -; libsrc/apple/uthernet2.pla: 0515: fin -_B035 -_B036 -; libsrc/apple/uthernet2.pla: 0516: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0517: next - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$06 ; SLW [6] -_B032 - !BYTE $A4 ; INCBRLE _B031 - !WORD _B031-* -_B030 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0518: if i > MAX_WIZ_CHANNELS -; libsrc/apple/uthernet2.pla: 0519: // -; libsrc/apple/uthernet2.pla: 0520: // Add notification on localport if room -; libsrc/apple/uthernet2.pla: 0521: // -; libsrc/apple/uthernet2.pla: 0522: wiz = @wizChannel -; libsrc/apple/uthernet2.pla: 0523: for i = 1 to MAX_WIZ_CHANNELS - !BYTE $64,$08 ; LLB [8] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $26 ; LA _D040+0 -_F046 !WORD _D040+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B040 - !BYTE $6C,$08 ; DLB [8] -; libsrc/apple/uthernet2.pla: 0524: if !wiz->channel_proto -; libsrc/apple/uthernet2.pla: 0525: break - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; libsrc/apple/uthernet2.pla: 0526: fin -_B042 -_B043 -; libsrc/apple/uthernet2.pla: 0527: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0528: next - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$06 ; SLW [6] -_B041 - !BYTE $A4 ; INCBRLE _B040 - !WORD _B040-* -_B039 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0529: if i > MAX_WIZ_CHANNELS -; libsrc/apple/uthernet2.pla: 0530: return 0 - !BYTE $64,$08 ; LLB [8] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/uthernet2.pla: 0531: fin -_B044 -_B045 -; libsrc/apple/uthernet2.pla: 0532: fin -_B037 -_B038 -; libsrc/apple/uthernet2.pla: 0533: // -; libsrc/apple/uthernet2.pla: 0534: // Fill in this channel and open it -; libsrc/apple/uthernet2.pla: 0535: // -; libsrc/apple/uthernet2.pla: 0536: wiz->channel_proto = WIZ_PROTO_TCP -; libsrc/apple/uthernet2.pla: 0537: wiz->channel_state = TCP_STATE_LISTEN -; libsrc/apple/uthernet2.pla: 0538: wiz=>channel_remip:0 = 0 -; libsrc/apple/uthernet2.pla: 0539: wiz=>channel_remip:2 = 0 -; libsrc/apple/uthernet2.pla: 0540: wiz=>channel_remport = 0 -; libsrc/apple/uthernet2.pla: 0541: wiz=>channel_lclport = lclport -; libsrc/apple/uthernet2.pla: 0542: wiz=>channel_recv_func = callback -; libsrc/apple/uthernet2.pla: 0543: wiz=>channel_recv_parm = param -; libsrc/apple/uthernet2.pla: 0544: pokereg(wiz=>channel_regs + WIZ_SnMR, $01) // TCP protocol -; libsrc/apple/uthernet2.pla: 0545: pokeregw(wiz=>channel_regs + WIZ_SnPORT, lclport) -; libsrc/apple/uthernet2.pla: 0546: pokereg(wiz=>channel_regs + WIZ_SnCR, $01) // OPEN -; libsrc/apple/uthernet2.pla: 0547: while peekreg(wiz=>channel_regs + WIZ_SnSR) <> $13; loop // Wait for init - !BYTE $02 ; CN 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0C ; ADDI 12 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C004 -_F047 !WORD _C004 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C008 -_F048 !WORD _C008 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C004 -_F049 !WORD _C004 - !BYTE $50 ; BRNCH _B048 - !WORD _B048-* -_B046 -_B048 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _C005 -_F050 !WORD _C005 - !BYTE $2A,$13 ; CB 19 - !BYTE $24 ; BRNE _B046 - !WORD _B046-* -_B047 -; libsrc/apple/uthernet2.pla: 0548: pokereg(wiz=>channel_regs + WIZ_SnCR, $02) // LISTEN -; libsrc/apple/uthernet2.pla: 0549: return wiz - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F051 !WORD _C004 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/apple/uthernet2.pla: 0550: end -; libsrc/apple/uthernet2.pla: 0551: // -; libsrc/apple/uthernet2.pla: 0552: // Open TCP socket in CLIENT mode -; libsrc/apple/uthernet2.pla: 0553: // -; libsrc/apple/uthernet2.pla: 0554: def wizConnectTCP(remip, remport, lclport, callback, param) - ; remip -> [0] - ; remport -> [2] - ; lclport -> [4] - ; callback -> [6] - ; param -> [8] -_C014 ; wizConnectTCP() -; libsrc/apple/uthernet2.pla: 0555: word wiz - ; wiz -> [10] -; libsrc/apple/uthernet2.pla: 0556: byte i - ; i -> [12] -; libsrc/apple/uthernet2.pla: 0557: -; libsrc/apple/uthernet2.pla: 0558: // -; libsrc/apple/uthernet2.pla: 0559: // Look for an existing notification on localport -; libsrc/apple/uthernet2.pla: 0560: // -; libsrc/apple/uthernet2.pla: 0561: wiz = @wizChannel - !BYTE $58,$0D,$05 ; ENTER 13,5 -; libsrc/apple/uthernet2.pla: 0562: for i = 1 to MAX_WIZ_CHANNELS - !BYTE $26 ; LA _D040+0 -_F052 !WORD _D040+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B050 - !BYTE $6C,$0C ; DLB [12] -; libsrc/apple/uthernet2.pla: 0563: if wiz->channel_proto == WIZ_PROTO_TCP and wiz->channel_state == TCP_STATE_CONNECT and wiz=>channel_lclport == lclport -; libsrc/apple/uthernet2.pla: 0564: break - !BYTE $66,$0A ; LLW [10] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B052 - !WORD _B052-* - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $06 ; CN 3 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B053 - !WORD _B053-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $40 ; ISEQ -_B053 -_B052 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -; libsrc/apple/uthernet2.pla: 0565: fin -_B054 -_B055 -; libsrc/apple/uthernet2.pla: 0566: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0567: next - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$0A ; SLW [10] -_B051 - !BYTE $A4 ; INCBRLE _B050 - !WORD _B050-* -_B049 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0568: if i > MAX_WIZ_CHANNELS -; libsrc/apple/uthernet2.pla: 0569: // -; libsrc/apple/uthernet2.pla: 0570: // Add notification on localport if room -; libsrc/apple/uthernet2.pla: 0571: // -; libsrc/apple/uthernet2.pla: 0572: wiz = @wizChannel -; libsrc/apple/uthernet2.pla: 0573: for i = 1 to MAX_WIZ_CHANNELS - !BYTE $64,$0C ; LLB [12] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $26 ; LA _D040+0 -_F053 !WORD _D040+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B059 - !BYTE $6C,$0C ; DLB [12] -; libsrc/apple/uthernet2.pla: 0574: if !wiz->channel_proto -; libsrc/apple/uthernet2.pla: 0575: break - !BYTE $66,$0A ; LLW [10] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B061 - !WORD _B061-* - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; libsrc/apple/uthernet2.pla: 0576: fin -_B061 -_B062 -; libsrc/apple/uthernet2.pla: 0577: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0578: next - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$0A ; SLW [10] -_B060 - !BYTE $A4 ; INCBRLE _B059 - !WORD _B059-* -_B058 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0579: if i > MAX_WIZ_CHANNELS -; libsrc/apple/uthernet2.pla: 0580: return 0 - !BYTE $64,$0C ; LLB [12] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0D ; LEAVE 13 -; libsrc/apple/uthernet2.pla: 0581: fin -_B063 -_B064 -; libsrc/apple/uthernet2.pla: 0582: fin -_B056 -_B057 -; libsrc/apple/uthernet2.pla: 0583: // -; libsrc/apple/uthernet2.pla: 0584: // Fill in this channel and open it -; libsrc/apple/uthernet2.pla: 0585: // -; libsrc/apple/uthernet2.pla: 0586: wiz->channel_proto = WIZ_PROTO_TCP -; libsrc/apple/uthernet2.pla: 0587: wiz->channel_state = TCP_STATE_CONNECT -; libsrc/apple/uthernet2.pla: 0588: wiz=>channel_remip:0 = remip=>0 -; libsrc/apple/uthernet2.pla: 0589: wiz=>channel_remip:2 = remip=>2 -; libsrc/apple/uthernet2.pla: 0590: wiz=>channel_remport = remport -; libsrc/apple/uthernet2.pla: 0591: wiz=>channel_lclport = lclport -; libsrc/apple/uthernet2.pla: 0592: wiz=>channel_recv_func = callback -; libsrc/apple/uthernet2.pla: 0593: wiz=>channel_recv_parm = param -; libsrc/apple/uthernet2.pla: 0594: pokereg(wiz=>channel_regs + WIZ_SnMR, $01) // TCP protocol -; libsrc/apple/uthernet2.pla: 0595: pokeregs(wiz=>channel_regs + WIZ_SnDIPR, remip, IP4ADR_SIZE) -; libsrc/apple/uthernet2.pla: 0596: pokeregw(wiz=>channel_regs + WIZ_SnDPORT, remport) -; libsrc/apple/uthernet2.pla: 0597: pokeregw(wiz=>channel_regs + WIZ_SnPORT, lclport) -; libsrc/apple/uthernet2.pla: 0598: pokereg(wiz=>channel_regs + WIZ_SnCR, $01) // OPEN -; libsrc/apple/uthernet2.pla: 0599: while peekreg(wiz=>channel_regs + WIZ_SnSR) <> $13; loop // Wait for init - !BYTE $02 ; CN 1 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $06 ; CN 3 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$0C ; ADDI 12 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C004 -_F054 !WORD _C004 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C006 -_F055 !WORD _C006 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$10 ; ADDI 16 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C008 -_F056 !WORD _C008 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C008 -_F057 !WORD _C008 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C004 -_F058 !WORD _C004 - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B065 -_B067 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _C005 -_F059 !WORD _C005 - !BYTE $2A,$13 ; CB 19 - !BYTE $24 ; BRNE _B065 - !WORD _B065-* -_B066 -; libsrc/apple/uthernet2.pla: 0600: pokereg(wiz=>channel_regs + WIZ_SnCR, $04) // CONNECT -; libsrc/apple/uthernet2.pla: 0601: return wiz - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C004 -_F060 !WORD _C004 - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$0D ; LEAVE 13 -; libsrc/apple/uthernet2.pla: 0602: end -; libsrc/apple/uthernet2.pla: 0603: // -; libsrc/apple/uthernet2.pla: 0604: // Write to TCP socket -; libsrc/apple/uthernet2.pla: 0605: // -; libsrc/apple/uthernet2.pla: 0606: def wizSendTCP(wiz, data, len) - ; wiz -> [0] - ; data -> [2] - ; len -> [4] -_C015 ; wizSendTCP() -; libsrc/apple/uthernet2.pla: 0607: word wizregs, wizdata, txrr, txwr, splitlen - ; wizregs -> [6] - ; wizdata -> [8] - ; txrr -> [10] - ; txwr -> [12] - ; splitlen -> [14] -; libsrc/apple/uthernet2.pla: 0608: -; libsrc/apple/uthernet2.pla: 0609: if wiz->channel_state <> TCP_STATE_OPEN; return -1; fin - !BYTE $58,$10,$03 ; ENTER 16,3 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $22 ; BREQ _B068 - !WORD _B068-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$10 ; LEAVE 16 -_B068 -_B069 -; libsrc/apple/uthernet2.pla: 0610: wizregs = wiz=>channel_regs -; libsrc/apple/uthernet2.pla: 0611: wizdata = wiz=>channel_txmem -; libsrc/apple/uthernet2.pla: 0612: // -; libsrc/apple/uthernet2.pla: 0613: // Wait for Tx room -; libsrc/apple/uthernet2.pla: 0614: // -; libsrc/apple/uthernet2.pla: 0615: repeat; until peekregw(wizregs + WIZ_SnFSR) >= len - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B071 -_B072 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$20 ; ADDI 32 - !BYTE $54 ; CALL _C009 -_F061 !WORD _C009 - !BYTE $66,$04 ; LLW [4] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* -_B070 -; libsrc/apple/uthernet2.pla: 0616: // -; libsrc/apple/uthernet2.pla: 0617: // Calc new write ptr, check for split -; libsrc/apple/uthernet2.pla: 0618: // -; libsrc/apple/uthernet2.pla: 0619: txwr = peekregw(wizregs + WIZ_SnTXWR) -; libsrc/apple/uthernet2.pla: 0620: txrr = txwr & WIZ_TXMASK -; libsrc/apple/uthernet2.pla: 0621: if txrr + len > WIZ_TXSIZE -; libsrc/apple/uthernet2.pla: 0622: splitlen = WIZ_TXSIZE - txrr -; libsrc/apple/uthernet2.pla: 0623: pokeregs(wizdata + txrr, data, splitlen) -; libsrc/apple/uthernet2.pla: 0624: pokeregs(wizdata, data + splitlen, len - splitlen) -; libsrc/apple/uthernet2.pla: 0625: //putc('(');puti(splitlen);putc(',');puti(len-splitlen);putc(')') -; libsrc/apple/uthernet2.pla: 0626: else - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$24 ; ADDI 36 - !BYTE $54 ; CALL _C009 -_F062 !WORD _C009 - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$FF,$07 ; CW 2047 - !BYTE $94 ; AND - !BYTE $6E,$0A ; DLW [10] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $66,$0A ; LLW [10] - !BYTE $84 ; SUB - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C006 -_F063 !WORD _C006 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C006 -_F064 !WORD _C006 - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B073 -; libsrc/apple/uthernet2.pla: 0627: pokeregs(wizdata + txrr, data, len) -; libsrc/apple/uthernet2.pla: 0628: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C006 -_F065 !WORD _C006 -_B074 -; libsrc/apple/uthernet2.pla: 0629: // -; libsrc/apple/uthernet2.pla: 0630: // Update write pointer and send -; libsrc/apple/uthernet2.pla: 0631: // -; libsrc/apple/uthernet2.pla: 0632: pokeregw(wizregs + WIZ_SnTXWR, txwr + len) -; libsrc/apple/uthernet2.pla: 0633: pokereg(wizregs + WIZ_SnCR, $20) // SEND -; libsrc/apple/uthernet2.pla: 0634: return wiz - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$24 ; ADDI 36 - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $54 ; CALL _C008 -_F066 !WORD _C008 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C004 -_F067 !WORD _C004 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$10 ; LEAVE 16 -; libsrc/apple/uthernet2.pla: 0635: end -; libsrc/apple/uthernet2.pla: 0636: // -; libsrc/apple/uthernet2.pla: 0637: // Close TCP socket -; libsrc/apple/uthernet2.pla: 0638: // -; libsrc/apple/uthernet2.pla: 0639: def wizCloseTCP(wiz) - ; wiz -> [0] -_C016 ; wizCloseTCP() -; libsrc/apple/uthernet2.pla: 0640: if isuge(wiz, @wizChannel) and isult(wiz, @wizChannel + MAX_WIZ_CHANNELS * t_channel) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet2.pla: 0641: // -; libsrc/apple/uthernet2.pla: 0642: // Clear notiications on this port -; libsrc/apple/uthernet2.pla: 0643: // -; libsrc/apple/uthernet2.pla: 0644: if wiz->channel_proto == WIZ_PROTO_TCP -; libsrc/apple/uthernet2.pla: 0645: pokereg(wiz=>channel_regs + WIZ_SnCR, $10) // CLOSE -; libsrc/apple/uthernet2.pla: 0646: wiz->channel_proto = WIZ_PROTO_CLOSED -; libsrc/apple/uthernet2.pla: 0647: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+0 -_F068 !WORD _D040+0 - !BYTE $54 ; CALL _X025 -_F069 !WORD 0 - !BYTE $AC ; BRAND _B075 - !WORD _B075-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+80 -_F070 !WORD _D040+80 - !BYTE $54 ; CALL _X026 -_F071 !WORD 0 -_B075 - !BYTE $4C ; BRFLS _B076 - !WORD _B076-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B078 - !WORD _B078-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C004 -_F072 !WORD _C004 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0648: fin -_B078 -_B079 -; libsrc/apple/uthernet2.pla: 0649: fin -_B076 -_B077 -; libsrc/apple/uthernet2.pla: 0650: // -; libsrc/apple/uthernet2.pla: 0651: // Invalid port -; libsrc/apple/uthernet2.pla: 0652: // -; libsrc/apple/uthernet2.pla: 0653: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0654: end -; libsrc/apple/uthernet2.pla: 0655: // -; libsrc/apple/uthernet2.pla: 0656: // Update notify callback -; libsrc/apple/uthernet2.pla: 0657: // -; libsrc/apple/uthernet2.pla: 0658: def wizSetCallback(wiz, callback) - ; wiz -> [0] - ; callback -> [2] -_C017 ; wizSetCallback() -; libsrc/apple/uthernet2.pla: 0659: if wiz->channel_proto == WIZ_PROTO_UDP or wiz->channel_proto == WIZ_PROTO_TCP - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet2.pla: 0660: // -; libsrc/apple/uthernet2.pla: 0661: // Update callback on this port -; libsrc/apple/uthernet2.pla: 0662: // -; libsrc/apple/uthernet2.pla: 0663: wiz=>channel_recv_func = callback -; libsrc/apple/uthernet2.pla: 0664: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B080 - !WORD _B080-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ -_B080 - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0665: fin -_B081 -_B082 -; libsrc/apple/uthernet2.pla: 0666: // -; libsrc/apple/uthernet2.pla: 0667: // Invalid port -; libsrc/apple/uthernet2.pla: 0668: // -; libsrc/apple/uthernet2.pla: 0669: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0670: end -; libsrc/apple/uthernet2.pla: 0671: // -; libsrc/apple/uthernet2.pla: 0672: // Update notify param -; libsrc/apple/uthernet2.pla: 0673: // -; libsrc/apple/uthernet2.pla: 0674: def wizSetParam(wiz, param) - ; wiz -> [0] - ; param -> [2] -_C018 ; wizSetParam() -; libsrc/apple/uthernet2.pla: 0675: if wiz->channel_proto == WIZ_PROTO_UDP or wiz->channel_proto == WIZ_PROTO_TCP - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/apple/uthernet2.pla: 0676: // -; libsrc/apple/uthernet2.pla: 0677: // Update param on this port -; libsrc/apple/uthernet2.pla: 0678: // -; libsrc/apple/uthernet2.pla: 0679: wiz=>channel_recv_parm = param -; libsrc/apple/uthernet2.pla: 0680: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B083 - !WORD _B083-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ -_B083 - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0681: fin -_B084 -_B085 -; libsrc/apple/uthernet2.pla: 0682: // -; libsrc/apple/uthernet2.pla: 0683: // Invalid port -; libsrc/apple/uthernet2.pla: 0684: // -; libsrc/apple/uthernet2.pla: 0685: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/apple/uthernet2.pla: 0686: end -; libsrc/apple/uthernet2.pla: 0687: // -; libsrc/apple/uthernet2.pla: 0688: // Service incoming packets -; libsrc/apple/uthernet2.pla: 0689: // -; libsrc/apple/uthernet2.pla: 0690: def wizServiceIP -_P000 ; wizServiceIP() -_C019 ; wizServiceIP() -; libsrc/apple/uthernet2.pla: 0691: word wiz, wizregs, wizdata, rxlen, rxrr, rxwr, rxpkt, splitlen - ; wiz -> [0] - ; wizregs -> [2] - ; wizdata -> [4] - ; rxlen -> [6] - ; rxrr -> [8] - ; rxwr -> [10] - ; rxpkt -> [12] - ; splitlen -> [14] -; libsrc/apple/uthernet2.pla: 0692: byte ir, i, sir - ; ir -> [16] - ; i -> [17] - ; sir -> [18] -; libsrc/apple/uthernet2.pla: 0693: -; libsrc/apple/uthernet2.pla: 0694: ir = peekreg(WIZ_IR) - !BYTE $58,$13,$00 ; ENTER 19,0 -; libsrc/apple/uthernet2.pla: 0695: if ir -; libsrc/apple/uthernet2.pla: 0696: wiz = @wizChannel -; libsrc/apple/uthernet2.pla: 0697: for i = 0 to 3 - !BYTE $2A,$15 ; CB 21 - !BYTE $54 ; CALL _C005 -_F073 !WORD _C005 - !BYTE $6C,$10 ; DLB [16] - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $26 ; LA _D040+0 -_F074 !WORD _D040+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B089 - !BYTE $6C,$11 ; DLB [17] -; libsrc/apple/uthernet2.pla: 0698: // -; libsrc/apple/uthernet2.pla: 0699: // Socket activity -; libsrc/apple/uthernet2.pla: 0700: // -; libsrc/apple/uthernet2.pla: 0701: if ir & (1 << i) -; libsrc/apple/uthernet2.pla: 0702: wizregs = wiz=>channel_regs -; libsrc/apple/uthernet2.pla: 0703: wizdata = wiz=>channel_rxmem -; libsrc/apple/uthernet2.pla: 0704: sir = peekreg(wizregs + WIZ_SnIR) -; libsrc/apple/uthernet2.pla: 0705: pokereg(wizregs + WIZ_SnIR, sir) // Clear SnIR -; libsrc/apple/uthernet2.pla: 0706: when wiz->channel_proto - !BYTE $64,$10 ; LLB [16] - !BYTE $02 ; CN 1 - !BYTE $64,$11 ; LLB [17] - !BYTE $9A ; SHL - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C005 -_F075 !WORD _C005 - !BYTE $74,$12 ; SLB [18] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $64,$12 ; LLB [18] - !BYTE $54 ; CALL _C004 -_F076 !WORD _C004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B094-* -; libsrc/apple/uthernet2.pla: 0707: is WIZ_PROTO_UDP -_B095 -; libsrc/apple/uthernet2.pla: 0708: if sir & $04 -; libsrc/apple/uthernet2.pla: 0709: // -; libsrc/apple/uthernet2.pla: 0710: // Receive UDP packet -; libsrc/apple/uthernet2.pla: 0711: // -; libsrc/apple/uthernet2.pla: 0712: rxlen = peekregw(wizregs + WIZ_SnRSR) -; libsrc/apple/uthernet2.pla: 0713: rxrr = peekregw(wizregs + WIZ_SnRXRD) -; libsrc/apple/uthernet2.pla: 0714: rxwr = rxrr & WIZ_RXMASK -; libsrc/apple/uthernet2.pla: 0715: rxpkt = heapalloc(rxlen) -; libsrc/apple/uthernet2.pla: 0716: if rxwr + rxlen >= WIZ_RXSIZE -; libsrc/apple/uthernet2.pla: 0717: splitlen = WIZ_RXSIZE - rxwr -; libsrc/apple/uthernet2.pla: 0718: peekregs(wizdata + rxwr, rxpkt, splitlen) -; libsrc/apple/uthernet2.pla: 0719: peekregs(wizdata, rxpkt + splitlen, rxlen - splitlen) -; libsrc/apple/uthernet2.pla: 0720: else - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$26 ; ADDI 38 - !BYTE $54 ; CALL _C009 -_F077 !WORD _C009 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$28 ; ADDI 40 - !BYTE $54 ; CALL _C009 -_F078 !WORD _C009 - !BYTE $6E,$08 ; DLW [8] - !BYTE $2C,$FF,$07 ; CW 2047 - !BYTE $94 ; AND - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X014 -_F079 !WORD 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $66,$0A ; LLW [10] - !BYTE $84 ; SUB - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C007 -_F080 !WORD _C007 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C007 -_F081 !WORD _C007 - !BYTE $50 ; BRNCH _B099 - !WORD _B099-* -_B098 -; libsrc/apple/uthernet2.pla: 0721: peekregs(wizdata + rxwr, rxpkt, rxlen) -; libsrc/apple/uthernet2.pla: 0722: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C007 -_F082 !WORD _C007 -_B099 -; libsrc/apple/uthernet2.pla: 0723: pokeregw(wizregs + WIZ_SnRXRD, rxrr + rxlen) -; libsrc/apple/uthernet2.pla: 0724: pokereg(wizregs + WIZ_SnCR, $40) // RECV -; libsrc/apple/uthernet2.pla: 0725: wiz=>channel_recv_func(rxpkt,swab(rxpkt=>4),rxpkt+8,rxlen-8,wiz=>channel_recv_parm) -; libsrc/apple/uthernet2.pla: 0726: heaprelease(rxpkt) -; libsrc/apple/uthernet2.pla: 0727: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$28 ; ADDI 40 - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $54 ; CALL _C008 -_F083 !WORD _C008 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C004 -_F084 !WORD _C004 - !BYTE $66,$0C ; LLW [12] - !BYTE $34 ; DUP - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A001 -_F085 !WORD _A001 - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$08 ; ADDI 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $3A,$08 ; SUBI 8 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _X015 -_F086 !WORD 0 - !BYTE $30 ; DROP -_B096 -_B097 -; libsrc/apple/uthernet2.pla: 0728: break - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; libsrc/apple/uthernet2.pla: 0729: is WIZ_PROTO_TCP -_B100 -; libsrc/apple/uthernet2.pla: 0730: if sir & $01 -; libsrc/apple/uthernet2.pla: 0731: // -; libsrc/apple/uthernet2.pla: 0732: // Connect TCP socket -; libsrc/apple/uthernet2.pla: 0733: // -; libsrc/apple/uthernet2.pla: 0734: when wiz->channel_state - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B104-* -; libsrc/apple/uthernet2.pla: 0735: is TCP_STATE_LISTEN -_B105 -; libsrc/apple/uthernet2.pla: 0736: peekregs(wiz=>channel_regs + WIZ_SnDIPR, @wiz=>channel_remip, IP4ADR_SIZE) -; libsrc/apple/uthernet2.pla: 0737: wiz=>channel_remport = peekregw(wiz=>channel_regs + WIZ_SnDPORT) -; libsrc/apple/uthernet2.pla: 0738: is TCP_STATE_CONNECT - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C007 -_F087 !WORD _C007 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$10 ; ADDI 16 - !BYTE $54 ; CALL _C009 -_F088 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW -_B106 -; libsrc/apple/uthernet2.pla: 0739: wiz->channel_state = TCP_STATE_OPEN -; libsrc/apple/uthernet2.pla: 0740: wend - !BYTE $08 ; CN 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B104 - !BYTE $02 ; CASEBLOCK - !WORD $0002 - !WORD _B105-* - !WORD $0003 - !WORD _B106-* -_B103 -; libsrc/apple/uthernet2.pla: 0741: fin -_B101 -_B102 -; libsrc/apple/uthernet2.pla: 0742: if sir & $04 -; libsrc/apple/uthernet2.pla: 0743: // -; libsrc/apple/uthernet2.pla: 0744: // Receive TCP packet -; libsrc/apple/uthernet2.pla: 0745: // -; libsrc/apple/uthernet2.pla: 0746: if wiz->channel_state == TCP_STATE_OPEN -; libsrc/apple/uthernet2.pla: 0747: rxlen = peekregw(wizregs + WIZ_SnRSR) -; libsrc/apple/uthernet2.pla: 0748: rxrr = peekregw(wizregs + WIZ_SnRXRD) -; libsrc/apple/uthernet2.pla: 0749: rxwr = rxrr & WIZ_RXMASK -; libsrc/apple/uthernet2.pla: 0750: rxpkt = heapalloc(rxlen) -; libsrc/apple/uthernet2.pla: 0751: if rxwr + rxlen > WIZ_RXSIZE -; libsrc/apple/uthernet2.pla: 0752: splitlen = WIZ_RXSIZE - rxwr -; libsrc/apple/uthernet2.pla: 0753: peekregs(wizdata + rxwr, rxpkt, splitlen) -; libsrc/apple/uthernet2.pla: 0754: peekregs(wizdata, rxpkt + splitlen, rxlen - splitlen) -; libsrc/apple/uthernet2.pla: 0755: else - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B109 - !WORD _B109-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$26 ; ADDI 38 - !BYTE $54 ; CALL _C009 -_F089 !WORD _C009 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$28 ; ADDI 40 - !BYTE $54 ; CALL _C009 -_F090 !WORD _C009 - !BYTE $6E,$08 ; DLW [8] - !BYTE $2C,$FF,$07 ; CW 2047 - !BYTE $94 ; AND - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X014 -_F091 !WORD 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B111 - !WORD _B111-* - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $66,$0A ; LLW [10] - !BYTE $84 ; SUB - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C007 -_F092 !WORD _C007 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C007 -_F093 !WORD _C007 - !BYTE $50 ; BRNCH _B112 - !WORD _B112-* -_B111 -; libsrc/apple/uthernet2.pla: 0756: peekregs(wizdata + rxwr, rxpkt, rxlen) -; libsrc/apple/uthernet2.pla: 0757: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C007 -_F094 !WORD _C007 -_B112 -; libsrc/apple/uthernet2.pla: 0758: pokeregw(wizregs + WIZ_SnRXRD, rxrr + rxlen) -; libsrc/apple/uthernet2.pla: 0759: pokereg(wizregs + WIZ_SnCR, $40) // RECV -; libsrc/apple/uthernet2.pla: 0760: wiz=>channel_recv_func(@wiz=>channel_remip,wiz=>channel_remport,wiz=>channel_lclport,rxpkt,rxlen,wiz=>channel_recv_parm) -; libsrc/apple/uthernet2.pla: 0761: heaprelease(rxpkt) -; libsrc/apple/uthernet2.pla: 0762: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$28 ; ADDI 40 - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $54 ; CALL _C008 -_F095 !WORD _C008 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C004 -_F096 !WORD _C004 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _X015 -_F097 !WORD 0 - !BYTE $30 ; DROP -_B109 -_B110 -; libsrc/apple/uthernet2.pla: 0763: fin -_B107 -_B108 -; libsrc/apple/uthernet2.pla: 0764: if sir & $02 -; libsrc/apple/uthernet2.pla: 0765: // -; libsrc/apple/uthernet2.pla: 0766: // Close TCP socket -; libsrc/apple/uthernet2.pla: 0767: // -; libsrc/apple/uthernet2.pla: 0768: if wiz->channel_state == TCP_STATE_OPEN // Notify callback w/ len = 0 -; libsrc/apple/uthernet2.pla: 0769: wiz=>channel_recv_func(@wiz=>channel_remip,wiz=>channel_remport,0,wiz=>channel_lclport,0,wiz=>channel_recv_parm) -; libsrc/apple/uthernet2.pla: 0770: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B113 - !WORD _B113-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B115 - !WORD _B115-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B115 -_B116 -; libsrc/apple/uthernet2.pla: 0771: wiz->channel_state = TCP_STATE_CLOSED -; libsrc/apple/uthernet2.pla: 0772: pokereg(wiz=>channel_regs + WIZ_SnCR, $10) // CLOSE -; libsrc/apple/uthernet2.pla: 0773: fin - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C004 -_F098 !WORD _C004 -_B113 -_B114 -; libsrc/apple/uthernet2.pla: 0774: if sir & $08 -; libsrc/apple/uthernet2.pla: 0775: // -; libsrc/apple/uthernet2.pla: 0776: // Timeout on TCP socket -; libsrc/apple/uthernet2.pla: 0777: // -; libsrc/apple/uthernet2.pla: 0778: when wiz->channel_state - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B120-* -; libsrc/apple/uthernet2.pla: 0779: is TCP_STATE_OPEN -_B121 -; libsrc/apple/uthernet2.pla: 0780: wiz->channel_state = TCP_STATE_CLOSING -; libsrc/apple/uthernet2.pla: 0781: wiz=>channel_recv_func(@wiz=>channel_remip,wiz=>channel_remport,wiz=>channel_lclport,0,0,wiz=>channel_recv_parm) -; libsrc/apple/uthernet2.pla: 0782: break - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B119 - !WORD _B119-* -; libsrc/apple/uthernet2.pla: 0783: is TCP_STATE_CONNECT -_B122 -; libsrc/apple/uthernet2.pla: 0784: wiz=>channel_recv_func(@wiz=>channel_remip,wiz=>channel_remport,wiz=>channel_lclport,0,0,wiz=>channel_recv_parm) -; libsrc/apple/uthernet2.pla: 0785: is TCP_STATE_CLOSING - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$12 ; ADDI 18 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B123 -; libsrc/apple/uthernet2.pla: 0786: wiz->channel_state = TCP_STATE_CLOSED -; libsrc/apple/uthernet2.pla: 0787: pokereg(wiz=>channel_regs + WIZ_SnCR, $10) // CLOSE -; libsrc/apple/uthernet2.pla: 0788: wend - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C004 -_F099 !WORD _C004 - !BYTE $50 ; BRNCH _B119 - !WORD _B119-* -_B120 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B123-* - !WORD $0003 - !WORD _B122-* - !WORD $0004 - !WORD _B121-* -_B119 -; libsrc/apple/uthernet2.pla: 0789: fin -_B117 -_B118 -; libsrc/apple/uthernet2.pla: 0790: wend - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -_B094 - !BYTE $02 ; CASEBLOCK - !WORD $0001 - !WORD _B100-* - !WORD $0002 - !WORD _B095-* -_B093 -; libsrc/apple/uthernet2.pla: 0791: fin -_B091 -_B092 -; libsrc/apple/uthernet2.pla: 0792: wiz = wiz + t_channel -; libsrc/apple/uthernet2.pla: 0793: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$00 ; SLW [0] -_B090 - !BYTE $A4 ; INCBRLE _B089 - !WORD _B089-* -_B088 - !BYTE $74,$11 ; SLB [17] - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0794: if ir & $80 -; libsrc/apple/uthernet2.pla: 0795: // -; libsrc/apple/uthernet2.pla: 0796: // IP conflict -; libsrc/apple/uthernet2.pla: 0797: // -; libsrc/apple/uthernet2.pla: 0798: pokereg(WIZ_IR, $80) -; libsrc/apple/uthernet2.pla: 0799: fin - !BYTE $64,$10 ; LLB [16] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B124 - !WORD _B124-* - !BYTE $2A,$15 ; CB 21 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F100 !WORD _C004 -_B124 -_B125 -; libsrc/apple/uthernet2.pla: 0800: if ir & $40 -; libsrc/apple/uthernet2.pla: 0801: // -; libsrc/apple/uthernet2.pla: 0802: // Destination unreachable -; libsrc/apple/uthernet2.pla: 0803: // -; libsrc/apple/uthernet2.pla: 0804: pokereg(WIZ_IR, $40) -; libsrc/apple/uthernet2.pla: 0805: fin - !BYTE $64,$10 ; LLB [16] - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B126 - !WORD _B126-* - !BYTE $2A,$15 ; CB 21 - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C004 -_F101 !WORD _C004 -_B126 -_B127 -; libsrc/apple/uthernet2.pla: 0806: if ir & $20 -; libsrc/apple/uthernet2.pla: 0807: // -; libsrc/apple/uthernet2.pla: 0808: // PPOE connection close -; libsrc/apple/uthernet2.pla: 0809: // -; libsrc/apple/uthernet2.pla: 0810: pokereg(WIZ_IR, $20) -; libsrc/apple/uthernet2.pla: 0811: fin - !BYTE $64,$10 ; LLB [16] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B128 - !WORD _B128-* - !BYTE $2A,$15 ; CB 21 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C004 -_F102 !WORD _C004 -_B128 -_B129 -; libsrc/apple/uthernet2.pla: 0812: fin -_B086 -_B087 -; libsrc/apple/uthernet2.pla: 0813: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$13 ; LEAVE 19 -; libsrc/apple/uthernet2.pla: 0814: end -; libsrc/apple/uthernet2.pla: 0815: // -; libsrc/apple/uthernet2.pla: 0816: // Set the local IP addresses -; libsrc/apple/uthernet2.pla: 0817: // -; libsrc/apple/uthernet2.pla: 0818: def setWizIP(newIP, newSubnet, newGateway) - ; newIP -> [0] - ; newSubnet -> [2] - ; newGateway -> [4] -_C020 ; setWizIP() -; libsrc/apple/uthernet2.pla: 0819: if newIP - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/apple/uthernet2.pla: 0820: localip:0 = newIP=>0; localip:2 = newIP=>2 -; libsrc/apple/uthernet2.pla: 0821: pokeregs(WIZ_SIPR, newIP, IP4ADR_SIZE) -; libsrc/apple/uthernet2.pla: 0822: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B130 - !WORD _B130-* - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $7A ; SAW _D035+0 -_F103 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D035+2 -_F104 !WORD _D035+2 - !BYTE $1E ; CN 15 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C006 -_F105 !WORD _C006 -_B130 -_B131 -; libsrc/apple/uthernet2.pla: 0823: if newSubnet -; libsrc/apple/uthernet2.pla: 0824: subnet:0 = newSubnet=>0; subnet:2 = newSubnet=>2 -; libsrc/apple/uthernet2.pla: 0825: pokeregs(WIZ_SUBR, newSubnet, IP4ADR_SIZE) -; libsrc/apple/uthernet2.pla: 0826: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B132 - !WORD _B132-* - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $7A ; SAW _D036+0 -_F106 !WORD _D036+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D036+2 -_F107 !WORD _D036+2 - !BYTE $0A ; CN 5 - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C006 -_F108 !WORD _C006 -_B132 -_B133 -; libsrc/apple/uthernet2.pla: 0827: if newGateway -; libsrc/apple/uthernet2.pla: 0828: gateway:0 = newGateway=>0; gateway:2 = newGateway=>2 -; libsrc/apple/uthernet2.pla: 0829: pokeregs(WIZ_GWR, newGateway, IP4ADR_SIZE) -; libsrc/apple/uthernet2.pla: 0830: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B134 - !WORD _B134-* - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F109 !WORD _D037+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+2 -_F110 !WORD _D037+2 - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C006 -_F111 !WORD _C006 -_B134 -_B135 -; libsrc/apple/uthernet2.pla: 0831: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/apple/uthernet2.pla: 0832: end -; libsrc/apple/uthernet2.pla: 0833: // -; libsrc/apple/uthernet2.pla: 0834: // Get the interface hardware address -; libsrc/apple/uthernet2.pla: 0835: // -; libsrc/apple/uthernet2.pla: 0836: def getWizHA(ha) - ; ha -> [0] -_C021 ; getWizHA() -; libsrc/apple/uthernet2.pla: 0837: if ha - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/apple/uthernet2.pla: 0838: ha=>0 = wizMAC:0; ha=>2 = wizMAC:2; ha=>4 = wizMAC:4 -; libsrc/apple/uthernet2.pla: 0839: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $6A ; LAW _D034+0 -_F112 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $6A ; LAW _D034+2 -_F113 !WORD _D034+2 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D034+4 -_F114 !WORD _D034+4 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW -_B136 -_B137 -; libsrc/apple/uthernet2.pla: 0840: return MAC_SIZE - !BYTE $0C ; CN 6 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/apple/uthernet2.pla: 0841: end -; libsrc/apple/uthernet2.pla: 0842: // -; libsrc/apple/uthernet2.pla: 0843: // Identify Uthernet II card and initialize -; libsrc/apple/uthernet2.pla: 0844: // -; libsrc/apple/uthernet2.pla: 0845: for slot = $90 to $F0 step $10 -_INIT - !BYTE $2A,$F0 ; CB 240 - !BYTE $2A,$90 ; CB 144 -_B139 - !BYTE $7C ; DAB _D033+0 -_F115 !WORD _D033+0 -; libsrc/apple/uthernet2.pla: 0846: rom = ((slot & $70) << 4) | $C000 -; libsrc/apple/uthernet2.pla: 0847: if rom=>$06 <> $3C86 or (slot == $0B or (rom->$05 <> $38 and rom->$07 <> $18)) // Skip slots with signature -; libsrc/apple/uthernet2.pla: 0848: regdata = peekio(slot) -; libsrc/apple/uthernet2.pla: 0849: if (regdata & $E4) == $00 -; libsrc/apple/uthernet2.pla: 0850: pokeio(slot, $03) // Try setting auto-increment indirect I/F -; libsrc/apple/uthernet2.pla: 0851: if peekio(slot) == $03 -; libsrc/apple/uthernet2.pla: 0852: saveidx = peekiow(slot + 1) -; libsrc/apple/uthernet2.pla: 0853: peekio(slot + 3) // Dummy read to data register should increment index -; libsrc/apple/uthernet2.pla: 0854: if peekiow(slot + 1) == saveidx + 1 -; libsrc/apple/uthernet2.pla: 0855: // -; libsrc/apple/uthernet2.pla: 0856: // Good chance this is it -; libsrc/apple/uthernet2.pla: 0857: // -; libsrc/apple/uthernet2.pla: 0858: pokeio(slot, $80) // RESET -; libsrc/apple/uthernet2.pla: 0859: regidx = slot + 1 -; libsrc/apple/uthernet2.pla: 0860: regdata = slot + 3 -; libsrc/apple/uthernet2.pla: 0861: _pokedata.1 = regdata -; libsrc/apple/uthernet2.pla: 0862: _peekdata.1 = regdata -; libsrc/apple/uthernet2.pla: 0863: repeat - !BYTE $68 ; LAB _D033+0 -_F116 !WORD _D033+0 - !BYTE $3C,$70 ; ANDI 112 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $96 ; OR - !BYTE $7E ; DAW _D029+0 -_F117 !WORD _D029+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $2C,$86,$3C ; CW 15494 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B141 - !WORD _B141-* - !BYTE $68 ; LAB _D033+0 -_F118 !WORD _D033+0 - !BYTE $16 ; CN 11 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B142 - !WORD _B142-* - !BYTE $6A ; LAW _D029+0 -_F119 !WORD _D029+0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $2A,$38 ; CB 56 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B143 - !WORD _B143-* - !BYTE $6A ; LAW _D029+0 -_F120 !WORD _D029+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $2A,$18 ; CB 24 - !BYTE $42 ; ISNE -_B143 -_B142 -_B141 - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $68 ; LAB _D033+0 -_F121 !WORD _D033+0 - !BYTE $54 ; CALL _C002 -_F122 !WORD _C002 - !BYTE $7C ; DAB _D032+0 -_F123 !WORD _D032+0 - !BYTE $3C,$E4 ; ANDI 228 - !BYTE $4E ; BRTRU _B146 - !WORD _B146-* - !BYTE $68 ; LAB _D033+0 -_F124 !WORD _D033+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C001 -_F125 !WORD _C001 - !BYTE $68 ; LAB _D033+0 -_F126 !WORD _D033+0 - !BYTE $54 ; CALL _C002 -_F127 !WORD _C002 - !BYTE $06 ; CN 3 - !BYTE $24 ; BRNE _B148 - !WORD _B148-* - !BYTE $68 ; LAB _D033+0 -_F128 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C003 -_F129 !WORD _C003 - !BYTE $7A ; SAW _D030+0 -_F130 !WORD _D030+0 - !BYTE $68 ; LAB _D033+0 -_F131 !WORD _D033+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _C002 -_F132 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D033+0 -_F133 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C003 -_F134 !WORD _C003 - !BYTE $6A ; LAW _D030+0 -_F135 !WORD _D030+0 - !BYTE $8C ; INCR - !BYTE $24 ; BRNE _B150 - !WORD _B150-* - !BYTE $68 ; LAB _D033+0 -_F136 !WORD _D033+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C001 -_F137 !WORD _C001 - !BYTE $68 ; LAB _D033+0 -_F138 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D031+0 -_F139 !WORD _D031+0 - !BYTE $68 ; LAB _D033+0 -_F140 !WORD _D033+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7C ; DAB _D032+0 -_F141 !WORD _D032+0 - !BYTE $78 ; SAB _A013+1 -_F142 !WORD _A013+1 - !BYTE $68 ; LAB _D032+0 -_F143 !WORD _D032+0 - !BYTE $78 ; SAB _A015+1 -_F144 !WORD _A015+1 -_B153 -; libsrc/apple/uthernet2.pla: 0864: pokeio(slot, $03) // Auto-increment indirect I/F + enable ping -; libsrc/apple/uthernet2.pla: 0865: until peekio(slot) == $03 - !BYTE $68 ; LAB _D033+0 -_F145 !WORD _D033+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C001 -_F146 !WORD _C001 -_B154 - !BYTE $68 ; LAB _D033+0 -_F147 !WORD _D033+0 - !BYTE $54 ; CALL _C002 -_F148 !WORD _C002 - !BYTE $06 ; CN 3 - !BYTE $24 ; BRNE _B153 - !WORD _B153-* -_B152 -; libsrc/apple/uthernet2.pla: 0866: // -; libsrc/apple/uthernet2.pla: 0867: // The following looks redundant, but it sets up the peek/poke locations -; libsrc/apple/uthernet2.pla: 0868: // for peekreg(s)/pokereg(s) -; libsrc/apple/uthernet2.pla: 0869: // -; libsrc/apple/uthernet2.pla: 0870: pokeiow(regidx, WIZ_MR) -; libsrc/apple/uthernet2.pla: 0871: pokeio(regdata, $03) // Auto-increment indirect I/F + enable ping -; libsrc/apple/uthernet2.pla: 0872: peekio(regdata) -; libsrc/apple/uthernet2.pla: 0873: // -; libsrc/apple/uthernet2.pla: 0874: // Initialize common registers -; libsrc/apple/uthernet2.pla: 0875: // -; libsrc/apple/uthernet2.pla: 0876: wizMAC[5] = slot >> 4 // Slighty unique MAC address -; libsrc/apple/uthernet2.pla: 0877: pokeregs(WIZ_SHAR, @wizMAC, 6) // MAC addr -; libsrc/apple/uthernet2.pla: 0878: pokeregw(WIZ_RTR, 5000) // Timeout period to 500ms -; libsrc/apple/uthernet2.pla: 0879: pokereg(WIZ_RMSR, $55) // 2K Rx memory/channel -; libsrc/apple/uthernet2.pla: 0880: pokereg(WIZ_TMSR, $55) // 2K Tx memory/channel -; libsrc/apple/uthernet2.pla: 0881: // -; libsrc/apple/uthernet2.pla: 0882: // Print settings -; libsrc/apple/uthernet2.pla: 0883: // -; libsrc/apple/uthernet2.pla: 0884: puts("Found Uthernet II in slot #") - !BYTE $68 ; LAB _D031+0 -_F149 !WORD _D031+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F150 !WORD _C000 - !BYTE $68 ; LAB _D032+0 -_F151 !WORD _D032+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C001 -_F152 !WORD _C001 - !BYTE $68 ; LAB _D032+0 -_F153 !WORD _D032+0 - !BYTE $54 ; CALL _C002 -_F154 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D033+0 -_F155 !WORD _D033+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $78 ; SAB _D034+5 -_F156 !WORD _D034+5 - !BYTE $12 ; CN 9 - !BYTE $26 ; LA _D034+0 -_F157 !WORD _D034+0 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _C006 -_F158 !WORD _C006 - !BYTE $2A,$17 ; CB 23 - !BYTE $2C,$88,$13 ; CW 5000 - !BYTE $54 ; CALL _C008 -_F159 !WORD _C008 - !BYTE $2A,$1A ; CB 26 - !BYTE $2A,$55 ; CB 85 - !BYTE $54 ; CALL _C004 -_F160 !WORD _C004 - !BYTE $2A,$1B ; CB 27 - !BYTE $2A,$55 ; CB 85 - !BYTE $54 ; CALL _C004 -_F161 !WORD _C004 - !BYTE $2E ; CS - !BYTE $1B - !BYTE $46,$6F,$75,$6E,$64,$20,$55,$74 - !BYTE $68,$65,$72,$6E,$65,$74,$20,$49 - !BYTE $49,$20,$69,$6E,$20,$73,$6C,$6F - !BYTE $74,$20,$23 - !BYTE $54 ; CALL _X004 -_F162 !WORD 0 -; libsrc/apple/uthernet2.pla: 0885: putc('0' + ((slot - $80) >> 4)) -; libsrc/apple/uthernet2.pla: 0886: putln -; libsrc/apple/uthernet2.pla: 0887: // -; libsrc/apple/uthernet2.pla: 0888: // Fill channel structure -; libsrc/apple/uthernet2.pla: 0889: // -; libsrc/apple/uthernet2.pla: 0890: saveidx = @wizChannel -; libsrc/apple/uthernet2.pla: 0891: for slot = 0 to 3 - !BYTE $2A,$30 ; CB 48 - !BYTE $68 ; LAB _D033+0 -_F163 !WORD _D033+0 - !BYTE $3A,$80 ; SUBI 128 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X002 -_F164 !WORD 0 - !BYTE $54 ; CALL _X003 -_F165 !WORD 0 - !BYTE $26 ; LA _D040+0 -_F166 !WORD _D040+0 - !BYTE $7A ; SAW _D030+0 -_F167 !WORD _D030+0 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B156 - !BYTE $7C ; DAB _D033+0 -_F168 !WORD _D033+0 -; libsrc/apple/uthernet2.pla: 0892: saveidx=>channel_regs = WIZ_SREGS + (WIZ_SSIZE * slot) -; libsrc/apple/uthernet2.pla: 0893: saveidx=>channel_txmem = WIZ_TXMEM + (WIZ_TXSIZE * slot) -; libsrc/apple/uthernet2.pla: 0894: saveidx=>channel_rxmem = WIZ_RXMEM + (WIZ_RXSIZE * slot) -; libsrc/apple/uthernet2.pla: 0895: saveidx = saveidx + t_channel -; libsrc/apple/uthernet2.pla: 0896: next - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $68 ; LAB _D033+0 -_F169 !WORD _D033+0 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D030+0 -_F170 !WORD _D030+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $68 ; LAB _D033+0 -_F171 !WORD _D033+0 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D030+0 -_F172 !WORD _D030+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $68 ; LAB _D033+0 -_F173 !WORD _D033+0 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D030+0 -_F174 !WORD _D030+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F175 !WORD _D030+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $7A ; SAW _D030+0 -_F176 !WORD _D030+0 -_B157 - !BYTE $A4 ; INCBRLE _B156 - !WORD _B156-* -_B155 - !BYTE $78 ; SAB _D033+0 -_F177 !WORD _D033+0 - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0897: // -; libsrc/apple/uthernet2.pla: 0898: // Fill in Net class -; libsrc/apple/uthernet2.pla: 0899: // -; libsrc/apple/uthernet2.pla: 0900: iNet:serviceIP = @wizServiceIP -; libsrc/apple/uthernet2.pla: 0901: iNet:openUDP = @wizOpenUDP -; libsrc/apple/uthernet2.pla: 0902: iNet:sendUDP = @wizSendUDP -; libsrc/apple/uthernet2.pla: 0903: iNet:closeUDP = @wizCloseUDP -; libsrc/apple/uthernet2.pla: 0904: iNet:listenTCP = @wizListenTCP -; libsrc/apple/uthernet2.pla: 0905: iNet:connectTCP = @wizConnectTCP -; libsrc/apple/uthernet2.pla: 0906: iNet:sendTCP = @wizSendTCP -; libsrc/apple/uthernet2.pla: 0907: iNet:closeTCP = @wizCloseTCP -; libsrc/apple/uthernet2.pla: 0908: iNet:setInterfaceIP = @setWizIP -; libsrc/apple/uthernet2.pla: 0909: iNet:getInterfaceHA = @getWizHA -; libsrc/apple/uthernet2.pla: 0910: iNet:setCallback = @wizSetCallback -; libsrc/apple/uthernet2.pla: 0911: iNet:setParam = @wizSetParam -; libsrc/apple/uthernet2.pla: 0912: // -; libsrc/apple/uthernet2.pla: 0913: // Keep module in memory -; libsrc/apple/uthernet2.pla: 0914: // -; libsrc/apple/uthernet2.pla: 0915: return modkeep - !BYTE $26 ; LA _C019+0 -_F178 !WORD _C019+0 - !BYTE $7A ; SAW _X028+2 -_F179 !WORD 0+2 - !BYTE $26 ; LA _C011+0 -_F180 !WORD _C011+0 - !BYTE $7A ; SAW _X028+4 -_F181 !WORD 0+4 - !BYTE $26 ; LA _C010+0 -_F182 !WORD _C010+0 - !BYTE $7A ; SAW _X028+6 -_F183 !WORD 0+6 - !BYTE $26 ; LA _C012+0 -_F184 !WORD _C012+0 - !BYTE $7A ; SAW _X028+8 -_F185 !WORD 0+8 - !BYTE $26 ; LA _C013+0 -_F186 !WORD _C013+0 - !BYTE $7A ; SAW _X028+10 -_F187 !WORD 0+10 - !BYTE $26 ; LA _C014+0 -_F188 !WORD _C014+0 - !BYTE $7A ; SAW _X028+12 -_F189 !WORD 0+12 - !BYTE $26 ; LA _C015+0 -_F190 !WORD _C015+0 - !BYTE $7A ; SAW _X028+14 -_F191 !WORD 0+14 - !BYTE $26 ; LA _C016+0 -_F192 !WORD _C016+0 - !BYTE $7A ; SAW _X028+16 -_F193 !WORD 0+16 - !BYTE $26 ; LA _C020+0 -_F194 !WORD _C020+0 - !BYTE $7A ; SAW _X028+18 -_F195 !WORD 0+18 - !BYTE $26 ; LA _C021+0 -_F196 !WORD _C021+0 - !BYTE $7A ; SAW _X028+20 -_F197 !WORD 0+20 - !BYTE $26 ; LA _C017+0 -_F198 !WORD _C017+0 - !BYTE $7A ; SAW _X028+26 -_F199 !WORD 0+26 - !BYTE $26 ; LA _C018+0 -_F200 !WORD _C018+0 - !BYTE $7A ; SAW _X028+28 -_F201 !WORD 0+28 - !BYTE $32 ; DROP2 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/uthernet2.pla: 0916: fin -_B150 -_B151 -; libsrc/apple/uthernet2.pla: 0917: fin -_B148 -_B149 -; libsrc/apple/uthernet2.pla: 0918: pokeio(slot, regdata) // Restore register -; libsrc/apple/uthernet2.pla: 0919: fin - !BYTE $68 ; LAB _D033+0 -_F202 !WORD _D033+0 - !BYTE $68 ; LAB _D032+0 -_F203 !WORD _D032+0 - !BYTE $54 ; CALL _C001 -_F204 !WORD _C001 -_B146 -_B147 -; libsrc/apple/uthernet2.pla: 0920: fin -_B144 -_B145 -; libsrc/apple/uthernet2.pla: 0921: next -_B140 - !BYTE $2A,$10 ; CB 16 - !BYTE $A6 ; ADDBRLE _B139 - !WORD _B139-* -_B138 - !BYTE $78 ; SAB _D033+0 -_F205 !WORD _D033+0 - !BYTE $30 ; DROP -; libsrc/apple/uthernet2.pla: 0922: // -; libsrc/apple/uthernet2.pla: 0923: // Not found -; libsrc/apple/uthernet2.pla: 0924: // -; libsrc/apple/uthernet2.pla: 0925: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/apple/uthernet2.pla: 0926: done -_SYSFLAGS = 0 -_DEFCNT = 23 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: HOOKICMP - !BYTE $C8,$CF,$CF,$CB,$C9,$C3,$CD,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D041 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/apple/vblank.a b/src/libsrc/apple/vblank.a deleted file mode 100644 index 6234841..0000000 --- a/src/libsrc/apple/vblank.a +++ /dev/null @@ -1,461 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/apple/vblank.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/apple/vblank.pla: 0001: -; libsrc/apple/vblank.pla: 0002: // -; libsrc/apple/vblank.pla: 0003: // Wait for VBL -; libsrc/apple/vblank.pla: 0004: // -; libsrc/apple/vblank.pla: 0005: export asm waitVBL#1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_A000 ; waitVBL() -; libsrc/apple/vblank.pla: 0006: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/apple/vblank.pla: 0007: LDA #$00 - LDA #$00 -; libsrc/apple/vblank.pla: 0008: STA TMPH - STA TMPH -; libsrc/apple/vblank.pla: 0009: STA TMPL - STA TMPL -; libsrc/apple/vblank.pla: 0010: PHP ; //c version first because its largest - PHP ; //c version first because its largest -; libsrc/apple/vblank.pla: 0011: SEI - SEI -; libsrc/apple/vblank.pla: 0012: STA $C07F ; Enable IOU access and reset VBL int on //c - STA $C07F ; Enable IOU access and reset VBL int on //c -; libsrc/apple/vblank.pla: 0013: LDA $C041 ; Save VBL int state MSB = BVL int enebaled - LDA $C041 ; Save VBL int state MSB = BVL int enebaled -; libsrc/apple/vblank.pla: 0014: STA $C05B ; Enable VBL int - STA $C05B ; Enable VBL int -; libsrc/apple/vblank.pla: 0015: STA $C070 ; Reset VBL int on //c - STA $C070 ; Reset VBL int on //c -; libsrc/apple/vblank.pla: 0016: - INC TMPL -- INC TMPL -; libsrc/apple/vblank.pla: 0017: BNE + - BNE + -; libsrc/apple/vblank.pla: 0018: INC TMPH - INC TMPH -; libsrc/apple/vblank.pla: 0019: + BIT $C019 -+ BIT $C019 -; libsrc/apple/vblank.pla: 0020: BPL - ; Wait for VBL - BPL - ; Wait for VBL -; libsrc/apple/vblank.pla: 0021: ASL - ASL -; libsrc/apple/vblank.pla: 0022: BCS + - BCS + -; libsrc/apple/vblank.pla: 0023: STA $C05A ; Disable VBL int on //c - STA $C05A ; Disable VBL int on //c -; libsrc/apple/vblank.pla: 0024: + STA $C07E ; Disable IOU access on //c -+ STA $C07E ; Disable IOU access on //c -; libsrc/apple/vblank.pla: 0025: PLP - PLP -; libsrc/apple/vblank.pla: 0026: DEX - DEX -; libsrc/apple/vblank.pla: 0027: LDA TMPL ; Return count - LDA TMPL ; Return count -; libsrc/apple/vblank.pla: 0028: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/vblank.pla: 0029: LDA TMPH - LDA TMPH -; libsrc/apple/vblank.pla: 0030: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/vblank.pla: 0031: RTS - RTS -; libsrc/apple/vblank.pla: 0032: end -; libsrc/apple/vblank.pla: 0033: asm _vbl2e#1 -_A001 ; _vbl2e() -; libsrc/apple/vblank.pla: 0034: LDA #$00 - LDA #$00 -; libsrc/apple/vblank.pla: 0035: STA TMPH - STA TMPH -; libsrc/apple/vblank.pla: 0036: STA TMPL - STA TMPL -; libsrc/apple/vblank.pla: 0037: - LDA $C019 ; //e version -- LDA $C019 ; //e version -; libsrc/apple/vblank.pla: 0038: BPL - - BPL - -; libsrc/apple/vblank.pla: 0039: - INC TMPL -- INC TMPL -; libsrc/apple/vblank.pla: 0040: BNE + - BNE + -; libsrc/apple/vblank.pla: 0041: INC TMPH - INC TMPH -; libsrc/apple/vblank.pla: 0042: + LDA $C019 ; Wait during active video -+ LDA $C019 ; Wait during active video -; libsrc/apple/vblank.pla: 0043: BMI - - BMI - -; libsrc/apple/vblank.pla: 0044: DEX - DEX -; libsrc/apple/vblank.pla: 0045: LDA TMPL ; Return count - LDA TMPL ; Return count -; libsrc/apple/vblank.pla: 0046: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/vblank.pla: 0047: LDA TMPH - LDA TMPH -; libsrc/apple/vblank.pla: 0048: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/vblank.pla: 0049: RTS - RTS -; libsrc/apple/vblank.pla: 0050: end -; libsrc/apple/vblank.pla: 0051: asm _vblnop#1 -_A002 ; _vblnop() -; libsrc/apple/vblank.pla: 0052: LDA #$00 ; NOP version - LDA #$00 ; NOP version -; libsrc/apple/vblank.pla: 0053: DEX ; return FALSE - DEX ; return FALSE -; libsrc/apple/vblank.pla: 0054: STA ESTKL,X - STA ESTKL,X -; libsrc/apple/vblank.pla: 0055: STA ESTKH,X - STA ESTKH,X -; libsrc/apple/vblank.pla: 0056: RTS - RTS -; libsrc/apple/vblank.pla: 0057: end -; libsrc/apple/vblank.pla: 0058: asm _vblend#1 -_A003 ; _vblend() -; libsrc/apple/vblank.pla: 0059: end -; libsrc/apple/vblank.pla: 0060: def _vbl3 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; _vbl3() -; libsrc/apple/vblank.pla: 0061: byte params[6] - ; params -> [0] -; libsrc/apple/vblank.pla: 0062: char syn - ; syn -> [6] -; libsrc/apple/vblank.pla: 0063: -; libsrc/apple/vblank.pla: 0064: syn = 22 - !BYTE $58,$07,$00 ; ENTER 7,0 -; libsrc/apple/vblank.pla: 0065: params.0 = 3 -; libsrc/apple/vblank.pla: 0066: params.1 = cmdsys.refcons -; libsrc/apple/vblank.pla: 0067: params:2 = @syn -; libsrc/apple/vblank.pla: 0068: params:4 = 1 -; libsrc/apple/vblank.pla: 0069: syscall($CB, @params) -; libsrc/apple/vblank.pla: 0070: return 300 - !BYTE $2A,$16 ; CB 22 - !BYTE $74,$06 ; SLB [6] - !BYTE $06 ; CN 3 - !BYTE $74,$00 ; SLB [0] - !BYTE $68 ; LAB _X000+19 -_F000 !WORD 0+19 - !BYTE $74,$01 ; SLB [1] - !BYTE $28,$06 ; LLA [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $76,$04 ; SLW [4] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _X011 -_F001 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$2C,$01 ; CW 300 - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/apple/vblank.pla: 0071: end -; libsrc/apple/vblank.pla: 0072: // -; libsrc/apple/vblank.pla: 0073: // Check for machine specific VLB handling -; libsrc/apple/vblank.pla: 0074: // -; libsrc/apple/vblank.pla: 0075: when MACHID & MACHID_MODEL -_INIT - !BYTE $68 ; LAB _X001+0 -_F002 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B002-* -; libsrc/apple/vblank.pla: 0076: is MACHID_IIE -_B003 -; libsrc/apple/vblank.pla: 0077: memcpy(@waitVBL, @_vbl2e, @_vblnop-@_vbl2e) -; libsrc/apple/vblank.pla: 0078: is MACHID_IIC - !BYTE $26 ; LA _A000+0 -_F003 !WORD _A000+0 - !BYTE $26 ; LA _A001+0 -_F004 !WORD _A001+0 - !BYTE $26 ; LA _A002+0 -_F005 !WORD _A002+0 - !BYTE $26 ; LA _A001+0 -_F006 !WORD _A001+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F007 !WORD 0 -_B004 -; libsrc/apple/vblank.pla: 0079: break - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; libsrc/apple/vblank.pla: 0080: is MACHID_III -_B005 -; libsrc/apple/vblank.pla: 0081: waitVBL.0 = $4C // JMP -; libsrc/apple/vblank.pla: 0082: waitVBL:1 = @_vbl3 -; libsrc/apple/vblank.pla: 0083: break - !BYTE $2A,$4C ; CB 76 - !BYTE $78 ; SAB _A000+0 -_F008 !WORD _A000+0 - !BYTE $26 ; LA _C000+0 -_F009 !WORD _C000+0 - !BYTE $7A ; SAW _A000+1 -_F010 !WORD _A000+1 - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; libsrc/apple/vblank.pla: 0084: otherwise -_B002 - !BYTE $03 ; CASEBLOCK - !WORD $0080 - !WORD _B003-* - !WORD $0088 - !WORD _B004-* - !WORD $00C0 - !WORD _B005-* -; libsrc/apple/vblank.pla: 0085: memcpy(@waitVBL, @_vblnop, @_vblend-@_vblnop) -; libsrc/apple/vblank.pla: 0086: wend - !BYTE $26 ; LA _A000+0 -_F011 !WORD _A000+0 - !BYTE $26 ; LA _A002+0 -_F012 !WORD _A002+0 - !BYTE $26 ; LA _A003+0 -_F013 !WORD _A003+0 - !BYTE $26 ; LA _A002+0 -_F014 !WORD _A002+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F015 !WORD 0 -_B001 -; libsrc/apple/vblank.pla: 0087: // -; libsrc/apple/vblank.pla: 0088: // Keep module in memory -; libsrc/apple/vblank.pla: 0089: // -; libsrc/apple/vblank.pla: 0090: return modkeep - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/apple/vblank.pla: 0091: done -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: WAITVBL - !BYTE $D7,$C1,$C9,$D4,$D6,$C2,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A000 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/args.a b/src/libsrc/args.a deleted file mode 100644 index 7aa60f9..0000000 --- a/src/libsrc/args.a +++ /dev/null @@ -1,335 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/args.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/args.pla: 0001: -; libsrc/args.pla: 0002: sysflags nojitc // No need to speed this up - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; libsrc/args.pla: 0003: -; libsrc/args.pla: 0004: def argDelim(str) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; str -> [0] -_C000 ; argDelim() -; libsrc/args.pla: 0005: byte n - ; n -> [2] -; libsrc/args.pla: 0006: -; libsrc/args.pla: 0007: // Skip leading spaces -; libsrc/args.pla: 0008: while ^str and ^(str + 1) == ' ' - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; libsrc/args.pla: 0009: ^(str + 1) = ^str - 1 -; libsrc/args.pla: 0010: str++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/args.pla: 0011: loop - !BYTE $76,$00 ; SLW [0] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $40 ; ISEQ -_B004 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/args.pla: 0012: // Scan to trailing spaces (if any) -; libsrc/args.pla: 0013: for n = 1 to ^str - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B005 - !WORD _B005-* -_B006 - !BYTE $6C,$02 ; DLB [2] -; libsrc/args.pla: 0014: if ^(str + n) <= ' ' -; libsrc/args.pla: 0015: ^(str + n) = ^str - n -; libsrc/args.pla: 0016: ^str = n - 1 -; libsrc/args.pla: 0017: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $64,$02 ; LLB [2] - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -; libsrc/args.pla: 0018: fin -_B008 -_B009 -; libsrc/args.pla: 0019: next -_B007 - !BYTE $A4 ; INCBRLE _B006 - !WORD _B006-* -_B005 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/args.pla: 0020: return str - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/args.pla: 0021: end -; libsrc/args.pla: 0022: -; libsrc/args.pla: 0023: export def argNext(str) - ; str -> [0] -_C001 ; argNext() -; libsrc/args.pla: 0024: str = str + ^str + 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/args.pla: 0025: return argDelim(str) - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C000 -_F000 !WORD _C000 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/args.pla: 0026: end -; libsrc/args.pla: 0027: -; libsrc/args.pla: 0028: export def argFirst -_C002 ; argFirst() -; libsrc/args.pla: 0029: ^(cmdsys:cmdline + ^cmdsys:cmdline + 1) = NULL -; libsrc/args.pla: 0030: return argDelim(cmdsys:cmdline) - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X000+4 -_F001 !WORD 0+4 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $6A ; LAW _X000+4 -_F002 !WORD 0+4 - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $5C ; RET -; libsrc/args.pla: 0031: end -; libsrc/args.pla: 0032: -; libsrc/args.pla: 0033: done -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/dhcp.a b/src/libsrc/dhcp.a deleted file mode 100644 index b2a79c4..0000000 --- a/src/libsrc/dhcp.a +++ /dev/null @@ -1,1271 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/dhcp.pla: 0001: // -; libsrc/dhcp.pla: 0002: // DHCP -; libsrc/dhcp.pla: 0003: // -; libsrc/dhcp.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/dhcp.pla: 0004: -; libsrc/dhcp.pla: 0005: include "inc/inet.plh" -; inc/inet.plh: 0001: // -; inc/inet.plh: 0002: // iNet API -; inc/inet.plh: 0003: // -; inc/inet.plh: 0004: import iNet - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - ; INET -> X028 -; inc/inet.plh: 0005: struc t_inet -; inc/inet.plh: 0006: word initIP - ; initIP = 0 -; inc/inet.plh: 0007: word serviceIP - ; serviceIP = 2 -; inc/inet.plh: 0008: word openUDP - ; openUDP = 4 -; inc/inet.plh: 0009: word sendUDP - ; sendUDP = 6 -; inc/inet.plh: 0010: word closeUDP - ; closeUDP = 8 -; inc/inet.plh: 0011: word listenTCP - ; listenTCP = 10 -; inc/inet.plh: 0012: word connectTCP - ; connectTCP = 12 -; inc/inet.plh: 0013: word sendTCP - ; sendTCP = 14 -; inc/inet.plh: 0014: word closeTCP - ; closeTCP = 16 -; inc/inet.plh: 0015: word setInterfaceIP - ; setInterfaceIP = 18 -; inc/inet.plh: 0016: word getInterfaceHA - ; getInterfaceHA = 20 -; inc/inet.plh: 0017: word setDNS - ; setDNS = 22 -; inc/inet.plh: 0018: word resolveIP - ; resolveIP = 24 -; inc/inet.plh: 0019: word setCallback - ; setCallback = 26 -; inc/inet.plh: 0020: word setParam - ; setParam = 28 -; inc/inet.plh: 0021: end - ; t_inet = 30 -; inc/inet.plh: 0022: end -; libsrc/dhcp.pla: 0005: -; libsrc/dhcp.pla: 0006: sysflags nojitc // No need to JITC this temp loaded module - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; libsrc/dhcp.pla: 0007: // -; libsrc/dhcp.pla: 0008: // Needed to init subnet -; libsrc/dhcp.pla: 0009: // -; libsrc/dhcp.pla: 0010: const IP_BROADCAST = $FFFF - ; IP_BROADCAST = 65535 -; libsrc/dhcp.pla: 0011: const IP4ADR_SIZE = 4 - ; IP4ADR_SIZE = 4 -; libsrc/dhcp.pla: 0012: // -; libsrc/dhcp.pla: 0013: // DHCP message -; libsrc/dhcp.pla: 0014: // -; libsrc/dhcp.pla: 0015: struc t_dhcp -; libsrc/dhcp.pla: 0016: byte dhcp_op - ; dhcp_op = 0 -; libsrc/dhcp.pla: 0017: byte dhcp_htype - ; dhcp_htype = 1 -; libsrc/dhcp.pla: 0018: byte dhcp_hlen - ; dhcp_hlen = 2 -; libsrc/dhcp.pla: 0019: byte dhcp_hops - ; dhcp_hops = 3 -; libsrc/dhcp.pla: 0020: byte[4] dhcp_xid - ; dhcp_xid = 4 -; libsrc/dhcp.pla: 0021: word dhcp_secs - ; dhcp_secs = 8 -; libsrc/dhcp.pla: 0022: word dhcp_flags - ; dhcp_flags = 10 -; libsrc/dhcp.pla: 0023: byte[4] dhcp_clientip - ; dhcp_clientip = 12 -; libsrc/dhcp.pla: 0024: byte[4] dhcp_yourip - ; dhcp_yourip = 16 -; libsrc/dhcp.pla: 0025: byte[4] dhcp_serverip - ; dhcp_serverip = 20 -; libsrc/dhcp.pla: 0026: byte[4] dhcp_gatewayip - ; dhcp_gatewayip = 24 -; libsrc/dhcp.pla: 0027: byte[16] dhcp_clientha - ; dhcp_clientha = 28 -; libsrc/dhcp.pla: 0028: byte[192] dhcp_bootp - ; dhcp_bootp = 44 -; libsrc/dhcp.pla: 0029: byte[4] dhcp_magic - ; dhcp_magic = 236 -; libsrc/dhcp.pla: 0030: byte[60] dhcp_opts - ; dhcp_opts = 240 -; libsrc/dhcp.pla: 0031: end - ; t_dhcp = 300 -; libsrc/dhcp.pla: 0032: // -; libsrc/dhcp.pla: 0033: // DHCP messages -; libsrc/dhcp.pla: 0034: // -; libsrc/dhcp.pla: 0035: const DHCP_DISCOVER = $01 - ; DHCP_DISCOVER = 1 -; libsrc/dhcp.pla: 0036: const DHCP_OFFER = $02 - ; DHCP_OFFER = 2 -; libsrc/dhcp.pla: 0037: const DHCP_REQUEST = $03 - ; DHCP_REQUEST = 3 -; libsrc/dhcp.pla: 0038: const DHCP_DECLINE = $04 - ; DHCP_DECLINE = 4 -; libsrc/dhcp.pla: 0039: const DHCP_ACK = $05 - ; DHCP_ACK = 5 -; libsrc/dhcp.pla: 0040: const DHCP_NACK = $06 - ; DHCP_NACK = 6 -; libsrc/dhcp.pla: 0041: const DHCP_RELEASE = $07 - ; DHCP_RELEASE = 7 -; libsrc/dhcp.pla: 0042: // -; libsrc/dhcp.pla: 0043: // Track DHCP progress -; libsrc/dhcp.pla: 0044: // -; libsrc/dhcp.pla: 0045: byte retry -_D029 !FILL 1 ; retry -; libsrc/dhcp.pla: 0046: word timeout -_D030 !FILL 2 ; timeout -; libsrc/dhcp.pla: 0047: // -; libsrc/dhcp.pla: 0048: // DHCP ports -; libsrc/dhcp.pla: 0049: // -; libsrc/dhcp.pla: 0050: const DHCP_CLIENT_PORT = 68 - ; DHCP_CLIENT_PORT = 68 -; libsrc/dhcp.pla: 0051: const DHCP_SERVER_PORT = 67 - ; DHCP_SERVER_PORT = 67 -; libsrc/dhcp.pla: 0052: word portDHCP -_D031 !FILL 2 ; portDHCP -; libsrc/dhcp.pla: 0053: byte[4] zeros -_D032 !FILL 4 ; zeros -; libsrc/dhcp.pla: 0054: byte[4] ones = $FF, $FF, $FF, $FF -_D033 ; ones = $FF, $FF, $FF, $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF -; libsrc/dhcp.pla: 0055: // -; libsrc/dhcp.pla: 0056: // Default static net IP addresses -; libsrc/dhcp.pla: 0057: // -; libsrc/dhcp.pla: 0058: byte localdns = 8,8,8,8 -_D034 ; localdns = 8,8,8,8 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 -; libsrc/dhcp.pla: 0059: byte localgw = 192,168,1,1 -_D035 ; localgw = 192,168,1,1 - !BYTE $C0 - !BYTE $A8 - !BYTE $01 - !BYTE $01 -; libsrc/dhcp.pla: 0060: byte localip = 192,168,1,10 -_D036 ; localip = 192,168,1,10 - !BYTE $C0 - !BYTE $A8 - !BYTE $01 - !BYTE $0A -; libsrc/dhcp.pla: 0061: byte localnet = 255,255,255,0 -_D037 ; localnet = 255,255,255,0 - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $00 -; libsrc/dhcp.pla: 0062: // -; libsrc/dhcp.pla: 0063: // Pre-configured DHCP packet -; libsrc/dhcp.pla: 0064: // -; libsrc/dhcp.pla: 0065: byte DHCP = $01// OP = BOOT -_D038 ; DHCP = $01// OP = BOOT - !BYTE $01 -; libsrc/dhcp.pla: 0066: byte = $01 // HTYPE = ETHERNET - !BYTE $01 -; libsrc/dhcp.pla: 0067: byte = $06 // HLEN = 6 - !BYTE $06 -; libsrc/dhcp.pla: 0068: byte = $00 // HOPS - !BYTE $00 -; libsrc/dhcp.pla: 0069: byte[4] = $01,$02,$03,$04 // TRANSACTION ID - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $04 -; libsrc/dhcp.pla: 0070: word = $0000 // SECONDS - !WORD $0000 -; libsrc/dhcp.pla: 0071: word = 0 // FLAGS - !WORD $0000 -; libsrc/dhcp.pla: 0072: byte[4] = 0 // CLIENT IP - !BYTE $00 - !FILL $03 -; libsrc/dhcp.pla: 0073: byte[4] = 0 // YOUR IP - !BYTE $00 - !FILL $03 -; libsrc/dhcp.pla: 0074: byte[4] = 0 // SERVER IP - !BYTE $00 - !FILL $03 -; libsrc/dhcp.pla: 0075: byte[4] = 0 // GATEWAY IP - !BYTE $00 - !FILL $03 -; libsrc/dhcp.pla: 0076: byte[16] = 0 // CLIENT HA - !BYTE $00 - !FILL $0F -; libsrc/dhcp.pla: 0077: byte[64] = 0 // SERVER HOST NAME - !BYTE $00 - !FILL $3F -; libsrc/dhcp.pla: 0078: byte[128] = 0 // BOOT FILE NAME - !BYTE $00 - !FILL $7F -; libsrc/dhcp.pla: 0079: byte[4] = $63,$82,$53,$63 // MAGIC - !BYTE $63 - !BYTE $82 - !BYTE $53 - !BYTE $63 -; libsrc/dhcp.pla: 0080: byte optsOP = 53,1,1 // DISCOVER -_D039 ; optsOP = 53,1,1 // DISCOVER - !BYTE $35 - !BYTE $01 - !BYTE $01 -; libsrc/dhcp.pla: 0081: byte optsCID = 61,7, $01,$00,$00,$00,$00,$00,$00 -_D040 ; optsCID = 61,7, $01,$00,$00,$00,$00,$00,$00 - !BYTE $3D - !BYTE $07 - !BYTE $01 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/dhcp.pla: 0082: byte = 12, "AppleII" - !BYTE $0C - !BYTE $07 - !BYTE $41,$70,$70,$6C,$65,$49,$49 -; libsrc/dhcp.pla: 0083: byte optsIP = 50,4, 0,0,0,0 // IP requested -_D041 ; optsIP = 50,4, 0,0,0,0 // IP requested - !BYTE $32 - !BYTE $04 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/dhcp.pla: 0084: byte = 55,4, 1,3,6,42 // Parameter request list - !BYTE $37 - !BYTE $04 - !BYTE $01 - !BYTE $03 - !BYTE $06 - !BYTE $2A -; libsrc/dhcp.pla: 0085: byte optsSRV = 54,4, 0,0,0,0 // DHCP server -_D042 ; optsSRV = 54,4, 0,0,0,0 // DHCP server - !BYTE $36 - !BYTE $04 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/dhcp.pla: 0086: byte = 255 - !BYTE $FF -; libsrc/dhcp.pla: 0087: byte[] endDHCP -_D043 ; endDHCP -; libsrc/dhcp.pla: 0088: // -; libsrc/dhcp.pla: 0089: // DEBUG -; libsrc/dhcp.pla: 0090: // -; libsrc/dhcp.pla: 0091: def putip(ipptr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; ipptr -> [0] -_C000 ; putip() -; libsrc/dhcp.pla: 0092: byte i - ; i -> [2] -; libsrc/dhcp.pla: 0093: -; libsrc/dhcp.pla: 0094: for i = 0 to 2 - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6C,$02 ; DLB [2] -; libsrc/dhcp.pla: 0095: puti(ipptr->[i]); putc('.') -; libsrc/dhcp.pla: 0096: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F000 !WORD 0 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/dhcp.pla: 0097: puti(ipptr->[i]) -; libsrc/dhcp.pla: 0098: end - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F002 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/dhcp.pla: 0099: //def dumpbytes(buf, len) -; libsrc/dhcp.pla: 0100: // word i -; libsrc/dhcp.pla: 0101: // -; libsrc/dhcp.pla: 0102: // for i = 0 to len - 1 -; libsrc/dhcp.pla: 0103: // putb(buf->[i]) -; libsrc/dhcp.pla: 0104: // if i & 15 == 15 -; libsrc/dhcp.pla: 0105: // putln -; libsrc/dhcp.pla: 0106: // else -; libsrc/dhcp.pla: 0107: // putc(' ') -; libsrc/dhcp.pla: 0108: // fin -; libsrc/dhcp.pla: 0109: // next -; libsrc/dhcp.pla: 0110: //end -; libsrc/dhcp.pla: 0111: //def dumpdhcp(pkt) -; libsrc/dhcp.pla: 0112: // putb(pkt->dhcp_op);putln -; libsrc/dhcp.pla: 0113: // putb(pkt->dhcp_htype);putln -; libsrc/dhcp.pla: 0114: // putb(pkt->dhcp_hlen);putln -; libsrc/dhcp.pla: 0115: // putb(pkt->dhcp_hops);putln -; libsrc/dhcp.pla: 0116: // dumpbytes(@pkt->dhcp_xid, 4);putln -; libsrc/dhcp.pla: 0117: // putip(@pkt->dhcp_clientip);putln -; libsrc/dhcp.pla: 0118: // putip(@pkt->dhcp_yourip);putln -; libsrc/dhcp.pla: 0119: // putip(@pkt->dhcp_serverip);putln -; libsrc/dhcp.pla: 0120: // putip(@pkt->dhcp_gatewayip);putln -; libsrc/dhcp.pla: 0121: // dumpbytes(@pkt->dhcp_opts, 48);putln -; libsrc/dhcp.pla: 0122: //end -; libsrc/dhcp.pla: 0123: def parseopts(opts, match) - ; opts -> [0] - ; match -> [2] -_C001 ; parseopts() -; libsrc/dhcp.pla: 0124: byte i - ; i -> [4] -; libsrc/dhcp.pla: 0125: -; libsrc/dhcp.pla: 0126: i = 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; libsrc/dhcp.pla: 0127: while opts->[i] <> $FF and i < 64 - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; libsrc/dhcp.pla: 0128: while !opts->[i] and i < 64 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B008 -; libsrc/dhcp.pla: 0129: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/dhcp.pla: 0130: loop - !BYTE $74,$04 ; SLB [4] -_B010 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B011 - !WORD _B011-* - !BYTE $64,$04 ; LLB [4] - !BYTE $2A,$40 ; CB 64 - !BYTE $46 ; ISLT -_B011 - !BYTE $4E ; BRTRU _B008 - !WORD _B008-* -_B009 -; libsrc/dhcp.pla: 0131: if opts->[i] == match -; libsrc/dhcp.pla: 0132: return i - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $24 ; BRNE _B012 - !WORD _B012-* - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/dhcp.pla: 0133: fin -_B012 -_B013 -; libsrc/dhcp.pla: 0134: i = i + opts->[i + 1] + 2 -; libsrc/dhcp.pla: 0135: loop - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$02 ; ADDI 2 - !BYTE $74,$04 ; SLB [4] -_B006 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$FF ; CB 255 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B007 - !WORD _B007-* - !BYTE $64,$04 ; LLB [4] - !BYTE $2A,$40 ; CB 64 - !BYTE $46 ; ISLT -_B007 - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/dhcp.pla: 0136: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/dhcp.pla: 0137: end -; libsrc/dhcp.pla: 0138: def recvDHCP(remip, remport, pkt, len, param) - ; remip -> [0] - ; remport -> [2] - ; pkt -> [4] - ; len -> [6] - ; param -> [8] -_C002 ; recvDHCP() -; libsrc/dhcp.pla: 0139: word servopts, maskopts, gwopts, dnsopts - ; servopts -> [10] - ; maskopts -> [12] - ; gwopts -> [14] - ; dnsopts -> [16] -; libsrc/dhcp.pla: 0140: -; libsrc/dhcp.pla: 0141: //puts("recvDHCP: ");putip(remip);putc(':');puti(remport);putln -; libsrc/dhcp.pla: 0142: //dumpdhcp(pkt) -; libsrc/dhcp.pla: 0143: if pkt=>dhcp_xid:0 == $0201 and pkt=>dhcp_xid:2 == $0403 - !BYTE $58,$12,$05 ; ENTER 18,5 -; libsrc/dhcp.pla: 0144: when pkt->dhcp_opts.[parseopts(@pkt->dhcp_opts, 53) + 2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B014 - !WORD _B014-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$03,$04 ; CW 1027 - !BYTE $40 ; ISEQ -_B014 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $2A,$35 ; CB 53 - !BYTE $54 ; CALL _C001 -_F003 !WORD _C001 - !BYTE $38,$02 ; ADDI 2 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B018-* -; libsrc/dhcp.pla: 0145: is DHCP_OFFER -_B019 -; libsrc/dhcp.pla: 0146: // -; libsrc/dhcp.pla: 0147: // Copy offer parameters to request -; libsrc/dhcp.pla: 0148: // -; libsrc/dhcp.pla: 0149: optsOP.2 = DHCP_REQUEST -; libsrc/dhcp.pla: 0150: memcpy(@optsIP.2, @pkt->dhcp_yourip, IP4ADR_SIZE) -; libsrc/dhcp.pla: 0151: servopts = parseopts(@pkt->dhcp_opts, 54) + 2 -; libsrc/dhcp.pla: 0152: if servopts >= 0 -; libsrc/dhcp.pla: 0153: optsSRV = 54 -; libsrc/dhcp.pla: 0154: memcpy(@optsSRV.2, @pkt->dhcp_opts.[servopts], IP4ADR_SIZE) -; libsrc/dhcp.pla: 0155: fin - !BYTE $06 ; CN 3 - !BYTE $78 ; SAB _D039+2 -_F004 !WORD _D039+2 - !BYTE $26 ; LA _D041+2 -_F005 !WORD _D041+2 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$10 ; ADDI 16 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F006 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $2A,$36 ; CB 54 - !BYTE $54 ; CALL _C001 -_F007 !WORD _C001 - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $2A,$36 ; CB 54 - !BYTE $78 ; SAB _D042+0 -_F008 !WORD _D042+0 - !BYTE $26 ; LA _D042+2 -_F009 !WORD _D042+2 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F010 !WORD 0 -_B020 -_B021 -; libsrc/dhcp.pla: 0156: iNet:sendUDP(portDHCP, 0, DHCP_SERVER_PORT, @DHCP, @endDHCP - @DHCP) -; libsrc/dhcp.pla: 0157: break - !BYTE $6A ; LAW _D031+0 -_F011 !WORD _D031+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$43 ; CB 67 - !BYTE $26 ; LA _D038+0 -_F012 !WORD _D038+0 - !BYTE $26 ; LA _D043+0 -_F013 !WORD _D043+0 - !BYTE $26 ; LA _D038+0 -_F014 !WORD _D038+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X028+6 -_F015 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -; libsrc/dhcp.pla: 0158: is DHCP_ACK -_B022 -; libsrc/dhcp.pla: 0159: // -; libsrc/dhcp.pla: 0160: // Copy parameters to working copy -; libsrc/dhcp.pla: 0161: // -; libsrc/dhcp.pla: 0162: optsOP.2 = DHCP_ACK -; libsrc/dhcp.pla: 0163: memcpy(@localip, @pkt->dhcp_yourip, IP4ADR_SIZE) -; libsrc/dhcp.pla: 0164: maskopts = parseopts(@pkt->dhcp_opts, 1) + 2 -; libsrc/dhcp.pla: 0165: if maskopts >= 0 -; libsrc/dhcp.pla: 0166: memcpy(@localnet, @pkt->dhcp_opts.[maskopts], IP4ADR_SIZE) -; libsrc/dhcp.pla: 0167: fin - !BYTE $0A ; CN 5 - !BYTE $78 ; SAB _D039+2 -_F016 !WORD _D039+2 - !BYTE $26 ; LA _D036+0 -_F017 !WORD _D036+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$10 ; ADDI 16 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F018 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C001 -_F019 !WORD _C001 - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0C ; DLW [12] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $26 ; LA _D037+0 -_F020 !WORD _D037+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F021 !WORD 0 -_B023 -_B024 -; libsrc/dhcp.pla: 0168: gwopts = parseopts(@pkt->dhcp_opts, 3) + 2 -; libsrc/dhcp.pla: 0169: if gwopts >= 0 -; libsrc/dhcp.pla: 0170: memcpy(@localgw, @pkt->dhcp_opts.[gwopts], IP4ADR_SIZE) -; libsrc/dhcp.pla: 0171: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C001 -_F022 !WORD _C001 - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0E ; DLW [14] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $26 ; LA _D035+0 -_F023 !WORD _D035+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F024 !WORD 0 -_B025 -_B026 -; libsrc/dhcp.pla: 0172: dnsopts = parseopts(@pkt->dhcp_opts, 6) + 2 -; libsrc/dhcp.pla: 0173: if dnsopts >= 0 -; libsrc/dhcp.pla: 0174: memcpy(@localdns, @pkt->dhcp_opts.[dnsopts], IP4ADR_SIZE) -; libsrc/dhcp.pla: 0175: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _C001 -_F025 !WORD _C001 - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$10 ; DLW [16] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $26 ; LA _D034+0 -_F026 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$F0 ; ADDI 240 - !BYTE $B2,$10 ; ADDLW [16] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F027 !WORD 0 -_B027 -_B028 -; libsrc/dhcp.pla: 0176: break - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -; libsrc/dhcp.pla: 0177: otherwise -_B018 - !BYTE $02 ; CASEBLOCK - !WORD $0002 - !WORD _B019-* - !WORD $0005 - !WORD _B022-* -; libsrc/dhcp.pla: 0178: //dumpdhcp(pkt) -; libsrc/dhcp.pla: 0179: wend -_B017 -; libsrc/dhcp.pla: 0180: fin -_B015 -_B016 -; libsrc/dhcp.pla: 0181: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$12 ; LEAVE 18 -; libsrc/dhcp.pla: 0182: end -; libsrc/dhcp.pla: 0183: // -; libsrc/dhcp.pla: 0184: // Get the local hardware address into the DHCP packet -; libsrc/dhcp.pla: 0185: // -; libsrc/dhcp.pla: 0186: iNet:getInterfaceHA(@DHCP.dhcp_clientha) -_INIT -; libsrc/dhcp.pla: 0187: iNet:getInterfaceHA(@optsCID.3) -; libsrc/dhcp.pla: 0188: // -; libsrc/dhcp.pla: 0189: // Clear our local IP address -; libsrc/dhcp.pla: 0190: // -; libsrc/dhcp.pla: 0191: iNet:setInterfaceIP(@zeros, @ones, @zeros) -; libsrc/dhcp.pla: 0192: // -; libsrc/dhcp.pla: 0193: // Prepare to receive DHCP packets from a server -; libsrc/dhcp.pla: 0194: // -; libsrc/dhcp.pla: 0195: portDHCP = iNet:openUDP(DHCP_CLIENT_PORT, @recvDHCP, 0) -; libsrc/dhcp.pla: 0196: // -; libsrc/dhcp.pla: 0197: // Service IP -; libsrc/dhcp.pla: 0198: // -; libsrc/dhcp.pla: 0199: retry = 0 -; libsrc/dhcp.pla: 0200: repeat - !BYTE $26 ; LA _D038+28 -_F028 !WORD _D038+28 - !BYTE $6A ; LAW _X028+20 -_F029 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D040+3 -_F030 !WORD _D040+3 - !BYTE $6A ; LAW _X028+20 -_F031 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D032+0 -_F032 !WORD _D032+0 - !BYTE $26 ; LA _D033+0 -_F033 !WORD _D033+0 - !BYTE $26 ; LA _D032+0 -_F034 !WORD _D032+0 - !BYTE $6A ; LAW _X028+18 -_F035 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$44 ; CB 68 - !BYTE $26 ; LA _C002+0 -_F036 !WORD _C002+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F037 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D031+0 -_F038 !WORD _D031+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D029+0 -_F039 !WORD _D029+0 -_B030 -; libsrc/dhcp.pla: 0201: // -; libsrc/dhcp.pla: 0202: // Broadcast DHCP DISCOVER message -; libsrc/dhcp.pla: 0203: // -; libsrc/dhcp.pla: 0204: optsOP.2 = DHCP_DISCOVER -; libsrc/dhcp.pla: 0205: optsIP:2 = 0 -; libsrc/dhcp.pla: 0206: optsIP:4 = 0 -; libsrc/dhcp.pla: 0207: optsSRV = 255 -; libsrc/dhcp.pla: 0208: DHCP.dhcp_secs.1 = retry -; libsrc/dhcp.pla: 0209: iNet:sendUDP(portDHCP, 0, DHCP_SERVER_PORT, @DHCP, @optsSRV - @DHCP + 1) -; libsrc/dhcp.pla: 0210: for timeout = 0 to 4000 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D039+2 -_F040 !WORD _D039+2 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D041+2 -_F041 !WORD _D041+2 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D041+4 -_F042 !WORD _D041+4 - !BYTE $2A,$FF ; CB 255 - !BYTE $78 ; SAB _D042+0 -_F043 !WORD _D042+0 - !BYTE $68 ; LAB _D029+0 -_F044 !WORD _D029+0 - !BYTE $26 ; LA _D038+8 -_F045 !WORD _D038+8 - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $6A ; LAW _D031+0 -_F046 !WORD _D031+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$43 ; CB 67 - !BYTE $26 ; LA _D038+0 -_F047 !WORD _D038+0 - !BYTE $26 ; LA _D042+0 -_F048 !WORD _D042+0 - !BYTE $26 ; LA _D038+0 -_F049 !WORD _D038+0 - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $6A ; LAW _X028+6 -_F050 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$A0,$0F ; CW 4000 - !BYTE $00 ; CN 0 -_B033 - !BYTE $7E ; DAW _D030+0 -_F051 !WORD _D030+0 -; libsrc/dhcp.pla: 0211: iNet:serviceIP() -; libsrc/dhcp.pla: 0212: if optsOP.2 == DHCP_ACK -; libsrc/dhcp.pla: 0213: break - !BYTE $6A ; LAW _X028+2 -_F052 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D039+2 -_F053 !WORD _D039+2 - !BYTE $0A ; CN 5 - !BYTE $24 ; BRNE _B035 - !WORD _B035-* - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -; libsrc/dhcp.pla: 0214: fin -_B035 -_B036 -; libsrc/dhcp.pla: 0215: next -_B034 - !BYTE $A4 ; INCBRLE _B033 - !WORD _B033-* -_B032 - !BYTE $7A ; SAW _D030+0 -_F054 !WORD _D030+0 - !BYTE $30 ; DROP -; libsrc/dhcp.pla: 0216: retry++ - !BYTE $68 ; LAB _D029+0 -_F055 !WORD _D029+0 - !BYTE $8C ; INCR -; libsrc/dhcp.pla: 0217: until retry > 4 or optsOP.2 == DHCP_ACK - !BYTE $78 ; SAB _D029+0 -_F056 !WORD _D029+0 -_B031 - !BYTE $68 ; LAB _D029+0 -_F057 !WORD _D029+0 - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B037 - !WORD _B037-* - !BYTE $68 ; LAB _D039+2 -_F058 !WORD _D039+2 - !BYTE $0A ; CN 5 - !BYTE $40 ; ISEQ -_B037 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* -_B029 -; libsrc/dhcp.pla: 0218: iNet:closeUDP(portDHCP) -; libsrc/dhcp.pla: 0219: iNet:setInterfaceIP(@localip, @localnet, @localgw) -; libsrc/dhcp.pla: 0220: puts("Apple II bound to:\n");putip(@localip);putc('/');putip(@localnet);putln - !BYTE $6A ; LAW _D031+0 -_F059 !WORD _D031+0 - !BYTE $6A ; LAW _X028+8 -_F060 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D036+0 -_F061 !WORD _D036+0 - !BYTE $26 ; LA _D037+0 -_F062 !WORD _D037+0 - !BYTE $26 ; LA _D035+0 -_F063 !WORD _D035+0 - !BYTE $6A ; LAW _X028+18 -_F064 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $13 - !BYTE $41,$70,$70,$6C,$65,$20,$49,$49 - !BYTE $20,$62,$6F,$75,$6E,$64,$20,$74 - !BYTE $6F,$3A,$0D - !BYTE $54 ; CALL _X004 -_F065 !WORD 0 -; libsrc/dhcp.pla: 0221: iNet:setDNS(@localdns) -; libsrc/dhcp.pla: 0222: puts("DNS:");putip(@localdns);putln - !BYTE $26 ; LA _D036+0 -_F066 !WORD _D036+0 - !BYTE $54 ; CALL _C000 -_F067 !WORD _C000 - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F068 !WORD 0 - !BYTE $26 ; LA _D037+0 -_F069 !WORD _D037+0 - !BYTE $54 ; CALL _C000 -_F070 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F071 !WORD 0 - !BYTE $26 ; LA _D034+0 -_F072 !WORD _D034+0 - !BYTE $6A ; LAW _X028+22 -_F073 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $04 - !BYTE $44,$4E,$53,$3A - !BYTE $54 ; CALL _X004 -_F074 !WORD 0 -; libsrc/dhcp.pla: 0223: done - !BYTE $26 ; LA _D034+0 -_F075 !WORD _D034+0 - !BYTE $54 ; CALL _C000 -_F076 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F077 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/etherip.a b/src/libsrc/etherip.a deleted file mode 100644 index 997d138..0000000 --- a/src/libsrc/etherip.a +++ /dev/null @@ -1,2497 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/etherip.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/etherip.pla: 0001: -; libsrc/etherip.pla: 0002: include "inc/inet.plh" -; inc/inet.plh: 0001: // -; inc/inet.plh: 0002: // iNet API -; inc/inet.plh: 0003: // -; inc/inet.plh: 0004: import iNet - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - ; INET -> X028 -; inc/inet.plh: 0005: struc t_inet -; inc/inet.plh: 0006: word initIP - ; initIP = 0 -; inc/inet.plh: 0007: word serviceIP - ; serviceIP = 2 -; inc/inet.plh: 0008: word openUDP - ; openUDP = 4 -; inc/inet.plh: 0009: word sendUDP - ; sendUDP = 6 -; inc/inet.plh: 0010: word closeUDP - ; closeUDP = 8 -; inc/inet.plh: 0011: word listenTCP - ; listenTCP = 10 -; inc/inet.plh: 0012: word connectTCP - ; connectTCP = 12 -; inc/inet.plh: 0013: word sendTCP - ; sendTCP = 14 -; inc/inet.plh: 0014: word closeTCP - ; closeTCP = 16 -; inc/inet.plh: 0015: word setInterfaceIP - ; setInterfaceIP = 18 -; inc/inet.plh: 0016: word getInterfaceHA - ; getInterfaceHA = 20 -; inc/inet.plh: 0017: word setDNS - ; setDNS = 22 -; inc/inet.plh: 0018: word resolveIP - ; resolveIP = 24 -; inc/inet.plh: 0019: word setCallback - ; setCallback = 26 -; inc/inet.plh: 0020: word setParam - ; setParam = 28 -; inc/inet.plh: 0021: end - ; t_inet = 30 -; inc/inet.plh: 0022: end -; libsrc/etherip.pla: 0002: -; libsrc/etherip.pla: 0003: // -; libsrc/etherip.pla: 0004: // Predefine service routine -; libsrc/etherip.pla: 0005: // -; libsrc/etherip.pla: 0006: predef etherServiceIP - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/etherip.pla: 0007: // -; libsrc/etherip.pla: 0008: // Segment list element -; libsrc/etherip.pla: 0009: // -; libsrc/etherip.pla: 0010: struc t_segment -; libsrc/etherip.pla: 0011: word seg_buf - ; seg_buf = 0 -; libsrc/etherip.pla: 0012: word seg_len - ; seg_len = 2 -; libsrc/etherip.pla: 0013: end - ; t_segment = 4 -; libsrc/etherip.pla: 0014: // -; libsrc/etherip.pla: 0015: // Max Ethernet frame size -; libsrc/etherip.pla: 0016: // -; libsrc/etherip.pla: 0017: const MAX_FRAME_SIZE = 1518 - ; MAX_FRAME_SIZE = 1518 -; libsrc/etherip.pla: 0018: const MAC_BROADCAST = $FFFF - ; MAC_BROADCAST = 65535 -; libsrc/etherip.pla: 0019: const MAC_SIZE = 6 - ; MAC_SIZE = 6 -; libsrc/etherip.pla: 0020: // -; libsrc/etherip.pla: 0021: // Ethernet header -; libsrc/etherip.pla: 0022: // -; libsrc/etherip.pla: 0023: struc t_ethrhdr -; libsrc/etherip.pla: 0024: byte[MAC_SIZE] ethr_dst - ; ethr_dst = 0 -; libsrc/etherip.pla: 0025: byte[MAC_SIZE] ethr_src - ; ethr_src = 6 -; libsrc/etherip.pla: 0026: word ethr_payload - ; ethr_payload = 12 -; libsrc/etherip.pla: 0027: end - ; t_ethrhdr = 14 -; libsrc/etherip.pla: 0028: const PAYLOAD_IP = $0008 // BE format - ; PAYLOAD_IP = 8 -; libsrc/etherip.pla: 0029: const PAYLOAD_ARP = $0608 // BE format - ; PAYLOAD_ARP = 1544 -; libsrc/etherip.pla: 0030: // -; libsrc/etherip.pla: 0031: // IP datagram header -; libsrc/etherip.pla: 0032: // -; libsrc/etherip.pla: 0033: const IP4ADR_SIZE = 4 - ; IP4ADR_SIZE = 4 -; libsrc/etherip.pla: 0034: struc t_iphdr -; libsrc/etherip.pla: 0035: byte ip_vers_hlen - ; ip_vers_hlen = 0 -; libsrc/etherip.pla: 0036: byte ip_service - ; ip_service = 1 -; libsrc/etherip.pla: 0037: word ip_length - ; ip_length = 2 -; libsrc/etherip.pla: 0038: word ip_id - ; ip_id = 4 -; libsrc/etherip.pla: 0039: word ip_flags_fragofst - ; ip_flags_fragofst = 6 -; libsrc/etherip.pla: 0040: byte ip_ttl - ; ip_ttl = 8 -; libsrc/etherip.pla: 0041: byte ip_proto - ; ip_proto = 9 -; libsrc/etherip.pla: 0042: word ip_chksm - ; ip_chksm = 10 -; libsrc/etherip.pla: 0043: byte[IP4ADR_SIZE] ip_src - ; ip_src = 12 -; libsrc/etherip.pla: 0044: byte[IP4ADR_SIZE] ip_dst - ; ip_dst = 16 -; libsrc/etherip.pla: 0045: byte[] ip_options - ; ip_options = 20 -; libsrc/etherip.pla: 0046: end - ; t_iphdr = 20 -; libsrc/etherip.pla: 0047: const t_ethriphdr = t_ethrhdr + t_iphdr - ; t_ethriphdr = 34 -; libsrc/etherip.pla: 0048: const IP_BROADCAST = $FFFF - ; IP_BROADCAST = 65535 -; libsrc/etherip.pla: 0049: const IP_PROTO_ICMP = $01 - ; IP_PROTO_ICMP = 1 -; libsrc/etherip.pla: 0050: const IP_PROTO_UDP = $11 - ; IP_PROTO_UDP = 17 -; libsrc/etherip.pla: 0051: const IP_PROTO_TCP = $06 - ; IP_PROTO_TCP = 6 -; libsrc/etherip.pla: 0052: // -; libsrc/etherip.pla: 0053: // ICMP type/codes -; libsrc/etherip.pla: 0054: // -; libsrc/etherip.pla: 0055: const ICMP_ECHO_REQST = 8 - ; ICMP_ECHO_REQST = 8 -; libsrc/etherip.pla: 0056: const ICMP_ECHO_REPLY = 0 - ; ICMP_ECHO_REPLY = 0 -; libsrc/etherip.pla: 0057: // -; libsrc/etherip.pla: 0058: // ICMP message format -; libsrc/etherip.pla: 0059: // -; libsrc/etherip.pla: 0060: struc t_icmp -; libsrc/etherip.pla: 0061: byte icmp_type - ; icmp_type = 0 -; libsrc/etherip.pla: 0062: byte icmp_code - ; icmp_code = 1 -; libsrc/etherip.pla: 0063: word icmp_chksm - ; icmp_chksm = 2 -; libsrc/etherip.pla: 0064: word[2] icmp_header - ; icmp_header = 4 -; libsrc/etherip.pla: 0065: end - ; t_icmp = 8 -; libsrc/etherip.pla: 0066: // -; libsrc/etherip.pla: 0067: // UDP IPv4 pseudo header -; libsrc/etherip.pla: 0068: // -; libsrc/etherip.pla: 0069: struc t_piphdr -; libsrc/etherip.pla: 0070: byte[IP4ADR_SIZE] pip_src - ; pip_src = 0 -; libsrc/etherip.pla: 0071: byte[IP4ADR_SIZE] pip_dst - ; pip_dst = 4 -; libsrc/etherip.pla: 0072: byte pip_zero - ; pip_zero = 8 -; libsrc/etherip.pla: 0073: byte pip_proto - ; pip_proto = 9 -; libsrc/etherip.pla: 0074: word pip_len - ; pip_len = 10 -; libsrc/etherip.pla: 0075: end - ; t_piphdr = 12 -; libsrc/etherip.pla: 0076: // -; libsrc/etherip.pla: 0077: // UDP header -; libsrc/etherip.pla: 0078: // -; libsrc/etherip.pla: 0079: struc t_udphdr -; libsrc/etherip.pla: 0080: word udp_src - ; udp_src = 0 -; libsrc/etherip.pla: 0081: word udp_dst - ; udp_dst = 2 -; libsrc/etherip.pla: 0082: word udp_len - ; udp_len = 4 -; libsrc/etherip.pla: 0083: word udp_chksm - ; udp_chksm = 6 -; libsrc/etherip.pla: 0084: end - ; t_udphdr = 8 -; libsrc/etherip.pla: 0085: // -; libsrc/etherip.pla: 0086: // TCP header -; libsrc/etherip.pla: 0087: // -; libsrc/etherip.pla: 0088: struc t_tcphdr -; libsrc/etherip.pla: 0089: word tcp_src - ; tcp_src = 0 -; libsrc/etherip.pla: 0090: word tcp_dst - ; tcp_dst = 2 -; libsrc/etherip.pla: 0091: word tcp_len - ; tcp_len = 4 -; libsrc/etherip.pla: 0092: word tcp_chksm - ; tcp_chksm = 6 -; libsrc/etherip.pla: 0093: end - ; t_tcphdr = 8 -; libsrc/etherip.pla: 0094: // -; libsrc/etherip.pla: 0095: // ARP packet -; libsrc/etherip.pla: 0096: // -; libsrc/etherip.pla: 0097: const HW_ETHER = $0100 // BE format - ; HW_ETHER = 256 -; libsrc/etherip.pla: 0098: const ARP_PROTO = $0008 // BE format - ; ARP_PROTO = 8 -; libsrc/etherip.pla: 0099: const ARP_REQST = $0100 // BE format - ; ARP_REQST = 256 -; libsrc/etherip.pla: 0100: const ARP_REPLY = $0200 // BE format - ; ARP_REPLY = 512 -; libsrc/etherip.pla: 0101: struc t_arp -; libsrc/etherip.pla: 0102: word arp_hw - ; arp_hw = 0 -; libsrc/etherip.pla: 0103: word arp_prot - ; arp_prot = 2 -; libsrc/etherip.pla: 0104: byte arp_hlen - ; arp_hlen = 4 -; libsrc/etherip.pla: 0105: byte arp_plen - ; arp_plen = 5 -; libsrc/etherip.pla: 0106: word arp_op - ; arp_op = 6 -; libsrc/etherip.pla: 0107: byte[MAC_SIZE] arp_senderha - ; arp_senderha = 8 -; libsrc/etherip.pla: 0108: byte[IP4ADR_SIZE] arp_senderip - ; arp_senderip = 14 -; libsrc/etherip.pla: 0109: byte[MAC_SIZE] arp_targha - ; arp_targha = 18 -; libsrc/etherip.pla: 0110: byte[IP4ADR_SIZE] arp_targip - ; arp_targip = 24 -; libsrc/etherip.pla: 0111: end - ; t_arp = 28 -; libsrc/etherip.pla: 0112: const t_earp = t_ethrhdr+t_arp - ; t_earp = 42 -; libsrc/etherip.pla: 0113: // -; libsrc/etherip.pla: 0114: // Pre-configured Ethernet header -; libsrc/etherip.pla: 0115: // -; libsrc/etherip.pla: 0116: byte[] eFrame -_D030 ; eFrame -; libsrc/etherip.pla: 0117: // -; libsrc/etherip.pla: 0118: // Destination MAC address -; libsrc/etherip.pla: 0119: // -; libsrc/etherip.pla: 0120: byte[MAC_SIZE] dstMAC -_D031 !FILL 6 ; dstMAC -; libsrc/etherip.pla: 0121: // -; libsrc/etherip.pla: 0122: // My MAC address -; libsrc/etherip.pla: 0123: // -; libsrc/etherip.pla: 0124: byte[MAC_SIZE] myMAC -_D032 !FILL 6 ; myMAC -; libsrc/etherip.pla: 0125: // -; libsrc/etherip.pla: 0126: // Ethernet payload -; libsrc/etherip.pla: 0127: // -; libsrc/etherip.pla: 0128: word ePayload = PAYLOAD_ARP -_D033 ; ePayload = PAYLOAD_ARP - !WORD $0608 -; libsrc/etherip.pla: 0129: // -; libsrc/etherip.pla: 0130: // Pre-configured ARP packet - MUST follow ethernet header! -; libsrc/etherip.pla: 0131: // -; libsrc/etherip.pla: 0132: word ARP = HW_ETHER // HW TYPE -_D034 ; ARP = HW_ETHER // HW TYPE - !WORD $0100 -; libsrc/etherip.pla: 0133: word = ARP_PROTO // PROTO TYPE - !WORD $0008 -; libsrc/etherip.pla: 0134: byte = MAC_SIZE // HLEN - !BYTE $06 -; libsrc/etherip.pla: 0135: byte = IP4ADR_SIZE // PLEN - !BYTE $04 -; libsrc/etherip.pla: 0136: word opARP // OP -_D035 !FILL 2 ; opARP // OP -; libsrc/etherip.pla: 0137: export byte[MAC_SIZE] localha -_D036 !FILL 6 ; localha -; libsrc/etherip.pla: 0138: export byte[IP4ADR_SIZE] localip -_D037 !FILL 4 ; localip -; libsrc/etherip.pla: 0139: byte[MAC_SIZE] remoteha -_D038 !FILL 6 ; remoteha -; libsrc/etherip.pla: 0140: byte[IP4ADR_SIZE] remoteip -_D039 !FILL 4 ; remoteip -; libsrc/etherip.pla: 0141: // -; libsrc/etherip.pla: 0142: // Local network parameters -; libsrc/etherip.pla: 0143: // -; libsrc/etherip.pla: 0144: byte[IP4ADR_SIZE] netmask -_D040 !FILL 4 ; netmask -; libsrc/etherip.pla: 0145: byte[IP4ADR_SIZE] subnet -_D041 !FILL 4 ; subnet -; libsrc/etherip.pla: 0146: byte[IP4ADR_SIZE] gateway -_D042 !FILL 4 ; gateway -; libsrc/etherip.pla: 0147: const MAX_UDP_NOTIFIES = 4 - ; MAX_UDP_NOTIFIES = 4 -; libsrc/etherip.pla: 0148: const MAX_TCP_NOTIFIES = 4 - ; MAX_TCP_NOTIFIES = 4 -; libsrc/etherip.pla: 0149: // -; libsrc/etherip.pla: 0150: // Notify callbacks -; libsrc/etherip.pla: 0151: // -; libsrc/etherip.pla: 0152: struc t_notify -; libsrc/etherip.pla: 0153: word notify_port - ; notify_port = 0 -; libsrc/etherip.pla: 0154: word notify_func - ; notify_func = 2 -; libsrc/etherip.pla: 0155: word notify_parm - ; notify_parm = 4 -; libsrc/etherip.pla: 0156: end - ; t_notify = 6 -; libsrc/etherip.pla: 0157: byte[t_notify] portsUDP[MAX_UDP_NOTIFIES] -_D043 !FILL 24 ; portsUDP[MAX_UDP_NOTIFIES] -; libsrc/etherip.pla: 0158: byte[t_notify] portsTCP[MAX_TCP_NOTIFIES] -_D044 !FILL 24 ; portsTCP[MAX_TCP_NOTIFIES] -; libsrc/etherip.pla: 0159: // -; libsrc/etherip.pla: 0160: // Service ICMP hook -; libsrc/etherip.pla: 0161: // -; libsrc/etherip.pla: 0162: export word hookICMP -_D045 !FILL 2 ; hookICMP -; libsrc/etherip.pla: 0163: // -; libsrc/etherip.pla: 0164: // Ethernet driver entrypoints -; libsrc/etherip.pla: 0165: // -; libsrc/etherip.pla: 0166: word setFrameLen, writeFrame, getFrameLen, readFrame -_D046 !FILL 2 ; setFrameLen, writeFrame, getFrameLen, readFrame -_D047 !FILL 2 ; writeFrame, getFrameLen, readFrame -_D048 !FILL 2 ; getFrameLen, readFrame -_D049 !FILL 2 ; readFrame -; libsrc/etherip.pla: 0167: // -; libsrc/etherip.pla: 0168: // Defines for ASM routines -; libsrc/etherip.pla: 0169: // -; libsrc/etherip.pla: 0170: asm equates -_A000 ; equates() -; libsrc/etherip.pla: 0171: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/etherip.pla: 0172: end -; libsrc/etherip.pla: 0173: // -; libsrc/etherip.pla: 0174: // Swap bytes in word -; libsrc/etherip.pla: 0175: // -; libsrc/etherip.pla: 0176: asm swab(val) -_A001 ; swab() -; libsrc/etherip.pla: 0177: LDA ESTKL,X - LDA ESTKL,X -; libsrc/etherip.pla: 0178: LDY ESTKH,X - LDY ESTKH,X -; libsrc/etherip.pla: 0179: STA ESTKH,X - STA ESTKH,X -; libsrc/etherip.pla: 0180: STY ESTKL,X - STY ESTKL,X -; libsrc/etherip.pla: 0181: RTS - RTS -; libsrc/etherip.pla: 0182: end -; libsrc/etherip.pla: 0183: // -; libsrc/etherip.pla: 0184: // 1'S COMPLIMENT SUM BE format -; libsrc/etherip.pla: 0185: // sum1(PREVSUM, BUF, LEN) -; libsrc/etherip.pla: 0186: // -; libsrc/etherip.pla: 0187: asm sum1(prevsum, buf, len) -_A002 ; sum1() -; libsrc/etherip.pla: 0188: LDY #$00 - LDY #$00 -; libsrc/etherip.pla: 0189: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/etherip.pla: 0190: STA SRCL - STA SRCL -; libsrc/etherip.pla: 0191: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/etherip.pla: 0192: STA SRCH - STA SRCH -; libsrc/etherip.pla: 0193: LSR ESTKH,X ; CONVERT BYTE LEN TO WORD LEN - LSR ESTKH,X ; CONVERT BYTE LEN TO WORD LEN -; libsrc/etherip.pla: 0194: LDA ESTKL,X - LDA ESTKL,X -; libsrc/etherip.pla: 0195: ROR - ROR -; libsrc/etherip.pla: 0196: ADC #$00 - ADC #$00 -; libsrc/etherip.pla: 0197: STA ESTKL,X - STA ESTKL,X -; libsrc/etherip.pla: 0198: BEQ + - BEQ + -; libsrc/etherip.pla: 0199: !BYTE $A9 - !BYTE $A9 -; libsrc/etherip.pla: 0200: - CLC -- CLC -; libsrc/etherip.pla: 0201: INC ESTKH,X - INC ESTKH,X -; libsrc/etherip.pla: 0202: + BCS - -+ BCS - -; libsrc/etherip.pla: 0203: CHKLP LDA (SRC),Y -CHKLP LDA (SRC),Y -; libsrc/etherip.pla: 0204: PHA - PHA -; libsrc/etherip.pla: 0205: INY - INY -; libsrc/etherip.pla: 0206: BNE + - BNE + -; libsrc/etherip.pla: 0207: INC SRCH - INC SRCH -; libsrc/etherip.pla: 0208: + LDA (SRC),Y -+ LDA (SRC),Y -; libsrc/etherip.pla: 0209: ADC ESTKH+2,X - ADC ESTKH+2,X -; libsrc/etherip.pla: 0210: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/etherip.pla: 0211: PLA - PLA -; libsrc/etherip.pla: 0212: ADC ESTKL+2,X - ADC ESTKL+2,X -; libsrc/etherip.pla: 0213: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/etherip.pla: 0214: INY - INY -; libsrc/etherip.pla: 0215: BNE + - BNE + -; libsrc/etherip.pla: 0216: INC SRCH - INC SRCH -; libsrc/etherip.pla: 0217: + DEC ESTKL,X -+ DEC ESTKL,X -; libsrc/etherip.pla: 0218: BNE CHKLP - BNE CHKLP -; libsrc/etherip.pla: 0219: DEC ESTKH,X - DEC ESTKH,X -; libsrc/etherip.pla: 0220: BNE CHKLP - BNE CHKLP -; libsrc/etherip.pla: 0221: BCC + - BCC + -; libsrc/etherip.pla: 0222: - INC ESTKH+2,X -- INC ESTKH+2,X -; libsrc/etherip.pla: 0223: BNE + - BNE + -; libsrc/etherip.pla: 0224: INC ESTKL+2,X - INC ESTKL+2,X -; libsrc/etherip.pla: 0225: BEQ - - BEQ - -; libsrc/etherip.pla: 0226: + INX -+ INX -; libsrc/etherip.pla: 0227: INX - INX -; libsrc/etherip.pla: 0228: RTS - RTS -; libsrc/etherip.pla: 0229: end -; libsrc/etherip.pla: 0230: // -; libsrc/etherip.pla: 0231: // Send IP datagram -; libsrc/etherip.pla: 0232: // -; libsrc/etherip.pla: 0233: def etherSendIP(ipdst, proto, seglist, size) -_SUBSEG ; BYTECODE STARTS - ; ipdst -> [0] - ; proto -> [2] - ; seglist -> [4] - ; size -> [6] -_C000 ; etherSendIP() -; libsrc/etherip.pla: 0234: byte[t_iphdr] hdr - ; hdr -> [8] -; libsrc/etherip.pla: 0235: byte retry - ; retry -> [28] -; libsrc/etherip.pla: 0236: word timeout - ; timeout -> [29] -; libsrc/etherip.pla: 0237: -; libsrc/etherip.pla: 0238: hdr.ip_vers_hlen = $45 - !BYTE $58,$1F,$04 ; ENTER 31,4 -; libsrc/etherip.pla: 0239: hdr.ip_service = 0 -; libsrc/etherip.pla: 0240: hdr:ip_length = swab(t_iphdr + size) -; libsrc/etherip.pla: 0241: hdr:ip_id = 0 -; libsrc/etherip.pla: 0242: hdr:ip_flags_fragofst = 0 //$40 // Don't fragment -; libsrc/etherip.pla: 0243: hdr.ip_ttl = 10 // Is this reasonable? -; libsrc/etherip.pla: 0244: hdr.ip_proto = proto -; libsrc/etherip.pla: 0245: hdr:ip_chksm = 0 -; libsrc/etherip.pla: 0246: memcpy(@hdr.ip_src, @localip, IP4ADR_SIZE) -; libsrc/etherip.pla: 0247: if !ipdst // IP_BROADCAST -; libsrc/etherip.pla: 0248: memset(@hdr.ip_dst, IP_BROADCAST, IP4ADR_SIZE) -; libsrc/etherip.pla: 0249: memset(@dstMAC, MAC_BROADCAST, MAC_SIZE) -; libsrc/etherip.pla: 0250: else - !BYTE $2A,$45 ; CB 69 - !BYTE $74,$08 ; SLB [8] - !BYTE $00 ; CN 0 - !BYTE $74,$09 ; SLB [9] - !BYTE $2A,$14 ; CB 20 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $54 ; CALL _A001 -_F000 !WORD _A001 - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $14 ; CN 10 - !BYTE $74,$10 ; SLB [16] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$11 ; SLB [17] - !BYTE $00 ; CN 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $28,$14 ; LLA [20] - !BYTE $26 ; LA _D037+0 -_F001 !WORD _D037+0 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F002 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* - !BYTE $28,$18 ; LLA [24] - !BYTE $20 ; MINUS ONE - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X017 -_F003 !WORD 0 - !BYTE $26 ; LA _D031+0 -_F004 !WORD _D031+0 - !BYTE $20 ; MINUS ONE - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X017 -_F005 !WORD 0 - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; libsrc/etherip.pla: 0251: if ipdst=>0 & netmask:0 <> subnet:0 or ipdst=>2 & netmask:2 <> subnet:2 -; libsrc/etherip.pla: 0252: ipdst = @gateway // External net destination -; libsrc/etherip.pla: 0253: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $6A ; LAW _D040+0 -_F006 !WORD _D040+0 - !BYTE $94 ; AND - !BYTE $6A ; LAW _D041+0 -_F007 !WORD _D041+0 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B003 - !WORD _B003-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D040+2 -_F008 !WORD _D040+2 - !BYTE $94 ; AND - !BYTE $6A ; LAW _D041+2 -_F009 !WORD _D041+2 - !BYTE $42 ; ISNE -_B003 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $26 ; LA _D042+0 -_F010 !WORD _D042+0 - !BYTE $76,$00 ; SLW [0] -_B004 -_B005 -; libsrc/etherip.pla: 0254: memcpy(@hdr.ip_dst, ipdst, IP4ADR_SIZE) -; libsrc/etherip.pla: 0255: retry = 0 -; libsrc/etherip.pla: 0256: while hdr:ip_dst:0 <> remoteip:0 and hdr:ip_dst:2 <> remoteip:2 - !BYTE $28,$18 ; LLA [24] - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F011 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $74,$1C ; SLB [28] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B006 -; libsrc/etherip.pla: 0257: if retry >= 3 -; libsrc/etherip.pla: 0258: return -1 // ARP failed - !BYTE $64,$1C ; LLB [28] - !BYTE $06 ; CN 3 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$1F ; LEAVE 31 -; libsrc/etherip.pla: 0259: fin -_B010 -_B011 -; libsrc/etherip.pla: 0260: retry++ - !BYTE $64,$1C ; LLB [28] - !BYTE $8C ; INCR -; libsrc/etherip.pla: 0261: memset(@dstMAC, MAC_BROADCAST, MAC_SIZE) -; libsrc/etherip.pla: 0262: memset(@remoteha, 0, MAC_SIZE) -; libsrc/etherip.pla: 0263: memcpy(@remoteip, @hdr.ip_dst, IP4ADR_SIZE) -; libsrc/etherip.pla: 0264: ePayload = PAYLOAD_ARP -; libsrc/etherip.pla: 0265: opARP = ARP_REQST -; libsrc/etherip.pla: 0266: setFrameLen(t_earp) -; libsrc/etherip.pla: 0267: writeFrame(@eFrame, t_earp) -; libsrc/etherip.pla: 0268: for timeout = 1000 downto 0 - !BYTE $74,$1C ; SLB [28] - !BYTE $26 ; LA _D031+0 -_F012 !WORD _D031+0 - !BYTE $20 ; MINUS ONE - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X017 -_F013 !WORD 0 - !BYTE $26 ; LA _D038+0 -_F014 !WORD _D038+0 - !BYTE $00 ; CN 0 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X017 -_F015 !WORD 0 - !BYTE $26 ; LA _D039+0 -_F016 !WORD _D039+0 - !BYTE $28,$18 ; LLA [24] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F017 !WORD 0 - !BYTE $2C,$08,$06 ; CW 1544 - !BYTE $7A ; SAW _D033+0 -_F018 !WORD _D033+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D035+0 -_F019 !WORD _D035+0 - !BYTE $2A,$2A ; CB 42 - !BYTE $6A ; LAW _D046+0 -_F020 !WORD _D046+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D030+0 -_F021 !WORD _D030+0 - !BYTE $2A,$2A ; CB 42 - !BYTE $6A ; LAW _D047+0 -_F022 !WORD _D047+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $2C,$E8,$03 ; CW 1000 -_B013 - !BYTE $6E,$1D ; DLW [29] -; libsrc/etherip.pla: 0269: etherServiceIP -; libsrc/etherip.pla: 0270: if remoteha:0 | remoteha:2 | remoteha:4 -; libsrc/etherip.pla: 0271: break - !BYTE $54 ; CALL _P000 -_F023 !WORD _P000 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D038+0 -_F024 !WORD _D038+0 - !BYTE $6A ; LAW _D038+2 -_F025 !WORD _D038+2 - !BYTE $96 ; OR - !BYTE $6A ; LAW _D038+4 -_F026 !WORD _D038+4 - !BYTE $96 ; OR - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -; libsrc/etherip.pla: 0272: fin -_B015 -_B016 -; libsrc/etherip.pla: 0273: next -_B014 - !BYTE $A8 ; DECBRGE _B013 - !WORD _B013-* -_B012 - !BYTE $76,$1D ; SLW [29] - !BYTE $30 ; DROP -; libsrc/etherip.pla: 0274: loop -_B008 - !BYTE $66,$18 ; LLW [24] - !BYTE $6A ; LAW _D039+0 -_F027 !WORD _D039+0 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B009 - !WORD _B009-* - !BYTE $28,$18 ; LLA [24] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D039+2 -_F028 !WORD _D039+2 - !BYTE $42 ; ISNE -_B009 - !BYTE $4E ; BRTRU _B006 - !WORD _B006-* -_B007 -; libsrc/etherip.pla: 0275: memcpy(@dstMAC, @remoteha, MAC_SIZE) -; libsrc/etherip.pla: 0276: fin - !BYTE $26 ; LA _D031+0 -_F029 !WORD _D031+0 - !BYTE $26 ; LA _D038+0 -_F030 !WORD _D038+0 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X018 -_F031 !WORD 0 -_B002 -; libsrc/etherip.pla: 0277: // -; libsrc/etherip.pla: 0278: // Calculate checksum -; libsrc/etherip.pla: 0279: // -; libsrc/etherip.pla: 0280: hdr:ip_chksm = sum1(0, @hdr, t_iphdr) ^ $FFFF -; libsrc/etherip.pla: 0281: // -; libsrc/etherip.pla: 0282: // set the ethernet payload and frame length -; libsrc/etherip.pla: 0283: // -; libsrc/etherip.pla: 0284: ePayload = PAYLOAD_IP -; libsrc/etherip.pla: 0285: setFrameLen(t_ethriphdr + size) -; libsrc/etherip.pla: 0286: // -; libsrc/etherip.pla: 0287: // Write the ethernet header -; libsrc/etherip.pla: 0288: // -; libsrc/etherip.pla: 0289: writeFrame(@eFrame, t_ethrhdr) -; libsrc/etherip.pla: 0290: // -; libsrc/etherip.pla: 0291: // Write the IP header -; libsrc/etherip.pla: 0292: // -; libsrc/etherip.pla: 0293: writeFrame(@hdr, t_iphdr) -; libsrc/etherip.pla: 0294: // -; libsrc/etherip.pla: 0295: // Write the remaining segments -; libsrc/etherip.pla: 0296: // -; libsrc/etherip.pla: 0297: while size > 0 - !BYTE $00 ; CN 0 - !BYTE $28,$08 ; LLA [8] - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _A002 -_F032 !WORD _A002 - !BYTE $20 ; MINUS ONE - !BYTE $98 ; XOR - !BYTE $76,$12 ; SLW [18] - !BYTE $10 ; CN 8 - !BYTE $7A ; SAW _D033+0 -_F033 !WORD _D033+0 - !BYTE $2A,$22 ; CB 34 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $6A ; LAW _D046+0 -_F034 !WORD _D046+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D030+0 -_F035 !WORD _D030+0 - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D047+0 -_F036 !WORD _D047+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$08 ; LLA [8] - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _D047+0 -_F037 !WORD _D047+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B017 -; libsrc/etherip.pla: 0298: writeFrame(seglist=>seg_buf, seglist=>seg_len) -; libsrc/etherip.pla: 0299: size = size - seglist=>seg_len -; libsrc/etherip.pla: 0300: seglist = seglist + t_segment -; libsrc/etherip.pla: 0301: loop - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D047+0 -_F038 !WORD _D047+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$04 ; SLW [4] -_B019 - !BYTE $66,$06 ; LLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* -_B018 -; libsrc/etherip.pla: 0302: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$1F ; LEAVE 31 -; libsrc/etherip.pla: 0303: end -; libsrc/etherip.pla: 0304: // -; libsrc/etherip.pla: 0305: // Send UDP datagram -; libsrc/etherip.pla: 0306: // -; libsrc/etherip.pla: 0307: def etherSendUDP(port, ipdst, portdst, data, len) - ; port -> [0] - ; ipdst -> [2] - ; portdst -> [4] - ; data -> [6] - ; len -> [8] -_C001 ; etherSendUDP() -; libsrc/etherip.pla: 0308: word[8] seglist // list of data and header segments - ; seglist -> [10] -; libsrc/etherip.pla: 0309: byte[t_udphdr] hdr - ; hdr -> [26] -; libsrc/etherip.pla: 0310: -; libsrc/etherip.pla: 0311: hdr:udp_src = swab(port=>notify_port) - !BYTE $58,$22,$05 ; ENTER 34,5 -; libsrc/etherip.pla: 0312: hdr:udp_dst = swab(portdst) -; libsrc/etherip.pla: 0313: hdr:udp_len = swab(t_udphdr + len) -; libsrc/etherip.pla: 0314: hdr:udp_chksm = 0 -; libsrc/etherip.pla: 0315: seglist:0:seg_buf = @hdr -; libsrc/etherip.pla: 0316: seglist:0:seg_len = t_udphdr -; libsrc/etherip.pla: 0317: seglist:4:seg_buf = data -; libsrc/etherip.pla: 0318: seglist:4:seg_len = len -; libsrc/etherip.pla: 0319: return etherSendIP(ipdst, IP_PROTO_UDP, @seglist, t_udphdr + len) - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _A001 -_F039 !WORD _A001 - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A001 -_F040 !WORD _A001 - !BYTE $76,$1C ; SLW [28] - !BYTE $10 ; CN 8 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $54 ; CALL _A001 -_F041 !WORD _A001 - !BYTE $76,$1E ; SLW [30] - !BYTE $00 ; CN 0 - !BYTE $76,$20 ; SLW [32] - !BYTE $28,$1A ; LLA [26] - !BYTE $76,$0A ; SLW [10] - !BYTE $10 ; CN 8 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $28,$0E ; LLA [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$11 ; CB 17 - !BYTE $28,$0A ; LLA [10] - !BYTE $10 ; CN 8 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $54 ; CALL _C000 -_F042 !WORD _C000 - !BYTE $5A,$22 ; LEAVE 34 -; libsrc/etherip.pla: 0320: end -; libsrc/etherip.pla: 0321: // -; libsrc/etherip.pla: 0322: // Notify on UDP datagram received -; libsrc/etherip.pla: 0323: // -; libsrc/etherip.pla: 0324: def etherOpenUDP(localport, callback, param) - ; localport -> [0] - ; callback -> [2] - ; param -> [4] -_C002 ; etherOpenUDP() -; libsrc/etherip.pla: 0325: word port - ; port -> [6] -; libsrc/etherip.pla: 0326: byte i - ; i -> [8] -; libsrc/etherip.pla: 0327: -; libsrc/etherip.pla: 0328: if !localport; return -1; fin // invalid port - !BYTE $58,$09,$03 ; ENTER 9,3 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B020 - !WORD _B020-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$09 ; LEAVE 9 -_B020 -_B021 -; libsrc/etherip.pla: 0329: // -; libsrc/etherip.pla: 0330: // Look for an existing notification on localport -; libsrc/etherip.pla: 0331: // -; libsrc/etherip.pla: 0332: port = @portsUDP -; libsrc/etherip.pla: 0333: for i = 1 to MAX_UDP_NOTIFIES - !BYTE $26 ; LA _D043+0 -_F043 !WORD _D043+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B023 - !BYTE $6C,$08 ; DLB [8] -; libsrc/etherip.pla: 0334: if port=>notify_port == localport -; libsrc/etherip.pla: 0335: port=>notify_func = callback -; libsrc/etherip.pla: 0336: port=>notify_parm = param -; libsrc/etherip.pla: 0337: return port - !BYTE $66,$06 ; LLW [6] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B025 - !WORD _B025-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $32 ; DROP2 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/etherip.pla: 0338: fin -_B025 -_B026 -; libsrc/etherip.pla: 0339: port = port + t_notify -; libsrc/etherip.pla: 0340: next - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$06 ; SLW [6] -_B024 - !BYTE $A4 ; INCBRLE _B023 - !WORD _B023-* -_B022 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; libsrc/etherip.pla: 0341: // -; libsrc/etherip.pla: 0342: // Add notification on localport if room -; libsrc/etherip.pla: 0343: // -; libsrc/etherip.pla: 0344: port = @portsUDP -; libsrc/etherip.pla: 0345: for i = 1 to MAX_UDP_NOTIFIES - !BYTE $26 ; LA _D043+0 -_F044 !WORD _D043+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B028 - !BYTE $6C,$08 ; DLB [8] -; libsrc/etherip.pla: 0346: if !port=>notify_port -; libsrc/etherip.pla: 0347: port=>notify_port = localport -; libsrc/etherip.pla: 0348: port=>notify_func = callback -; libsrc/etherip.pla: 0349: port=>notify_parm = param -; libsrc/etherip.pla: 0350: return port - !BYTE $66,$06 ; LLW [6] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $32 ; DROP2 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/etherip.pla: 0351: fin -_B030 -_B031 -; libsrc/etherip.pla: 0352: port = port + t_notify -; libsrc/etherip.pla: 0353: next - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$06 ; SLW [6] -_B029 - !BYTE $A4 ; INCBRLE _B028 - !WORD _B028-* -_B027 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; libsrc/etherip.pla: 0354: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/etherip.pla: 0355: end -; libsrc/etherip.pla: 0356: // -; libsrc/etherip.pla: 0357: // Clear notify on UDP port -; libsrc/etherip.pla: 0358: // -; libsrc/etherip.pla: 0359: def etherCloseUDP(port) - ; port -> [0] -_C003 ; etherCloseUDP() -; libsrc/etherip.pla: 0360: word port - ; port -> [2] -; libsrc/etherip.pla: 0361: byte i - ; i -> [4] -; libsrc/etherip.pla: 0362: -; libsrc/etherip.pla: 0363: if isuge(port, @portsUDP) and isult(port, @portsUDP + MAX_UDP_NOTIFIES * t_notify) - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/etherip.pla: 0364: // -; libsrc/etherip.pla: 0365: // Clear notiications on this port -; libsrc/etherip.pla: 0366: // -; libsrc/etherip.pla: 0367: if port=>notify_port -; libsrc/etherip.pla: 0368: port=>notify_port = 0 -; libsrc/etherip.pla: 0369: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+0 -_F045 !WORD _D043+0 - !BYTE $54 ; CALL _X025 -_F046 !WORD 0 - !BYTE $AC ; BRAND _B032 - !WORD _B032-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+24 -_F047 !WORD _D043+24 - !BYTE $54 ; CALL _X026 -_F048 !WORD 0 -_B032 - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/etherip.pla: 0370: fin -_B035 -_B036 -; libsrc/etherip.pla: 0371: fin -_B033 -_B034 -; libsrc/etherip.pla: 0372: // -; libsrc/etherip.pla: 0373: // Invalid port -; libsrc/etherip.pla: 0374: // -; libsrc/etherip.pla: 0375: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/etherip.pla: 0376: end -; libsrc/etherip.pla: 0377: // -; libsrc/etherip.pla: 0378: // Open TCP socket in SERVER mode -; libsrc/etherip.pla: 0379: // -; libsrc/etherip.pla: 0380: def etherListenTCP(lclport, callback, param) - ; lclport -> [0] - ; callback -> [2] - ; param -> [4] -_C004 ; etherListenTCP() -; libsrc/etherip.pla: 0381: puts("TCP/IP not yet implented for this hardware.\n") - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $2E ; CS - !BYTE $2C - !BYTE $54,$43,$50,$2F,$49,$50,$20,$6E - !BYTE $6F,$74,$20,$79,$65,$74,$20,$69 - !BYTE $6D,$70,$6C,$65,$6E,$74,$65,$64 - !BYTE $20,$66,$6F,$72,$20,$74,$68,$69 - !BYTE $73,$20,$68,$61,$72,$64,$77,$61 - !BYTE $72,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 -; libsrc/etherip.pla: 0382: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/etherip.pla: 0383: end -; libsrc/etherip.pla: 0384: // -; libsrc/etherip.pla: 0385: // Open TCP socket in CLIENT mode -; libsrc/etherip.pla: 0386: // -; libsrc/etherip.pla: 0387: def etherConnectTCP(remip, remport, lclport, callback, param) - ; remip -> [0] - ; remport -> [2] - ; lclport -> [4] - ; callback -> [6] - ; param -> [8] -_C005 ; etherConnectTCP() -; libsrc/etherip.pla: 0388: puts("TCP/IP not yet implented for this hardware.\n") - !BYTE $58,$0A,$05 ; ENTER 10,5 - !BYTE $2E ; CS - !BYTE $2C - !BYTE $54,$43,$50,$2F,$49,$50,$20,$6E - !BYTE $6F,$74,$20,$79,$65,$74,$20,$69 - !BYTE $6D,$70,$6C,$65,$6E,$74,$65,$64 - !BYTE $20,$66,$6F,$72,$20,$74,$68,$69 - !BYTE $73,$20,$68,$61,$72,$64,$77,$61 - !BYTE $72,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F050 !WORD 0 -; libsrc/etherip.pla: 0389: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/etherip.pla: 0390: end -; libsrc/etherip.pla: 0391: // -; libsrc/etherip.pla: 0392: // Write to TCP socket -; libsrc/etherip.pla: 0393: // -; libsrc/etherip.pla: 0394: def etherSendTCP(wiz, data, len) - ; wiz -> [0] - ; data -> [2] - ; len -> [4] -_C006 ; etherSendTCP() -; libsrc/etherip.pla: 0395: return 0 - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/etherip.pla: 0396: end -; libsrc/etherip.pla: 0397: // -; libsrc/etherip.pla: 0398: // Close TCP socket -; libsrc/etherip.pla: 0399: // -; libsrc/etherip.pla: 0400: def etherCloseTCP(wiz) - ; wiz -> [0] -_C007 ; etherCloseTCP() -; libsrc/etherip.pla: 0401: return 0 - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/etherip.pla: 0402: end -; libsrc/etherip.pla: 0403: // -; libsrc/etherip.pla: 0404: // Update notify callback -; libsrc/etherip.pla: 0405: // -; libsrc/etherip.pla: 0406: def etherSetCallback(port, callback) - ; port -> [0] - ; callback -> [2] -_C008 ; etherSetCallback() -; libsrc/etherip.pla: 0407: if isuge(port, @portsUDP) and isult(port, @portsUDP + MAX_UDP_NOTIFIES * t_notify) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/etherip.pla: 0408: // -; libsrc/etherip.pla: 0409: // Update callback on this port -; libsrc/etherip.pla: 0410: // -; libsrc/etherip.pla: 0411: if port=>notify_port -; libsrc/etherip.pla: 0412: port=>notify_func = callback -; libsrc/etherip.pla: 0413: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+0 -_F051 !WORD _D043+0 - !BYTE $54 ; CALL _X025 -_F052 !WORD 0 - !BYTE $AC ; BRAND _B037 - !WORD _B037-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+24 -_F053 !WORD _D043+24 - !BYTE $54 ; CALL _X026 -_F054 !WORD 0 -_B037 - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/etherip.pla: 0414: fin -_B040 -_B041 -; libsrc/etherip.pla: 0415: fin -_B038 -_B039 -; libsrc/etherip.pla: 0416: // -; libsrc/etherip.pla: 0417: // Invalid port -; libsrc/etherip.pla: 0418: // -; libsrc/etherip.pla: 0419: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/etherip.pla: 0420: end -; libsrc/etherip.pla: 0421: // -; libsrc/etherip.pla: 0422: // Update notify param -; libsrc/etherip.pla: 0423: // -; libsrc/etherip.pla: 0424: def etherSetParam(port, param) - ; port -> [0] - ; param -> [2] -_C009 ; etherSetParam() -; libsrc/etherip.pla: 0425: if isuge(port, @portsUDP) and isult(port, @portsUDP + MAX_UDP_NOTIFIES * t_notify) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/etherip.pla: 0426: // -; libsrc/etherip.pla: 0427: // Update callback on this port -; libsrc/etherip.pla: 0428: // -; libsrc/etherip.pla: 0429: if port=>notify_port -; libsrc/etherip.pla: 0430: port=>notify_parm = param -; libsrc/etherip.pla: 0431: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+0 -_F055 !WORD _D043+0 - !BYTE $54 ; CALL _X025 -_F056 !WORD 0 - !BYTE $AC ; BRAND _B042 - !WORD _B042-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+24 -_F057 !WORD _D043+24 - !BYTE $54 ; CALL _X026 -_F058 !WORD 0 -_B042 - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/etherip.pla: 0432: fin -_B045 -_B046 -; libsrc/etherip.pla: 0433: fin -_B043 -_B044 -; libsrc/etherip.pla: 0434: // -; libsrc/etherip.pla: 0435: // Invalid port -; libsrc/etherip.pla: 0436: // -; libsrc/etherip.pla: 0437: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/etherip.pla: 0438: end -; libsrc/etherip.pla: 0439: // -; libsrc/etherip.pla: 0440: // Service incoming packets -; libsrc/etherip.pla: 0441: // -; libsrc/etherip.pla: 0442: def etherServiceIP -_P000 ; etherServiceIP() -_C010 ; etherServiceIP() -; libsrc/etherip.pla: 0443: word rxsize, rxpacket, rxptr - ; rxsize -> [0] - ; rxpacket -> [2] - ; rxptr -> [4] -; libsrc/etherip.pla: 0444: word iphdr, opt, optlen, port, lclport, remport - ; iphdr -> [6] - ; opt -> [8] - ; optlen -> [10] - ; port -> [12] - ; lclport -> [14] - ; remport -> [16] -; libsrc/etherip.pla: 0445: byte i, echolen - ; i -> [18] - ; echolen -> [19] -; libsrc/etherip.pla: 0446: word[4] seglist - ; seglist -> [20] -; libsrc/etherip.pla: 0447: byte[128] echo_reply - ; echo_reply -> [28] -; libsrc/etherip.pla: 0448: -; libsrc/etherip.pla: 0449: // -; libsrc/etherip.pla: 0450: // Check for received packet -; libsrc/etherip.pla: 0451: // -; libsrc/etherip.pla: 0452: rxsize = getFrameLen() - !BYTE $58,$9C,$00 ; ENTER 156,0 -; libsrc/etherip.pla: 0453: if rxsize -; libsrc/etherip.pla: 0454: // -; libsrc/etherip.pla: 0455: // Read the entire packet into memory -; libsrc/etherip.pla: 0456: // -; libsrc/etherip.pla: 0457: rxpacket = heapalloc(rxsize) -; libsrc/etherip.pla: 0458: readFrame(rxpacket, rxsize) -; libsrc/etherip.pla: 0459: rxptr = rxpacket + t_ethrhdr -; libsrc/etherip.pla: 0460: rxsize = rxsize - t_ethrhdr -; libsrc/etherip.pla: 0461: // -; libsrc/etherip.pla: 0462: // What kind of packet is it? -; libsrc/etherip.pla: 0463: // -; libsrc/etherip.pla: 0464: when rxpacket=>ethr_payload - !BYTE $6A ; LAW _D048+0 -_F059 !WORD _D048+0 - !BYTE $56 ; ICAL - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X014 -_F060 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D049+0 -_F061 !WORD _D049+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$0E ; SUBI 14 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B050-* -; libsrc/etherip.pla: 0465: is PAYLOAD_IP -_B051 -; libsrc/etherip.pla: 0466: iphdr = rxptr -; libsrc/etherip.pla: 0467: rxptr = rxptr + t_iphdr -; libsrc/etherip.pla: 0468: rxsize = rxsize - t_iphdr -; libsrc/etherip.pla: 0469: if iphdr->ip_vers_hlen <> $45 -; libsrc/etherip.pla: 0470: optlen = iphdr=>ip_vers_hlen -; libsrc/etherip.pla: 0471: if optlen & $F0 <> $40 -; libsrc/etherip.pla: 0472: // -; libsrc/etherip.pla: 0473: // Not IPv4, ignore -; libsrc/etherip.pla: 0474: // -; libsrc/etherip.pla: 0475: break - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$14 ; ADDI 20 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$14 ; SUBI 20 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $2A,$45 ; CB 69 - !BYTE $22 ; BREQ _B052 - !WORD _B052-* - !BYTE $66,$06 ; LLW [6] - !BYTE $62 ; LW - !BYTE $6E,$0A ; DLW [10] - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B054 - !WORD _B054-* - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -; libsrc/etherip.pla: 0476: fin -_B054 -_B055 -; libsrc/etherip.pla: 0477: optlen = (optlen & $0F) << 2 -; libsrc/etherip.pla: 0478: if optlen > t_iphdr -; libsrc/etherip.pla: 0479: // -; libsrc/etherip.pla: 0480: // Read the options and throw them on the ground! -; libsrc/etherip.pla: 0481: // -; libsrc/etherip.pla: 0482: rxptr = rxptr + (optlen - t_iphdr) -; libsrc/etherip.pla: 0483: rxsize = rxsize - (optlen - t_iphdr) -; libsrc/etherip.pla: 0484: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $04 ; CN 2 - !BYTE $9A ; SHL - !BYTE $6E,$0A ; DLW [10] - !BYTE $2A,$14 ; CB 20 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $3A,$14 ; SUBI 20 - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0A ; LLW [10] - !BYTE $3A,$14 ; SUBI 20 - !BYTE $84 ; SUB - !BYTE $76,$00 ; SLW [0] -_B056 -_B057 -; libsrc/etherip.pla: 0485: fin -_B052 -_B053 -; libsrc/etherip.pla: 0486: // -; libsrc/etherip.pla: 0487: // Filter valid destination address -; libsrc/etherip.pla: 0488: // -; libsrc/etherip.pla: 0489: if iphdr=>ip_dst:2 <> localip:2 // Yes, this is a little lazy -; libsrc/etherip.pla: 0490: if (iphdr=>ip_dst:0|netmask:0) & (iphdr=>ip_dst:2|netmask:2) <> IP_BROADCAST -; libsrc/etherip.pla: 0491: break - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D037+2 -_F062 !WORD _D037+2 - !BYTE $22 ; BREQ _B058 - !WORD _B058-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D040+0 -_F063 !WORD _D040+0 - !BYTE $96 ; OR - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D040+2 -_F064 !WORD _D040+2 - !BYTE $96 ; OR - !BYTE $94 ; AND - !BYTE $20 ; MINUS ONE - !BYTE $22 ; BREQ _B060 - !WORD _B060-* - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -; libsrc/etherip.pla: 0492: fin -_B060 -_B061 -; libsrc/etherip.pla: 0493: fin -_B058 -_B059 -; libsrc/etherip.pla: 0494: // -; libsrc/etherip.pla: 0495: // What kind of IP protocol is it? -; libsrc/etherip.pla: 0496: // -; libsrc/etherip.pla: 0497: when iphdr->ip_proto - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$09 ; ADDI 9 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B063-* -; libsrc/etherip.pla: 0498: is IP_PROTO_UDP -_B064 -; libsrc/etherip.pla: 0499: port = @portsUDP -; libsrc/etherip.pla: 0500: if port -; libsrc/etherip.pla: 0501: lclport = swab(rxptr=>udp_dst) -; libsrc/etherip.pla: 0502: for i = 1 to MAX_UDP_NOTIFIES - !BYTE $26 ; LA _D043+0 -_F065 !WORD _D043+0 - !BYTE $6E,$0C ; DLW [12] - !BYTE $4C ; BRFLS _B065 - !WORD _B065-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A001 -_F066 !WORD _A001 - !BYTE $76,$0E ; SLW [14] - !BYTE $08 ; CN 4 - !BYTE $02 ; CN 1 -_B068 - !BYTE $6C,$12 ; DLB [18] -; libsrc/etherip.pla: 0503: if port=>notify_port == lclport -; libsrc/etherip.pla: 0504: port=>notify_func(@iphdr=>ip_src,swab(rxptr=>udp_src),rxptr+t_udphdr,swab(rxptr=>udp_len)-t_udphdr,port=>notify_parm) -; libsrc/etherip.pla: 0505: break - !BYTE $66,$0C ; LLW [12] - !BYTE $62 ; LW - !BYTE $66,$0E ; LLW [14] - !BYTE $24 ; BRNE _B070 - !WORD _B070-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _A001 -_F067 !WORD _A001 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A001 -_F068 !WORD _A001 - !BYTE $3A,$08 ; SUBI 8 - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -; libsrc/etherip.pla: 0506: fin -_B070 -_B071 -; libsrc/etherip.pla: 0507: port = port + t_notify -; libsrc/etherip.pla: 0508: next - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$0C ; SLW [12] -_B069 - !BYTE $A4 ; INCBRLE _B068 - !WORD _B068-* -_B067 - !BYTE $74,$12 ; SLB [18] - !BYTE $30 ; DROP -; libsrc/etherip.pla: 0509: fin -_B065 -_B066 -; libsrc/etherip.pla: 0510: break - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -; libsrc/etherip.pla: 0511: is IP_PROTO_TCP -_B072 -; libsrc/etherip.pla: 0512: break - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -; libsrc/etherip.pla: 0513: is IP_PROTO_ICMP -_B073 -; libsrc/etherip.pla: 0514: // -; libsrc/etherip.pla: 0515: // Service ICMP packets -; libsrc/etherip.pla: 0516: // -; libsrc/etherip.pla: 0517: if rxptr->icmp_type == ICMP_ECHO_REQST -; libsrc/etherip.pla: 0518: if rxsize > 128 -; libsrc/etherip.pla: 0519: echolen = 128 -; libsrc/etherip.pla: 0520: else - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $24 ; BRNE _B074 - !WORD _B074-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$80 ; CB 128 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B076 - !WORD _B076-* - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B077 - !WORD _B077-* -_B076 -; libsrc/etherip.pla: 0521: echolen = rxsize -; libsrc/etherip.pla: 0522: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$13 ; SLB [19] -_B077 -; libsrc/etherip.pla: 0523: memcpy(@echo_reply, rxptr, echolen) -; libsrc/etherip.pla: 0524: echo_reply.icmp_type = ICMP_ECHO_REPLY -; libsrc/etherip.pla: 0525: echo_reply:icmp_chksm = 0 -; libsrc/etherip.pla: 0526: seglist:seg_buf = @echo_reply -; libsrc/etherip.pla: 0527: seglist:seg_len = echolen -; libsrc/etherip.pla: 0528: etherSendIP(@iphdr=>ip_src, IP_PROTO_ICMP, @seglist, echolen) -; libsrc/etherip.pla: 0529: fin - !BYTE $28,$1C ; LLA [28] - !BYTE $66,$04 ; LLW [4] - !BYTE $64,$13 ; LLB [19] - !BYTE $54 ; CALL _X018 -_F069 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $74,$1C ; SLB [28] - !BYTE $00 ; CN 0 - !BYTE $76,$1E ; SLW [30] - !BYTE $28,$1C ; LLA [28] - !BYTE $76,$14 ; SLW [20] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0C ; ADDI 12 - !BYTE $02 ; CN 1 - !BYTE $28,$14 ; LLA [20] - !BYTE $64,$13 ; LLB [19] - !BYTE $54 ; CALL _C000 -_F070 !WORD _C000 - !BYTE $30 ; DROP -_B074 -_B075 -; libsrc/etherip.pla: 0530: if hookICMP -; libsrc/etherip.pla: 0531: hookICMP(@iphdr=>ip_src, rxptr, rxsize) -; libsrc/etherip.pla: 0532: fin - !BYTE $6A ; LAW _D045+0 -_F071 !WORD _D045+0 - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0C ; ADDI 12 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D045+0 -_F072 !WORD _D045+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B078 -_B079 -; libsrc/etherip.pla: 0533: wend - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B063 - !BYTE $03 ; CASEBLOCK - !WORD $0001 - !WORD _B073-* - !WORD $0006 - !WORD _B072-* - !WORD $0011 - !WORD _B064-* -_B062 -; libsrc/etherip.pla: 0534: break - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -; libsrc/etherip.pla: 0535: is PAYLOAD_ARP -_B080 -; libsrc/etherip.pla: 0536: when rxptr=>arp_op - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B082-* -; libsrc/etherip.pla: 0537: is ARP_REPLY -_B083 -; libsrc/etherip.pla: 0538: // -; libsrc/etherip.pla: 0539: // Fill in ARP cache -; libsrc/etherip.pla: 0540: // -; libsrc/etherip.pla: 0541: memcpy(@remoteha, @rxptr=>arp_senderha, 10) // copy ha and ip -; libsrc/etherip.pla: 0542: break - !BYTE $26 ; LA _D038+0 -_F073 !WORD _D038+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F074 !WORD 0 - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; libsrc/etherip.pla: 0543: is ARP_REQST -_B084 -; libsrc/etherip.pla: 0544: // -; libsrc/etherip.pla: 0545: // Is this a request for me? -; libsrc/etherip.pla: 0546: // -; libsrc/etherip.pla: 0547: if rxptr=>arp_targip:0 == localip:0 and rxptr=>arp_targip:2 == localip:2 -; libsrc/etherip.pla: 0548: memcpy(@dstMAC, @rxptr=>arp_senderha, MAC_SIZE) -; libsrc/etherip.pla: 0549: memcpy(@remoteha, @rxptr=>arp_senderha, 10) // copy ha and ip -; libsrc/etherip.pla: 0550: ePayload = PAYLOAD_ARP -; libsrc/etherip.pla: 0551: opARP = ARP_REPLY -; libsrc/etherip.pla: 0552: setFrameLen(t_earp) -; libsrc/etherip.pla: 0553: writeFrame(@eFrame, t_earp) -; libsrc/etherip.pla: 0554: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$18 ; ADDI 24 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D037+0 -_F075 !WORD _D037+0 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B085 - !WORD _B085-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$18 ; ADDI 24 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D037+2 -_F076 !WORD _D037+2 - !BYTE $40 ; ISEQ -_B085 - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $26 ; LA _D031+0 -_F077 !WORD _D031+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X018 -_F078 !WORD 0 - !BYTE $26 ; LA _D038+0 -_F079 !WORD _D038+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F080 !WORD 0 - !BYTE $2C,$08,$06 ; CW 1544 - !BYTE $7A ; SAW _D033+0 -_F081 !WORD _D033+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D035+0 -_F082 !WORD _D035+0 - !BYTE $2A,$2A ; CB 42 - !BYTE $6A ; LAW _D046+0 -_F083 !WORD _D046+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D030+0 -_F084 !WORD _D030+0 - !BYTE $2A,$2A ; CB 42 - !BYTE $6A ; LAW _D047+0 -_F085 !WORD _D047+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B086 -_B087 -; libsrc/etherip.pla: 0555: wend - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B082 - !BYTE $02 ; CASEBLOCK - !WORD $0100 - !WORD _B084-* - !WORD $0200 - !WORD _B083-* -_B081 -; libsrc/etherip.pla: 0556: wend - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B050 - !BYTE $02 ; CASEBLOCK - !WORD $0008 - !WORD _B051-* - !WORD $0608 - !WORD _B080-* -_B049 -; libsrc/etherip.pla: 0557: heaprelease(rxpacket) -; libsrc/etherip.pla: 0558: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F086 !WORD 0 - !BYTE $30 ; DROP -_B047 -_B048 -; libsrc/etherip.pla: 0559: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$9C ; LEAVE 156 -; libsrc/etherip.pla: 0560: end -; libsrc/etherip.pla: 0561: // -; libsrc/etherip.pla: 0562: // Initialize the driver interface -; libsrc/etherip.pla: 0563: // -; libsrc/etherip.pla: 0564: export def setEtherDriver(MAC, getlen, readfrm, setlen, writefrm)#0 - ; MAC -> [0] - ; getlen -> [2] - ; readfrm -> [4] - ; setlen -> [6] - ; writefrm -> [8] -_C011 ; setEtherDriver() -; libsrc/etherip.pla: 0565: memcpy(@myMAC, MAC, MAC_SIZE) - !BYTE $58,$0A,$05 ; ENTER 10,5 -; libsrc/etherip.pla: 0566: memcpy(@localha, MAC, MAC_SIZE) -; libsrc/etherip.pla: 0567: getFrameLen = getlen -; libsrc/etherip.pla: 0568: readFrame = readfrm -; libsrc/etherip.pla: 0569: setFrameLen = setlen -; libsrc/etherip.pla: 0570: writeFrame = writefrm -; libsrc/etherip.pla: 0571: end - !BYTE $26 ; LA _D032+0 -_F087 !WORD _D032+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X018 -_F088 !WORD 0 - !BYTE $26 ; LA _D036+0 -_F089 !WORD _D036+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X018 -_F090 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D048+0 -_F091 !WORD _D048+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D049+0 -_F092 !WORD _D049+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D046+0 -_F093 !WORD _D046+0 - !BYTE $66,$08 ; LLW [8] - !BYTE $7A ; SAW _D047+0 -_F094 !WORD _D047+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/etherip.pla: 0572: // -; libsrc/etherip.pla: 0573: // Set the local IP addresses -; libsrc/etherip.pla: 0574: // -; libsrc/etherip.pla: 0575: def setEtherIP(newIP, newNetmask, newGateway) - ; newIP -> [0] - ; newNetmask -> [2] - ; newGateway -> [4] -_C012 ; setEtherIP() -; libsrc/etherip.pla: 0576: if newIP; memcpy(@localip, newIP, IP4ADR_SIZE); fin - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B088 - !WORD _B088-* - !BYTE $26 ; LA _D037+0 -_F095 !WORD _D037+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F096 !WORD 0 -_B088 -_B089 -; libsrc/etherip.pla: 0577: if newNetmask; memcpy(@netmask, newNetmask, IP4ADR_SIZE); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B090 - !WORD _B090-* - !BYTE $26 ; LA _D040+0 -_F097 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F098 !WORD 0 -_B090 -_B091 -; libsrc/etherip.pla: 0578: if newGateway; memcpy(@gateway, newGateway, IP4ADR_SIZE); fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* - !BYTE $26 ; LA _D042+0 -_F099 !WORD _D042+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F100 !WORD 0 -_B092 -_B093 -; libsrc/etherip.pla: 0579: subnet:0 = netmask:0 & gateway:0 -; libsrc/etherip.pla: 0580: subnet:2 = netmask:2 & gateway:2 -; libsrc/etherip.pla: 0581: return 0 - !BYTE $6A ; LAW _D040+0 -_F101 !WORD _D040+0 - !BYTE $6A ; LAW _D042+0 -_F102 !WORD _D042+0 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D041+0 -_F103 !WORD _D041+0 - !BYTE $6A ; LAW _D040+2 -_F104 !WORD _D040+2 - !BYTE $6A ; LAW _D042+2 -_F105 !WORD _D042+2 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D041+2 -_F106 !WORD _D041+2 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/etherip.pla: 0582: end -; libsrc/etherip.pla: 0583: // -; libsrc/etherip.pla: 0584: // Get the interface hardware address -; libsrc/etherip.pla: 0585: // -; libsrc/etherip.pla: 0586: def getEtherHA(ha) - ; ha -> [0] -_C013 ; getEtherHA() -; libsrc/etherip.pla: 0587: if ha; memcpy(ha, @myMAC, MAC_SIZE); fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D032+0 -_F107 !WORD _D032+0 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X018 -_F108 !WORD 0 -_B094 -_B095 -; libsrc/etherip.pla: 0588: return MAC_SIZE - !BYTE $0C ; CN 6 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/etherip.pla: 0589: end -; libsrc/etherip.pla: 0590: // -; libsrc/etherip.pla: 0591: // Fill in iNet class -; libsrc/etherip.pla: 0592: // -; libsrc/etherip.pla: 0593: iNet:serviceIP = @etherServiceIP -_INIT -; libsrc/etherip.pla: 0594: iNet:openUDP = @etherOpenUDP -; libsrc/etherip.pla: 0595: iNet:sendUDP = @etherSendUDP -; libsrc/etherip.pla: 0596: iNet:closeUDP = @etherCloseUDP -; libsrc/etherip.pla: 0597: iNet:listenTCP = @etherListenTCP -; libsrc/etherip.pla: 0598: iNet:connectTCP = @etherConnectTCP -; libsrc/etherip.pla: 0599: iNet:sendTCP = @etherSendTCP -; libsrc/etherip.pla: 0600: iNet:closeTCP = @etherCloseTCP -; libsrc/etherip.pla: 0601: iNet:setInterfaceIP = @setEtherIP -; libsrc/etherip.pla: 0602: iNet:getInterfaceHA = @getEtherHA -; libsrc/etherip.pla: 0603: iNet:setCallback = @etherSetCallback -; libsrc/etherip.pla: 0604: iNet:setParam = @etherSetParam -; libsrc/etherip.pla: 0605: // -; libsrc/etherip.pla: 0606: // Keep module in memory -; libsrc/etherip.pla: 0607: // -; libsrc/etherip.pla: 0608: return modkeep - !BYTE $26 ; LA _C010+0 -_F109 !WORD _C010+0 - !BYTE $7A ; SAW _X028+2 -_F110 !WORD 0+2 - !BYTE $26 ; LA _C002+0 -_F111 !WORD _C002+0 - !BYTE $7A ; SAW _X028+4 -_F112 !WORD 0+4 - !BYTE $26 ; LA _C001+0 -_F113 !WORD _C001+0 - !BYTE $7A ; SAW _X028+6 -_F114 !WORD 0+6 - !BYTE $26 ; LA _C003+0 -_F115 !WORD _C003+0 - !BYTE $7A ; SAW _X028+8 -_F116 !WORD 0+8 - !BYTE $26 ; LA _C004+0 -_F117 !WORD _C004+0 - !BYTE $7A ; SAW _X028+10 -_F118 !WORD 0+10 - !BYTE $26 ; LA _C005+0 -_F119 !WORD _C005+0 - !BYTE $7A ; SAW _X028+12 -_F120 !WORD 0+12 - !BYTE $26 ; LA _C006+0 -_F121 !WORD _C006+0 - !BYTE $7A ; SAW _X028+14 -_F122 !WORD 0+14 - !BYTE $26 ; LA _C007+0 -_F123 !WORD _C007+0 - !BYTE $7A ; SAW _X028+16 -_F124 !WORD 0+16 - !BYTE $26 ; LA _C012+0 -_F125 !WORD _C012+0 - !BYTE $7A ; SAW _X028+18 -_F126 !WORD 0+18 - !BYTE $26 ; LA _C013+0 -_F127 !WORD _C013+0 - !BYTE $7A ; SAW _X028+20 -_F128 !WORD 0+20 - !BYTE $26 ; LA _C008+0 -_F129 !WORD _C008+0 - !BYTE $7A ; SAW _X028+26 -_F130 !WORD 0+26 - !BYTE $26 ; LA _C009+0 -_F131 !WORD _C009+0 - !BYTE $7A ; SAW _X028+28 -_F132 !WORD 0+28 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/etherip.pla: 0609: done -_SYSFLAGS = 0 -_DEFCNT = 15 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: LOCALHA - !BYTE $CC,$CF,$C3,$C1,$CC,$C8,$41 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D036 - ; DCI STRING: LOCALIP - !BYTE $CC,$CF,$C3,$C1,$CC,$C9,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D037 - ; DCI STRING: HOOKICMP - !BYTE $C8,$CF,$CF,$CB,$C9,$C3,$CD,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D045 - ; DCI STRING: SETETHERDRIVER - !BYTE $D3,$C5,$D4,$C5,$D4,$C8,$C5,$D2,$C4,$D2,$C9,$D6,$C5,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C011 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/fiber.a b/src/libsrc/fiber.a deleted file mode 100644 index 5df1646..0000000 --- a/src/libsrc/fiber.a +++ /dev/null @@ -1,1247 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/fiber.pla: 0001: // -; libsrc/fiber.pla: 0002: // Cooperative multi-threading (fiber) scheduler -; libsrc/fiber.pla: 0003: // -; libsrc/fiber.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/fiber.pla: 0004: -; libsrc/fiber.pla: 0005: // -; libsrc/fiber.pla: 0006: // Maximum number of fibers -; libsrc/fiber.pla: 0007: // -; libsrc/fiber.pla: 0008: const MAX_FIBERS = 32 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; MAX_FIBERS = 32 -; libsrc/fiber.pla: 0009: // -; libsrc/fiber.pla: 0010: // Fiber states -; libsrc/fiber.pla: 0011: // -; libsrc/fiber.pla: 0012: const FIBER_UNAVAIL = 0 - ; FIBER_UNAVAIL = 0 -; libsrc/fiber.pla: 0013: const FIBER_FREE = 1 - ; FIBER_FREE = 1 -; libsrc/fiber.pla: 0014: const FIBER_HALT = 2 - ; FIBER_HALT = 2 -; libsrc/fiber.pla: 0015: const FIBER_RUN = 3 - ; FIBER_RUN = 3 -; libsrc/fiber.pla: 0016: byte fbrMax -_D028 !FILL 1 ; fbrMax -; libsrc/fiber.pla: 0017: byte fbrState[MAX_FIBERS] -_D029 !FILL 32 ; fbrState[MAX_FIBERS] -; libsrc/fiber.pla: 0018: byte fbrNext[MAX_FIBERS] -_D030 !FILL 32 ; fbrNext[MAX_FIBERS] -; libsrc/fiber.pla: 0019: word fbrVMState[MAX_FIBERS] -_D031 !FILL 64 ; fbrVMState[MAX_FIBERS] -; libsrc/fiber.pla: 0020: word fbrPool -_D032 !FILL 2 ; fbrPool -; libsrc/fiber.pla: 0021: byte fbrRunning = 0 -_D033 ; fbrRunning = 0 - !BYTE $00 -; libsrc/fiber.pla: 0022: export byte fbrCount = 0 -_D034 ; fbrCount = 0 - !BYTE $00 -; libsrc/fiber.pla: 0023: // -; libsrc/fiber.pla: 0024: // Zero Page VM state and 6502 stack -; libsrc/fiber.pla: 0025: // -; libsrc/fiber.pla: 0026: struc t_vm -; libsrc/fiber.pla: 0027: byte estkhi[$20] - ; estkhi = 0 -; libsrc/fiber.pla: 0028: byte estklo[$20] - ; estklo = 32 -; libsrc/fiber.pla: 0029: word ifp - ; ifp = 64 -; libsrc/fiber.pla: 0030: word pp - ; pp = 66 -; libsrc/fiber.pla: 0031: byte hwsp - ; hwsp = 68 -; libsrc/fiber.pla: 0032: byte esp - ; esp = 69 -; libsrc/fiber.pla: 0033: byte jmptmp - ; jmptmp = 70 -; libsrc/fiber.pla: 0034: byte fill[8] - ; fill = 71 -; libsrc/fiber.pla: 0035: byte dropop - ; dropop = 79 -; libsrc/fiber.pla: 0036: byte nextop[$10] - ; nextop = 80 -; libsrc/fiber.pla: 0037: byte hwstk[] - ; hwstk = 96 -; libsrc/fiber.pla: 0038: end - ; t_vm = 96 -; libsrc/fiber.pla: 0039: // -; libsrc/fiber.pla: 0040: // Save current VM state and restore another -; libsrc/fiber.pla: 0041: // -; libsrc/fiber.pla: 0042: asm fbrSwap(saveVM, restoreVM)#0 -_A000 ; fbrSwap() -; libsrc/fiber.pla: 0043: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/fiber.pla: 0044: HWSP = IPY - HWSP = IPY -; libsrc/fiber.pla: 0045: LDA ESTKL,X - LDA ESTKL,X -; libsrc/fiber.pla: 0046: STA SRCL - STA SRCL -; libsrc/fiber.pla: 0047: LDA ESTKH,X - LDA ESTKH,X -; libsrc/fiber.pla: 0048: STA SRCH - STA SRCH -; libsrc/fiber.pla: 0049: INX - INX -; libsrc/fiber.pla: 0050: LDA ESTKL,X - LDA ESTKL,X -; libsrc/fiber.pla: 0051: STA DSTL - STA DSTL -; libsrc/fiber.pla: 0052: LDA ESTKH,X - LDA ESTKH,X -; libsrc/fiber.pla: 0053: STA DSTH - STA DSTH -; libsrc/fiber.pla: 0054: INX - INX -; libsrc/fiber.pla: 0055: STX ESP - STX ESP -; libsrc/fiber.pla: 0056: TSX - TSX -; libsrc/fiber.pla: 0057: STX HWSP - STX HWSP -; libsrc/fiber.pla: 0058: LDY #$5F - LDY #$5F -; libsrc/fiber.pla: 0059: - LDA ESTK,Y -- LDA ESTK,Y -; libsrc/fiber.pla: 0060: STA (DST),Y - STA (DST),Y -; libsrc/fiber.pla: 0061: LDA (SRC),Y - LDA (SRC),Y -; libsrc/fiber.pla: 0062: STA ESTK,Y - STA ESTK,Y -; libsrc/fiber.pla: 0063: DEY - DEY -; libsrc/fiber.pla: 0064: BPL - - BPL - -; libsrc/fiber.pla: 0065: TXA - TXA -; libsrc/fiber.pla: 0066: TAY - TAY -; libsrc/fiber.pla: 0067: - LDA $100,Y -- LDA $100,Y -; libsrc/fiber.pla: 0068: STA (DST),Y - STA (DST),Y -; libsrc/fiber.pla: 0069: INY - INY -; libsrc/fiber.pla: 0070: BNE - - BNE - -; libsrc/fiber.pla: 0071: LDY HWSP - LDY HWSP -; libsrc/fiber.pla: 0072: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/fiber.pla: 0073: STA $100,Y - STA $100,Y -; libsrc/fiber.pla: 0074: INY - INY -; libsrc/fiber.pla: 0075: BNE - - BNE - -; libsrc/fiber.pla: 0076: LDX HWSP - LDX HWSP -; libsrc/fiber.pla: 0077: TXS - TXS -; libsrc/fiber.pla: 0078: LDX ESP - LDX ESP -; libsrc/fiber.pla: 0079: RTS - RTS -; libsrc/fiber.pla: 0080: end -; libsrc/fiber.pla: 0081: // -; libsrc/fiber.pla: 0082: // Load Zero Page VM state and 6502 stack -; libsrc/fiber.pla: 0083: // -; libsrc/fiber.pla: 0084: asm fbrLoad(loadVM)#0 -_A001 ; fbrLoad() -; libsrc/fiber.pla: 0085: LDA ESTKL,X - LDA ESTKL,X -; libsrc/fiber.pla: 0086: STA SRCL - STA SRCL -; libsrc/fiber.pla: 0087: LDA ESTKH,X - LDA ESTKH,X -; libsrc/fiber.pla: 0088: STA SRCH - STA SRCH -; libsrc/fiber.pla: 0089: LDY #$5F - LDY #$5F -; libsrc/fiber.pla: 0090: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/fiber.pla: 0091: STA ESTK,Y - STA ESTK,Y -; libsrc/fiber.pla: 0092: DEY - DEY -; libsrc/fiber.pla: 0093: BPL - - BPL - -; libsrc/fiber.pla: 0094: LDY HWSP - LDY HWSP -; libsrc/fiber.pla: 0095: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/fiber.pla: 0096: STA $100,Y - STA $100,Y -; libsrc/fiber.pla: 0097: INY - INY -; libsrc/fiber.pla: 0098: BNE - - BNE - -; libsrc/fiber.pla: 0099: LDX HWSP - LDX HWSP -; libsrc/fiber.pla: 0100: TXS - TXS -; libsrc/fiber.pla: 0101: LDX ESP - LDX ESP -; libsrc/fiber.pla: 0102: RTS - RTS -; libsrc/fiber.pla: 0103: end -; libsrc/fiber.pla: 0104: // -; libsrc/fiber.pla: 0105: // Get HW stack value -; libsrc/fiber.pla: 0106: // -; libsrc/fiber.pla: 0107: //asm _get_hwsp#1 -; libsrc/fiber.pla: 0108: // STX ESP -; libsrc/fiber.pla: 0109: // TSX -; libsrc/fiber.pla: 0110: // TXA -; libsrc/fiber.pla: 0111: // LDX ESP -; libsrc/fiber.pla: 0112: // DEX -; libsrc/fiber.pla: 0113: // STA ESTKL,X -; libsrc/fiber.pla: 0114: // LDA #$00 -; libsrc/fiber.pla: 0115: // STA ESTKH,X -; libsrc/fiber.pla: 0116: // RTS -; libsrc/fiber.pla: 0117: //end -; libsrc/fiber.pla: 0118: -; libsrc/fiber.pla: 0119: // -; libsrc/fiber.pla: 0120: // Initialize fiber pool -; libsrc/fiber.pla: 0121: // -; libsrc/fiber.pla: 0122: export def fbrInit(numPool) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; numPool -> [0] -_C000 ; fbrInit() -; libsrc/fiber.pla: 0123: byte i - ; i -> [2] -; libsrc/fiber.pla: 0124: word pool - ; pool -> [3] -; libsrc/fiber.pla: 0125: -; libsrc/fiber.pla: 0126: if numPool >= MAX_FIBERS - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/fiber.pla: 0127: numPool = MAX_FIBERS -; libsrc/fiber.pla: 0128: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; libsrc/fiber.pla: 0129: fbrMax = numPool - 1 -; libsrc/fiber.pla: 0130: // -; libsrc/fiber.pla: 0131: // Allocate the fiber pool and initialize it to FREE -; libsrc/fiber.pla: 0132: // -; libsrc/fiber.pla: 0133: fbrPool = heapalloc(fbrMax * 512 + 256) -; libsrc/fiber.pla: 0134: if fbrPool -; libsrc/fiber.pla: 0135: // -; libsrc/fiber.pla: 0136: // Each fiber gets 256 bytes of stack and 256 bytes -; libsrc/fiber.pla: 0137: // for frame (local) data - except fiber 0 uses original frame data -; libsrc/fiber.pla: 0138: // -; libsrc/fiber.pla: 0139: pool = fbrPool + 256 -; libsrc/fiber.pla: 0140: for i = fbrMax downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $7C ; DAB _D028+0 -_F000 !WORD _D028+0 - !BYTE $12 ; CN 9 - !BYTE $9A ; SHL - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F001 !WORD 0 - !BYTE $7E ; DAW _D032+0 -_F002 !WORD _D032+0 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $6A ; LAW _D032+0 -_F003 !WORD _D032+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $82 ; ADD - !BYTE $76,$03 ; SLW [3] - !BYTE $02 ; CN 1 - !BYTE $68 ; LAB _D028+0 -_F004 !WORD _D028+0 - !BYTE $A2 ; BRLT _B005 - !WORD _B005-* -_B006 - !BYTE $6C,$02 ; DLB [2] -; libsrc/fiber.pla: 0141: if i < numPool -; libsrc/fiber.pla: 0142: fbrState[i] = FIBER_FREE -; libsrc/fiber.pla: 0143: fbrVMState[i] = pool -; libsrc/fiber.pla: 0144: pool = pool + 512 -; libsrc/fiber.pla: 0145: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D029+0 -_F005 !WORD _D029+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB - !BYTE $66,$03 ; LLW [3] - !BYTE $26 ; LA _D031+0 -_F006 !WORD _D031+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $72 ; SW - !BYTE $66,$03 ; LLW [3] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $76,$03 ; SLW [3] -_B008 -_B009 -; libsrc/fiber.pla: 0146: next -_B007 - !BYTE $A8 ; DECBRGE _B006 - !WORD _B006-* -_B005 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; libsrc/fiber.pla: 0147: // -; libsrc/fiber.pla: 0148: // Set fiber 0 to the RUNning fiber -; libsrc/fiber.pla: 0149: // -; libsrc/fiber.pla: 0150: fbrState = FIBER_RUN -; libsrc/fiber.pla: 0151: fbrVMState = fbrPool -; libsrc/fiber.pla: 0152: else - !BYTE $06 ; CN 3 - !BYTE $78 ; SAB _D029+0 -_F007 !WORD _D029+0 - !BYTE $6A ; LAW _D032+0 -_F008 !WORD _D032+0 - !BYTE $7A ; SAW _D031+0 -_F009 !WORD _D031+0 - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; libsrc/fiber.pla: 0153: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/fiber.pla: 0154: fin -_B004 -; libsrc/fiber.pla: 0155: fbrCount = 1 -; libsrc/fiber.pla: 0156: return 0 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D034+0 -_F010 !WORD _D034+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/fiber.pla: 0157: end -; libsrc/fiber.pla: 0158: // -; libsrc/fiber.pla: 0159: // Stop fiber and return it to FREE pool -; libsrc/fiber.pla: 0160: // -; libsrc/fiber.pla: 0161: export def fbrStop(fid)#0 - ; fid -> [0] -_C001 ; fbrStop() -; libsrc/fiber.pla: 0162: byte i - ; i -> [2] -; libsrc/fiber.pla: 0163: -; libsrc/fiber.pla: 0164: // -; libsrc/fiber.pla: 0165: // Don't STOP fiber 0 (avoid deadlock) -; libsrc/fiber.pla: 0166: // -; libsrc/fiber.pla: 0167: if fid - !BYTE $58,$03,$01 ; ENTER 3,1 -; libsrc/fiber.pla: 0168: // -; libsrc/fiber.pla: 0169: // Remove fiber from RUN list and tag as free -; libsrc/fiber.pla: 0170: // -; libsrc/fiber.pla: 0171: fbrCount-- - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $68 ; LAB _D034+0 -_F011 !WORD _D034+0 - !BYTE $8E ; DECR -; libsrc/fiber.pla: 0172: fbrState[fid] = FIBER_FREE -; libsrc/fiber.pla: 0173: i = 0 -; libsrc/fiber.pla: 0174: while fbrNext[i] <> fid - !BYTE $78 ; SAB _D034+0 -_F012 !WORD _D034+0 - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D029+0 -_F013 !WORD _D029+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B012 -; libsrc/fiber.pla: 0175: i = fbrNext[i] -; libsrc/fiber.pla: 0176: loop - !BYTE $26 ; LA _D030+0 -_F014 !WORD _D030+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] -_B014 - !BYTE $26 ; LA _D030+0 -_F015 !WORD _D030+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B012 - !WORD _B012-* -_B013 -; libsrc/fiber.pla: 0177: fbrNext[i] = fbrNext[fid] -; libsrc/fiber.pla: 0178: if fid == fbrRunning -; libsrc/fiber.pla: 0179: fbrRunning = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0180: fbrLoad(fbrVMState[fbrRunning]) // This doesn't actually return here - returns to next fiber -; libsrc/fiber.pla: 0181: fin - !BYTE $26 ; LA _D030+0 -_F016 !WORD _D030+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F017 !WORD _D030+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D033+0 -_F018 !WORD _D033+0 - !BYTE $24 ; BRNE _B015 - !WORD _B015-* - !BYTE $26 ; LA _D030+0 -_F019 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F020 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D033+0 -_F021 !WORD _D033+0 - !BYTE $26 ; LA _D031+0 -_F022 !WORD _D031+0 - !BYTE $BC ; IDXAB _D033+0 -_F023 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A001 -_F024 !WORD _A001 -_B015 -_B016 -; libsrc/fiber.pla: 0182: fin -_B010 -_B011 -; libsrc/fiber.pla: 0183: end - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/fiber.pla: 0184: // -; libsrc/fiber.pla: 0185: // Stop current fiber -; libsrc/fiber.pla: 0186: // -; libsrc/fiber.pla: 0187: export def fbrExit#0 -_C002 ; fbrExit() -; libsrc/fiber.pla: 0188: // -; libsrc/fiber.pla: 0189: // Stop running fiber -; libsrc/fiber.pla: 0190: // -; libsrc/fiber.pla: 0191: fbrStop(fbrRunning) -; libsrc/fiber.pla: 0192: end - !BYTE $68 ; LAB _D033+0 -_F025 !WORD _D033+0 - !BYTE $54 ; CALL _C001 -_F026 !WORD _C001 - !BYTE $5C ; RET -; libsrc/fiber.pla: 0193: // -; libsrc/fiber.pla: 0194: // Start a fiber RUNning -; libsrc/fiber.pla: 0195: // -; libsrc/fiber.pla: 0196: export def fbrStart(defaddr, param) - ; defaddr -> [0] - ; param -> [2] -_C003 ; fbrStart() -; libsrc/fiber.pla: 0197: byte i - ; i -> [4] -; libsrc/fiber.pla: 0198: word vmstate - ; vmstate -> [5] -; libsrc/fiber.pla: 0199: -; libsrc/fiber.pla: 0200: for i = fbrMax downto 1 - !BYTE $58,$07,$02 ; ENTER 7,2 - !BYTE $02 ; CN 1 - !BYTE $68 ; LAB _D028+0 -_F027 !WORD _D028+0 - !BYTE $A2 ; BRLT _B017 - !WORD _B017-* -_B018 - !BYTE $6C,$04 ; DLB [4] -; libsrc/fiber.pla: 0201: if fbrState[i] == FIBER_FREE -; libsrc/fiber.pla: 0202: // -; libsrc/fiber.pla: 0203: // Allocate fiber from pool -; libsrc/fiber.pla: 0204: // -; libsrc/fiber.pla: 0205: fbrState[i] = FIBER_RUN -; libsrc/fiber.pla: 0206: vmstate = fbrVMState[i] -; libsrc/fiber.pla: 0207: vmstate=>ifp = vmstate + 512 -; libsrc/fiber.pla: 0208: vmstate=>pp = vmstate + 512 -; libsrc/fiber.pla: 0209: // -; libsrc/fiber.pla: 0210: // Set fiber parameters to fiber ID and passed-in value -; libsrc/fiber.pla: 0211: // -; libsrc/fiber.pla: 0212: vmstate->esp = $1E -; libsrc/fiber.pla: 0213: vmstate->estklo.$1F = i -; libsrc/fiber.pla: 0214: vmstate->estkhi.$1F = 0 -; libsrc/fiber.pla: 0215: vmstate->estklo.$1E = param.0 // param lo byte -; libsrc/fiber.pla: 0216: vmstate->estkhi.$1E = param.1 // param hi byte -; libsrc/fiber.pla: 0217: // -; libsrc/fiber.pla: 0218: // Initialize stack to point to fiber def and fbrExit -; libsrc/fiber.pla: 0219: // This allows a fiber to return and it will fall into fbrExit -; libsrc/fiber.pla: 0220: // -; libsrc/fiber.pla: 0221: memcpy(vmstate+jmptmp, $00E6, $1A) -; libsrc/fiber.pla: 0222: vmstate->hwsp = $FA -; libsrc/fiber.pla: 0223: vmstate=>$FD = @fbrExit - 1 -; libsrc/fiber.pla: 0224: vmstate=>$FB = defaddr - 1 -; libsrc/fiber.pla: 0225: // -; libsrc/fiber.pla: 0226: // Link into RUN list -; libsrc/fiber.pla: 0227: // -; libsrc/fiber.pla: 0228: fbrNext[i] = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0229: fbrNext[fbrRunning] = i -; libsrc/fiber.pla: 0230: // -; libsrc/fiber.pla: 0231: // Return fiber ID (index) -; libsrc/fiber.pla: 0232: // -; libsrc/fiber.pla: 0233: fbrCount++ - !BYTE $26 ; LA _D029+0 -_F028 !WORD _D029+0 - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B020 - !WORD _B020-* - !BYTE $06 ; CN 3 - !BYTE $26 ; LA _D029+0 -_F029 !WORD _D029+0 - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $26 ; LA _D031+0 -_F030 !WORD _D031+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $6E,$05 ; DLW [5] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$40 ; ADDI 64 - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$42 ; ADDI 66 - !BYTE $72 ; SW - !BYTE $2A,$1E ; CB 30 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$45 ; ADDI 69 - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$20 ; ADDI 32 - !BYTE $38,$1F ; ADDI 31 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$1F ; ADDI 31 - !BYTE $70 ; SB - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$20 ; ADDI 32 - !BYTE $38,$1E ; ADDI 30 - !BYTE $70 ; SB - !BYTE $64,$03 ; LLB [3] - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$1E ; ADDI 30 - !BYTE $70 ; SB - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$46 ; ADDI 70 - !BYTE $2A,$E6 ; CB 230 - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _X018 -_F031 !WORD 0 - !BYTE $2A,$FA ; CB 250 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$44 ; ADDI 68 - !BYTE $70 ; SB - !BYTE $26 ; LA _C002+0 -_F032 !WORD _C002+0 - !BYTE $8E ; DECR - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$FD ; ADDI 253 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$FB ; ADDI 251 - !BYTE $72 ; SW - !BYTE $26 ; LA _D030+0 -_F033 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F034 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F035 !WORD _D030+0 - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $26 ; LA _D030+0 -_F036 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F037 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D034+0 -_F038 !WORD _D034+0 - !BYTE $8C ; INCR -; libsrc/fiber.pla: 0234: return i - !BYTE $78 ; SAB _D034+0 -_F039 !WORD _D034+0 - !BYTE $32 ; DROP2 - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/fiber.pla: 0235: fin -_B020 -_B021 -; libsrc/fiber.pla: 0236: next -_B019 - !BYTE $A8 ; DECBRGE _B018 - !WORD _B018-* -_B017 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/fiber.pla: 0237: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/fiber.pla: 0238: end -; libsrc/fiber.pla: 0239: // -; libsrc/fiber.pla: 0240: // Round-robin schedule RUNning fibers -; libsrc/fiber.pla: 0241: // -; libsrc/fiber.pla: 0242: export def fbrYield#0 -_C004 ; fbrYield() -; libsrc/fiber.pla: 0243: byte prev - ; prev -> [0] -; libsrc/fiber.pla: 0244: -; libsrc/fiber.pla: 0245: // -; libsrc/fiber.pla: 0246: // Swap to text fiber if this isn't the only fiber RUNning -; libsrc/fiber.pla: 0247: // -; libsrc/fiber.pla: 0248: if fbrNext[fbrRunning] <> fbrRunning - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/fiber.pla: 0249: prev = fbrRunning -; libsrc/fiber.pla: 0250: fbrRunning = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0251: fbrSwap(fbrVMState[prev], fbrVMState[fbrRunning]) -; libsrc/fiber.pla: 0252: fin - !BYTE $26 ; LA _D030+0 -_F040 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F041 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $68 ; LAB _D033+0 -_F042 !WORD _D033+0 - !BYTE $22 ; BREQ _B022 - !WORD _B022-* - !BYTE $68 ; LAB _D033+0 -_F043 !WORD _D033+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $26 ; LA _D030+0 -_F044 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F045 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D033+0 -_F046 !WORD _D033+0 - !BYTE $26 ; LA _D031+0 -_F047 !WORD _D031+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F048 !WORD _D031+0 - !BYTE $BC ; IDXAB _D033+0 -_F049 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F050 !WORD _A000 -_B022 -_B023 -; libsrc/fiber.pla: 0253: end - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/fiber.pla: 0254: // -; libsrc/fiber.pla: 0255: // HALT current fiber and await a RESUME -; libsrc/fiber.pla: 0256: // -; libsrc/fiber.pla: 0257: export def fbrHalt#0 -_C005 ; fbrHalt() -; libsrc/fiber.pla: 0258: byte i - ; i -> [0] -; libsrc/fiber.pla: 0259: -; libsrc/fiber.pla: 0260: // -; libsrc/fiber.pla: 0261: // Cannot HALT fiber 0 (avoid deadlock) -; libsrc/fiber.pla: 0262: // -; libsrc/fiber.pla: 0263: if fbrRunning - !BYTE $58,$01,$00 ; ENTER 1,0 -; libsrc/fiber.pla: 0264: // -; libsrc/fiber.pla: 0265: // Remove fiber from RUN list -; libsrc/fiber.pla: 0266: // -; libsrc/fiber.pla: 0267: i = 0 -; libsrc/fiber.pla: 0268: while fbrNext[i] <> fbrRunning - !BYTE $68 ; LAB _D033+0 -_F051 !WORD _D033+0 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B026 -; libsrc/fiber.pla: 0269: i = fbrNext[i] -; libsrc/fiber.pla: 0270: loop - !BYTE $26 ; LA _D030+0 -_F052 !WORD _D030+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $74,$00 ; SLB [0] -_B028 - !BYTE $26 ; LA _D030+0 -_F053 !WORD _D030+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D033+0 -_F054 !WORD _D033+0 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* -_B027 -; libsrc/fiber.pla: 0271: fbrState[fbrRunning] = FIBER_HALT -; libsrc/fiber.pla: 0272: fbrNext[i] = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0273: i = fbrRunning -; libsrc/fiber.pla: 0274: fbrRunning = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0275: fbrSwap(fbrVMState[i], fbrVMState[fbrRunning]) -; libsrc/fiber.pla: 0276: fin - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _D029+0 -_F055 !WORD _D029+0 - !BYTE $B4 ; ADDAB _D033+0 -_F056 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $26 ; LA _D030+0 -_F057 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F058 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F059 !WORD _D030+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $70 ; SB - !BYTE $68 ; LAB _D033+0 -_F060 !WORD _D033+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $26 ; LA _D030+0 -_F061 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F062 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D033+0 -_F063 !WORD _D033+0 - !BYTE $26 ; LA _D031+0 -_F064 !WORD _D031+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F065 !WORD _D031+0 - !BYTE $BC ; IDXAB _D033+0 -_F066 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F067 !WORD _A000 -_B024 -_B025 -; libsrc/fiber.pla: 0277: end - !BYTE $5A,$01 ; LEAVE 1 -; libsrc/fiber.pla: 0278: // -; libsrc/fiber.pla: 0279: // Restore HALTed fiber to RUN list -; libsrc/fiber.pla: 0280: // -; libsrc/fiber.pla: 0281: export def fbrResume(fid)#0 - ; fid -> [0] -_C006 ; fbrResume() -; libsrc/fiber.pla: 0282: if fbrState[fid] == FIBER_HALT - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fiber.pla: 0283: // -; libsrc/fiber.pla: 0284: // Insert HALTed fiber back into RUN list -; libsrc/fiber.pla: 0285: // -; libsrc/fiber.pla: 0286: fbrState[fid] = FIBER_RUN -; libsrc/fiber.pla: 0287: fbrNext[fid] = fbrNext[fbrRunning] -; libsrc/fiber.pla: 0288: fbrNext[fbrRunning] = fid -; libsrc/fiber.pla: 0289: fin - !BYTE $26 ; LA _D029+0 -_F068 !WORD _D029+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B029 - !WORD _B029-* - !BYTE $06 ; CN 3 - !BYTE $26 ; LA _D029+0 -_F069 !WORD _D029+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $26 ; LA _D030+0 -_F070 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F071 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D030+0 -_F072 !WORD _D030+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D030+0 -_F073 !WORD _D030+0 - !BYTE $B4 ; ADDAB _D033+0 -_F074 !WORD _D033+0 - !BYTE $70 ; SB -_B029 -_B030 -; libsrc/fiber.pla: 0290: end - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fiber.pla: 0291: done -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 8 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: FBRCOUNT - !BYTE $C6,$C2,$D2,$C3,$CF,$D5,$CE,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D034 - ; DCI STRING: FBRINIT - !BYTE $C6,$C2,$D2,$C9,$CE,$C9,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: FBRSTOP - !BYTE $C6,$C2,$D2,$D3,$D4,$CF,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: FBREXIT - !BYTE $C6,$C2,$D2,$C5,$D8,$C9,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: FBRSTART - !BYTE $C6,$C2,$D2,$D3,$D4,$C1,$D2,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: FBRYIELD - !BYTE $C6,$C2,$D2,$D9,$C9,$C5,$CC,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: FBRHALT - !BYTE $C6,$C2,$D2,$C8,$C1,$CC,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: FBRRESUME - !BYTE $C6,$C2,$D2,$D2,$C5,$D3,$D5,$CD,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/fpstr.a b/src/libsrc/fpstr.a deleted file mode 100644 index 333e72b..0000000 --- a/src/libsrc/fpstr.a +++ /dev/null @@ -1,1611 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/fpstr.pla: 0001: // -; libsrc/fpstr.pla: 0002: // SANE Extended FP to String conversion library -; libsrc/fpstr.pla: 0003: // -; libsrc/fpstr.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/fpstr.pla: 0004: -; libsrc/fpstr.pla: 0005: include "inc/sane.plh" -; inc/sane.plh: 0001: import sane - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - ; SANE -> X028 -; inc/sane.plh: 0002: //----------------------------------------------------------- -; inc/sane.plh: 0003: // Operation code masks. -; inc/sane.plh: 0004: //----------------------------------------------------------- -; inc/sane.plh: 0005: const FOADD = $0000 // add - ; FOADD = 0 -; inc/sane.plh: 0006: const FOSUB = $0002 // subtract - ; FOSUB = 2 -; inc/sane.plh: 0007: const FOMUL = $0004 // multiply - ; FOMUL = 4 -; inc/sane.plh: 0008: const FODIV = $0006 // divide - ; FODIV = 6 -; inc/sane.plh: 0009: const FOCMP = $0008 // compare, no exception from unordered - ; FOCMP = 8 -; inc/sane.plh: 0010: const FOCPX = $000A // compare, signal invalid if unordered - ; FOCPX = 10 -; inc/sane.plh: 0011: const FOREM = $000C // remainder - ; FOREM = 12 -; inc/sane.plh: 0012: const FOZ2X = $000E // convert to extended - ; FOZ2X = 14 -; inc/sane.plh: 0013: const FOX2Z = $0010 // convert from extended - ; FOX2Z = 16 -; inc/sane.plh: 0014: const FOSQRT = $0012 // square root - ; FOSQRT = 18 -; inc/sane.plh: 0015: const FORTI = $0014 // round to integral value - ; FORTI = 20 -; inc/sane.plh: 0016: const FOTTI = $0016 // truncate to integral value - ; FOTTI = 22 -; inc/sane.plh: 0017: const FOSCALB = $0018 // binary scale - ; FOSCALB = 24 -; inc/sane.plh: 0018: const FOLOGB = $001A // binary log - ; FOLOGB = 26 -; inc/sane.plh: 0019: const FOCLASS = $001C // classify - ; FOCLASS = 28 -; inc/sane.plh: 0020: const FONEXT = $001E // next-after - ; FONEXT = 30 -; inc/sane.plh: 0021: // -; inc/sane.plh: 0022: const FOSETENV = $0001 // set environment - ; FOSETENV = 1 -; inc/sane.plh: 0023: const FOGETENV = $0003 // get environment - ; FOGETENV = 3 -; inc/sane.plh: 0024: const FOSETHV = $0005 // set halt vector - ; FOSETHV = 5 -; inc/sane.plh: 0025: const FOGETHV = $0007 // get halt vector - ; FOGETHV = 7 -; inc/sane.plh: 0026: const FOD2B = $0009 // convert decimal to binary - ; FOD2B = 9 -; inc/sane.plh: 0027: const FOB2D = $000B // convert binary to decimal - ; FOB2D = 11 -; inc/sane.plh: 0028: const FONEG = $000D // negate - ; FONEG = 13 -; inc/sane.plh: 0029: const FOABS = $000F // absolute value - ; FOABS = 15 -; inc/sane.plh: 0030: const FOCPYSGN = $0011 // copy sign - ; FOCPYSGN = 17 -; inc/sane.plh: 0031: // UNDEFINED = $0013 -; inc/sane.plh: 0032: const FOSETXCP = $0015 // set exception - ; FOSETXCP = 21 -; inc/sane.plh: 0033: const FOPROCENTRY = $0017 // procedure-entry - ; FOPROCENTRY = 23 -; inc/sane.plh: 0034: const FOPROCEXIT = $0019 // procedure-exit - ; FOPROCEXIT = 25 -; inc/sane.plh: 0035: const FOTESTXCP = $001B // test exception - ; FOTESTXCP = 27 -; inc/sane.plh: 0036: // UNDEFINED = $001D -; inc/sane.plh: 0037: // UNDEFINED = $001F -; inc/sane.plh: 0038: //----------------------------------------------------------- -; inc/sane.plh: 0039: // Operand format masks. -; inc/sane.plh: 0040: //----------------------------------------------------------- -; inc/sane.plh: 0041: const FFEXT = $0000 // extended -- 80-bit float - ; FFEXT = 0 -; inc/sane.plh: 0042: const FFDBL = $0100 // double -- 64-bit float - ; FFDBL = 256 -; inc/sane.plh: 0043: const FFSGL = $0200 // single -- 32-bit float - ; FFSGL = 512 -; inc/sane.plh: 0044: // UNDEFINED = $0300 -; inc/sane.plh: 0045: const FFINT = $0400 // integer -- 16-bit integer - ; FFINT = 1024 -; inc/sane.plh: 0046: const FFCOMP = $0500 // comp -- 64-bit integer - ; FFCOMP = 1280 -; inc/sane.plh: 0047: // UNDEFINED = $0600 -; inc/sane.plh: 0048: // UNDEFINED = $0700 -; inc/sane.plh: 0049: //----------------------------------------------------------- -; inc/sane.plh: 0050: // Class. -; inc/sane.plh: 0051: //----------------------------------------------------------- -; inc/sane.plh: 0052: const FCSNAN = $FC // -4: signaling NAN - ; FCSNAN = 252 -; inc/sane.plh: 0053: const FCQNAN = $FD // -3: quiet NAN - ; FCQNAN = 253 -; inc/sane.plh: 0054: const FCINF = $FE // -2: infinite - ; FCINF = 254 -; inc/sane.plh: 0055: const FCZERO = $FF // -1: zero - ; FCZERO = 255 -; inc/sane.plh: 0056: const FCNORM = $00 // 0: normal - ; FCNORM = 0 -; inc/sane.plh: 0057: const FCDENORM = $01 // 1: denormal - ; FCDENORM = 1 -; inc/sane.plh: 0058: //----------------------------------------------------------- -; inc/sane.plh: 0059: // Exceptions. -; inc/sane.plh: 0060: //----------------------------------------------------------- -; inc/sane.plh: 0061: const FBINVALID = $01 - ; FBINVALID = 1 -; inc/sane.plh: 0062: const FBUFLOW = $02 - ; FBUFLOW = 2 -; inc/sane.plh: 0063: const FBOFLOW = $04 - ; FBOFLOW = 4 -; inc/sane.plh: 0064: const FBDIVZER = $08 - ; FBDIVZER = 8 -; inc/sane.plh: 0065: const FBINEXACT = $10 - ; FBINEXACT = 16 -; inc/sane.plh: 0066: //----------------------------------------------------------- -; inc/sane.plh: 0067: // Elementary function operation code masks. -; inc/sane.plh: 0068: //----------------------------------------------------------- -; inc/sane.plh: 0069: const FOLNX = $0000 // base-e log - ; FOLNX = 0 -; inc/sane.plh: 0070: const FOLOG2X = $0002 // base-2 log - ; FOLOG2X = 2 -; inc/sane.plh: 0071: const FOLN1X = $0004 // ln (1 + x) - ; FOLN1X = 4 -; inc/sane.plh: 0072: const FOLOG21X = $0006 // log2 (1 + x) - ; FOLOG21X = 6 -; inc/sane.plh: 0073: const FOEXPX = $0008 // base-e exponential - ; FOEXPX = 8 -; inc/sane.plh: 0074: const FOEXP2X = $000A // base-2 exponential - ; FOEXP2X = 10 -; inc/sane.plh: 0075: const FOEXP1X = $000C // exp (x) - 1 - ; FOEXP1X = 12 -; inc/sane.plh: 0076: const FOEXP21X = $000E // exp2 (x) - 1 - ; FOEXP21X = 14 -; inc/sane.plh: 0077: const FOXPWRI = $0010 // integer exponentiation - ; FOXPWRI = 16 -; inc/sane.plh: 0078: const FOXPWRY = $0012 // general exponentiation - ; FOXPWRY = 18 -; inc/sane.plh: 0079: const FOCOMPND = $0014 // compound - ; FOCOMPND = 20 -; inc/sane.plh: 0080: const FOANNUIT = $0016 // annuity - ; FOANNUIT = 22 -; inc/sane.plh: 0081: const FOATANX = $0018 // arctangent - ; FOATANX = 24 -; inc/sane.plh: 0082: const FOSINX = $001A // sine - ; FOSINX = 26 -; inc/sane.plh: 0083: const FOCOSX = $001C // cosine - ; FOCOSX = 28 -; inc/sane.plh: 0084: const FOTANX = $001E // tangent - ; FOTANX = 30 -; inc/sane.plh: 0085: const FORANDX = $0020 // random - ; FORANDX = 32 -; inc/sane.plh: 0086: //----------------------------------------------------------- -; inc/sane.plh: 0087: // NaN error codes. -; inc/sane.plh: 0088: //----------------------------------------------------------- -; inc/sane.plh: 0089: const NANSQRT = 1 // Invalid square root such as sqrt(-1). - ; NANSQRT = 1 -; inc/sane.plh: 0090: const NANADD = 2 // Invalid addition such as +INF - +INF. - ; NANADD = 2 -; inc/sane.plh: 0091: const NANDIV = 4 // Invalid division such as 0/0. - ; NANDIV = 4 -; inc/sane.plh: 0092: const NANMUL = 8 // Invalid multiply such as 0 * INF. - ; NANMUL = 8 -; inc/sane.plh: 0093: const NANREM = 9 // Invalid remainder or mod such as x REM 0. - ; NANREM = 9 -; inc/sane.plh: 0094: const NANASCBIN = 17 // Attempt to convert invalid ASCII string. - ; NANASCBIN = 17 -; inc/sane.plh: 0095: const NANCOMP = 20 // Result of converting comp NaN to floating. - ; NANCOMP = 20 -; inc/sane.plh: 0096: const NANZERO = 21 // Attempt to create a NaN with a zero code. - ; NANZERO = 21 -; inc/sane.plh: 0097: const NANTRIG = 33 // Invalid argument to trig routine. - ; NANTRIG = 33 -; inc/sane.plh: 0098: const NANINVTRIG = 34 // Invalid argument to inverse trig routine. - ; NANINVTRIG = 34 -; inc/sane.plh: 0099: const NANLOG = 36 // Invalid argument to log routine. - ; NANLOG = 36 -; inc/sane.plh: 0100: const NANPOWER = 37 // Invalid argument to x^i or x^y routine. - ; NANPOWER = 37 -; inc/sane.plh: 0101: const NANFINAN = 38 // Invalid argument to financial function. - ; NANFINAN = 38 -; inc/sane.plh: 0102: const NANINIT = 255 // Uninitialized storage. - ; NANINIT = 255 -; inc/sane.plh: 0103: //----------------------------------------------------------- -; inc/sane.plh: 0104: // Comparison results. -; inc/sane.plh: 0105: //----------------------------------------------------------- -; inc/sane.plh: 0106: const FCMPGT = $4040 // Greater Than - ; FCMPGT = 16448 -; inc/sane.plh: 0107: const FCMPLT = $8080 // Less Than - ; FCMPLT = 32896 -; inc/sane.plh: 0108: const FCMPEQ = $0002 // EQual - ; FCMPEQ = 2 -; inc/sane.plh: 0109: const FCMPUN = $0101 // UNordered - ; FCMPUN = 257 -; inc/sane.plh: 0110: //----------------------------------------------------------- -; inc/sane.plh: 0111: // -; inc/sane.plh: 0112: // Data types -; inc/sane.plh: 0113: // -; inc/sane.plh: 0114: struc t_single -; inc/sane.plh: 0115: byte[3] s_mantissa - ; s_mantissa = 0 -; inc/sane.plh: 0116: byte s_exponent - ; s_exponent = 3 -; inc/sane.plh: 0117: end - ; t_single = 4 -; inc/sane.plh: 0118: struc t_double -; inc/sane.plh: 0119: byte[6] d_mantissa - ; d_mantissa = 0 -; inc/sane.plh: 0120: word d_exponent - ; d_exponent = 6 -; inc/sane.plh: 0121: end - ; t_double = 8 -; inc/sane.plh: 0122: struc t_extended -; inc/sane.plh: 0123: byte[8] x_mantissa - ; x_mantissa = 0 -; inc/sane.plh: 0124: word x_exponent - ; x_exponent = 8 -; inc/sane.plh: 0125: end - ; t_extended = 10 -; inc/sane.plh: 0126: struc t_bigint -; inc/sane.plh: 0127: byte[8] l_int - ; l_int = 0 -; inc/sane.plh: 0128: end - ; t_bigint = 8 -; inc/sane.plh: 0129: // -; inc/sane.plh: 0130: // SANE PLASMA interface -; inc/sane.plh: 0131: // -; inc/sane.plh: 0132: struc t_sane -; inc/sane.plh: 0133: word initFP - ; initFP = 0 -; inc/sane.plh: 0134: word haltFP - ; haltFP = 2 -; inc/sane.plh: 0135: word op0FP - ; op0FP = 4 -; inc/sane.plh: 0136: word op1FP - ; op1FP = 6 -; inc/sane.plh: 0137: word op2FP - ; op2FP = 8 -; inc/sane.plh: 0138: word op3FP - ; op3FP = 10 -; inc/sane.plh: 0139: word op1ELEM - ; op1ELEM = 12 -; inc/sane.plh: 0140: word op2ELEM - ; op2ELEM = 14 -; inc/sane.plh: 0141: word op3ELEM - ; op3ELEM = 16 -; inc/sane.plh: 0142: word saveZP - ; saveZP = 18 -; inc/sane.plh: 0143: word restoreZP - ; restoreZP = 20 -; inc/sane.plh: 0144: end - ; t_sane = 22 -; inc/sane.plh: 0145: end -; libsrc/fpstr.pla: 0005: -; libsrc/fpstr.pla: 0006: include "inc/fpstr.plh" -; inc/fpstr.plh: 0001: import fpstr -; inc/fpstr.plh: 0002: // -; inc/fpstr.plh: 0003: // String formatting bits -; inc/fpstr.plh: 0004: // -; inc/fpstr.plh: 0005: const FPSTR_FIXED = 1 // Fixed count of fractional digits - ; FPSTR_FIXED = 1 -; inc/fpstr.plh: 0006: const FPSTR_FLOAT = 0 // Floating count of fractional digits - ; FPSTR_FLOAT = 0 -; inc/fpstr.plh: 0007: const FPSTR_STRIP = 2 // Strip trailing fractional zeros - ; FPSTR_STRIP = 2 -; inc/fpstr.plh: 0008: const FPSTR_EXP = 4 // Force exponential format - ; FPSTR_EXP = 4 -; inc/fpstr.plh: 0009: const FPSTR_FLEX = 8 // Flexible switch to EXP format if over/underflow - ; FPSTR_FLEX = 8 -; inc/fpstr.plh: 0010: // -; inc/fpstr.plh: 0011: // Parse string into decrecord, return SANE conversion output -; inc/fpstr.plh: 0012: // -; inc/fpstr.plh: 0013: predef str2ext(str, ext)#1 - ; STR2EXT -> X029 -; inc/fpstr.plh: 0014: // -; inc/fpstr.plh: 0015: // Convert extended FP to string using , return string -; inc/fpstr.plh: 0016: // -; inc/fpstr.plh: 0017: predef ext2str(ext, str, intdigits, fracdigits, format)#1 - ; EXT2STR -> X030 -; inc/fpstr.plh: 0018: end -; libsrc/fpstr.pla: 0006: -; libsrc/fpstr.pla: 0007: // -; libsrc/fpstr.pla: 0008: // Structures for DEC2BIN, BIN2DEC -; libsrc/fpstr.pla: 0009: // -; libsrc/fpstr.pla: 0010: struc t_decrecord - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/fpstr.pla: 0011: word sgn - ; sgn = 0 -; libsrc/fpstr.pla: 0012: word exp - ; exp = 2 -; libsrc/fpstr.pla: 0013: byte sig[29] - ; sig = 4 -; libsrc/fpstr.pla: 0014: end - ; t_decrecord = 33 -; libsrc/fpstr.pla: 0015: struc t_decformat -; libsrc/fpstr.pla: 0016: word style - ; style = 0 -; libsrc/fpstr.pla: 0017: word digits - ; digits = 2 -; libsrc/fpstr.pla: 0018: end - ; t_decformat = 4 -; libsrc/fpstr.pla: 0019: // -; libsrc/fpstr.pla: 0020: // Parse string into decrecord, return SANE conversion output -; libsrc/fpstr.pla: 0021: // -; libsrc/fpstr.pla: 0022: export def str2ext(str, ext) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; str -> [0] - ; ext -> [2] -_P029 ; str2ext(str, ext)() -_C000 ; str2ext() -; libsrc/fpstr.pla: 0023: byte i, d - ; i -> [4] - ; d -> [5] -; libsrc/fpstr.pla: 0024: byte decrec[t_decrecord] - ; decrec -> [6] -; libsrc/fpstr.pla: 0025: word sgnadj, expadj - ; sgnadj -> [39] - ; expadj -> [41] -; libsrc/fpstr.pla: 0026: -; libsrc/fpstr.pla: 0027: decrec:sgn = 0 - !BYTE $58,$2B,$02 ; ENTER 43,2 -; libsrc/fpstr.pla: 0028: decrec:exp = 0 -; libsrc/fpstr.pla: 0029: decrec.sig = 0 -; libsrc/fpstr.pla: 0030: i = 1 -; libsrc/fpstr.pla: 0031: // -; libsrc/fpstr.pla: 0032: // Skip whitespace -; libsrc/fpstr.pla: 0033: // -; libsrc/fpstr.pla: 0034: while ^(str+i) <= ' ' and i <= ^str; i++; loop - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $74,$0A ; SLB [10] - !BYTE $02 ; CN 1 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR - !BYTE $74,$04 ; SLB [4] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE -_B004 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/fpstr.pla: 0035: // -; libsrc/fpstr.pla: 0036: // Check for sign -; libsrc/fpstr.pla: 0037: // -; libsrc/fpstr.pla: 0038: if ^(str+i) == '-' -; libsrc/fpstr.pla: 0039: decrec:sgn = 1 -; libsrc/fpstr.pla: 0040: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B005 - !WORD _B005-* - !BYTE $02 ; CN 1 - !BYTE $76,$06 ; SLW [6] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0041: elsif ^(str+i) == '+' - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B005 -; libsrc/fpstr.pla: 0042: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B007 - !WORD _B007-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0043: fin - !BYTE $74,$04 ; SLB [4] -_B007 -_B006 -; libsrc/fpstr.pla: 0044: // -; libsrc/fpstr.pla: 0045: // Skip leading zeros -; libsrc/fpstr.pla: 0046: // -; libsrc/fpstr.pla: 0047: while i <= ^str and ^(str+i) == '0' - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B008 -; libsrc/fpstr.pla: 0048: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0049: loop - !BYTE $74,$04 ; SLB [4] -_B010 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B011 - !WORD _B011-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B011 - !BYTE $4E ; BRTRU _B008 - !WORD _B008-* -_B009 -; libsrc/fpstr.pla: 0050: // -; libsrc/fpstr.pla: 0051: // Parse number -; libsrc/fpstr.pla: 0052: // -; libsrc/fpstr.pla: 0053: while i <= ^str - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B012 -; libsrc/fpstr.pla: 0054: d = ^(str+i) -; libsrc/fpstr.pla: 0055: if d >= '0' and d <= '9' -; libsrc/fpstr.pla: 0056: // -; libsrc/fpstr.pla: 0057: // Parse digit -; libsrc/fpstr.pla: 0058: // -; libsrc/fpstr.pla: 0059: decrec:sig++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $6C,$05 ; DLB [5] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B015 - !WORD _B015-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B015 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0060: decrec.sig[decrec.sig] = d -; libsrc/fpstr.pla: 0061: elsif d == '.' - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$05 ; LLB [5] - !BYTE $28,$0A ; LLA [10] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B016 -; libsrc/fpstr.pla: 0062: // -; libsrc/fpstr.pla: 0063: // Parse decimal point -; libsrc/fpstr.pla: 0064: // -; libsrc/fpstr.pla: 0065: i++ - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B018 - !WORD _B018-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0066: if !decrec.sig -; libsrc/fpstr.pla: 0067: // -; libsrc/fpstr.pla: 0068: // Skip leading zeros -; libsrc/fpstr.pla: 0069: // -; libsrc/fpstr.pla: 0070: while i <= ^str and ^(str+i) == '0' - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$0A ; LLB [10] - !BYTE $4E ; BRTRU _B019 - !WORD _B019-* - !BYTE $50 ; BRNCH _B023 - !WORD _B023-* -_B021 -; libsrc/fpstr.pla: 0071: decrec:exp-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0072: i++ - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0073: loop - !BYTE $74,$04 ; SLB [4] -_B023 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B024 - !WORD _B024-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B024 - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* -_B022 -; libsrc/fpstr.pla: 0074: fin -_B019 -_B020 -; libsrc/fpstr.pla: 0075: while i <= ^str - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B025 -; libsrc/fpstr.pla: 0076: d = ^(str+i) -; libsrc/fpstr.pla: 0077: if d >= '0' and d <= '9' -; libsrc/fpstr.pla: 0078: decrec.sig++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $6C,$05 ; DLB [5] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B028 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $64,$0A ; LLB [10] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0079: decrec.sig[decrec.sig] = d -; libsrc/fpstr.pla: 0080: decrec:exp-- - !BYTE $74,$0A ; SLB [10] - !BYTE $64,$05 ; LLB [5] - !BYTE $28,$0A ; LLA [10] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0081: elsif d == 'E' or d == 'e' - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -_B029 -; libsrc/fpstr.pla: 0082: i-- - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$45 ; CB 69 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B031 - !WORD _B031-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$65 ; CB 101 - !BYTE $40 ; ISEQ -_B031 - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0083: break - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -; libsrc/fpstr.pla: 0084: else - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -_B032 -; libsrc/fpstr.pla: 0085: i = ^str -; libsrc/fpstr.pla: 0086: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] -_B030 -; libsrc/fpstr.pla: 0087: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0088: loop - !BYTE $74,$04 ; SLB [4] -_B027 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B025 - !WORD _B025-* -_B026 -; libsrc/fpstr.pla: 0089: elsif d == 'E' or d == 'e' - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B018 -; libsrc/fpstr.pla: 0090: // -; libsrc/fpstr.pla: 0091: // Parse exponent -; libsrc/fpstr.pla: 0092: // -; libsrc/fpstr.pla: 0093: i++ - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$45 ; CB 69 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B033 - !WORD _B033-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$65 ; CB 101 - !BYTE $40 ; ISEQ -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0094: expadj = 0 -; libsrc/fpstr.pla: 0095: sgnadj = 1 -; libsrc/fpstr.pla: 0096: if ^(str+i) == '-' -; libsrc/fpstr.pla: 0097: sgnadj = -1 -; libsrc/fpstr.pla: 0098: i++ - !BYTE $74,$04 ; SLB [4] - !BYTE $00 ; CN 0 - !BYTE $76,$29 ; SLW [41] - !BYTE $02 ; CN 1 - !BYTE $76,$27 ; SLW [39] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B035 - !WORD _B035-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$27 ; SLW [39] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0099: elsif ^(str+i) == '+' - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B036 - !WORD _B036-* -_B035 -; libsrc/fpstr.pla: 0100: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B037 - !WORD _B037-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0101: fin - !BYTE $74,$04 ; SLB [4] -_B037 -_B036 -; libsrc/fpstr.pla: 0102: while i <= ^str - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B038 -; libsrc/fpstr.pla: 0103: d = ^(str+i) -; libsrc/fpstr.pla: 0104: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0105: if d >= '0' and d <= '9' -; libsrc/fpstr.pla: 0106: expadj = expadj * 10 + (d - '0') -; libsrc/fpstr.pla: 0107: else - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B041 - !WORD _B041-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B041 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $66,$29 ; LLW [41] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $64,$05 ; LLB [5] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $82 ; ADD - !BYTE $76,$29 ; SLW [41] - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B042 -; libsrc/fpstr.pla: 0108: i = ^str -; libsrc/fpstr.pla: 0109: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] -_B043 -; libsrc/fpstr.pla: 0110: loop -_B040 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* -_B039 -; libsrc/fpstr.pla: 0111: decrec:exp = decrec:exp + (sgnadj * expadj) -; libsrc/fpstr.pla: 0112: else - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$27 ; LLW [39] - !BYTE $66,$29 ; LLW [41] - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B034 -; libsrc/fpstr.pla: 0113: i = ^str -; libsrc/fpstr.pla: 0114: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] -_B017 -; libsrc/fpstr.pla: 0115: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0116: loop - !BYTE $74,$04 ; SLB [4] -_B014 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* -_B013 -; libsrc/fpstr.pla: 0117: // -; libsrc/fpstr.pla: 0118: // Strip trailing zeros from sig -; libsrc/fpstr.pla: 0119: // -; libsrc/fpstr.pla: 0120: while decrec.sig > 0 and decrec.sig[decrec.sig] == '0' - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B044 -; libsrc/fpstr.pla: 0121: decrec.sig-- - !BYTE $64,$0A ; LLB [10] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0122: decrec:exp++ - !BYTE $74,$0A ; SLB [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0123: loop - !BYTE $76,$08 ; SLW [8] -_B046 - !BYTE $64,$0A ; LLB [10] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B047 - !WORD _B047-* - !BYTE $28,$0A ; LLA [10] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B047 - !BYTE $4E ; BRTRU _B044 - !WORD _B044-* -_B045 -; libsrc/fpstr.pla: 0124: // -; libsrc/fpstr.pla: 0125: // Check for zero -; libsrc/fpstr.pla: 0126: // -; libsrc/fpstr.pla: 0127: if !decrec.sig -; libsrc/fpstr.pla: 0128: decrec.sig = 1 -; libsrc/fpstr.pla: 0129: decrec.sig.1 = '0' -; libsrc/fpstr.pla: 0130: decrec:sgn = 0 -; libsrc/fpstr.pla: 0131: decrec:exp = 0 -; libsrc/fpstr.pla: 0132: fin - !BYTE $64,$0A ; LLB [10] - !BYTE $4E ; BRTRU _B048 - !WORD _B048-* - !BYTE $02 ; CN 1 - !BYTE $74,$0A ; SLB [10] - !BYTE $2A,$30 ; CB 48 - !BYTE $28,$0A ; LLA [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] -_B048 -_B049 -; libsrc/fpstr.pla: 0133: sane:saveZP() -; libsrc/fpstr.pla: 0134: return sane:restoreZP(sane:op2FP(FFEXT|FOD2B, ext, @decrec)) - !BYTE $6A ; LAW _X028+18 -_F000 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $12 ; CN 9 - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$06 ; LLA [6] - !BYTE $6A ; LAW _X028+8 -_F001 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F002 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$2B ; LEAVE 43 -; libsrc/fpstr.pla: 0135: end -; libsrc/fpstr.pla: 0136: // -; libsrc/fpstr.pla: 0137: // Convert extended FP to string using , return string -; libsrc/fpstr.pla: 0138: // -; libsrc/fpstr.pla: 0139: export def ext2str(ext, str, intdigits, fracdigits, format) - ; ext -> [0] - ; str -> [2] - ; intdigits -> [4] - ; fracdigits -> [6] - ; format -> [8] -_P030 ; ext2str(ext, str, intdigits, fracdigits, format)() -_C001 ; ext2str() -; libsrc/fpstr.pla: 0140: byte d, numdigits - ; d -> [10] - ; numdigits -> [11] -; libsrc/fpstr.pla: 0141: word istr, dp, tens - ; istr -> [12] - ; dp -> [14] - ; tens -> [16] -; libsrc/fpstr.pla: 0142: byte decform[t_decformat] - ; decform -> [18] -; libsrc/fpstr.pla: 0143: byte decrec[t_decrecord] - ; decrec -> [22] -; libsrc/fpstr.pla: 0144: -; libsrc/fpstr.pla: 0145: numdigits = intdigits + fracdigits - !BYTE $58,$37,$05 ; ENTER 55,5 -; libsrc/fpstr.pla: 0146: decform:style = format & FPSTR_FIXED -; libsrc/fpstr.pla: 0147: decform:digits = decform:style ?? fracdigits :: numdigits -; libsrc/fpstr.pla: 0148: decrec:exp = 0 -; libsrc/fpstr.pla: 0149: sane:saveZP() -; libsrc/fpstr.pla: 0150: sane:restoreZP(sane:op3FP(FFEXT|FOB2D, @decrec, ext, @decform)) -; libsrc/fpstr.pla: 0151: ^(str+1) = decrec.sgn ?? '-' :: ' ' -; libsrc/fpstr.pla: 0152: if decrec.sig.1 == 'I' -; libsrc/fpstr.pla: 0153: ^(str+2) = 'I' -; libsrc/fpstr.pla: 0154: ^(str+3) = 'n' -; libsrc/fpstr.pla: 0155: ^(str+4) = 'f' -; libsrc/fpstr.pla: 0156: ^str = 4 -; libsrc/fpstr.pla: 0157: return str - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $6E,$12 ; DLW [18] - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* - !BYTE $66,$06 ; LLW [6] - !BYTE $50 ; BRNCH _B051 - !WORD _B051-* -_B050 - !BYTE $64,$0B ; LLB [11] -_B051 - !BYTE $76,$14 ; SLW [20] - !BYTE $00 ; CN 0 - !BYTE $76,$18 ; SLW [24] - !BYTE $6A ; LAW _X028+18 -_F003 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $16 ; CN 11 - !BYTE $28,$16 ; LLA [22] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$12 ; LLA [18] - !BYTE $6A ; LAW _X028+10 -_F004 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F005 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$16 ; LLB [22] - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $2A,$2D ; CB 45 - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B052 - !BYTE $2A,$20 ; CB 32 -_B053 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$49 ; CB 73 - !BYTE $24 ; BRNE _B054 - !WORD _B054-* - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$6E ; CB 110 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2A,$66 ; CB 102 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$37 ; LEAVE 55 -; libsrc/fpstr.pla: 0158: fin -_B054 -_B055 -; libsrc/fpstr.pla: 0159: if decrec.sig.1 == 'N' -; libsrc/fpstr.pla: 0160: ^(str+2) = 'N' -; libsrc/fpstr.pla: 0161: ^(str+3) = 'a' -; libsrc/fpstr.pla: 0162: ^(str+4) = 'N' -; libsrc/fpstr.pla: 0163: ^str = 4 -; libsrc/fpstr.pla: 0164: return str - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$4E ; CB 78 - !BYTE $24 ; BRNE _B056 - !WORD _B056-* - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$61 ; CB 97 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$37 ; LEAVE 55 -; libsrc/fpstr.pla: 0165: fin -_B056 -_B057 -; libsrc/fpstr.pla: 0166: dp = decrec.sig + decrec:exp -; libsrc/fpstr.pla: 0167: if format & FPSTR_EXP -; libsrc/fpstr.pla: 0168: if format & FPSTR_STRIP -; libsrc/fpstr.pla: 0169: // -; libsrc/fpstr.pla: 0170: // Strip off trailing fractional zeros -; libsrc/fpstr.pla: 0171: // -; libsrc/fpstr.pla: 0172: while decrec.sig > 1 and decrec.sig[decrec.sig] == '0' - !BYTE $64,$1A ; LLB [26] - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -_B062 -; libsrc/fpstr.pla: 0173: decrec.sig-- - !BYTE $64,$1A ; LLB [26] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0174: decrec:exp++ - !BYTE $74,$1A ; SLB [26] - !BYTE $66,$18 ; LLW [24] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0175: loop - !BYTE $76,$18 ; SLW [24] -_B064 - !BYTE $64,$1A ; LLB [26] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B065 - !WORD _B065-* - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$1A ; ADDLB [26] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B065 - !BYTE $4E ; BRTRU _B062 - !WORD _B062-* -_B063 -; libsrc/fpstr.pla: 0176: fin -_B060 -_B061 -; libsrc/fpstr.pla: 0177: // -; libsrc/fpstr.pla: 0178: // Copy over all significant digits -; libsrc/fpstr.pla: 0179: // -; libsrc/fpstr.pla: 0180: ^(str+2) = decrec.sig.1 -; libsrc/fpstr.pla: 0181: ^(str+3) = '.' -; libsrc/fpstr.pla: 0182: istr = str + 3 -; libsrc/fpstr.pla: 0183: for d = 2 to decrec.sig - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$2E ; CB 46 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$0C ; SLW [12] - !BYTE $64,$1A ; LLB [26] - !BYTE $04 ; CN 2 - !BYTE $A0 ; BRGT _B066 - !WORD _B066-* -_B067 - !BYTE $6C,$0A ; DLB [10] -; libsrc/fpstr.pla: 0184: istr++ - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0185: ^istr = decrec.sig[d] -; libsrc/fpstr.pla: 0186: next - !BYTE $76,$0C ; SLW [12] - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $60 ; LB - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB -_B068 - !BYTE $A4 ; INCBRLE _B067 - !WORD _B067-* -_B066 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; libsrc/fpstr.pla: 0187: if ^istr == '.'; istr--; fin - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B069 - !WORD _B069-* - !BYTE $66,$0C ; LLW [12] - !BYTE $8E ; DECR - !BYTE $76,$0C ; SLW [12] -_B069 -_B070 -; libsrc/fpstr.pla: 0188: // -; libsrc/fpstr.pla: 0189: // Print exponent as 4 digits with leading zeros -; libsrc/fpstr.pla: 0190: // -; libsrc/fpstr.pla: 0191: istr++ - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0192: ^istr = 'E' -; libsrc/fpstr.pla: 0193: istr++ - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$45 ; CB 69 - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0194: dp-- - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0195: if dp < 0 -; libsrc/fpstr.pla: 0196: ^istr = '-' -; libsrc/fpstr.pla: 0197: dp = -dp -; libsrc/fpstr.pla: 0198: else - !BYTE $6E,$0E ; DLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $2A,$2D ; CB 45 - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $76,$0E ; SLW [14] - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B071 -; libsrc/fpstr.pla: 0199: ^istr = '+' -; libsrc/fpstr.pla: 0200: fin - !BYTE $2A,$2B ; CB 43 - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB -_B072 -; libsrc/fpstr.pla: 0201: tens = 1000 -; libsrc/fpstr.pla: 0202: while tens - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B075 - !WORD _B075-* -_B073 -; libsrc/fpstr.pla: 0203: istr++ - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0204: ^istr = (dp / tens) + '0' -; libsrc/fpstr.pla: 0205: dp = dp % tens -; libsrc/fpstr.pla: 0206: tens = tens / 10 -; libsrc/fpstr.pla: 0207: loop - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $88 ; DIV - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $8A ; MOD - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $76,$10 ; SLW [16] -_B075 - !BYTE $66,$10 ; LLW [16] - !BYTE $4E ; BRTRU _B073 - !WORD _B073-* -_B074 -; libsrc/fpstr.pla: 0208: else - !BYTE $50 ; BRNCH _B059 - !WORD _B059-* -_B058 -; libsrc/fpstr.pla: 0209: if format & FPSTR_STRIP and decrec:exp < 0 -; libsrc/fpstr.pla: 0210: // -; libsrc/fpstr.pla: 0211: // Strip off trailing fractional zeros -; libsrc/fpstr.pla: 0212: // -; libsrc/fpstr.pla: 0213: while decrec.sig > dp and decrec.sig[decrec.sig] == '0' - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $AC ; BRAND _B076 - !WORD _B076-* - !BYTE $66,$18 ; LLW [24] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B076 - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B079 -; libsrc/fpstr.pla: 0214: decrec.sig-- - !BYTE $64,$1A ; LLB [26] - !BYTE $8E ; DECR -; libsrc/fpstr.pla: 0215: decrec:exp++ - !BYTE $74,$1A ; SLB [26] - !BYTE $66,$18 ; LLW [24] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0216: loop - !BYTE $76,$18 ; SLW [24] -_B081 - !BYTE $64,$1A ; LLB [26] - !BYTE $66,$0E ; LLW [14] - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B082 - !WORD _B082-* - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$1A ; ADDLB [26] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B082 - !BYTE $4E ; BRTRU _B079 - !WORD _B079-* -_B080 -; libsrc/fpstr.pla: 0217: fin -_B077 -_B078 -; libsrc/fpstr.pla: 0218: if decrec:sig == 1 | '0'<<8 -; libsrc/fpstr.pla: 0219: // -; libsrc/fpstr.pla: 0220: // Case of zero or underflow -; libsrc/fpstr.pla: 0221: // -; libsrc/fpstr.pla: 0222: if decrec:exp == 0 -; libsrc/fpstr.pla: 0223: // -; libsrc/fpstr.pla: 0224: // Zero -; libsrc/fpstr.pla: 0225: // -; libsrc/fpstr.pla: 0226: if format & FPSTR_FIXED -; libsrc/fpstr.pla: 0227: // -; libsrc/fpstr.pla: 0228: // Add trailing fractional zeros -; libsrc/fpstr.pla: 0229: // -; libsrc/fpstr.pla: 0230: dp = 1 - fracdigits -; libsrc/fpstr.pla: 0231: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $2C,$01,$30 ; CW 12289 - !BYTE $24 ; BRNE _B083 - !WORD _B083-* - !BYTE $66,$18 ; LLW [24] - !BYTE $4E ; BRTRU _B085 - !WORD _B085-* - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $02 ; CN 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $76,$0E ; SLW [14] -_B087 -_B088 -; libsrc/fpstr.pla: 0232: elsif format & FPSTR_FLEX - !BYTE $50 ; BRNCH _B086 - !WORD _B086-* -_B085 -; libsrc/fpstr.pla: 0233: // -; libsrc/fpstr.pla: 0234: // Underflow -; libsrc/fpstr.pla: 0235: // -; libsrc/fpstr.pla: 0236: dp = -fracdigits - 1 -; libsrc/fpstr.pla: 0237: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $66,$06 ; LLW [6] - !BYTE $90 ; NEG - !BYTE $8E ; DECR - !BYTE $76,$0E ; SLW [14] -_B089 -_B086 -; libsrc/fpstr.pla: 0238: fin -_B083 -_B084 -; libsrc/fpstr.pla: 0239: if format & FPSTR_FLEX and (dp < -fracdigits or dp > (format & FPSTR_FIXED ?? intdigits :: numdigits)) -; libsrc/fpstr.pla: 0240: // -; libsrc/fpstr.pla: 0241: // Print as exponent if over/underflow fixed digits -; libsrc/fpstr.pla: 0242: // -; libsrc/fpstr.pla: 0243: if numdigits < 7; numdigits = 7; fin - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $AC ; BRAND _B090 - !WORD _B090-* - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $90 ; NEG - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B091 - !WORD _B091-* - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* - !BYTE $66,$04 ; LLW [4] - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -_B092 - !BYTE $64,$0B ; LLB [11] -_B093 - !BYTE $44 ; ISGT -_B091 -_B090 - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $64,$0B ; LLB [11] - !BYTE $0E ; CN 7 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $0E ; CN 7 - !BYTE $74,$0B ; SLB [11] -_B096 -_B097 -; libsrc/fpstr.pla: 0244: return ext2str(ext, str, 1, numdigits - 7, FPSTR_EXP | (format & FPSTR_STRIP)) - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $64,$0B ; LLB [11] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $08 ; CN 4 - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $96 ; OR - !BYTE $54 ; CALL _C001 -_F006 !WORD _C001 - !BYTE $5A,$37 ; LEAVE 55 -; libsrc/fpstr.pla: 0245: fin -_B094 -_B095 -; libsrc/fpstr.pla: 0246: // -; libsrc/fpstr.pla: 0247: // Convert as floating point -; libsrc/fpstr.pla: 0248: // -; libsrc/fpstr.pla: 0249: if dp <= 0 -; libsrc/fpstr.pla: 0250: *(str+2) = '0'|('.'<<8) -; libsrc/fpstr.pla: 0251: istr = str + 3 -; libsrc/fpstr.pla: 0252: while dp < 0 - !BYTE $66,$0E ; LLW [14] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* - !BYTE $2C,$30,$2E ; CW 11824 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B102 - !WORD _B102-* -_B100 -; libsrc/fpstr.pla: 0253: dp++ - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0254: istr++ - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0255: ^istr = '0' -; libsrc/fpstr.pla: 0256: loop - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB -_B102 - !BYTE $66,$0E ; LLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B100 - !WORD _B100-* -_B101 -; libsrc/fpstr.pla: 0257: else - !BYTE $50 ; BRNCH _B099 - !WORD _B099-* -_B098 -; libsrc/fpstr.pla: 0258: istr = str + 1 -; libsrc/fpstr.pla: 0259: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $76,$0C ; SLW [12] -_B099 -; libsrc/fpstr.pla: 0260: for d = 1 to decrec.sig - !BYTE $64,$1A ; LLB [26] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B103 - !WORD _B103-* -_B104 - !BYTE $6C,$0A ; DLB [10] -; libsrc/fpstr.pla: 0261: istr++ - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0262: ^istr = decrec.sig[d] -; libsrc/fpstr.pla: 0263: if d == dp -; libsrc/fpstr.pla: 0264: istr++ - !BYTE $76,$0C ; SLW [12] - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $60 ; LB - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $24 ; BRNE _B106 - !WORD _B106-* - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR -; libsrc/fpstr.pla: 0265: ^istr = '.' -; libsrc/fpstr.pla: 0266: fin - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$2E ; CB 46 - !BYTE $66,$0C ; LLW [12] - !BYTE $70 ; SB -_B106 -_B107 -; libsrc/fpstr.pla: 0267: next -_B105 - !BYTE $A4 ; INCBRLE _B104 - !WORD _B104-* -_B103 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; libsrc/fpstr.pla: 0268: if ^istr == '.'; istr--; fin - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B108 - !WORD _B108-* - !BYTE $66,$0C ; LLW [12] - !BYTE $8E ; DECR - !BYTE $76,$0C ; SLW [12] -_B108 -_B109 -; libsrc/fpstr.pla: 0269: fin -_B059 -; libsrc/fpstr.pla: 0270: ^str = istr - str -; libsrc/fpstr.pla: 0271: return str - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$37 ; LEAVE 55 -; libsrc/fpstr.pla: 0272: end -; libsrc/fpstr.pla: 0273: // -; libsrc/fpstr.pla: 0274: // Keep module in memory -; libsrc/fpstr.pla: 0275: // -; libsrc/fpstr.pla: 0276: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/fpstr.pla: 0277: done -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: STR2EXT - !BYTE $D3,$D4,$D2,$B2,$C5,$D8,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: EXT2STR - !BYTE $C5,$D8,$D4,$B2,$D3,$D4,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/fpu.a b/src/libsrc/fpu.a deleted file mode 100644 index aab373c..0000000 --- a/src/libsrc/fpu.a +++ /dev/null @@ -1,3892 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/fpu.pla: 0001: // -; libsrc/fpu.pla: 0002: // SANE stack-based Floating Point Unit library -; libsrc/fpu.pla: 0003: // -; libsrc/fpu.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/fpu.pla: 0004: -; libsrc/fpu.pla: 0005: include "inc/sane.plh" -; inc/sane.plh: 0001: import sane - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - ; SANE -> X028 -; inc/sane.plh: 0002: //----------------------------------------------------------- -; inc/sane.plh: 0003: // Operation code masks. -; inc/sane.plh: 0004: //----------------------------------------------------------- -; inc/sane.plh: 0005: const FOADD = $0000 // add - ; FOADD = 0 -; inc/sane.plh: 0006: const FOSUB = $0002 // subtract - ; FOSUB = 2 -; inc/sane.plh: 0007: const FOMUL = $0004 // multiply - ; FOMUL = 4 -; inc/sane.plh: 0008: const FODIV = $0006 // divide - ; FODIV = 6 -; inc/sane.plh: 0009: const FOCMP = $0008 // compare, no exception from unordered - ; FOCMP = 8 -; inc/sane.plh: 0010: const FOCPX = $000A // compare, signal invalid if unordered - ; FOCPX = 10 -; inc/sane.plh: 0011: const FOREM = $000C // remainder - ; FOREM = 12 -; inc/sane.plh: 0012: const FOZ2X = $000E // convert to extended - ; FOZ2X = 14 -; inc/sane.plh: 0013: const FOX2Z = $0010 // convert from extended - ; FOX2Z = 16 -; inc/sane.plh: 0014: const FOSQRT = $0012 // square root - ; FOSQRT = 18 -; inc/sane.plh: 0015: const FORTI = $0014 // round to integral value - ; FORTI = 20 -; inc/sane.plh: 0016: const FOTTI = $0016 // truncate to integral value - ; FOTTI = 22 -; inc/sane.plh: 0017: const FOSCALB = $0018 // binary scale - ; FOSCALB = 24 -; inc/sane.plh: 0018: const FOLOGB = $001A // binary log - ; FOLOGB = 26 -; inc/sane.plh: 0019: const FOCLASS = $001C // classify - ; FOCLASS = 28 -; inc/sane.plh: 0020: const FONEXT = $001E // next-after - ; FONEXT = 30 -; inc/sane.plh: 0021: // -; inc/sane.plh: 0022: const FOSETENV = $0001 // set environment - ; FOSETENV = 1 -; inc/sane.plh: 0023: const FOGETENV = $0003 // get environment - ; FOGETENV = 3 -; inc/sane.plh: 0024: const FOSETHV = $0005 // set halt vector - ; FOSETHV = 5 -; inc/sane.plh: 0025: const FOGETHV = $0007 // get halt vector - ; FOGETHV = 7 -; inc/sane.plh: 0026: const FOD2B = $0009 // convert decimal to binary - ; FOD2B = 9 -; inc/sane.plh: 0027: const FOB2D = $000B // convert binary to decimal - ; FOB2D = 11 -; inc/sane.plh: 0028: const FONEG = $000D // negate - ; FONEG = 13 -; inc/sane.plh: 0029: const FOABS = $000F // absolute value - ; FOABS = 15 -; inc/sane.plh: 0030: const FOCPYSGN = $0011 // copy sign - ; FOCPYSGN = 17 -; inc/sane.plh: 0031: // UNDEFINED = $0013 -; inc/sane.plh: 0032: const FOSETXCP = $0015 // set exception - ; FOSETXCP = 21 -; inc/sane.plh: 0033: const FOPROCENTRY = $0017 // procedure-entry - ; FOPROCENTRY = 23 -; inc/sane.plh: 0034: const FOPROCEXIT = $0019 // procedure-exit - ; FOPROCEXIT = 25 -; inc/sane.plh: 0035: const FOTESTXCP = $001B // test exception - ; FOTESTXCP = 27 -; inc/sane.plh: 0036: // UNDEFINED = $001D -; inc/sane.plh: 0037: // UNDEFINED = $001F -; inc/sane.plh: 0038: //----------------------------------------------------------- -; inc/sane.plh: 0039: // Operand format masks. -; inc/sane.plh: 0040: //----------------------------------------------------------- -; inc/sane.plh: 0041: const FFEXT = $0000 // extended -- 80-bit float - ; FFEXT = 0 -; inc/sane.plh: 0042: const FFDBL = $0100 // double -- 64-bit float - ; FFDBL = 256 -; inc/sane.plh: 0043: const FFSGL = $0200 // single -- 32-bit float - ; FFSGL = 512 -; inc/sane.plh: 0044: // UNDEFINED = $0300 -; inc/sane.plh: 0045: const FFINT = $0400 // integer -- 16-bit integer - ; FFINT = 1024 -; inc/sane.plh: 0046: const FFCOMP = $0500 // comp -- 64-bit integer - ; FFCOMP = 1280 -; inc/sane.plh: 0047: // UNDEFINED = $0600 -; inc/sane.plh: 0048: // UNDEFINED = $0700 -; inc/sane.plh: 0049: //----------------------------------------------------------- -; inc/sane.plh: 0050: // Class. -; inc/sane.plh: 0051: //----------------------------------------------------------- -; inc/sane.plh: 0052: const FCSNAN = $FC // -4: signaling NAN - ; FCSNAN = 252 -; inc/sane.plh: 0053: const FCQNAN = $FD // -3: quiet NAN - ; FCQNAN = 253 -; inc/sane.plh: 0054: const FCINF = $FE // -2: infinite - ; FCINF = 254 -; inc/sane.plh: 0055: const FCZERO = $FF // -1: zero - ; FCZERO = 255 -; inc/sane.plh: 0056: const FCNORM = $00 // 0: normal - ; FCNORM = 0 -; inc/sane.plh: 0057: const FCDENORM = $01 // 1: denormal - ; FCDENORM = 1 -; inc/sane.plh: 0058: //----------------------------------------------------------- -; inc/sane.plh: 0059: // Exceptions. -; inc/sane.plh: 0060: //----------------------------------------------------------- -; inc/sane.plh: 0061: const FBINVALID = $01 - ; FBINVALID = 1 -; inc/sane.plh: 0062: const FBUFLOW = $02 - ; FBUFLOW = 2 -; inc/sane.plh: 0063: const FBOFLOW = $04 - ; FBOFLOW = 4 -; inc/sane.plh: 0064: const FBDIVZER = $08 - ; FBDIVZER = 8 -; inc/sane.plh: 0065: const FBINEXACT = $10 - ; FBINEXACT = 16 -; inc/sane.plh: 0066: //----------------------------------------------------------- -; inc/sane.plh: 0067: // Elementary function operation code masks. -; inc/sane.plh: 0068: //----------------------------------------------------------- -; inc/sane.plh: 0069: const FOLNX = $0000 // base-e log - ; FOLNX = 0 -; inc/sane.plh: 0070: const FOLOG2X = $0002 // base-2 log - ; FOLOG2X = 2 -; inc/sane.plh: 0071: const FOLN1X = $0004 // ln (1 + x) - ; FOLN1X = 4 -; inc/sane.plh: 0072: const FOLOG21X = $0006 // log2 (1 + x) - ; FOLOG21X = 6 -; inc/sane.plh: 0073: const FOEXPX = $0008 // base-e exponential - ; FOEXPX = 8 -; inc/sane.plh: 0074: const FOEXP2X = $000A // base-2 exponential - ; FOEXP2X = 10 -; inc/sane.plh: 0075: const FOEXP1X = $000C // exp (x) - 1 - ; FOEXP1X = 12 -; inc/sane.plh: 0076: const FOEXP21X = $000E // exp2 (x) - 1 - ; FOEXP21X = 14 -; inc/sane.plh: 0077: const FOXPWRI = $0010 // integer exponentiation - ; FOXPWRI = 16 -; inc/sane.plh: 0078: const FOXPWRY = $0012 // general exponentiation - ; FOXPWRY = 18 -; inc/sane.plh: 0079: const FOCOMPND = $0014 // compound - ; FOCOMPND = 20 -; inc/sane.plh: 0080: const FOANNUIT = $0016 // annuity - ; FOANNUIT = 22 -; inc/sane.plh: 0081: const FOATANX = $0018 // arctangent - ; FOATANX = 24 -; inc/sane.plh: 0082: const FOSINX = $001A // sine - ; FOSINX = 26 -; inc/sane.plh: 0083: const FOCOSX = $001C // cosine - ; FOCOSX = 28 -; inc/sane.plh: 0084: const FOTANX = $001E // tangent - ; FOTANX = 30 -; inc/sane.plh: 0085: const FORANDX = $0020 // random - ; FORANDX = 32 -; inc/sane.plh: 0086: //----------------------------------------------------------- -; inc/sane.plh: 0087: // NaN error codes. -; inc/sane.plh: 0088: //----------------------------------------------------------- -; inc/sane.plh: 0089: const NANSQRT = 1 // Invalid square root such as sqrt(-1). - ; NANSQRT = 1 -; inc/sane.plh: 0090: const NANADD = 2 // Invalid addition such as +INF - +INF. - ; NANADD = 2 -; inc/sane.plh: 0091: const NANDIV = 4 // Invalid division such as 0/0. - ; NANDIV = 4 -; inc/sane.plh: 0092: const NANMUL = 8 // Invalid multiply such as 0 * INF. - ; NANMUL = 8 -; inc/sane.plh: 0093: const NANREM = 9 // Invalid remainder or mod such as x REM 0. - ; NANREM = 9 -; inc/sane.plh: 0094: const NANASCBIN = 17 // Attempt to convert invalid ASCII string. - ; NANASCBIN = 17 -; inc/sane.plh: 0095: const NANCOMP = 20 // Result of converting comp NaN to floating. - ; NANCOMP = 20 -; inc/sane.plh: 0096: const NANZERO = 21 // Attempt to create a NaN with a zero code. - ; NANZERO = 21 -; inc/sane.plh: 0097: const NANTRIG = 33 // Invalid argument to trig routine. - ; NANTRIG = 33 -; inc/sane.plh: 0098: const NANINVTRIG = 34 // Invalid argument to inverse trig routine. - ; NANINVTRIG = 34 -; inc/sane.plh: 0099: const NANLOG = 36 // Invalid argument to log routine. - ; NANLOG = 36 -; inc/sane.plh: 0100: const NANPOWER = 37 // Invalid argument to x^i or x^y routine. - ; NANPOWER = 37 -; inc/sane.plh: 0101: const NANFINAN = 38 // Invalid argument to financial function. - ; NANFINAN = 38 -; inc/sane.plh: 0102: const NANINIT = 255 // Uninitialized storage. - ; NANINIT = 255 -; inc/sane.plh: 0103: //----------------------------------------------------------- -; inc/sane.plh: 0104: // Comparison results. -; inc/sane.plh: 0105: //----------------------------------------------------------- -; inc/sane.plh: 0106: const FCMPGT = $4040 // Greater Than - ; FCMPGT = 16448 -; inc/sane.plh: 0107: const FCMPLT = $8080 // Less Than - ; FCMPLT = 32896 -; inc/sane.plh: 0108: const FCMPEQ = $0002 // EQual - ; FCMPEQ = 2 -; inc/sane.plh: 0109: const FCMPUN = $0101 // UNordered - ; FCMPUN = 257 -; inc/sane.plh: 0110: //----------------------------------------------------------- -; inc/sane.plh: 0111: // -; inc/sane.plh: 0112: // Data types -; inc/sane.plh: 0113: // -; inc/sane.plh: 0114: struc t_single -; inc/sane.plh: 0115: byte[3] s_mantissa - ; s_mantissa = 0 -; inc/sane.plh: 0116: byte s_exponent - ; s_exponent = 3 -; inc/sane.plh: 0117: end - ; t_single = 4 -; inc/sane.plh: 0118: struc t_double -; inc/sane.plh: 0119: byte[6] d_mantissa - ; d_mantissa = 0 -; inc/sane.plh: 0120: word d_exponent - ; d_exponent = 6 -; inc/sane.plh: 0121: end - ; t_double = 8 -; inc/sane.plh: 0122: struc t_extended -; inc/sane.plh: 0123: byte[8] x_mantissa - ; x_mantissa = 0 -; inc/sane.plh: 0124: word x_exponent - ; x_exponent = 8 -; inc/sane.plh: 0125: end - ; t_extended = 10 -; inc/sane.plh: 0126: struc t_bigint -; inc/sane.plh: 0127: byte[8] l_int - ; l_int = 0 -; inc/sane.plh: 0128: end - ; t_bigint = 8 -; inc/sane.plh: 0129: // -; inc/sane.plh: 0130: // SANE PLASMA interface -; inc/sane.plh: 0131: // -; inc/sane.plh: 0132: struc t_sane -; inc/sane.plh: 0133: word initFP - ; initFP = 0 -; inc/sane.plh: 0134: word haltFP - ; haltFP = 2 -; inc/sane.plh: 0135: word op0FP - ; op0FP = 4 -; inc/sane.plh: 0136: word op1FP - ; op1FP = 6 -; inc/sane.plh: 0137: word op2FP - ; op2FP = 8 -; inc/sane.plh: 0138: word op3FP - ; op3FP = 10 -; inc/sane.plh: 0139: word op1ELEM - ; op1ELEM = 12 -; inc/sane.plh: 0140: word op2ELEM - ; op2ELEM = 14 -; inc/sane.plh: 0141: word op3ELEM - ; op3ELEM = 16 -; inc/sane.plh: 0142: word saveZP - ; saveZP = 18 -; inc/sane.plh: 0143: word restoreZP - ; restoreZP = 20 -; inc/sane.plh: 0144: end - ; t_sane = 22 -; inc/sane.plh: 0145: end -; libsrc/fpu.pla: 0005: -; libsrc/fpu.pla: 0006: include "inc/fpstr.plh" -; inc/fpstr.plh: 0001: import fpstr - ; DCI STRING: FPSTR - !BYTE $C6,$D0,$D3,$D4,$52 - ; FPSTR -> X029 -; inc/fpstr.plh: 0002: // -; inc/fpstr.plh: 0003: // String formatting bits -; inc/fpstr.plh: 0004: // -; inc/fpstr.plh: 0005: const FPSTR_FIXED = 1 // Fixed count of fractional digits - ; FPSTR_FIXED = 1 -; inc/fpstr.plh: 0006: const FPSTR_FLOAT = 0 // Floating count of fractional digits - ; FPSTR_FLOAT = 0 -; inc/fpstr.plh: 0007: const FPSTR_STRIP = 2 // Strip trailing fractional zeros - ; FPSTR_STRIP = 2 -; inc/fpstr.plh: 0008: const FPSTR_EXP = 4 // Force exponential format - ; FPSTR_EXP = 4 -; inc/fpstr.plh: 0009: const FPSTR_FLEX = 8 // Flexible switch to EXP format if over/underflow - ; FPSTR_FLEX = 8 -; inc/fpstr.plh: 0010: // -; inc/fpstr.plh: 0011: // Parse string into decrecord, return SANE conversion output -; inc/fpstr.plh: 0012: // -; inc/fpstr.plh: 0013: predef str2ext(str, ext)#1 - ; STR2EXT -> X030 -; inc/fpstr.plh: 0014: // -; inc/fpstr.plh: 0015: // Convert extended FP to string using , return string -; inc/fpstr.plh: 0016: // -; inc/fpstr.plh: 0017: predef ext2str(ext, str, intdigits, fracdigits, format)#1 - ; EXT2STR -> X031 -; inc/fpstr.plh: 0018: end -; libsrc/fpu.pla: 0006: -; libsrc/fpu.pla: 0007: // -; libsrc/fpu.pla: 0008: // External interface to FPU library -; libsrc/fpu.pla: 0009: // -; libsrc/fpu.pla: 0010: predef reset, getEnv, setEnv(env), testExcept(except), setExcept(except), enterProc(pEnv), exitProc(env) - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/fpu.pla: 0011: predef constPi, constE -; libsrc/fpu.pla: 0012: predef pushInt(pInt), pushSgl(pSgl), pushDbl(pDbl), pushExt(pExt), pushStr(pStr) -; libsrc/fpu.pla: 0013: predef pullInt(pInt), pullSgl(pSgl), pullDbl(pDbl), pullExt(pExt), pullStr(pStr,intdigits,fracdigits,format) -; libsrc/fpu.pla: 0014: predef loadInt(pInt,reg), loadSgl(pSgl,reg), loadDbl(pDbl,reg), loadExt(pExt,reg), loadStr(pStr,reg) -; libsrc/fpu.pla: 0015: predef storInt(pInt,reg), storSgl(pSgl,reg), storDbl(pDbl,reg), storExt(pExt,reg), storStr(pStr,intdigits,fracdigits,format,reg) -; libsrc/fpu.pla: 0016: predef shiftUp, shiftDown, rotateUp, rotateDown, dup, swap, clear -; libsrc/fpu.pla: 0017: predef add, sub, mul, div, rem -; libsrc/fpu.pla: 0018: predef neg, abs, type, cmp, logb, scalb(scale), trunc, round, sqrt, squared -; libsrc/fpu.pla: 0019: predef cos, sin, tan, atan -; libsrc/fpu.pla: 0020: predef log2X, log21X, lnX, ln1X, pow2X, pow21X, powEX, powE1X, powE21X, powXInt(powInt), powXY -; libsrc/fpu.pla: 0021: predef compXY, annuityXY, randNum(pSeed) -; libsrc/fpu.pla: 0022: // -; libsrc/fpu.pla: 0023: // FP6502 functions -; libsrc/fpu.pla: 0024: // -; libsrc/fpu.pla: 0025: //export word fpu = @reset -; libsrc/fpu.pla: 0026: word fpu = @reset -_D101 ; fpu = @reset -_F000 !WORD _P000 -; libsrc/fpu.pla: 0027: word = @setEnv, @getEnv, @testExcept, @setExcept, @enterProc, @exitProc -_F001 !WORD _P002 -_F002 !WORD _P001 -_F003 !WORD _P003 -_F004 !WORD _P004 -_F005 !WORD _P005 -_F006 !WORD _P006 -; libsrc/fpu.pla: 0028: word = @constPi, @constE -_F007 !WORD _P007 -_F008 !WORD _P008 -; libsrc/fpu.pla: 0029: word = @pushInt, @pushSgl, @pushDbl, @pushExt, @pushStr -_F009 !WORD _P009 -_F010 !WORD _P010 -_F011 !WORD _P011 -_F012 !WORD _P012 -_F013 !WORD _P013 -; libsrc/fpu.pla: 0030: word = @pullInt, @pullSgl, @pullDbl, @pullExt, @pullStr -_F014 !WORD _P014 -_F015 !WORD _P015 -_F016 !WORD _P016 -_F017 !WORD _P017 -_F018 !WORD _P018 -; libsrc/fpu.pla: 0031: word = @loadInt, @loadSgl, @loadDbl, @loadExt, @loadStr -_F019 !WORD _P019 -_F020 !WORD _P020 -_F021 !WORD _P021 -_F022 !WORD _P022 -_F023 !WORD _P023 -; libsrc/fpu.pla: 0032: word = @storInt, @storSgl, @storDbl, @storExt, @storStr -_F024 !WORD _P024 -_F025 !WORD _P025 -_F026 !WORD _P026 -_F027 !WORD _P027 -_F028 !WORD _P028 -; libsrc/fpu.pla: 0033: word = @shiftUp, @shiftDown, @rotateUp, @rotateDown, @dup, @swap, @clear -_F029 !WORD _P029 -_F030 !WORD _P030 -_F031 !WORD _P031 -_F032 !WORD _P032 -_F033 !WORD _P033 -_F034 !WORD _P034 -_F035 !WORD _P035 -; libsrc/fpu.pla: 0034: word = @add, @sub, @mul, @div, @rem -_F036 !WORD _P036 -_F037 !WORD _P037 -_F038 !WORD _P038 -_F039 !WORD _P039 -_F040 !WORD _P040 -; libsrc/fpu.pla: 0035: word = @neg, @abs, @type, @cmp -_F041 !WORD _P041 -_F042 !WORD _P042 -_F043 !WORD _P043 -_F044 !WORD _P044 -; libsrc/fpu.pla: 0036: word = @logb, @scalb, @trunc, @round, @sqrt, @squared -_F045 !WORD _P045 -_F046 !WORD _P046 -_F047 !WORD _P047 -_F048 !WORD _P048 -_F049 !WORD _P049 -_F050 !WORD _P050 -; libsrc/fpu.pla: 0037: // -; libsrc/fpu.pla: 0038: // ELEMS6502 functions -; libsrc/fpu.pla: 0039: // -; libsrc/fpu.pla: 0040: word = @cos, @sin, @tan, @atan -_F051 !WORD _P051 -_F052 !WORD _P052 -_F053 !WORD _P053 -_F054 !WORD _P054 -; libsrc/fpu.pla: 0041: word = @log2X, @log21X, @lnX, @ln1X, @pow2X, @pow21X, @powEX, @powE1X, @powE21X, @powXInt, @powXY -_F055 !WORD _P055 -_F056 !WORD _P056 -_F057 !WORD _P057 -_F058 !WORD _P058 -_F059 !WORD _P059 -_F060 !WORD _P060 -_F061 !WORD _P061 -_F062 !WORD _P062 -_F063 !WORD _P063 -_F064 !WORD _P064 -_F065 !WORD _P065 -; libsrc/fpu.pla: 0042: word = @compXY, @annuityXY, @randNum -_F066 !WORD _P066 -_F067 !WORD _P067 -_F068 !WORD _P068 -; libsrc/fpu.pla: 0043: // -; libsrc/fpu.pla: 0044: // Useful constants -; libsrc/fpu.pla: 0045: // -; libsrc/fpu.pla: 0046: byte ext_pi[t_extended] = $35,$C2,$68,$21,$A2,$DA,$0F,$C9,$00,$40 -_D102 ; ext_pi[t_extended] = $35,$C2,$68,$21,$A2,$DA,$0F,$C9,$00,$40 - !BYTE $35 - !BYTE $C2 - !BYTE $68 - !BYTE $21 - !BYTE $A2 - !BYTE $DA - !BYTE $0F - !BYTE $C9 - !BYTE $00 - !BYTE $40 -; libsrc/fpu.pla: 0047: byte ext_e[t_extended] = $9B,$4A,$BB,$A2,$5B,$54,$F8,$AD,$00,$40 -_D103 ; ext_e[t_extended] = $9B,$4A,$BB,$A2,$5B,$54,$F8,$AD,$00,$40 - !BYTE $9B - !BYTE $4A - !BYTE $BB - !BYTE $A2 - !BYTE $5B - !BYTE $54 - !BYTE $F8 - !BYTE $AD - !BYTE $00 - !BYTE $40 -; libsrc/fpu.pla: 0048: // -; libsrc/fpu.pla: 0049: // FP Stack -; libsrc/fpu.pla: 0050: // -; libsrc/fpu.pla: 0051: byte stack[t_extended*4] -_D104 !FILL 40 ; stack[t_extended*4] -; libsrc/fpu.pla: 0052: word stackRegs[4] -_D105 !FILL 8 ; stackRegs[4] -; libsrc/fpu.pla: 0053: // -; libsrc/fpu.pla: 0054: // Environment access -; libsrc/fpu.pla: 0055: // -; libsrc/fpu.pla: 0056: def setEnv(env) -_SUBSEG ; BYTECODE STARTS - ; env -> [0] -_P002 ; setEnv(env)() -_C000 ; setEnv() -; libsrc/fpu.pla: 0057: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0058: return sane:restoreZP(sane:op1FP(FOSETENV, env)) - !BYTE $6A ; LAW _X028+18 -_F069 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F070 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F071 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0059: end -; libsrc/fpu.pla: 0060: def getEnv -_P001 ; getEnv() -_C001 ; getEnv() -; libsrc/fpu.pla: 0061: sane:saveZP() -; libsrc/fpu.pla: 0062: return sane:restoreZP(sane:op0FP(FOGETENV)) - !BYTE $6A ; LAW _X028+18 -_F072 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+4 -_F073 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F074 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0063: end -; libsrc/fpu.pla: 0064: def testExcept(except) - ; except -> [0] -_P003 ; testExcept(except)() -_C002 ; testExcept() -; libsrc/fpu.pla: 0065: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0066: return sane:restoreZP(sane:op1FP(FOTESTXCP, except)) - !BYTE $6A ; LAW _X028+18 -_F075 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1B ; CB 27 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F076 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F077 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0067: end -; libsrc/fpu.pla: 0068: def setExcept(except) - ; except -> [0] -_P004 ; setExcept(except)() -_C003 ; setExcept() -; libsrc/fpu.pla: 0069: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0070: return sane:restoreZP(sane:op1FP(FOSETXCP, except)) - !BYTE $6A ; LAW _X028+18 -_F078 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$15 ; CB 21 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F079 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F080 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0071: end -; libsrc/fpu.pla: 0072: def enterProc(pEnv) - ; pEnv -> [0] -_P005 ; enterProc(pEnv)() -_C004 ; enterProc() -; libsrc/fpu.pla: 0073: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0074: return sane:restoreZP(sane:op1FP(FOPROCENTRY, pEnv)) - !BYTE $6A ; LAW _X028+18 -_F081 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$17 ; CB 23 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F082 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F083 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0075: end -; libsrc/fpu.pla: 0076: def exitProc(env) - ; env -> [0] -_P006 ; exitProc(env)() -_C005 ; exitProc() -; libsrc/fpu.pla: 0077: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0078: return sane:restoreZP(sane:op1FP(FOPROCEXIT, env)) - !BYTE $6A ; LAW _X028+18 -_F084 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$19 ; CB 25 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F085 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F086 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0079: end -; libsrc/fpu.pla: 0080: // -; libsrc/fpu.pla: 0081: // Stack manipulation routines -; libsrc/fpu.pla: 0082: // -; libsrc/fpu.pla: 0083: def rotateUp -_P031 ; rotateUp() -_C006 ; rotateUp() -; libsrc/fpu.pla: 0084: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] -; libsrc/fpu.pla: 0085: return 0 - !BYTE $6A ; LAW _D105+6 -_F087 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F088 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F089 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F090 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F091 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F092 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F093 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F094 !WORD _D105+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0086: end -; libsrc/fpu.pla: 0087: def rotateDown -_P032 ; rotateDown() -_C007 ; rotateDown() -; libsrc/fpu.pla: 0088: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[1], stackRegs[2], stackRegs[3], stackRegs[0] -; libsrc/fpu.pla: 0089: return 0 - !BYTE $6A ; LAW _D105+2 -_F095 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F096 !WORD _D105+4 - !BYTE $6A ; LAW _D105+6 -_F097 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F098 !WORD _D105+0 - !BYTE $7A ; SAW _D105+6 -_F099 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F100 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F101 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F102 !WORD _D105+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0090: end -; libsrc/fpu.pla: 0091: def shiftUp -_P029 ; shiftUp() -_C008 ; shiftUp() -; libsrc/fpu.pla: 0092: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] -; libsrc/fpu.pla: 0093: memcpy(stackRegs[0], stackRegs[1], t_extended) -; libsrc/fpu.pla: 0094: return 0 - !BYTE $6A ; LAW _D105+6 -_F103 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F104 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F105 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F106 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F107 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F108 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F109 !WORD _D105+2 - !BYTE $7E ; DAW _D105+0 -_F110 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F111 !WORD _D105+2 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F112 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0095: end -; libsrc/fpu.pla: 0096: def shiftDown // drop -_P030 ; shiftDown // drop() -_C009 ; shiftDown() -; libsrc/fpu.pla: 0097: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[1], stackRegs[2], stackRegs[3], stackRegs[0] -; libsrc/fpu.pla: 0098: memcpy(stackRegs[3], stackRegs[2], t_extended) -; libsrc/fpu.pla: 0099: return 0 - !BYTE $6A ; LAW _D105+2 -_F113 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F114 !WORD _D105+4 - !BYTE $6A ; LAW _D105+6 -_F115 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F116 !WORD _D105+0 - !BYTE $7A ; SAW _D105+6 -_F117 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F118 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F119 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F120 !WORD _D105+0 - !BYTE $6A ; LAW _D105+6 -_F121 !WORD _D105+6 - !BYTE $6A ; LAW _D105+4 -_F122 !WORD _D105+4 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F123 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0100: end -; libsrc/fpu.pla: 0101: def _drop(passthru) // Internal version with passthru - ; passthru -> [0] -_C010 ; _drop() -; libsrc/fpu.pla: 0102: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[1], stackRegs[2], stackRegs[3], stackRegs[0] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0103: memcpy(stackRegs[3], stackRegs[2], t_extended) -; libsrc/fpu.pla: 0104: return passthru - !BYTE $6A ; LAW _D105+2 -_F124 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F125 !WORD _D105+4 - !BYTE $6A ; LAW _D105+6 -_F126 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F127 !WORD _D105+0 - !BYTE $7A ; SAW _D105+6 -_F128 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F129 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F130 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F131 !WORD _D105+0 - !BYTE $6A ; LAW _D105+6 -_F132 !WORD _D105+6 - !BYTE $6A ; LAW _D105+4 -_F133 !WORD _D105+4 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F134 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0105: end -; libsrc/fpu.pla: 0106: def swap -_P034 ; swap() -_C011 ; swap() -; libsrc/fpu.pla: 0107: stackRegs[0], stackRegs[1] = stackRegs[1], stackRegs[0] -; libsrc/fpu.pla: 0108: return 0 - !BYTE $6A ; LAW _D105+2 -_F135 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F136 !WORD _D105+0 - !BYTE $7A ; SAW _D105+2 -_F137 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F138 !WORD _D105+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0109: end -; libsrc/fpu.pla: 0110: def _swap(passthru) // Internal version with passthru - ; passthru -> [0] -_C012 ; _swap() -; libsrc/fpu.pla: 0111: stackRegs[0], stackRegs[1] = stackRegs[1], stackRegs[0] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0112: return passthru - !BYTE $6A ; LAW _D105+2 -_F139 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F140 !WORD _D105+0 - !BYTE $7A ; SAW _D105+2 -_F141 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F142 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0113: end -; libsrc/fpu.pla: 0114: def dup -_P033 ; dup() -_C013 ; dup() -; libsrc/fpu.pla: 0115: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] -; libsrc/fpu.pla: 0116: memcpy(stackRegs[0], stackRegs[1], t_extended) -; libsrc/fpu.pla: 0117: return 0 - !BYTE $6A ; LAW _D105+6 -_F143 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F144 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F145 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F146 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F147 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F148 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F149 !WORD _D105+2 - !BYTE $7E ; DAW _D105+0 -_F150 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F151 !WORD _D105+2 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F152 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0118: end -; libsrc/fpu.pla: 0119: def clear -_P035 ; clear() -_C014 ; clear() -; libsrc/fpu.pla: 0120: word zero - ; zero -> [0] -; libsrc/fpu.pla: 0121: zero = 0 - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu.pla: 0122: sane:saveZP() -; libsrc/fpu.pla: 0123: return sane:restoreZP(sane:op2FP(FFINT|FOZ2X, stackRegs[0], @zero)) - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _X028+18 -_F153 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $6A ; LAW _D105+0 -_F154 !WORD _D105+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _X028+8 -_F155 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F156 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0124: end -; libsrc/fpu.pla: 0125: // -; libsrc/fpu.pla: 0126: // Stack access -; libsrc/fpu.pla: 0127: // -; libsrc/fpu.pla: 0128: def pushInt(pInt) - ; pInt -> [0] -_P009 ; pushInt(pInt)() -_C015 ; pushInt() -; libsrc/fpu.pla: 0129: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0130: sane:saveZP() -; libsrc/fpu.pla: 0131: return sane:restoreZP(sane:op2FP(FFINT|FOZ2X, stackRegs[0], pInt)) - !BYTE $6A ; LAW _D105+6 -_F157 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F158 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F159 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F160 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F161 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F162 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F163 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F164 !WORD _D105+0 - !BYTE $6A ; LAW _X028+18 -_F165 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $6A ; LAW _D105+0 -_F166 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F167 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F168 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0132: end -; libsrc/fpu.pla: 0133: def pullInt(pInt) - ; pInt -> [0] -_P014 ; pullInt(pInt)() -_C016 ; pullInt() -; libsrc/fpu.pla: 0134: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0135: return _drop(sane:restoreZP(sane:op2FP(FFINT|FOX2Z, pInt, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F169 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D105+0 -_F170 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F171 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F172 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F173 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0136: end -; libsrc/fpu.pla: 0137: def loadInt(pInt, reg) - ; pInt -> [0] - ; reg -> [2] -_P019 ; loadInt(pInt, reg)() -_C017 ; loadInt() -; libsrc/fpu.pla: 0138: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0139: return sane:restoreZP(sane:op2FP(FFINT|FOZ2X, stackRegs[reg & $03], pInt)) - !BYTE $6A ; LAW _X028+18 -_F174 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D105+0 -_F175 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F176 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F177 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0140: end -; libsrc/fpu.pla: 0141: def storInt(pInt, reg) - ; pInt -> [0] - ; reg -> [2] -_P024 ; storInt(pInt, reg)() -_C018 ; storInt() -; libsrc/fpu.pla: 0142: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0143: return sane:restoreZP(sane:op2FP(FFINT|FOX2Z, pInt, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F178 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D105+0 -_F179 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F180 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F181 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0144: end -; libsrc/fpu.pla: 0145: def pushSgl(pSgl) - ; pSgl -> [0] -_P010 ; pushSgl(pSgl)() -_C019 ; pushSgl() -; libsrc/fpu.pla: 0146: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0147: sane:saveZP() -; libsrc/fpu.pla: 0148: return sane:restoreZP(sane:op2FP(FFSGL|FOZ2X, stackRegs[0], pSgl)) - !BYTE $6A ; LAW _D105+6 -_F182 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F183 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F184 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F185 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F186 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F187 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F188 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F189 !WORD _D105+0 - !BYTE $6A ; LAW _X028+18 -_F190 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$02 ; CW 526 - !BYTE $6A ; LAW _D105+0 -_F191 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F192 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F193 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0149: end -; libsrc/fpu.pla: 0150: def pullSgl(pSgl) - ; pSgl -> [0] -_P015 ; pullSgl(pSgl)() -_C020 ; pullSgl() -; libsrc/fpu.pla: 0151: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0152: return _drop(sane:restoreZP(sane:op2FP(FFSGL|FOX2Z, pSgl, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F194 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$02 ; CW 528 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D105+0 -_F195 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F196 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F197 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F198 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0153: end -; libsrc/fpu.pla: 0154: def loadSgl(pSgl, reg) - ; pSgl -> [0] - ; reg -> [2] -_P020 ; loadSgl(pSgl, reg)() -_C021 ; loadSgl() -; libsrc/fpu.pla: 0155: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0156: return sane:restoreZP(sane:op2FP(FFSGL|FOZ2X, stackRegs[reg & $03], pSgl)) - !BYTE $6A ; LAW _X028+18 -_F199 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$02 ; CW 526 - !BYTE $26 ; LA _D105+0 -_F200 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F201 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F202 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0157: end -; libsrc/fpu.pla: 0158: def storSgl(pSgl, reg) - ; pSgl -> [0] - ; reg -> [2] -_P025 ; storSgl(pSgl, reg)() -_C022 ; storSgl() -; libsrc/fpu.pla: 0159: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0160: return sane:restoreZP(sane:op2FP(FFSGL|FOX2Z, pSgl, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F203 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$02 ; CW 528 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D105+0 -_F204 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F205 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F206 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0161: end -; libsrc/fpu.pla: 0162: def pushDbl(pDbl) - ; pDbl -> [0] -_P011 ; pushDbl(pDbl)() -_C023 ; pushDbl() -; libsrc/fpu.pla: 0163: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0164: sane:saveZP() -; libsrc/fpu.pla: 0165: return sane:restoreZP(sane:op2FP(FFDBL|FOZ2X, stackRegs[0], pDbl)) - !BYTE $6A ; LAW _D105+6 -_F207 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F208 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F209 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F210 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F211 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F212 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F213 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F214 !WORD _D105+0 - !BYTE $6A ; LAW _X028+18 -_F215 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $6A ; LAW _D105+0 -_F216 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F217 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F218 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0166: end -; libsrc/fpu.pla: 0167: def pullDbl(pDbl) - ; pDbl -> [0] -_P016 ; pullDbl(pDbl)() -_C024 ; pullDbl() -; libsrc/fpu.pla: 0168: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0169: return _drop(sane:restoreZP(sane:op2FP(FFDBL|FOX2Z, pDbl, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F219 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D105+0 -_F220 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F221 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F222 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F223 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0170: end -; libsrc/fpu.pla: 0171: def loadDbl(pDbl, reg) - ; pDbl -> [0] - ; reg -> [2] -_P021 ; loadDbl(pDbl, reg)() -_C025 ; loadDbl() -; libsrc/fpu.pla: 0172: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0173: return sane:restoreZP(sane:op2FP(FFDBL|FOZ2X, stackRegs[reg & $03], pDbl)) - !BYTE $6A ; LAW _X028+18 -_F224 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $26 ; LA _D105+0 -_F225 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F226 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F227 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0174: end -; libsrc/fpu.pla: 0175: def storDbl(pDbl, reg) - ; pDbl -> [0] - ; reg -> [2] -_P026 ; storDbl(pDbl, reg)() -_C026 ; storDbl() -; libsrc/fpu.pla: 0176: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0177: return sane:restoreZP(sane:op2FP(FFDBL|FOX2Z, pDbl, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F228 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D105+0 -_F229 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F230 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F231 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0178: end -; libsrc/fpu.pla: 0179: def pushExt(pExt) - ; pExt -> [0] -_P012 ; pushExt(pExt)() -_C027 ; pushExt() -; libsrc/fpu.pla: 0180: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0181: sane:saveZP() -; libsrc/fpu.pla: 0182: return sane:restoreZP(sane:op2FP(FFEXT|FOZ2X, stackRegs[0], pExt)) - !BYTE $6A ; LAW _D105+6 -_F232 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F233 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F234 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F235 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F236 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F237 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F238 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F239 !WORD _D105+0 - !BYTE $6A ; LAW _X028+18 -_F240 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D105+0 -_F241 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F242 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F243 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0183: end -; libsrc/fpu.pla: 0184: def pullExt(pExt) - ; pExt -> [0] -_P017 ; pullExt(pExt)() -_C028 ; pullExt() -; libsrc/fpu.pla: 0185: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0186: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOX2Z, pExt, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F244 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D105+0 -_F245 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F246 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F247 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F248 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0187: end -; libsrc/fpu.pla: 0188: def loadExt(pExt, reg) - ; pExt -> [0] - ; reg -> [2] -_P022 ; loadExt(pExt, reg)() -_C029 ; loadExt() -; libsrc/fpu.pla: 0189: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0190: return sane:restoreZP(sane:op2FP(FFEXT|FOZ2X, stackRegs[reg & $03], pExt)) - !BYTE $6A ; LAW _X028+18 -_F249 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $26 ; LA _D105+0 -_F250 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F251 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F252 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0191: end -; libsrc/fpu.pla: 0192: def storExt(pExt, reg) - ; pExt -> [0] - ; reg -> [2] -_P027 ; storExt(pExt, reg)() -_C030 ; storExt() -; libsrc/fpu.pla: 0193: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu.pla: 0194: return sane:restoreZP(sane:op2FP(FFEXT|FOX2Z, pExt, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F253 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D105+0 -_F254 !WORD _D105+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F255 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F256 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0195: end -; libsrc/fpu.pla: 0196: def pushStr(pStr) - ; pStr -> [0] -_P013 ; pushStr(pStr)() -_C031 ; pushStr() -; libsrc/fpu.pla: 0197: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0198: return str2ext(pStr, stackRegs[0]) - !BYTE $6A ; LAW _D105+6 -_F257 !WORD _D105+6 - !BYTE $6A ; LAW _D105+0 -_F258 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F259 !WORD _D105+2 - !BYTE $6A ; LAW _D105+4 -_F260 !WORD _D105+4 - !BYTE $7A ; SAW _D105+6 -_F261 !WORD _D105+6 - !BYTE $7A ; SAW _D105+4 -_F262 !WORD _D105+4 - !BYTE $7A ; SAW _D105+2 -_F263 !WORD _D105+2 - !BYTE $7A ; SAW _D105+0 -_F264 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D105+0 -_F265 !WORD _D105+0 - !BYTE $54 ; CALL _X030 -_F266 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0199: end -; libsrc/fpu.pla: 0200: def pullStr(pStr, intdigits, fracdigits, format) - ; pStr -> [0] - ; intdigits -> [2] - ; fracdigits -> [4] - ; format -> [6] -_P018 ; pullStr(pStr, intdigits, fracdigits, format)() -_C032 ; pullStr() -; libsrc/fpu.pla: 0201: return _drop(ext2str(stackRegs[0], pStr, intdigits, fracdigits, format)) - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $6A ; LAW _D105+0 -_F267 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X031 -_F268 !WORD 0 - !BYTE $54 ; CALL _C010 -_F269 !WORD _C010 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/fpu.pla: 0202: end -; libsrc/fpu.pla: 0203: def loadStr(pStr, reg) - ; pStr -> [0] - ; reg -> [2] -_P023 ; loadStr(pStr, reg)() -_C033 ; loadStr() -; libsrc/fpu.pla: 0204: return str2ext(pStr, stackRegs[reg]) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D105+0 -_F270 !WORD _D105+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X030 -_F271 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu.pla: 0205: end -; libsrc/fpu.pla: 0206: def storStr(pStr, intdigits, fracdigits, format, reg) - ; pStr -> [0] - ; intdigits -> [2] - ; fracdigits -> [4] - ; format -> [6] - ; reg -> [8] -_P028 ; storStr(pStr, intdigits, fracdigits, format, reg)() -_C034 ; storStr() -; libsrc/fpu.pla: 0207: return ext2str(stackRegs[reg], pStr, intdigits, fracdigits, format) - !BYTE $58,$0A,$05 ; ENTER 10,5 - !BYTE $26 ; LA _D105+0 -_F272 !WORD _D105+0 - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X031 -_F273 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/fpu.pla: 0208: end -; libsrc/fpu.pla: 0209: // -; libsrc/fpu.pla: 0210: // Basic math operations -; libsrc/fpu.pla: 0211: // -; libsrc/fpu.pla: 0212: def add -_P036 ; add() -_C035 ; add() -; libsrc/fpu.pla: 0213: sane:saveZP() -; libsrc/fpu.pla: 0214: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOADD, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F274 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D105+2 -_F275 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F276 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F277 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F278 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F279 !WORD _C010 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0215: end -; libsrc/fpu.pla: 0216: def sub -_P037 ; sub() -_C036 ; sub() -; libsrc/fpu.pla: 0217: sane:saveZP() -; libsrc/fpu.pla: 0218: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOSUB, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F280 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _D105+2 -_F281 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F282 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F283 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F284 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F285 !WORD _C010 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0219: end -; libsrc/fpu.pla: 0220: def mul -_P038 ; mul() -_C037 ; mul() -; libsrc/fpu.pla: 0221: sane:saveZP() -; libsrc/fpu.pla: 0222: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOMUL, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F286 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D105+2 -_F287 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F288 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F289 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F290 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F291 !WORD _C010 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0223: end -; libsrc/fpu.pla: 0224: def div -_P039 ; div() -_C038 ; div() -; libsrc/fpu.pla: 0225: sane:saveZP() -; libsrc/fpu.pla: 0226: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FODIV, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F292 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _D105+2 -_F293 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F294 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F295 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F296 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F297 !WORD _C010 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0227: end -; libsrc/fpu.pla: 0228: def rem -_P040 ; rem() -_C039 ; rem() -; libsrc/fpu.pla: 0229: sane:saveZP() -; libsrc/fpu.pla: 0230: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOREM, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F298 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $18 ; CN 12 - !BYTE $6A ; LAW _D105+2 -_F299 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F300 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F301 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F302 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C010 -_F303 !WORD _C010 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0231: end -; libsrc/fpu.pla: 0232: def neg -_P041 ; neg() -_C040 ; neg() -; libsrc/fpu.pla: 0233: sane:saveZP() -; libsrc/fpu.pla: 0234: return sane:restoreZP(sane:op1FP(FFEXT|FONEG, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F304 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _D105+0 -_F305 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F306 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F307 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0235: end -; libsrc/fpu.pla: 0236: def abs -_P042 ; abs() -_C041 ; abs() -; libsrc/fpu.pla: 0237: sane:saveZP() -; libsrc/fpu.pla: 0238: return sane:restoreZP(sane:op1FP(FFEXT|FOABS, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F308 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $6A ; LAW _D105+0 -_F309 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F310 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F311 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0239: end -; libsrc/fpu.pla: 0240: def type -_P043 ; type() -_C042 ; type() -; libsrc/fpu.pla: 0241: sane:saveZP() -; libsrc/fpu.pla: 0242: return sane:restoreZP(sane:op1FP(FFEXT|FOCLASS, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F312 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1C ; CB 28 - !BYTE $6A ; LAW _D105+0 -_F313 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F314 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F315 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0243: end -; libsrc/fpu.pla: 0244: def cmp -_P044 ; cmp() -_C043 ; cmp() -; libsrc/fpu.pla: 0245: sane:saveZP() -; libsrc/fpu.pla: 0246: return sane:restoreZP(sane:op2FP(FFEXT|FOCMP, stackRegs[1], stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F316 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D105+2 -_F317 !WORD _D105+2 - !BYTE $6A ; LAW _D105+0 -_F318 !WORD _D105+0 - !BYTE $6A ; LAW _X028+8 -_F319 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F320 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0247: end -; libsrc/fpu.pla: 0248: def trunc -_P047 ; trunc() -_C044 ; trunc() -; libsrc/fpu.pla: 0249: sane:saveZP() -; libsrc/fpu.pla: 0250: return sane:restoreZP(sane:op1FP(FFEXT|FOTTI, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F321 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D105+0 -_F322 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F323 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F324 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0251: end -; libsrc/fpu.pla: 0252: def round -_P048 ; round() -_C045 ; round() -; libsrc/fpu.pla: 0253: sane:saveZP() -; libsrc/fpu.pla: 0254: return sane:restoreZP(sane:op1FP(FFEXT|FORTI, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F325 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _D105+0 -_F326 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F327 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F328 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0255: end -; libsrc/fpu.pla: 0256: def sqrt -_P049 ; sqrt() -_C046 ; sqrt() -; libsrc/fpu.pla: 0257: sane:saveZP() -; libsrc/fpu.pla: 0258: return sane:restoreZP(sane:op1FP(FFEXT|FOSQRT, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F329 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$12 ; CB 18 - !BYTE $6A ; LAW _D105+0 -_F330 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F331 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F332 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0259: end -; libsrc/fpu.pla: 0260: def squared -_P050 ; squared() -_C047 ; squared() -; libsrc/fpu.pla: 0261: sane:saveZP() -; libsrc/fpu.pla: 0262: return sane:restoreZP(sane:op2FP(FFEXT|FOMUL, stackRegs[0], stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F333 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D105+0 -_F334 !WORD _D105+0 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+8 -_F335 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F336 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0263: end -; libsrc/fpu.pla: 0264: def logb -_P045 ; logb() -_C048 ; logb() -; libsrc/fpu.pla: 0265: sane:saveZP() -; libsrc/fpu.pla: 0266: return sane:restoreZP(sane:op1FP(FFEXT|FOLOGB, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F337 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1A ; CB 26 - !BYTE $6A ; LAW _D105+0 -_F338 !WORD _D105+0 - !BYTE $6A ; LAW _X028+6 -_F339 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F340 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0267: end -; libsrc/fpu.pla: 0268: def scalb(scale) - ; scale -> [0] -_P046 ; scalb(scale)() -_C049 ; scalb() -; libsrc/fpu.pla: 0269: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0270: return sane:restoreZP(sane:op2FP(FFEXT|FOSCALB, stackRegs[0], scale)) - !BYTE $6A ; LAW _X028+18 -_F341 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D105+0 -_F342 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F343 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F344 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0271: end -; libsrc/fpu.pla: 0272: // -; libsrc/fpu.pla: 0273: // Elems operations -; libsrc/fpu.pla: 0274: // -; libsrc/fpu.pla: 0275: def cos -_P051 ; cos() -_C050 ; cos() -; libsrc/fpu.pla: 0276: sane:saveZP() -; libsrc/fpu.pla: 0277: return sane:restoreZP(sane:op1ELEM(FFEXT|FOCOSX, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F345 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1C ; CB 28 - !BYTE $6A ; LAW _D105+0 -_F346 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F347 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F348 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0278: end -; libsrc/fpu.pla: 0279: def sin -_P052 ; sin() -_C051 ; sin() -; libsrc/fpu.pla: 0280: sane:saveZP() -; libsrc/fpu.pla: 0281: return sane:restoreZP(sane:op1ELEM(FFEXT|FOSINX, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F349 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1A ; CB 26 - !BYTE $6A ; LAW _D105+0 -_F350 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F351 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F352 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0282: end -; libsrc/fpu.pla: 0283: def tan -_P053 ; tan() -_C052 ; tan() -; libsrc/fpu.pla: 0284: sane:saveZP() -; libsrc/fpu.pla: 0285: return sane:restoreZP(sane:op1ELEM(FFEXT|FOTANX, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F353 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1E ; CB 30 - !BYTE $6A ; LAW _D105+0 -_F354 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F355 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F356 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0286: end -; libsrc/fpu.pla: 0287: def atan -_P054 ; atan() -_C053 ; atan() -; libsrc/fpu.pla: 0288: sane:saveZP() -; libsrc/fpu.pla: 0289: return sane:restoreZP(sane:op1ELEM(FFEXT|FOATANX, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F357 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D105+0 -_F358 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F359 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F360 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0290: end -; libsrc/fpu.pla: 0291: def log2X -_P055 ; log2X() -_C054 ; log2X() -; libsrc/fpu.pla: 0292: sane:saveZP() -; libsrc/fpu.pla: 0293: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLOG2X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F361 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _D105+0 -_F362 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F363 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F364 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0294: end -; libsrc/fpu.pla: 0295: def log21X -_P056 ; log21X() -_C055 ; log21X() -; libsrc/fpu.pla: 0296: sane:saveZP() -; libsrc/fpu.pla: 0297: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLOG21X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F365 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _D105+0 -_F366 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F367 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F368 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0298: end -; libsrc/fpu.pla: 0299: def lnX -_P057 ; lnX() -_C056 ; lnX() -; libsrc/fpu.pla: 0300: sane:saveZP() -; libsrc/fpu.pla: 0301: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLNX, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F369 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D105+0 -_F370 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F371 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F372 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0302: end -; libsrc/fpu.pla: 0303: def ln1X -_P058 ; ln1X() -_C057 ; ln1X() -; libsrc/fpu.pla: 0304: sane:saveZP() -; libsrc/fpu.pla: 0305: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLN1X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F373 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D105+0 -_F374 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F375 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F376 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0306: end -; libsrc/fpu.pla: 0307: def pow2X -_P059 ; pow2X() -_C058 ; pow2X() -; libsrc/fpu.pla: 0308: sane:saveZP() -; libsrc/fpu.pla: 0309: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP2X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F377 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D105+0 -_F378 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F379 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F380 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0310: end -; libsrc/fpu.pla: 0311: def pow21X -_P060 ; pow21X() -_C059 ; pow21X() -; libsrc/fpu.pla: 0312: sane:saveZP() -; libsrc/fpu.pla: 0313: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP21X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F381 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D105+0 -_F382 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F383 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F384 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0314: end -; libsrc/fpu.pla: 0315: def powEX -_P061 ; powEX() -_C060 ; powEX() -; libsrc/fpu.pla: 0316: sane:saveZP() -; libsrc/fpu.pla: 0317: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXPX, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F385 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D105+0 -_F386 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F387 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F388 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0318: end -; libsrc/fpu.pla: 0319: def powE1X -_P062 ; powE1X() -_C061 ; powE1X() -; libsrc/fpu.pla: 0320: sane:saveZP() -; libsrc/fpu.pla: 0321: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP1X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F389 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $18 ; CN 12 - !BYTE $6A ; LAW _D105+0 -_F390 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F391 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F392 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0322: end -; libsrc/fpu.pla: 0323: def powE21X -_P063 ; powE21X() -_C062 ; powE21X() -; libsrc/fpu.pla: 0324: sane:saveZP() -; libsrc/fpu.pla: 0325: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP21X, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F393 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D105+0 -_F394 !WORD _D105+0 - !BYTE $6A ; LAW _X028+12 -_F395 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F396 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0326: end -; libsrc/fpu.pla: 0327: def powXInt(powInt) - ; powInt -> [0] -_P064 ; powXInt(powInt)() -_C063 ; powXInt() -; libsrc/fpu.pla: 0328: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0329: return sane:restoreZP(sane:op2ELEM(FFEXT|FOXPWRI, stackRegs[0], powInt)) - !BYTE $6A ; LAW _X028+18 -_F397 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $6A ; LAW _D105+0 -_F398 !WORD _D105+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F399 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F400 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0330: end -; libsrc/fpu.pla: 0331: def powXY -_P065 ; powXY() -_C064 ; powXY() -; libsrc/fpu.pla: 0332: sane:saveZP() -; libsrc/fpu.pla: 0333: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOXPWRY, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _X028+18 -_F401 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$12 ; CB 18 - !BYTE $6A ; LAW _D105+0 -_F402 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F403 !WORD _D105+2 - !BYTE $6A ; LAW _X028+14 -_F404 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C012 -_F405 !WORD _C012 - !BYTE $54 ; CALL _C010 -_F406 !WORD _C010 - !BYTE $6A ; LAW _X028+20 -_F407 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0334: end -; libsrc/fpu.pla: 0335: def compXY -_P066 ; compXY() -_C065 ; compXY() -; libsrc/fpu.pla: 0336: sane:saveZP() -; libsrc/fpu.pla: 0337: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOCOMPND, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _X028+18 -_F408 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _D105+0 -_F409 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F410 !WORD _D105+2 - !BYTE $6A ; LAW _X028+14 -_F411 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C012 -_F412 !WORD _C012 - !BYTE $54 ; CALL _C010 -_F413 !WORD _C010 - !BYTE $6A ; LAW _X028+20 -_F414 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0338: end -; libsrc/fpu.pla: 0339: def annuityXY -_P067 ; annuityXY() -_C066 ; annuityXY() -; libsrc/fpu.pla: 0340: sane:saveZP() -; libsrc/fpu.pla: 0341: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOANNUIT, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _X028+18 -_F415 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D105+0 -_F416 !WORD _D105+0 - !BYTE $6A ; LAW _D105+2 -_F417 !WORD _D105+2 - !BYTE $6A ; LAW _X028+14 -_F418 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C012 -_F419 !WORD _C012 - !BYTE $54 ; CALL _C010 -_F420 !WORD _C010 - !BYTE $6A ; LAW _X028+20 -_F421 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu.pla: 0342: end -; libsrc/fpu.pla: 0343: def randNum(pSeed) - ; pSeed -> [0] -_P068 ; randNum(pSeed)() -_C067 ; randNum() -; libsrc/fpu.pla: 0344: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu.pla: 0345: return sane:restoreZP(sane:op1ELEM(FFEXT|FORANDX, pSeed)) - !BYTE $6A ; LAW _X028+18 -_F422 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+12 -_F423 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F424 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu.pla: 0346: end -; libsrc/fpu.pla: 0347: // -; libsrc/fpu.pla: 0348: // Push useful constants -; libsrc/fpu.pla: 0349: // -; libsrc/fpu.pla: 0350: def constPi -_P007 ; constPi() -_C068 ; constPi() -; libsrc/fpu.pla: 0351: return pushExt(@ext_pi) - !BYTE $26 ; LA _D102+0 -_F425 !WORD _D102+0 - !BYTE $54 ; CALL _C027 -_F426 !WORD _C027 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0352: end -; libsrc/fpu.pla: 0353: def constE -_P008 ; constE() -_C069 ; constE() -; libsrc/fpu.pla: 0354: return pushExt(@ext_e) - !BYTE $26 ; LA _D103+0 -_F427 !WORD _D103+0 - !BYTE $54 ; CALL _C027 -_F428 !WORD _C027 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0355: end -; libsrc/fpu.pla: 0356: // -; libsrc/fpu.pla: 0357: // Reset FPU and SANE -; libsrc/fpu.pla: 0358: // -; libsrc/fpu.pla: 0359: def reset -_P000 ; reset() -_C070 ; reset() -; libsrc/fpu.pla: 0360: byte i - ; i -> [0] -; libsrc/fpu.pla: 0361: word zero - ; zero -> [1] -; libsrc/fpu.pla: 0362: -; libsrc/fpu.pla: 0363: zero = 0 - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/fpu.pla: 0364: if sane:initFP() < 0; return -1; fin - !BYTE $00 ; CN 0 - !BYTE $76,$01 ; SLW [1] - !BYTE $6A ; LAW _X028+0 -_F429 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$03 ; LEAVE 3 -_B001 -_B002 -; libsrc/fpu.pla: 0365: sane:saveZP() -; libsrc/fpu.pla: 0366: for i = 0 to 3 - !BYTE $6A ; LAW _X028+18 -_F430 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B004 - !BYTE $6C,$00 ; DLB [0] -; libsrc/fpu.pla: 0367: stackRegs[i] = @stack[i * t_extended] -; libsrc/fpu.pla: 0368: sane:op2FP(FFINT|FOZ2X, stackRegs[i], @zero) -; libsrc/fpu.pla: 0369: next - !BYTE $26 ; LA _D104+0 -_F431 !WORD _D104+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $26 ; LA _D105+0 -_F432 !WORD _D105+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $72 ; SW - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D105+0 -_F433 !WORD _D105+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _X028+8 -_F434 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/fpu.pla: 0370: return sane:restoreZP(0) - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F435 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/fpu.pla: 0371: end -; libsrc/fpu.pla: 0372: // -; libsrc/fpu.pla: 0373: // Keep module in memory -; libsrc/fpu.pla: 0374: // -; libsrc/fpu.pla: 0375: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/fpu.pla: 0376: done -_SYSFLAGS = 0 -_DEFCNT = 72 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C051 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C052 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C053 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C054 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C055 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C056 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C057 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C058 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C059 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C060 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C061 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C062 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C063 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C064 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C065 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C066 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C067 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C068 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C069 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C070 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: STR2EXT - !BYTE $D3,$D4,$D2,$B2,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: EXT2STR - !BYTE $C5,$D8,$D4,$B2,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/fpu_mf.a b/src/libsrc/fpu_mf.a deleted file mode 100644 index 3f481bb..0000000 --- a/src/libsrc/fpu_mf.a +++ /dev/null @@ -1,8113 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/fpu_mf.pla: 0001: // -; libsrc/fpu_mf.pla: 0002: // MegaFlash Hardware-Accelerated FPU Library -; libsrc/fpu_mf.pla: 0003: // Drop-in replacement for fpu.pla using MegaFlash hardware acceleration -; libsrc/fpu_mf.pla: 0004: // -; libsrc/fpu_mf.pla: 0005: // This library maintains API compatibility with the standard SANE-based -; libsrc/fpu_mf.pla: 0006: // fpu.pla library, allowing users to switch between implementations -; libsrc/fpu_mf.pla: 0007: // by simply changing the import statement. -; libsrc/fpu_mf.pla: 0008: // -; libsrc/fpu_mf.pla: 0009: // HARDWARE-ACCELERATED OPERATIONS (direct MegaFlash FPU): -; libsrc/fpu_mf.pla: 0010: // - mul, div, sqrt -; libsrc/fpu_mf.pla: 0011: // - sin, cos, tan, atan -; libsrc/fpu_mf.pla: 0012: // - ln (natural log), exp (e^x) -; libsrc/fpu_mf.pla: 0013: // -; libsrc/fpu_mf.pla: 0014: // HARDWARE-ACCELERATED DERIVED OPERATIONS (using logarithm/trig identities): -; libsrc/fpu_mf.pla: 0015: // - neg(x) = x * -1 (hardware mul) -; libsrc/fpu_mf.pla: 0016: // - abs(x) = x if x >= 0, else neg(x) -; libsrc/fpu_mf.pla: 0017: // - log2(x) = ln(x) / ln(2) -; libsrc/fpu_mf.pla: 0018: // - log2(1+x) = ln(1+x) / ln(2) -; libsrc/fpu_mf.pla: 0019: // - ln(1+x) = ln(1 + x) -; libsrc/fpu_mf.pla: 0020: // - 2^x = e^(x * ln(2)) -; libsrc/fpu_mf.pla: 0021: // - 2^x - 1 = e^(x*ln(2)) - 1 -; libsrc/fpu_mf.pla: 0022: // - e^x - 1 = exp(x) - 1 -; libsrc/fpu_mf.pla: 0023: // - e^(2x) - 1 = exp(2x) - 1 -; libsrc/fpu_mf.pla: 0024: // - x^n = e^(n * ln(x)) -; libsrc/fpu_mf.pla: 0025: // - x^y = e^(y * ln(x)) -; libsrc/fpu_mf.pla: 0026: // - asin(x) = atan(x / sqrt(1 - x²)) -; libsrc/fpu_mf.pla: 0027: // - acos(x) = π/2 - asin(x) -; libsrc/fpu_mf.pla: 0028: // - sinh(x) = (e^x - e^-x) / 2 -; libsrc/fpu_mf.pla: 0029: // - cosh(x) = (e^x + e^-x) / 2 -; libsrc/fpu_mf.pla: 0030: // - tanh(x) = sinh(x) / cosh(x) -; libsrc/fpu_mf.pla: 0031: // - sec(x) = 1 / cos(x) -; libsrc/fpu_mf.pla: 0032: // - csc(x) = 1 / sin(x) -; libsrc/fpu_mf.pla: 0033: // - cot(x) = 1 / tan(x) -; libsrc/fpu_mf.pla: 0034: // -; libsrc/fpu_mf.pla: 0035: // These functions all use hardware acceleration and maintain full precision -; libsrc/fpu_mf.pla: 0036: // by leveraging the MegaFlash FPU's native operations combined with -; libsrc/fpu_mf.pla: 0037: // mathematical identities and properties of logarithms/exponentials. -; libsrc/fpu_mf.pla: 0038: // -; libsrc/fpu_mf.pla: 0039: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/fpu_mf.pla: 0039: -; libsrc/fpu_mf.pla: 0040: include "inc/sane.plh" -; inc/sane.plh: 0001: import sane - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - ; SANE -> X028 -; inc/sane.plh: 0002: //----------------------------------------------------------- -; inc/sane.plh: 0003: // Operation code masks. -; inc/sane.plh: 0004: //----------------------------------------------------------- -; inc/sane.plh: 0005: const FOADD = $0000 // add - ; FOADD = 0 -; inc/sane.plh: 0006: const FOSUB = $0002 // subtract - ; FOSUB = 2 -; inc/sane.plh: 0007: const FOMUL = $0004 // multiply - ; FOMUL = 4 -; inc/sane.plh: 0008: const FODIV = $0006 // divide - ; FODIV = 6 -; inc/sane.plh: 0009: const FOCMP = $0008 // compare, no exception from unordered - ; FOCMP = 8 -; inc/sane.plh: 0010: const FOCPX = $000A // compare, signal invalid if unordered - ; FOCPX = 10 -; inc/sane.plh: 0011: const FOREM = $000C // remainder - ; FOREM = 12 -; inc/sane.plh: 0012: const FOZ2X = $000E // convert to extended - ; FOZ2X = 14 -; inc/sane.plh: 0013: const FOX2Z = $0010 // convert from extended - ; FOX2Z = 16 -; inc/sane.plh: 0014: const FOSQRT = $0012 // square root - ; FOSQRT = 18 -; inc/sane.plh: 0015: const FORTI = $0014 // round to integral value - ; FORTI = 20 -; inc/sane.plh: 0016: const FOTTI = $0016 // truncate to integral value - ; FOTTI = 22 -; inc/sane.plh: 0017: const FOSCALB = $0018 // binary scale - ; FOSCALB = 24 -; inc/sane.plh: 0018: const FOLOGB = $001A // binary log - ; FOLOGB = 26 -; inc/sane.plh: 0019: const FOCLASS = $001C // classify - ; FOCLASS = 28 -; inc/sane.plh: 0020: const FONEXT = $001E // next-after - ; FONEXT = 30 -; inc/sane.plh: 0021: // -; inc/sane.plh: 0022: const FOSETENV = $0001 // set environment - ; FOSETENV = 1 -; inc/sane.plh: 0023: const FOGETENV = $0003 // get environment - ; FOGETENV = 3 -; inc/sane.plh: 0024: const FOSETHV = $0005 // set halt vector - ; FOSETHV = 5 -; inc/sane.plh: 0025: const FOGETHV = $0007 // get halt vector - ; FOGETHV = 7 -; inc/sane.plh: 0026: const FOD2B = $0009 // convert decimal to binary - ; FOD2B = 9 -; inc/sane.plh: 0027: const FOB2D = $000B // convert binary to decimal - ; FOB2D = 11 -; inc/sane.plh: 0028: const FONEG = $000D // negate - ; FONEG = 13 -; inc/sane.plh: 0029: const FOABS = $000F // absolute value - ; FOABS = 15 -; inc/sane.plh: 0030: const FOCPYSGN = $0011 // copy sign - ; FOCPYSGN = 17 -; inc/sane.plh: 0031: // UNDEFINED = $0013 -; inc/sane.plh: 0032: const FOSETXCP = $0015 // set exception - ; FOSETXCP = 21 -; inc/sane.plh: 0033: const FOPROCENTRY = $0017 // procedure-entry - ; FOPROCENTRY = 23 -; inc/sane.plh: 0034: const FOPROCEXIT = $0019 // procedure-exit - ; FOPROCEXIT = 25 -; inc/sane.plh: 0035: const FOTESTXCP = $001B // test exception - ; FOTESTXCP = 27 -; inc/sane.plh: 0036: // UNDEFINED = $001D -; inc/sane.plh: 0037: // UNDEFINED = $001F -; inc/sane.plh: 0038: //----------------------------------------------------------- -; inc/sane.plh: 0039: // Operand format masks. -; inc/sane.plh: 0040: //----------------------------------------------------------- -; inc/sane.plh: 0041: const FFEXT = $0000 // extended -- 80-bit float - ; FFEXT = 0 -; inc/sane.plh: 0042: const FFDBL = $0100 // double -- 64-bit float - ; FFDBL = 256 -; inc/sane.plh: 0043: const FFSGL = $0200 // single -- 32-bit float - ; FFSGL = 512 -; inc/sane.plh: 0044: // UNDEFINED = $0300 -; inc/sane.plh: 0045: const FFINT = $0400 // integer -- 16-bit integer - ; FFINT = 1024 -; inc/sane.plh: 0046: const FFCOMP = $0500 // comp -- 64-bit integer - ; FFCOMP = 1280 -; inc/sane.plh: 0047: // UNDEFINED = $0600 -; inc/sane.plh: 0048: // UNDEFINED = $0700 -; inc/sane.plh: 0049: //----------------------------------------------------------- -; inc/sane.plh: 0050: // Class. -; inc/sane.plh: 0051: //----------------------------------------------------------- -; inc/sane.plh: 0052: const FCSNAN = $FC // -4: signaling NAN - ; FCSNAN = 252 -; inc/sane.plh: 0053: const FCQNAN = $FD // -3: quiet NAN - ; FCQNAN = 253 -; inc/sane.plh: 0054: const FCINF = $FE // -2: infinite - ; FCINF = 254 -; inc/sane.plh: 0055: const FCZERO = $FF // -1: zero - ; FCZERO = 255 -; inc/sane.plh: 0056: const FCNORM = $00 // 0: normal - ; FCNORM = 0 -; inc/sane.plh: 0057: const FCDENORM = $01 // 1: denormal - ; FCDENORM = 1 -; inc/sane.plh: 0058: //----------------------------------------------------------- -; inc/sane.plh: 0059: // Exceptions. -; inc/sane.plh: 0060: //----------------------------------------------------------- -; inc/sane.plh: 0061: const FBINVALID = $01 - ; FBINVALID = 1 -; inc/sane.plh: 0062: const FBUFLOW = $02 - ; FBUFLOW = 2 -; inc/sane.plh: 0063: const FBOFLOW = $04 - ; FBOFLOW = 4 -; inc/sane.plh: 0064: const FBDIVZER = $08 - ; FBDIVZER = 8 -; inc/sane.plh: 0065: const FBINEXACT = $10 - ; FBINEXACT = 16 -; inc/sane.plh: 0066: //----------------------------------------------------------- -; inc/sane.plh: 0067: // Elementary function operation code masks. -; inc/sane.plh: 0068: //----------------------------------------------------------- -; inc/sane.plh: 0069: const FOLNX = $0000 // base-e log - ; FOLNX = 0 -; inc/sane.plh: 0070: const FOLOG2X = $0002 // base-2 log - ; FOLOG2X = 2 -; inc/sane.plh: 0071: const FOLN1X = $0004 // ln (1 + x) - ; FOLN1X = 4 -; inc/sane.plh: 0072: const FOLOG21X = $0006 // log2 (1 + x) - ; FOLOG21X = 6 -; inc/sane.plh: 0073: const FOEXPX = $0008 // base-e exponential - ; FOEXPX = 8 -; inc/sane.plh: 0074: const FOEXP2X = $000A // base-2 exponential - ; FOEXP2X = 10 -; inc/sane.plh: 0075: const FOEXP1X = $000C // exp (x) - 1 - ; FOEXP1X = 12 -; inc/sane.plh: 0076: const FOEXP21X = $000E // exp2 (x) - 1 - ; FOEXP21X = 14 -; inc/sane.plh: 0077: const FOXPWRI = $0010 // integer exponentiation - ; FOXPWRI = 16 -; inc/sane.plh: 0078: const FOXPWRY = $0012 // general exponentiation - ; FOXPWRY = 18 -; inc/sane.plh: 0079: const FOCOMPND = $0014 // compound - ; FOCOMPND = 20 -; inc/sane.plh: 0080: const FOANNUIT = $0016 // annuity - ; FOANNUIT = 22 -; inc/sane.plh: 0081: const FOATANX = $0018 // arctangent - ; FOATANX = 24 -; inc/sane.plh: 0082: const FOSINX = $001A // sine - ; FOSINX = 26 -; inc/sane.plh: 0083: const FOCOSX = $001C // cosine - ; FOCOSX = 28 -; inc/sane.plh: 0084: const FOTANX = $001E // tangent - ; FOTANX = 30 -; inc/sane.plh: 0085: const FORANDX = $0020 // random - ; FORANDX = 32 -; inc/sane.plh: 0086: //----------------------------------------------------------- -; inc/sane.plh: 0087: // NaN error codes. -; inc/sane.plh: 0088: //----------------------------------------------------------- -; inc/sane.plh: 0089: const NANSQRT = 1 // Invalid square root such as sqrt(-1). - ; NANSQRT = 1 -; inc/sane.plh: 0090: const NANADD = 2 // Invalid addition such as +INF - +INF. - ; NANADD = 2 -; inc/sane.plh: 0091: const NANDIV = 4 // Invalid division such as 0/0. - ; NANDIV = 4 -; inc/sane.plh: 0092: const NANMUL = 8 // Invalid multiply such as 0 * INF. - ; NANMUL = 8 -; inc/sane.plh: 0093: const NANREM = 9 // Invalid remainder or mod such as x REM 0. - ; NANREM = 9 -; inc/sane.plh: 0094: const NANASCBIN = 17 // Attempt to convert invalid ASCII string. - ; NANASCBIN = 17 -; inc/sane.plh: 0095: const NANCOMP = 20 // Result of converting comp NaN to floating. - ; NANCOMP = 20 -; inc/sane.plh: 0096: const NANZERO = 21 // Attempt to create a NaN with a zero code. - ; NANZERO = 21 -; inc/sane.plh: 0097: const NANTRIG = 33 // Invalid argument to trig routine. - ; NANTRIG = 33 -; inc/sane.plh: 0098: const NANINVTRIG = 34 // Invalid argument to inverse trig routine. - ; NANINVTRIG = 34 -; inc/sane.plh: 0099: const NANLOG = 36 // Invalid argument to log routine. - ; NANLOG = 36 -; inc/sane.plh: 0100: const NANPOWER = 37 // Invalid argument to x^i or x^y routine. - ; NANPOWER = 37 -; inc/sane.plh: 0101: const NANFINAN = 38 // Invalid argument to financial function. - ; NANFINAN = 38 -; inc/sane.plh: 0102: const NANINIT = 255 // Uninitialized storage. - ; NANINIT = 255 -; inc/sane.plh: 0103: //----------------------------------------------------------- -; inc/sane.plh: 0104: // Comparison results. -; inc/sane.plh: 0105: //----------------------------------------------------------- -; inc/sane.plh: 0106: const FCMPGT = $4040 // Greater Than - ; FCMPGT = 16448 -; inc/sane.plh: 0107: const FCMPLT = $8080 // Less Than - ; FCMPLT = 32896 -; inc/sane.plh: 0108: const FCMPEQ = $0002 // EQual - ; FCMPEQ = 2 -; inc/sane.plh: 0109: const FCMPUN = $0101 // UNordered - ; FCMPUN = 257 -; inc/sane.plh: 0110: //----------------------------------------------------------- -; inc/sane.plh: 0111: // -; inc/sane.plh: 0112: // Data types -; inc/sane.plh: 0113: // -; inc/sane.plh: 0114: struc t_single -; inc/sane.plh: 0115: byte[3] s_mantissa - ; s_mantissa = 0 -; inc/sane.plh: 0116: byte s_exponent - ; s_exponent = 3 -; inc/sane.plh: 0117: end - ; t_single = 4 -; inc/sane.plh: 0118: struc t_double -; inc/sane.plh: 0119: byte[6] d_mantissa - ; d_mantissa = 0 -; inc/sane.plh: 0120: word d_exponent - ; d_exponent = 6 -; inc/sane.plh: 0121: end - ; t_double = 8 -; inc/sane.plh: 0122: struc t_extended -; inc/sane.plh: 0123: byte[8] x_mantissa - ; x_mantissa = 0 -; inc/sane.plh: 0124: word x_exponent - ; x_exponent = 8 -; inc/sane.plh: 0125: end - ; t_extended = 10 -; inc/sane.plh: 0126: struc t_bigint -; inc/sane.plh: 0127: byte[8] l_int - ; l_int = 0 -; inc/sane.plh: 0128: end - ; t_bigint = 8 -; inc/sane.plh: 0129: // -; inc/sane.plh: 0130: // SANE PLASMA interface -; inc/sane.plh: 0131: // -; inc/sane.plh: 0132: struc t_sane -; inc/sane.plh: 0133: word initFP - ; initFP = 0 -; inc/sane.plh: 0134: word haltFP - ; haltFP = 2 -; inc/sane.plh: 0135: word op0FP - ; op0FP = 4 -; inc/sane.plh: 0136: word op1FP - ; op1FP = 6 -; inc/sane.plh: 0137: word op2FP - ; op2FP = 8 -; inc/sane.plh: 0138: word op3FP - ; op3FP = 10 -; inc/sane.plh: 0139: word op1ELEM - ; op1ELEM = 12 -; inc/sane.plh: 0140: word op2ELEM - ; op2ELEM = 14 -; inc/sane.plh: 0141: word op3ELEM - ; op3ELEM = 16 -; inc/sane.plh: 0142: word saveZP - ; saveZP = 18 -; inc/sane.plh: 0143: word restoreZP - ; restoreZP = 20 -; inc/sane.plh: 0144: end - ; t_sane = 22 -; inc/sane.plh: 0145: end -; libsrc/fpu_mf.pla: 0040: -; libsrc/fpu_mf.pla: 0041: include "inc/fpstr.plh" -; inc/fpstr.plh: 0001: import fpstr - ; DCI STRING: FPSTR - !BYTE $C6,$D0,$D3,$D4,$52 - ; FPSTR -> X029 -; inc/fpstr.plh: 0002: // -; inc/fpstr.plh: 0003: // String formatting bits -; inc/fpstr.plh: 0004: // -; inc/fpstr.plh: 0005: const FPSTR_FIXED = 1 // Fixed count of fractional digits - ; FPSTR_FIXED = 1 -; inc/fpstr.plh: 0006: const FPSTR_FLOAT = 0 // Floating count of fractional digits - ; FPSTR_FLOAT = 0 -; inc/fpstr.plh: 0007: const FPSTR_STRIP = 2 // Strip trailing fractional zeros - ; FPSTR_STRIP = 2 -; inc/fpstr.plh: 0008: const FPSTR_EXP = 4 // Force exponential format - ; FPSTR_EXP = 4 -; inc/fpstr.plh: 0009: const FPSTR_FLEX = 8 // Flexible switch to EXP format if over/underflow - ; FPSTR_FLEX = 8 -; inc/fpstr.plh: 0010: // -; inc/fpstr.plh: 0011: // Parse string into decrecord, return SANE conversion output -; inc/fpstr.plh: 0012: // -; inc/fpstr.plh: 0013: predef str2ext(str, ext)#1 - ; STR2EXT -> X030 -; inc/fpstr.plh: 0014: // -; inc/fpstr.plh: 0015: // Convert extended FP to string using , return string -; inc/fpstr.plh: 0016: // -; inc/fpstr.plh: 0017: predef ext2str(ext, str, intdigits, fracdigits, format)#1 - ; EXT2STR -> X031 -; inc/fpstr.plh: 0018: end -; libsrc/fpu_mf.pla: 0041: -; libsrc/fpu_mf.pla: 0042: include "inc/megaflash.plh" -; inc/megaflash.plh: 0001: // -; inc/megaflash.plh: 0002: // MegaFlash Hardware Constants -; inc/megaflash.plh: 0003: // For Apple IIc/IIc+ with MegaFlash storage device -; inc/megaflash.plh: 0004: // -; inc/megaflash.plh: 0005: import megaflash - ; DCI STRING: MEGAFLASH - !BYTE $CD,$C5,$C7,$C1,$C6,$CC,$C1,$D3,$48 - ; MEGAFLASH -> X032 -; inc/megaflash.plh: 0006: // -; inc/megaflash.plh: 0007: // MegaFlash I/O Registers (Slot 4) -; inc/megaflash.plh: 0008: // -; inc/megaflash.plh: 0009: const MF_SLOT = 4 - ; MF_SLOT = 4 -; inc/megaflash.plh: 0010: const MF_CMDREG = $C480 // Command register - ; MF_CMDREG = 50304 -; inc/megaflash.plh: 0011: const MF_PARAMREG = $C481 // Parameter register (read/write) - ; MF_PARAMREG = 50305 -; inc/megaflash.plh: 0012: const MF_STATUSREG = $C482 // Status register - ; MF_STATUSREG = 50306 -; inc/megaflash.plh: 0013: const MF_IDREG = $C483 // ID register - ; MF_IDREG = 50307 -; inc/megaflash.plh: 0014: -; inc/megaflash.plh: 0015: // -; inc/megaflash.plh: 0016: // MegaFlash FPU Commands -; inc/megaflash.plh: 0017: // -; inc/megaflash.plh: 0018: const MF_CMD_FADD = $30 // Floating point add - ; MF_CMD_FADD = 48 -; inc/megaflash.plh: 0019: const MF_CMD_FMUL = $31 // Floating point multiply - ; MF_CMD_FMUL = 49 -; inc/megaflash.plh: 0020: const MF_CMD_FDIV = $32 // Floating point divide - ; MF_CMD_FDIV = 50 -; inc/megaflash.plh: 0021: const MF_CMD_FSIN = $33 // Floating point sine - ; MF_CMD_FSIN = 51 -; inc/megaflash.plh: 0022: const MF_CMD_FCOS = $34 // Floating point cosine - ; MF_CMD_FCOS = 52 -; inc/megaflash.plh: 0023: const MF_CMD_FTAN = $35 // Floating point tangent - ; MF_CMD_FTAN = 53 -; inc/megaflash.plh: 0024: const MF_CMD_FATN = $36 // Floating point arctangent - ; MF_CMD_FATN = 54 -; inc/megaflash.plh: 0025: const MF_CMD_FLOG = $37 // Floating point natural log - ; MF_CMD_FLOG = 55 -; inc/megaflash.plh: 0026: const MF_CMD_FEXP = $38 // Floating point exponential - ; MF_CMD_FEXP = 56 -; inc/megaflash.plh: 0027: const MF_CMD_FSQR = $39 // Floating point square root - ; MF_CMD_FSQR = 57 -; inc/megaflash.plh: 0028: const MF_CMD_FOUT = $3A // Format floating point as string - ; MF_CMD_FOUT = 58 -; inc/megaflash.plh: 0029: -; inc/megaflash.plh: 0030: // -; inc/megaflash.plh: 0031: // MegaFlash Error Codes (in parameter buffer) -; inc/megaflash.plh: 0032: // -; inc/megaflash.plh: 0033: const MF_ERR_NONE = $00 // No error - ; MF_ERR_NONE = 0 -; inc/megaflash.plh: 0034: const MF_ERR_OVERFLOW = $80 // Overflow error - ; MF_ERR_OVERFLOW = 128 -; inc/megaflash.plh: 0035: const MF_ERR_DIV0 = $40 // Division by zero - ; MF_ERR_DIV0 = 64 -; inc/megaflash.plh: 0036: const MF_ERR_ILLEGAL = $20 // Illegal quantity - ; MF_ERR_ILLEGAL = 32 -; inc/megaflash.plh: 0037: -; inc/megaflash.plh: 0038: // -; inc/megaflash.plh: 0039: // Status Register Bits -; inc/megaflash.plh: 0040: // -; inc/megaflash.plh: 0041: const MF_STATUS_BUSY = $80 // Busy flag (bit 7) - ; MF_STATUS_BUSY = 128 -; inc/megaflash.plh: 0042: -; inc/megaflash.plh: 0043: // -; inc/megaflash.plh: 0044: // MBF (Microsoft Binary Format) constants -; inc/megaflash.plh: 0045: // -; inc/megaflash.plh: 0046: const MBF_SIZE = 6 // FAC/ARG size: exp + sign + 4 mantissa bytes - ; MBF_SIZE = 6 -; inc/megaflash.plh: 0047: const MBF_EXT_SIZE = 1 // Extension byte size - ; MBF_EXT_SIZE = 1 -; inc/megaflash.plh: 0048: const MBF_TOTAL = 13 // Total buffer size for FAC+ARG+EXT - ; MBF_TOTAL = 13 -; inc/megaflash.plh: 0049: -; inc/megaflash.plh: 0050: // -; inc/megaflash.plh: 0051: // SANE Extended Format constants (for conversion) -; inc/megaflash.plh: 0052: // -; inc/megaflash.plh: 0053: //const t_extended = 10 // 80-bit extended precision size -; inc/megaflash.plh: 0054: -; inc/megaflash.plh: 0055: end -; libsrc/fpu_mf.pla: 0042: -; libsrc/fpu_mf.pla: 0043: -; libsrc/fpu_mf.pla: 0044: // -; libsrc/fpu_mf.pla: 0045: // External interface to FPU library (same as fpu.pla) -; libsrc/fpu_mf.pla: 0046: // -; libsrc/fpu_mf.pla: 0047: predef reset, getEnv, setEnv(env), testExcept(except), setExcept(except), enterProc(pEnv), exitProc(env) - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/fpu_mf.pla: 0048: predef constPi, constE -; libsrc/fpu_mf.pla: 0049: predef pushInt(pInt), pushSgl(pSgl), pushDbl(pDbl), pushExt(pExt), pushStr(pStr) -; libsrc/fpu_mf.pla: 0050: predef pullInt(pInt), pullSgl(pSgl), pullDbl(pDbl), pullExt(pExt), pullStr(pStr,intdigits,fracdigits,format) -; libsrc/fpu_mf.pla: 0051: predef loadInt(pInt,reg), loadSgl(pSgl,reg), loadDbl(pDbl,reg), loadExt(pExt,reg), loadStr(pStr,reg) -; libsrc/fpu_mf.pla: 0052: predef storInt(pInt,reg), storSgl(pSgl,reg), storDbl(pDbl,reg), storExt(pExt,reg), storStr(pStr,intdigits,fracdigits,format,reg) -; libsrc/fpu_mf.pla: 0053: predef shiftUp, shiftDown, rotateUp, rotateDown, dup, swap, clear -; libsrc/fpu_mf.pla: 0054: predef add, sub, mul, div, rem -; libsrc/fpu_mf.pla: 0055: predef neg, abs, type, cmp, logb, scalb(scale), trunc, round, sqrt, squared -; libsrc/fpu_mf.pla: 0056: predef cos, sin, tan, atan, asin, acos, sinh, cosh, tanh, sec, csc, cot -; libsrc/fpu_mf.pla: 0057: predef log2X, log21X, lnX, ln1X, pow2X, pow21X, powEX, powE1X, powE21X, powXInt(powInt), powXY -; libsrc/fpu_mf.pla: 0058: predef compXY, annuityXY, randNum(pSeed) -; libsrc/fpu_mf.pla: 0059: -; libsrc/fpu_mf.pla: 0060: // -; libsrc/fpu_mf.pla: 0061: // Export table (same structure as fpu.pla) -; libsrc/fpu_mf.pla: 0062: // -; libsrc/fpu_mf.pla: 0063: word fpu = @reset -_D110 ; fpu = @reset -_F000 !WORD _P000 -; libsrc/fpu_mf.pla: 0064: word = @setEnv, @getEnv, @testExcept, @setExcept, @enterProc, @exitProc -_F001 !WORD _P002 -_F002 !WORD _P001 -_F003 !WORD _P003 -_F004 !WORD _P004 -_F005 !WORD _P005 -_F006 !WORD _P006 -; libsrc/fpu_mf.pla: 0065: word = @constPi, @constE -_F007 !WORD _P007 -_F008 !WORD _P008 -; libsrc/fpu_mf.pla: 0066: word = @pushInt, @pushSgl, @pushDbl, @pushExt, @pushStr -_F009 !WORD _P009 -_F010 !WORD _P010 -_F011 !WORD _P011 -_F012 !WORD _P012 -_F013 !WORD _P013 -; libsrc/fpu_mf.pla: 0067: word = @pullInt, @pullSgl, @pullDbl, @pullExt, @pullStr -_F014 !WORD _P014 -_F015 !WORD _P015 -_F016 !WORD _P016 -_F017 !WORD _P017 -_F018 !WORD _P018 -; libsrc/fpu_mf.pla: 0068: word = @loadInt, @loadSgl, @loadDbl, @loadExt, @loadStr -_F019 !WORD _P019 -_F020 !WORD _P020 -_F021 !WORD _P021 -_F022 !WORD _P022 -_F023 !WORD _P023 -; libsrc/fpu_mf.pla: 0069: word = @storInt, @storSgl, @storDbl, @storExt, @storStr -_F024 !WORD _P024 -_F025 !WORD _P025 -_F026 !WORD _P026 -_F027 !WORD _P027 -_F028 !WORD _P028 -; libsrc/fpu_mf.pla: 0070: word = @shiftUp, @shiftDown, @rotateUp, @rotateDown, @dup, @swap, @clear -_F029 !WORD _P029 -_F030 !WORD _P030 -_F031 !WORD _P031 -_F032 !WORD _P032 -_F033 !WORD _P033 -_F034 !WORD _P034 -_F035 !WORD _P035 -; libsrc/fpu_mf.pla: 0071: word = @add, @sub, @mul, @div, @rem -_F036 !WORD _P036 -_F037 !WORD _P037 -_F038 !WORD _P038 -_F039 !WORD _P039 -_F040 !WORD _P040 -; libsrc/fpu_mf.pla: 0072: word = @neg, @abs, @type, @cmp -_F041 !WORD _P041 -_F042 !WORD _P042 -_F043 !WORD _P043 -_F044 !WORD _P044 -; libsrc/fpu_mf.pla: 0073: word = @logb, @scalb, @trunc, @round, @sqrt, @squared -_F045 !WORD _P045 -_F046 !WORD _P046 -_F047 !WORD _P047 -_F048 !WORD _P048 -_F049 !WORD _P049 -_F050 !WORD _P050 -; libsrc/fpu_mf.pla: 0074: word = @cos, @sin, @tan, @atan, @asin, @acos, @sinh, @cosh, @tanh, @sec, @csc, @cot -_F051 !WORD _P051 -_F052 !WORD _P052 -_F053 !WORD _P053 -_F054 !WORD _P054 -_F055 !WORD _P055 -_F056 !WORD _P056 -_F057 !WORD _P057 -_F058 !WORD _P058 -_F059 !WORD _P059 -_F060 !WORD _P060 -_F061 !WORD _P061 -_F062 !WORD _P062 -; libsrc/fpu_mf.pla: 0075: -; libsrc/fpu_mf.pla: 0076: word = @log2X, @log21X, @lnX, @ln1X, @pow2X, @pow21X, @powEX, @powE1X, @powE21X, @powXInt, @powXY -_F063 !WORD _P063 -_F064 !WORD _P064 -_F065 !WORD _P065 -_F066 !WORD _P066 -_F067 !WORD _P067 -_F068 !WORD _P068 -_F069 !WORD _P069 -_F070 !WORD _P070 -_F071 !WORD _P071 -_F072 !WORD _P072 -_F073 !WORD _P073 -; libsrc/fpu_mf.pla: 0077: word = @compXY, @annuityXY, @randNum -_F074 !WORD _P074 -_F075 !WORD _P075 -_F076 !WORD _P076 -; libsrc/fpu_mf.pla: 0078: -; libsrc/fpu_mf.pla: 0079: // -; libsrc/fpu_mf.pla: 0080: // Useful constants (same as fpu.pla) -; libsrc/fpu_mf.pla: 0081: // -; libsrc/fpu_mf.pla: 0082: byte ext_pi[t_extended] = $35,$C2,$68,$21,$A2,$DA,$0F,$C9,$00,$40 -_D111 ; ext_pi[t_extended] = $35,$C2,$68,$21,$A2,$DA,$0F,$C9,$00,$40 - !BYTE $35 - !BYTE $C2 - !BYTE $68 - !BYTE $21 - !BYTE $A2 - !BYTE $DA - !BYTE $0F - !BYTE $C9 - !BYTE $00 - !BYTE $40 -; libsrc/fpu_mf.pla: 0083: byte ext_e[t_extended] = $9B,$4A,$BB,$A2,$5B,$54,$F8,$AD,$00,$40 -_D112 ; ext_e[t_extended] = $9B,$4A,$BB,$A2,$5B,$54,$F8,$AD,$00,$40 - !BYTE $9B - !BYTE $4A - !BYTE $BB - !BYTE $A2 - !BYTE $5B - !BYTE $54 - !BYTE $F8 - !BYTE $AD - !BYTE $00 - !BYTE $40 -; libsrc/fpu_mf.pla: 0084: // ln(2) constant ~0.693147 -; libsrc/fpu_mf.pla: 0085: byte ext_ln2[t_extended] = $FE,$3F,$B1,$72,$17,$F7,$D1,$CF,$79,$AB -_D113 ; ext_ln2[t_extended] = $FE,$3F,$B1,$72,$17,$F7,$D1,$CF,$79,$AB - !BYTE $FE - !BYTE $3F - !BYTE $B1 - !BYTE $72 - !BYTE $17 - !BYTE $F7 - !BYTE $D1 - !BYTE $CF - !BYTE $79 - !BYTE $AB -; libsrc/fpu_mf.pla: 0086: byte ext_one[t_extended] = 0 ,$3F,$80,0 ,0 ,0 ,0 ,0 ,0 ,0 -_D114 ; ext_one[t_extended] = 0 ,$3F,$80,0 ,0 ,0 ,0 ,0 ,0 ,0 - !BYTE $00 - !BYTE $3F - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/fpu_mf.pla: 0087: byte ext_two[t_extended] = 0 ,$40,$80,0 ,0 ,0 ,0 ,0 ,0 ,0 -_D115 ; ext_two[t_extended] = 0 ,$40,$80,0 ,0 ,0 ,0 ,0 ,0 ,0 - !BYTE $00 - !BYTE $40 - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/fpu_mf.pla: 0088: byte ext_negOne[t_extended] = $FF,$3F,$80,0 ,0 ,0 ,0 ,0 ,0 ,0 -_D116 ; ext_negOne[t_extended] = $FF,$3F,$80,0 ,0 ,0 ,0 ,0 ,0 ,0 - !BYTE $FF - !BYTE $3F - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; libsrc/fpu_mf.pla: 0089: -; libsrc/fpu_mf.pla: 0090: // -; libsrc/fpu_mf.pla: 0091: // FP Stack (4 extended precision registers) -; libsrc/fpu_mf.pla: 0092: // -; libsrc/fpu_mf.pla: 0093: byte stack[t_extended*4] -_D117 !FILL 40 ; stack[t_extended*4] -; libsrc/fpu_mf.pla: 0094: word stackRegs[4] -_D118 !FILL 8 ; stackRegs[4] -; libsrc/fpu_mf.pla: 0095: -; libsrc/fpu_mf.pla: 0096: // -; libsrc/fpu_mf.pla: 0097: // MegaFlash hardware state -; libsrc/fpu_mf.pla: 0098: // -; libsrc/fpu_mf.pla: 0099: byte mfAvailable = FALSE -_D119 ; mfAvailable = FALSE - !BYTE $00 -; libsrc/fpu_mf.pla: 0100: byte[MBF_TOTAL] mbfBuffer // Buffer for MBF format conversions -_D120 !FILL 13 ; mbfBuffer // Buffer for MBF format conversions -; libsrc/fpu_mf.pla: 0101: -; libsrc/fpu_mf.pla: 0102: // -; libsrc/fpu_mf.pla: 0103: // Import SANE library for fallback and format conversions -; libsrc/fpu_mf.pla: 0104: // -; libsrc/fpu_mf.pla: 0105: word saneInit = 0 -_D121 ; saneInit = 0 - !WORD $0000 -; libsrc/fpu_mf.pla: 0106: -; libsrc/fpu_mf.pla: 0107: //============================================================================== -; libsrc/fpu_mf.pla: 0108: // MEGAFLASH HARDWARE INTERFACE -; libsrc/fpu_mf.pla: 0109: //============================================================================== -; libsrc/fpu_mf.pla: 0110: -; libsrc/fpu_mf.pla: 0111: // -; libsrc/fpu_mf.pla: 0112: // Wait for MegaFlash operation to complete -; libsrc/fpu_mf.pla: 0113: // -; libsrc/fpu_mf.pla: 0114: asm waitMegaFlash -_A000 ; waitMegaFlash() -; libsrc/fpu_mf.pla: 0115: !SOURCE "vmsrc/apple/plvmzp.inc" - !SOURCE "vmsrc/apple/plvmzp.inc" -; libsrc/fpu_mf.pla: 0116: !SOURCE "vmsrc/apple/megaflash.inc" - !SOURCE "vmsrc/apple/megaflash.inc" -; libsrc/fpu_mf.pla: 0117: LDA MF_STATUSREG - LDA MF_STATUSREG -; libsrc/fpu_mf.pla: 0118: - BIT MF_STATUSREG -- BIT MF_STATUSREG -; libsrc/fpu_mf.pla: 0119: BMI - - BMI - -; libsrc/fpu_mf.pla: 0120: RTS - RTS -; libsrc/fpu_mf.pla: 0121: end -; libsrc/fpu_mf.pla: 0122: -; libsrc/fpu_mf.pla: 0123: // -; libsrc/fpu_mf.pla: 0124: // Execute MegaFlash FPU command -; libsrc/fpu_mf.pla: 0125: // Input: A = command code -; libsrc/fpu_mf.pla: 0126: // Output: A = error code (0 = success) -; libsrc/fpu_mf.pla: 0127: // -; libsrc/fpu_mf.pla: 0128: asm execMegaFlash(cmd)#1 -_A001 ; execMegaFlash() -; libsrc/fpu_mf.pla: 0129: LDX ESP - LDX ESP -; libsrc/fpu_mf.pla: 0130: LDA ESTKL,X // Get command code - LDA ESTKL,X // Get command code -; libsrc/fpu_mf.pla: 0131: -; libsrc/fpu_mf.pla: 0132: // Reset buffer pointers -; libsrc/fpu_mf.pla: 0133: STZ MF_CMDREG - STZ MF_CMDREG -; libsrc/fpu_mf.pla: 0134: -; libsrc/fpu_mf.pla: 0135: // Send command -; libsrc/fpu_mf.pla: 0136: STA MF_CMDREG - STA MF_CMDREG -; libsrc/fpu_mf.pla: 0137: -; libsrc/fpu_mf.pla: 0138: // Wait for completion -; libsrc/fpu_mf.pla: 0139: - BIT MF_STATUSREG -- BIT MF_STATUSREG -; libsrc/fpu_mf.pla: 0140: BMI - - BMI - -; libsrc/fpu_mf.pla: 0141: -; libsrc/fpu_mf.pla: 0142: // Get error code -; libsrc/fpu_mf.pla: 0143: LDA MF_PARAMREG - LDA MF_PARAMREG -; libsrc/fpu_mf.pla: 0144: STA ESTKL,X - STA ESTKL,X -; libsrc/fpu_mf.pla: 0145: LDA #0 - LDA #0 -; libsrc/fpu_mf.pla: 0146: STA ESTKH,X - STA ESTKH,X -; libsrc/fpu_mf.pla: 0147: RTS - RTS -; libsrc/fpu_mf.pla: 0148: end -; libsrc/fpu_mf.pla: 0149: -; libsrc/fpu_mf.pla: 0150: // -; libsrc/fpu_mf.pla: 0151: // Send FAC and ARG to MegaFlash parameter buffer -; libsrc/fpu_mf.pla: 0152: // Input: pFAC, pARG = pointers to 6-byte MBF values -; libsrc/fpu_mf.pla: 0153: // facExt = FAC extension byte -; libsrc/fpu_mf.pla: 0154: // -; libsrc/fpu_mf.pla: 0155: asm sendFACARG(pFAC, pARG, facExt)#0 -_A002 ; sendFACARG() -; libsrc/fpu_mf.pla: 0156: LDX ESP - LDX ESP -; libsrc/fpu_mf.pla: 0157: -; libsrc/fpu_mf.pla: 0158: // Get pointers -; libsrc/fpu_mf.pla: 0159: LDA ESTKL+2,X // pFAC low - LDA ESTKL+2,X // pFAC low -; libsrc/fpu_mf.pla: 0160: STA $06 - STA $06 -; libsrc/fpu_mf.pla: 0161: LDA ESTKH+2,X // pFAC high - LDA ESTKH+2,X // pFAC high -; libsrc/fpu_mf.pla: 0162: STA $07 - STA $07 -; libsrc/fpu_mf.pla: 0163: -; libsrc/fpu_mf.pla: 0164: LDA ESTKL+1,X // pARG low - LDA ESTKL+1,X // pARG low -; libsrc/fpu_mf.pla: 0165: STA $08 - STA $08 -; libsrc/fpu_mf.pla: 0166: LDA ESTKH+1,X // pARG high - LDA ESTKH+1,X // pARG high -; libsrc/fpu_mf.pla: 0167: STA $09 - STA $09 -; libsrc/fpu_mf.pla: 0168: -; libsrc/fpu_mf.pla: 0169: LDA ESTKL,X // facExt - LDA ESTKL,X // facExt -; libsrc/fpu_mf.pla: 0170: STA $0A - STA $0A -; libsrc/fpu_mf.pla: 0171: -; libsrc/fpu_mf.pla: 0172: INX - INX -; libsrc/fpu_mf.pla: 0173: INX - INX -; libsrc/fpu_mf.pla: 0174: INX - INX -; libsrc/fpu_mf.pla: 0175: STX ESP - STX ESP -; libsrc/fpu_mf.pla: 0176: -; libsrc/fpu_mf.pla: 0177: // Reset buffer pointer -; libsrc/fpu_mf.pla: 0178: STZ MF_CMDREG - STZ MF_CMDREG -; libsrc/fpu_mf.pla: 0179: -; libsrc/fpu_mf.pla: 0180: // Send FAC and ARG (interleaved: FAC[i], ARG[i]) -; libsrc/fpu_mf.pla: 0181: LDY #5 - LDY #5 -; libsrc/fpu_mf.pla: 0182: - LDA ($06),Y // FAC[i] -- LDA ($06),Y // FAC[i] -; libsrc/fpu_mf.pla: 0183: STA MF_PARAMREG - STA MF_PARAMREG -; libsrc/fpu_mf.pla: 0184: LDA ($08),Y // ARG[i] - LDA ($08),Y // ARG[i] -; libsrc/fpu_mf.pla: 0185: STA MF_PARAMREG - STA MF_PARAMREG -; libsrc/fpu_mf.pla: 0186: DEY - DEY -; libsrc/fpu_mf.pla: 0187: BPL - - BPL - -; libsrc/fpu_mf.pla: 0188: -; libsrc/fpu_mf.pla: 0189: // Send FAC extension -; libsrc/fpu_mf.pla: 0190: LDA $0A - LDA $0A -; libsrc/fpu_mf.pla: 0191: STA MF_PARAMREG - STA MF_PARAMREG -; libsrc/fpu_mf.pla: 0192: -; libsrc/fpu_mf.pla: 0193: RTS - RTS -; libsrc/fpu_mf.pla: 0194: end -; libsrc/fpu_mf.pla: 0195: -; libsrc/fpu_mf.pla: 0196: // -; libsrc/fpu_mf.pla: 0197: // Receive result from MegaFlash parameter buffer -; libsrc/fpu_mf.pla: 0198: // Input: pResult = pointer to 6-byte MBF output -; libsrc/fpu_mf.pla: 0199: // Output: extension byte in A -; libsrc/fpu_mf.pla: 0200: // -; libsrc/fpu_mf.pla: 0201: asm receiveFAC(pResult)#1 -_A003 ; receiveFAC() -; libsrc/fpu_mf.pla: 0202: LDX ESP - LDX ESP -; libsrc/fpu_mf.pla: 0203: -; libsrc/fpu_mf.pla: 0204: // Get pointer -; libsrc/fpu_mf.pla: 0205: LDA ESTKL,X - LDA ESTKL,X -; libsrc/fpu_mf.pla: 0206: STA $06 - STA $06 -; libsrc/fpu_mf.pla: 0207: LDA ESTKH,X - LDA ESTKH,X -; libsrc/fpu_mf.pla: 0208: STA $07 - STA $07 -; libsrc/fpu_mf.pla: 0209: -; libsrc/fpu_mf.pla: 0210: // Read 6 bytes of FAC -; libsrc/fpu_mf.pla: 0211: LDY #5 - LDY #5 -; libsrc/fpu_mf.pla: 0212: - LDA MF_PARAMREG -- LDA MF_PARAMREG -; libsrc/fpu_mf.pla: 0213: STA ($06),Y - STA ($06),Y -; libsrc/fpu_mf.pla: 0214: DEY - DEY -; libsrc/fpu_mf.pla: 0215: BPL - - BPL - -; libsrc/fpu_mf.pla: 0216: -; libsrc/fpu_mf.pla: 0217: // Read extension byte -; libsrc/fpu_mf.pla: 0218: LDA MF_PARAMREG - LDA MF_PARAMREG -; libsrc/fpu_mf.pla: 0219: STA ESTKL,X - STA ESTKL,X -; libsrc/fpu_mf.pla: 0220: LDA #0 - LDA #0 -; libsrc/fpu_mf.pla: 0221: STA ESTKH,X - STA ESTKH,X -; libsrc/fpu_mf.pla: 0222: -; libsrc/fpu_mf.pla: 0223: RTS - RTS -; libsrc/fpu_mf.pla: 0224: end -; libsrc/fpu_mf.pla: 0225: -; libsrc/fpu_mf.pla: 0226: // -; libsrc/fpu_mf.pla: 0227: // Detect MegaFlash hardware presence -; libsrc/fpu_mf.pla: 0228: // -; libsrc/fpu_mf.pla: 0229: def detectMegaFlash - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; detectMegaFlash() -; libsrc/fpu_mf.pla: 0230: byte id1, id2 - ; id1 -> [0] - ; id2 -> [1] -; libsrc/fpu_mf.pla: 0231: -; libsrc/fpu_mf.pla: 0232: // Read ID register twice and XOR - should give $FF if MegaFlash present -; libsrc/fpu_mf.pla: 0233: id1 = ^MF_IDREG - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0234: id2 = ^MF_IDREG -; libsrc/fpu_mf.pla: 0235: -; libsrc/fpu_mf.pla: 0236: if (id1 ^ id2) == $FF -; libsrc/fpu_mf.pla: 0237: return TRUE - !BYTE $68,$83,$C4 ; LAB 50307 - !BYTE $74,$00 ; SLB [0] - !BYTE $68,$83,$C4 ; LAB 50307 - !BYTE $74,$01 ; SLB [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $98 ; XOR - !BYTE $2A,$FF ; CB 255 - !BYTE $24 ; BRNE _B001 - !WORD _B001-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0238: fin -_B001 -_B002 -; libsrc/fpu_mf.pla: 0239: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0240: end -; libsrc/fpu_mf.pla: 0241: -; libsrc/fpu_mf.pla: 0242: //============================================================================== -; libsrc/fpu_mf.pla: 0243: // MBF <-> SANE EXTENDED FORMAT CONVERSION -; libsrc/fpu_mf.pla: 0244: //============================================================================== -; libsrc/fpu_mf.pla: 0245: -; libsrc/fpu_mf.pla: 0246: // -; libsrc/fpu_mf.pla: 0247: // Convert SANE Extended (80-bit) to MBF (40-bit) -; libsrc/fpu_mf.pla: 0248: // Input: pExt = pointer to 80-bit extended -; libsrc/fpu_mf.pla: 0249: // pMBF = pointer to 6-byte MBF output -; libsrc/fpu_mf.pla: 0250: // Output: 0 on success, error code on failure -; libsrc/fpu_mf.pla: 0251: // -; libsrc/fpu_mf.pla: 0252: // SANE Extended format: -; libsrc/fpu_mf.pla: 0253: // Byte 0-1: Sign (bit 15) + Exponent (bits 14-0, bias 16383) -; libsrc/fpu_mf.pla: 0254: // Byte 2-9: 64-bit mantissa (bit 63 is explicit integer bit) -; libsrc/fpu_mf.pla: 0255: // -; libsrc/fpu_mf.pla: 0256: // MBF format: -; libsrc/fpu_mf.pla: 0257: // Byte 0: Exponent (bias 128, 0 = zero) -; libsrc/fpu_mf.pla: 0258: // Byte 1: Sign (bit 7) + Mantissa MSB (bits 6-0, no explicit integer bit) -; libsrc/fpu_mf.pla: 0259: // Byte 2-5: Mantissa continuation -; libsrc/fpu_mf.pla: 0260: // (Optional byte 6: Extension for extra precision) -; libsrc/fpu_mf.pla: 0261: // -; libsrc/fpu_mf.pla: 0262: def extendedToMBF(pExt, pMBF) - ; pExt -> [0] - ; pMBF -> [2] -_C001 ; extendedToMBF() -; libsrc/fpu_mf.pla: 0263: word expWord, i - ; expWord -> [4] - ; i -> [6] -; libsrc/fpu_mf.pla: 0264: byte signByte, expByte - ; signByte -> [8] - ; expByte -> [9] -; libsrc/fpu_mf.pla: 0265: -; libsrc/fpu_mf.pla: 0266: // Get exponent word (bytes 0-1 of extended, big-endian) -; libsrc/fpu_mf.pla: 0267: expWord = (pExt->0) << 8 - !BYTE $58,$0A,$02 ; ENTER 10,2 -; libsrc/fpu_mf.pla: 0268: expWord = expWord | (pExt=>1) -; libsrc/fpu_mf.pla: 0269: -; libsrc/fpu_mf.pla: 0270: // Extract sign bit -; libsrc/fpu_mf.pla: 0271: if expWord & $8000 -; libsrc/fpu_mf.pla: 0272: signByte = $80 -; libsrc/fpu_mf.pla: 0273: else - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $6E,$04 ; DLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $6E,$04 ; DLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$08 ; SLB [8] - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; libsrc/fpu_mf.pla: 0274: signByte = 0 -; libsrc/fpu_mf.pla: 0275: fin - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] -_B004 -; libsrc/fpu_mf.pla: 0276: -; libsrc/fpu_mf.pla: 0277: // Extract exponent (15 bits) -; libsrc/fpu_mf.pla: 0278: expWord = expWord & $7FFF -; libsrc/fpu_mf.pla: 0279: -; libsrc/fpu_mf.pla: 0280: // Check for zero -; libsrc/fpu_mf.pla: 0281: if expWord == 0 -; libsrc/fpu_mf.pla: 0282: // Zero value -; libsrc/fpu_mf.pla: 0283: pMBF->0 = 0 -; libsrc/fpu_mf.pla: 0284: pMBF->1 = 0 -; libsrc/fpu_mf.pla: 0285: pMBF->2 = 0 -; libsrc/fpu_mf.pla: 0286: pMBF->3 = 0 -; libsrc/fpu_mf.pla: 0287: pMBF->4 = 0 -; libsrc/fpu_mf.pla: 0288: pMBF->5 = 0 -; libsrc/fpu_mf.pla: 0289: return 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B005 - !WORD _B005-* - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/fpu_mf.pla: 0290: fin -_B005 -_B006 -; libsrc/fpu_mf.pla: 0291: -; libsrc/fpu_mf.pla: 0292: // Convert exponent from SANE bias (16383) to MBF bias (128) -; libsrc/fpu_mf.pla: 0293: // MBF exponent = SANE exponent - 16383 + 128 = SANE exp - 16255 -; libsrc/fpu_mf.pla: 0294: expWord = expWord - 16255 -; libsrc/fpu_mf.pla: 0295: -; libsrc/fpu_mf.pla: 0296: // Check for overflow/underflow -; libsrc/fpu_mf.pla: 0297: if expWord < 1 -; libsrc/fpu_mf.pla: 0298: // Underflow - return zero -; libsrc/fpu_mf.pla: 0299: pMBF->0 = 0 -; libsrc/fpu_mf.pla: 0300: pMBF->1 = 0 -; libsrc/fpu_mf.pla: 0301: pMBF->2 = 0 -; libsrc/fpu_mf.pla: 0302: pMBF->3 = 0 -; libsrc/fpu_mf.pla: 0303: pMBF->4 = 0 -; libsrc/fpu_mf.pla: 0304: pMBF->5 = 0 -; libsrc/fpu_mf.pla: 0305: return 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$7F,$3F ; CW 16255 - !BYTE $84 ; SUB - !BYTE $6E,$04 ; DLW [4] - !BYTE $02 ; CN 1 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/fpu_mf.pla: 0306: fin -_B007 -_B008 -; libsrc/fpu_mf.pla: 0307: if expWord > 255 -; libsrc/fpu_mf.pla: 0308: // Overflow -; libsrc/fpu_mf.pla: 0309: return MF_ERR_OVERFLOW - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$FF ; CB 255 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $2A,$80 ; CB 128 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/fpu_mf.pla: 0310: fin -_B009 -_B010 -; libsrc/fpu_mf.pla: 0311: -; libsrc/fpu_mf.pla: 0312: expByte = expWord -; libsrc/fpu_mf.pla: 0313: -; libsrc/fpu_mf.pla: 0314: // Store exponent -; libsrc/fpu_mf.pla: 0315: pMBF->0 = expByte -; libsrc/fpu_mf.pla: 0316: -; libsrc/fpu_mf.pla: 0317: // Convert mantissa -; libsrc/fpu_mf.pla: 0318: // SANE mantissa is in bytes 2-9, with bit 63 being the explicit integer bit -; libsrc/fpu_mf.pla: 0319: // MBF mantissa needs bit 7 of byte 1 set (implicit integer bit), then 31 more bits -; libsrc/fpu_mf.pla: 0320: // -; libsrc/fpu_mf.pla: 0321: // SANE byte 2: bit 7 is integer bit (should be 1 for normalized) -; libsrc/fpu_mf.pla: 0322: // MBF byte 1: bit 7 is sign, bits 6-0 are mantissa MSB (no explicit integer bit) -; libsrc/fpu_mf.pla: 0323: -; libsrc/fpu_mf.pla: 0324: pMBF->1 = signByte | ((pExt=>2) & $7F) // Skip the explicit integer bit -; libsrc/fpu_mf.pla: 0325: pMBF->2 = pExt=>3 -; libsrc/fpu_mf.pla: 0326: pMBF->3 = pExt=>4 -; libsrc/fpu_mf.pla: 0327: pMBF->4 = pExt=>5 -; libsrc/fpu_mf.pla: 0328: pMBF->5 = pExt=>6 // Extension byte for rounding -; libsrc/fpu_mf.pla: 0329: -; libsrc/fpu_mf.pla: 0330: return 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $6C,$09 ; DLB [9] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $3C,$7F ; ANDI 127 - !BYTE $96 ; OR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/fpu_mf.pla: 0331: end -; libsrc/fpu_mf.pla: 0332: -; libsrc/fpu_mf.pla: 0333: // -; libsrc/fpu_mf.pla: 0334: // Convert MBF (40-bit) to SANE Extended (80-bit) -; libsrc/fpu_mf.pla: 0335: // Input: pMBF = pointer to 6-byte MBF input -; libsrc/fpu_mf.pla: 0336: // pExt = pointer to 10-byte extended output -; libsrc/fpu_mf.pla: 0337: // Output: 0 on success -; libsrc/fpu_mf.pla: 0338: // -; libsrc/fpu_mf.pla: 0339: def MBFToExtended(pMBF, pExt) - ; pMBF -> [0] - ; pExt -> [2] -_C002 ; MBFToExtended() -; libsrc/fpu_mf.pla: 0340: word expWord - ; expWord -> [4] -; libsrc/fpu_mf.pla: 0341: byte expByte, signByte, i - ; expByte -> [6] - ; signByte -> [7] - ; i -> [8] -; libsrc/fpu_mf.pla: 0342: -; libsrc/fpu_mf.pla: 0343: // Get MBF exponent -; libsrc/fpu_mf.pla: 0344: expByte = pMBF->0 - !BYTE $58,$09,$02 ; ENTER 9,2 -; libsrc/fpu_mf.pla: 0345: -; libsrc/fpu_mf.pla: 0346: // Check for zero -; libsrc/fpu_mf.pla: 0347: if expByte == 0 -; libsrc/fpu_mf.pla: 0348: // Zero value - clear all bytes -; libsrc/fpu_mf.pla: 0349: pExt->0 = 0 -; libsrc/fpu_mf.pla: 0350: pExt->1 = 0 -; libsrc/fpu_mf.pla: 0351: pExt->2 = 0 -; libsrc/fpu_mf.pla: 0352: pExt->3 = 0 -; libsrc/fpu_mf.pla: 0353: pExt->4 = 0 -; libsrc/fpu_mf.pla: 0354: pExt->5 = 0 -; libsrc/fpu_mf.pla: 0355: pExt->6 = 0 -; libsrc/fpu_mf.pla: 0356: pExt->7 = 0 -; libsrc/fpu_mf.pla: 0357: pExt->8 = 0 -; libsrc/fpu_mf.pla: 0358: pExt->9 = 0 -; libsrc/fpu_mf.pla: 0359: -; libsrc/fpu_mf.pla: 0360: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$06 ; DLB [6] - !BYTE $4E ; BRTRU _B011 - !WORD _B011-* - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/fpu_mf.pla: 0361: fin -_B011 -_B012 -; libsrc/fpu_mf.pla: 0362: -; libsrc/fpu_mf.pla: 0363: // Convert exponent from MBF bias (128) to SANE bias (16383) -; libsrc/fpu_mf.pla: 0364: // SANE exponent = MBF exponent + 16255 -; libsrc/fpu_mf.pla: 0365: expWord = expByte -; libsrc/fpu_mf.pla: 0366: expWord = expWord + 16255 -; libsrc/fpu_mf.pla: 0367: -; libsrc/fpu_mf.pla: 0368: // Extract sign from MBF byte 1 -; libsrc/fpu_mf.pla: 0369: signByte = pMBF->1 -; libsrc/fpu_mf.pla: 0370: if signByte & $80 -; libsrc/fpu_mf.pla: 0371: expWord = expWord | $8000 // Set sign bit -; libsrc/fpu_mf.pla: 0372: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $6E,$04 ; DLW [4] - !BYTE $2C,$7F,$3F ; CW 16255 - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $6C,$07 ; DLB [7] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $96 ; OR - !BYTE $76,$04 ; SLW [4] -_B013 -_B014 -; libsrc/fpu_mf.pla: 0373: -; libsrc/fpu_mf.pla: 0374: // Store exponent (bytes 0-1, big-endian) -; libsrc/fpu_mf.pla: 0375: pExt->0 = expWord >> 8 -; libsrc/fpu_mf.pla: 0376: pExt->1 = expWord -; libsrc/fpu_mf.pla: 0377: -; libsrc/fpu_mf.pla: 0378: // Convert mantissa -; libsrc/fpu_mf.pla: 0379: // Set explicit integer bit (bit 63 = 1 for normalized numbers) -; libsrc/fpu_mf.pla: 0380: pExt->2 = (signByte & $7F) | $80 // Add back the explicit integer bit -; libsrc/fpu_mf.pla: 0381: pExt->3 = pMBF->2 -; libsrc/fpu_mf.pla: 0382: pExt->4 = pMBF->3 -; libsrc/fpu_mf.pla: 0383: pExt->5 = pMBF->4 -; libsrc/fpu_mf.pla: 0384: pExt->6 = pMBF->5 -; libsrc/fpu_mf.pla: 0385: -; libsrc/fpu_mf.pla: 0386: // Clear remaining mantissa bytes -; libsrc/fpu_mf.pla: 0387: pExt->7 = 0 -; libsrc/fpu_mf.pla: 0388: pExt->8 = 0 -; libsrc/fpu_mf.pla: 0389: pExt->9 = 0 -; libsrc/fpu_mf.pla: 0390: -; libsrc/fpu_mf.pla: 0391: return 0 - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$07 ; LLB [7] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $3E,$80 ; ORI 128 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; libsrc/fpu_mf.pla: 0392: end -; libsrc/fpu_mf.pla: 0393: -; libsrc/fpu_mf.pla: 0394: //============================================================================== -; libsrc/fpu_mf.pla: 0395: // STACK MANIPULATION ROUTINES (same as fpu.pla) -; libsrc/fpu_mf.pla: 0396: //============================================================================== -; libsrc/fpu_mf.pla: 0397: -; libsrc/fpu_mf.pla: 0398: def rotateUp -_P031 ; rotateUp() -_C003 ; rotateUp() -; libsrc/fpu_mf.pla: 0399: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] -; libsrc/fpu_mf.pla: 0400: return 0 - !BYTE $6A ; LAW _D118+6 -_F077 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F078 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F079 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F080 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F081 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F082 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F083 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F084 !WORD _D118+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0401: end -; libsrc/fpu_mf.pla: 0402: -; libsrc/fpu_mf.pla: 0403: def rotateDown -_P032 ; rotateDown() -_C004 ; rotateDown() -; libsrc/fpu_mf.pla: 0404: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[1], stackRegs[2], stackRegs[3], stackRegs[0] -; libsrc/fpu_mf.pla: 0405: return 0 - !BYTE $6A ; LAW _D118+2 -_F085 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F086 !WORD _D118+4 - !BYTE $6A ; LAW _D118+6 -_F087 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F088 !WORD _D118+0 - !BYTE $7A ; SAW _D118+6 -_F089 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F090 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F091 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F092 !WORD _D118+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0406: end -; libsrc/fpu_mf.pla: 0407: -; libsrc/fpu_mf.pla: 0408: def shiftUp -_P029 ; shiftUp() -_C005 ; shiftUp() -; libsrc/fpu_mf.pla: 0409: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] -; libsrc/fpu_mf.pla: 0410: memcpy(stackRegs[0], stackRegs[1], t_extended) -; libsrc/fpu_mf.pla: 0411: return 0 - !BYTE $6A ; LAW _D118+6 -_F093 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F094 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F095 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F096 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F097 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F098 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F099 !WORD _D118+2 - !BYTE $7E ; DAW _D118+0 -_F100 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F101 !WORD _D118+2 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F102 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0412: end -; libsrc/fpu_mf.pla: 0413: -; libsrc/fpu_mf.pla: 0414: def shiftDown // drop -_P030 ; shiftDown // drop() -_C006 ; shiftDown() -; libsrc/fpu_mf.pla: 0415: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[1], stackRegs[2], stackRegs[3], stackRegs[0] -; libsrc/fpu_mf.pla: 0416: memcpy(stackRegs[3], stackRegs[2], t_extended) -; libsrc/fpu_mf.pla: 0417: return 0 - !BYTE $6A ; LAW _D118+2 -_F103 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F104 !WORD _D118+4 - !BYTE $6A ; LAW _D118+6 -_F105 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F106 !WORD _D118+0 - !BYTE $7A ; SAW _D118+6 -_F107 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F108 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F109 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F110 !WORD _D118+0 - !BYTE $6A ; LAW _D118+6 -_F111 !WORD _D118+6 - !BYTE $6A ; LAW _D118+4 -_F112 !WORD _D118+4 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F113 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0418: end -; libsrc/fpu_mf.pla: 0419: -; libsrc/fpu_mf.pla: 0420: def _drop(passthru) // Internal version with passthru - ; passthru -> [0] -_C007 ; _drop() -; libsrc/fpu_mf.pla: 0421: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[1], stackRegs[2], stackRegs[3], stackRegs[0] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0422: memcpy(stackRegs[3], stackRegs[2], t_extended) -; libsrc/fpu_mf.pla: 0423: return passthru - !BYTE $6A ; LAW _D118+2 -_F114 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F115 !WORD _D118+4 - !BYTE $6A ; LAW _D118+6 -_F116 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F117 !WORD _D118+0 - !BYTE $7A ; SAW _D118+6 -_F118 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F119 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F120 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F121 !WORD _D118+0 - !BYTE $6A ; LAW _D118+6 -_F122 !WORD _D118+6 - !BYTE $6A ; LAW _D118+4 -_F123 !WORD _D118+4 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F124 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0424: end -; libsrc/fpu_mf.pla: 0425: -; libsrc/fpu_mf.pla: 0426: def swap -_P034 ; swap() -_C008 ; swap() -; libsrc/fpu_mf.pla: 0427: stackRegs[0], stackRegs[1] = stackRegs[1], stackRegs[0] -; libsrc/fpu_mf.pla: 0428: return 0 - !BYTE $6A ; LAW _D118+2 -_F125 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F126 !WORD _D118+0 - !BYTE $7A ; SAW _D118+2 -_F127 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F128 !WORD _D118+0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0429: end -; libsrc/fpu_mf.pla: 0430: -; libsrc/fpu_mf.pla: 0431: def _swap(passthru) // Internal version with passthru - ; passthru -> [0] -_C009 ; _swap() -; libsrc/fpu_mf.pla: 0432: stackRegs[0], stackRegs[1] = stackRegs[1], stackRegs[0] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0433: return passthru - !BYTE $6A ; LAW _D118+2 -_F129 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F130 !WORD _D118+0 - !BYTE $7A ; SAW _D118+2 -_F131 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F132 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0434: end -; libsrc/fpu_mf.pla: 0435: -; libsrc/fpu_mf.pla: 0436: def dup -_P033 ; dup() -_C010 ; dup() -; libsrc/fpu_mf.pla: 0437: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] -; libsrc/fpu_mf.pla: 0438: memcpy(stackRegs[0], stackRegs[1], t_extended) -; libsrc/fpu_mf.pla: 0439: return 0 - !BYTE $6A ; LAW _D118+6 -_F133 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F134 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F135 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F136 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F137 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F138 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F139 !WORD _D118+2 - !BYTE $7E ; DAW _D118+0 -_F140 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F141 !WORD _D118+2 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F142 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0440: end -; libsrc/fpu_mf.pla: 0441: -; libsrc/fpu_mf.pla: 0442: def clear -_P035 ; clear() -_C011 ; clear() -; libsrc/fpu_mf.pla: 0443: word zero - ; zero -> [0] -; libsrc/fpu_mf.pla: 0444: zero = 0 - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0445: -; libsrc/fpu_mf.pla: 0446: if mfAvailable -; libsrc/fpu_mf.pla: 0447: // Use MegaFlash to create zero -; libsrc/fpu_mf.pla: 0448: // For now, just set exponent to 0 -; libsrc/fpu_mf.pla: 0449: stackRegs[0]->0 = 0 -; libsrc/fpu_mf.pla: 0450: stackRegs[0]->1 = 0 -; libsrc/fpu_mf.pla: 0451: return 0 - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D119+0 -_F143 !WORD _D119+0 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D118+0 -_F144 !WORD _D118+0 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D118+0 -_F145 !WORD _D118+0 - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0452: fin -_B015 -_B016 -; libsrc/fpu_mf.pla: 0453: -; libsrc/fpu_mf.pla: 0454: // Clear SANE -; libsrc/fpu_mf.pla: 0455: sane:saveZP() -; libsrc/fpu_mf.pla: 0456: return sane:restoreZP(sane:op2FP(FFINT|FOZ2X, stackRegs[0], @zero)) - !BYTE $6A ; LAW _X028+18 -_F146 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $6A ; LAW _D118+0 -_F147 !WORD _D118+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _X028+8 -_F148 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F149 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0457: end -; libsrc/fpu_mf.pla: 0458: -; libsrc/fpu_mf.pla: 0459: //============================================================================== -; libsrc/fpu_mf.pla: 0460: // STACK ACCESS ROUTINES -; libsrc/fpu_mf.pla: 0461: //============================================================================== -; libsrc/fpu_mf.pla: 0462: def pushInt(pInt) - ; pInt -> [0] -_P009 ; pushInt(pInt)() -_C012 ; pushInt() -; libsrc/fpu_mf.pla: 0463: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0464: sane:saveZP() -; libsrc/fpu_mf.pla: 0465: return sane:restoreZP(sane:op2FP(FFINT|FOZ2X, stackRegs[0], pInt)) - !BYTE $6A ; LAW _D118+6 -_F150 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F151 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F152 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F153 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F154 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F155 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F156 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F157 !WORD _D118+0 - !BYTE $6A ; LAW _X028+18 -_F158 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $6A ; LAW _D118+0 -_F159 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F160 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F161 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0466: end -; libsrc/fpu_mf.pla: 0467: def pullInt(pInt) - ; pInt -> [0] -_P014 ; pullInt(pInt)() -_C013 ; pullInt() -; libsrc/fpu_mf.pla: 0468: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0469: return _drop(sane:restoreZP(sane:op2FP(FFINT|FOX2Z, pInt, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F162 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D118+0 -_F163 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F164 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F165 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F166 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0470: end -; libsrc/fpu_mf.pla: 0471: def loadInt(pInt, reg) - ; pInt -> [0] - ; reg -> [2] -_P019 ; loadInt(pInt, reg)() -_C014 ; loadInt() -; libsrc/fpu_mf.pla: 0472: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0473: return sane:restoreZP(sane:op2FP(FFINT|FOZ2X, stackRegs[reg & $03], pInt)) - !BYTE $6A ; LAW _X028+18 -_F167 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D118+0 -_F168 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F169 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F170 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0474: end -; libsrc/fpu_mf.pla: 0475: def storInt(pInt, reg) - ; pInt -> [0] - ; reg -> [2] -_P024 ; storInt(pInt, reg)() -_C015 ; storInt() -; libsrc/fpu_mf.pla: 0476: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0477: return sane:restoreZP(sane:op2FP(FFINT|FOX2Z, pInt, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F171 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D118+0 -_F172 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F173 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F174 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0478: end -; libsrc/fpu_mf.pla: 0479: def pushSgl(pSgl) - ; pSgl -> [0] -_P010 ; pushSgl(pSgl)() -_C016 ; pushSgl() -; libsrc/fpu_mf.pla: 0480: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0481: sane:saveZP() -; libsrc/fpu_mf.pla: 0482: return sane:restoreZP(sane:op2FP(FFSGL|FOZ2X, stackRegs[0], pSgl)) - !BYTE $6A ; LAW _D118+6 -_F175 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F176 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F177 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F178 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F179 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F180 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F181 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F182 !WORD _D118+0 - !BYTE $6A ; LAW _X028+18 -_F183 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$02 ; CW 526 - !BYTE $6A ; LAW _D118+0 -_F184 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F185 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F186 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0483: end -; libsrc/fpu_mf.pla: 0484: def pullSgl(pSgl) - ; pSgl -> [0] -_P015 ; pullSgl(pSgl)() -_C017 ; pullSgl() -; libsrc/fpu_mf.pla: 0485: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0486: return _drop(sane:restoreZP(sane:op2FP(FFSGL|FOX2Z, pSgl, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F187 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$02 ; CW 528 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D118+0 -_F188 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F189 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F190 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F191 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0487: end -; libsrc/fpu_mf.pla: 0488: def loadSgl(pSgl, reg) - ; pSgl -> [0] - ; reg -> [2] -_P020 ; loadSgl(pSgl, reg)() -_C018 ; loadSgl() -; libsrc/fpu_mf.pla: 0489: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0490: return sane:restoreZP(sane:op2FP(FFSGL|FOZ2X, stackRegs[reg & $03], pSgl)) - !BYTE $6A ; LAW _X028+18 -_F192 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$02 ; CW 526 - !BYTE $26 ; LA _D118+0 -_F193 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F194 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F195 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0491: end -; libsrc/fpu_mf.pla: 0492: def storSgl(pSgl, reg) - ; pSgl -> [0] - ; reg -> [2] -_P025 ; storSgl(pSgl, reg)() -_C019 ; storSgl() -; libsrc/fpu_mf.pla: 0493: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0494: return sane:restoreZP(sane:op2FP(FFSGL|FOX2Z, pSgl, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F196 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$02 ; CW 528 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D118+0 -_F197 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F198 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F199 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0495: end -; libsrc/fpu_mf.pla: 0496: def pushDbl(pDbl) - ; pDbl -> [0] -_P011 ; pushDbl(pDbl)() -_C020 ; pushDbl() -; libsrc/fpu_mf.pla: 0497: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0498: sane:saveZP() -; libsrc/fpu_mf.pla: 0499: return sane:restoreZP(sane:op2FP(FFDBL|FOZ2X, stackRegs[0], pDbl)) - !BYTE $6A ; LAW _D118+6 -_F200 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F201 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F202 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F203 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F204 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F205 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F206 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F207 !WORD _D118+0 - !BYTE $6A ; LAW _X028+18 -_F208 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $6A ; LAW _D118+0 -_F209 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F210 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F211 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0500: end -; libsrc/fpu_mf.pla: 0501: def pullDbl(pDbl) - ; pDbl -> [0] -_P016 ; pullDbl(pDbl)() -_C021 ; pullDbl() -; libsrc/fpu_mf.pla: 0502: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0503: return _drop(sane:restoreZP(sane:op2FP(FFDBL|FOX2Z, pDbl, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F212 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D118+0 -_F213 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F214 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F215 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F216 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0504: end -; libsrc/fpu_mf.pla: 0505: def loadDbl(pDbl, reg) - ; pDbl -> [0] - ; reg -> [2] -_P021 ; loadDbl(pDbl, reg)() -_C022 ; loadDbl() -; libsrc/fpu_mf.pla: 0506: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0507: return sane:restoreZP(sane:op2FP(FFDBL|FOZ2X, stackRegs[reg & $03], pDbl)) - !BYTE $6A ; LAW _X028+18 -_F217 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $26 ; LA _D118+0 -_F218 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F219 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F220 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0508: end -; libsrc/fpu_mf.pla: 0509: def storDbl(pDbl, reg) - ; pDbl -> [0] - ; reg -> [2] -_P026 ; storDbl(pDbl, reg)() -_C023 ; storDbl() -; libsrc/fpu_mf.pla: 0510: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0511: return sane:restoreZP(sane:op2FP(FFDBL|FOX2Z, pDbl, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F221 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D118+0 -_F222 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F223 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F224 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0512: end -; libsrc/fpu_mf.pla: 0513: def pushExt(pExt) - ; pExt -> [0] -_P012 ; pushExt(pExt)() -_C024 ; pushExt() -; libsrc/fpu_mf.pla: 0514: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0515: sane:saveZP() -; libsrc/fpu_mf.pla: 0516: return sane:restoreZP(sane:op2FP(FFEXT|FOZ2X, stackRegs[0], pExt)) - !BYTE $6A ; LAW _D118+6 -_F225 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F226 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F227 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F228 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F229 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F230 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F231 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F232 !WORD _D118+0 - !BYTE $6A ; LAW _X028+18 -_F233 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D118+0 -_F234 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F235 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F236 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0517: end -; libsrc/fpu_mf.pla: 0518: def pullExt(pExt) - ; pExt -> [0] -_P017 ; pullExt(pExt)() -_C025 ; pullExt() -; libsrc/fpu_mf.pla: 0519: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0520: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOX2Z, pExt, stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F237 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D118+0 -_F238 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F239 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F240 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F241 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0521: end -; libsrc/fpu_mf.pla: 0522: def loadExt(pExt, reg) - ; pExt -> [0] - ; reg -> [2] -_P022 ; loadExt(pExt, reg)() -_C026 ; loadExt() -; libsrc/fpu_mf.pla: 0523: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0524: return sane:restoreZP(sane:op2FP(FFEXT|FOZ2X, stackRegs[reg & $03], pExt)) - !BYTE $6A ; LAW _X028+18 -_F242 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $26 ; LA _D118+0 -_F243 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F244 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F245 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0525: end -; libsrc/fpu_mf.pla: 0526: def storExt(pExt, reg) - ; pExt -> [0] - ; reg -> [2] -_P027 ; storExt(pExt, reg)() -_C027 ; storExt() -; libsrc/fpu_mf.pla: 0527: sane:saveZP() - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/fpu_mf.pla: 0528: return sane:restoreZP(sane:op2FP(FFEXT|FOX2Z, pExt, stackRegs[reg & $03])) - !BYTE $6A ; LAW _X028+18 -_F246 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D118+0 -_F247 !WORD _D118+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _X028+8 -_F248 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F249 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0529: end -; libsrc/fpu_mf.pla: 0530: def pushStr(pStr) - ; pStr -> [0] -_P013 ; pushStr(pStr)() -_C028 ; pushStr() -; libsrc/fpu_mf.pla: 0531: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[0], stackRegs[1], stackRegs[2] - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 0532: return str2ext(pStr, stackRegs[0]) - !BYTE $6A ; LAW _D118+6 -_F250 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F251 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F252 !WORD _D118+2 - !BYTE $6A ; LAW _D118+4 -_F253 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F254 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F255 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F256 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F257 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D118+0 -_F258 !WORD _D118+0 - !BYTE $54 ; CALL _X030 -_F259 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0533: end -; libsrc/fpu_mf.pla: 0534: def pullStr(pStr, intdigits, fracdigits, format) - ; pStr -> [0] - ; intdigits -> [2] - ; fracdigits -> [4] - ; format -> [6] -_P018 ; pullStr(pStr, intdigits, fracdigits, format)() -_C029 ; pullStr() -; libsrc/fpu_mf.pla: 0535: return _drop(ext2str(stackRegs[0], pStr, intdigits, fracdigits, format)) - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $6A ; LAW _D118+0 -_F260 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X031 -_F261 !WORD 0 - !BYTE $54 ; CALL _C007 -_F262 !WORD _C007 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/fpu_mf.pla: 0536: end -; libsrc/fpu_mf.pla: 0537: def loadStr(pStr, reg) - ; pStr -> [0] - ; reg -> [2] -_P023 ; loadStr(pStr, reg)() -_C030 ; loadStr() -; libsrc/fpu_mf.pla: 0538: return str2ext(pStr, stackRegs[reg]) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D118+0 -_F263 !WORD _D118+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X030 -_F264 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0539: end -; libsrc/fpu_mf.pla: 0540: def storStr(pStr, intdigits, fracdigits, format, reg) - ; pStr -> [0] - ; intdigits -> [2] - ; fracdigits -> [4] - ; format -> [6] - ; reg -> [8] -_P028 ; storStr(pStr, intdigits, fracdigits, format, reg)() -_C031 ; storStr() -; libsrc/fpu_mf.pla: 0541: return ext2str(stackRegs[reg], pStr, intdigits, fracdigits, format) - !BYTE $58,$0A,$05 ; ENTER 10,5 - !BYTE $26 ; LA _D118+0 -_F265 !WORD _D118+0 - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X031 -_F266 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/fpu_mf.pla: 0542: end -; libsrc/fpu_mf.pla: 0543: -; libsrc/fpu_mf.pla: 0544: //============================================================================== -; libsrc/fpu_mf.pla: 0545: // BASIC MATH OPERATIONS (MegaFlash accelerated) -; libsrc/fpu_mf.pla: 0546: //============================================================================== -; libsrc/fpu_mf.pla: 0547: -; libsrc/fpu_mf.pla: 0548: // -; libsrc/fpu_mf.pla: 0549: // Helper function to execute binary operation on MegaFlash -; libsrc/fpu_mf.pla: 0550: // Input: cmd = MegaFlash command code -; libsrc/fpu_mf.pla: 0551: // Returns: error code (0 = success) -; libsrc/fpu_mf.pla: 0552: // -; libsrc/fpu_mf.pla: 0553: def execBinaryOp(cmd) - ; cmd -> [0] -_C032 ; execBinaryOp() -; libsrc/fpu_mf.pla: 0554: byte err - ; err -> [2] -; libsrc/fpu_mf.pla: 0555: byte[MBF_SIZE] mbfFAC, mbfARG, mbfResult - ; mbfFAC -> [3] - ; mbfARG -> [9] - ; mbfResult -> [15] -; libsrc/fpu_mf.pla: 0556: -; libsrc/fpu_mf.pla: 0557: if !mfAvailable - !BYTE $58,$15,$01 ; ENTER 21,1 -; libsrc/fpu_mf.pla: 0558: // Fallback to SANE -; libsrc/fpu_mf.pla: 0559: return -1 // Signal to use SANE - !BYTE $68 ; LAB _D119+0 -_F267 !WORD _D119+0 - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/fpu_mf.pla: 0560: fin -_B017 -_B018 -; libsrc/fpu_mf.pla: 0561: -; libsrc/fpu_mf.pla: 0562: // Convert stack registers to MBF -; libsrc/fpu_mf.pla: 0563: err = extendedToMBF(stackRegs[0], @mbfFAC) -; libsrc/fpu_mf.pla: 0564: if err; return err; fin - !BYTE $6A ; LAW _D118+0 -_F268 !WORD _D118+0 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C001 -_F269 !WORD _C001 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$15 ; LEAVE 21 -_B019 -_B020 -; libsrc/fpu_mf.pla: 0565: -; libsrc/fpu_mf.pla: 0566: err = extendedToMBF(stackRegs[1], @mbfARG) -; libsrc/fpu_mf.pla: 0567: if err; return err; fin - !BYTE $6A ; LAW _D118+2 -_F270 !WORD _D118+2 - !BYTE $28,$09 ; LLA [9] - !BYTE $54 ; CALL _C001 -_F271 !WORD _C001 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$15 ; LEAVE 21 -_B021 -_B022 -; libsrc/fpu_mf.pla: 0568: -; libsrc/fpu_mf.pla: 0569: // Send to MegaFlash -; libsrc/fpu_mf.pla: 0570: sendFACARG(@mbfFAC, @mbfARG, 0) -; libsrc/fpu_mf.pla: 0571: -; libsrc/fpu_mf.pla: 0572: // Execute command -; libsrc/fpu_mf.pla: 0573: err = execMegaFlash(cmd) -; libsrc/fpu_mf.pla: 0574: if err; return err; fin - !BYTE $28,$03 ; LLA [3] - !BYTE $28,$09 ; LLA [9] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A002 -_F272 !WORD _A002 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A001 -_F273 !WORD _A001 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$15 ; LEAVE 21 -_B023 -_B024 -; libsrc/fpu_mf.pla: 0575: -; libsrc/fpu_mf.pla: 0576: // Get result -; libsrc/fpu_mf.pla: 0577: receiveFAC(@mbfResult) -; libsrc/fpu_mf.pla: 0578: -; libsrc/fpu_mf.pla: 0579: // Convert back to extended and store in stack[1] -; libsrc/fpu_mf.pla: 0580: err = MBFToExtended(@mbfResult, stackRegs[1]) -; libsrc/fpu_mf.pla: 0581: -; libsrc/fpu_mf.pla: 0582: return err - !BYTE $28,$0F ; LLA [15] - !BYTE $54 ; CALL _A003 -_F274 !WORD _A003 - !BYTE $30 ; DROP - !BYTE $28,$0F ; LLA [15] - !BYTE $6A ; LAW _D118+2 -_F275 !WORD _D118+2 - !BYTE $54 ; CALL _C002 -_F276 !WORD _C002 - !BYTE $6C,$02 ; DLB [2] - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/fpu_mf.pla: 0583: end -; libsrc/fpu_mf.pla: 0584: -; libsrc/fpu_mf.pla: 0585: // -; libsrc/fpu_mf.pla: 0586: // Helper function to execute unary operation on MegaFlash -; libsrc/fpu_mf.pla: 0587: // -; libsrc/fpu_mf.pla: 0588: def execUnaryOp(cmd) - ; cmd -> [0] -_C033 ; execUnaryOp() -; libsrc/fpu_mf.pla: 0589: byte err - ; err -> [2] -; libsrc/fpu_mf.pla: 0590: byte[MBF_SIZE] mbfFAC, mbfARG, mbfResult - ; mbfFAC -> [3] - ; mbfARG -> [9] - ; mbfResult -> [15] -; libsrc/fpu_mf.pla: 0591: -; libsrc/fpu_mf.pla: 0592: if !mfAvailable - !BYTE $58,$15,$01 ; ENTER 21,1 -; libsrc/fpu_mf.pla: 0593: return -1 // Signal to use SANE - !BYTE $68 ; LAB _D119+0 -_F277 !WORD _D119+0 - !BYTE $4E ; BRTRU _B025 - !WORD _B025-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/fpu_mf.pla: 0594: fin -_B025 -_B026 -; libsrc/fpu_mf.pla: 0595: -; libsrc/fpu_mf.pla: 0596: // Convert stack register to MBF -; libsrc/fpu_mf.pla: 0597: err = extendedToMBF(stackRegs[0], @mbfFAC) -; libsrc/fpu_mf.pla: 0598: if err; return err; fin - !BYTE $6A ; LAW _D118+0 -_F278 !WORD _D118+0 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C001 -_F279 !WORD _C001 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$15 ; LEAVE 21 -_B027 -_B028 -; libsrc/fpu_mf.pla: 0599: -; libsrc/fpu_mf.pla: 0600: // Set ARG to zero (not used for unary ops) -; libsrc/fpu_mf.pla: 0601: mbfARG.0 = 0 -; libsrc/fpu_mf.pla: 0602: mbfARG.1 = 0 -; libsrc/fpu_mf.pla: 0603: mbfARG.2 = 0 -; libsrc/fpu_mf.pla: 0604: mbfARG.3 = 0 -; libsrc/fpu_mf.pla: 0605: mbfARG.4 = 0 -; libsrc/fpu_mf.pla: 0606: mbfARG.5 = 0 -; libsrc/fpu_mf.pla: 0607: -; libsrc/fpu_mf.pla: 0608: // Send to MegaFlash -; libsrc/fpu_mf.pla: 0609: sendFACARG(@mbfFAC, @mbfARG, 0) -; libsrc/fpu_mf.pla: 0610: -; libsrc/fpu_mf.pla: 0611: // Execute command -; libsrc/fpu_mf.pla: 0612: err = execMegaFlash(cmd) -; libsrc/fpu_mf.pla: 0613: if err; return err; fin - !BYTE $00 ; CN 0 - !BYTE $74,$09 ; SLB [9] - !BYTE $00 ; CN 0 - !BYTE $74,$0A ; SLB [10] - !BYTE $00 ; CN 0 - !BYTE $74,$0B ; SLB [11] - !BYTE $00 ; CN 0 - !BYTE $74,$0C ; SLB [12] - !BYTE $00 ; CN 0 - !BYTE $74,$0D ; SLB [13] - !BYTE $00 ; CN 0 - !BYTE $74,$0E ; SLB [14] - !BYTE $28,$03 ; LLA [3] - !BYTE $28,$09 ; LLA [9] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A002 -_F280 !WORD _A002 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A001 -_F281 !WORD _A001 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$15 ; LEAVE 21 -_B029 -_B030 -; libsrc/fpu_mf.pla: 0614: -; libsrc/fpu_mf.pla: 0615: // Get result -; libsrc/fpu_mf.pla: 0616: receiveFAC(@mbfResult) -; libsrc/fpu_mf.pla: 0617: -; libsrc/fpu_mf.pla: 0618: // Convert back to extended -; libsrc/fpu_mf.pla: 0619: err = MBFToExtended(@mbfResult, stackRegs[0]) -; libsrc/fpu_mf.pla: 0620: -; libsrc/fpu_mf.pla: 0621: return err - !BYTE $28,$0F ; LLA [15] - !BYTE $54 ; CALL _A003 -_F282 !WORD _A003 - !BYTE $30 ; DROP - !BYTE $28,$0F ; LLA [15] - !BYTE $6A ; LAW _D118+0 -_F283 !WORD _D118+0 - !BYTE $54 ; CALL _C002 -_F284 !WORD _C002 - !BYTE $6C,$02 ; DLB [2] - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/fpu_mf.pla: 0622: end -; libsrc/fpu_mf.pla: 0623: -; libsrc/fpu_mf.pla: 0624: def add -_P036 ; add() -_C034 ; add() -; libsrc/fpu_mf.pla: 0625: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0626: -; libsrc/fpu_mf.pla: 0627: err = execBinaryOp(MF_CMD_FADD) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0628: if err < 0 -; libsrc/fpu_mf.pla: 0629: // Use SANE fallback -; libsrc/fpu_mf.pla: 0630: -; libsrc/fpu_mf.pla: 0631: sane:saveZP() -; libsrc/fpu_mf.pla: 0632: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOADD, stackRegs[1], stackRegs[0]))) - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C032 -_F285 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $6A ; LAW _X028+18 -_F286 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D118+2 -_F287 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F288 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F289 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F290 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F291 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0633: fin -_B031 -_B032 -; libsrc/fpu_mf.pla: 0634: -; libsrc/fpu_mf.pla: 0635: return _drop(err) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F292 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0636: end -; libsrc/fpu_mf.pla: 0637: -; libsrc/fpu_mf.pla: 0638: def sub -_P037 ; sub() -_C035 ; sub() -; libsrc/fpu_mf.pla: 0639: // MegaFlash doesn't have FSUB - use SANE fallback -; libsrc/fpu_mf.pla: 0640: // (Could also implement as negate + add, but SANE is more reliable) -; libsrc/fpu_mf.pla: 0641: -; libsrc/fpu_mf.pla: 0642: sane:saveZP() -; libsrc/fpu_mf.pla: 0643: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOSUB, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F293 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _D118+2 -_F294 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F295 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F296 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F297 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F298 !WORD _C007 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0644: end -; libsrc/fpu_mf.pla: 0645: -; libsrc/fpu_mf.pla: 0646: def mul -_P038 ; mul() -_C036 ; mul() -; libsrc/fpu_mf.pla: 0647: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0648: -; libsrc/fpu_mf.pla: 0649: err = execBinaryOp(MF_CMD_FMUL) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0650: if err < 0 -; libsrc/fpu_mf.pla: 0651: -; libsrc/fpu_mf.pla: 0652: sane:saveZP() -; libsrc/fpu_mf.pla: 0653: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOMUL, stackRegs[1], stackRegs[0]))) - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F299 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $6A ; LAW _X028+18 -_F300 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D118+2 -_F301 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F302 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F303 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F304 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F305 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0654: fin -_B033 -_B034 -; libsrc/fpu_mf.pla: 0655: -; libsrc/fpu_mf.pla: 0656: return _drop(err) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F306 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0657: end -; libsrc/fpu_mf.pla: 0658: -; libsrc/fpu_mf.pla: 0659: def div -_P039 ; div() -_C037 ; div() -; libsrc/fpu_mf.pla: 0660: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0661: -; libsrc/fpu_mf.pla: 0662: err = execBinaryOp(MF_CMD_FDIV) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0663: if err < 0 -; libsrc/fpu_mf.pla: 0664: -; libsrc/fpu_mf.pla: 0665: sane:saveZP() -; libsrc/fpu_mf.pla: 0666: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FODIV, stackRegs[1], stackRegs[0]))) - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _C032 -_F307 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $6A ; LAW _X028+18 -_F308 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _D118+2 -_F309 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F310 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F311 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F312 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F313 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0667: fin -_B035 -_B036 -; libsrc/fpu_mf.pla: 0668: -; libsrc/fpu_mf.pla: 0669: return _drop(err) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F314 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0670: end -; libsrc/fpu_mf.pla: 0671: -; libsrc/fpu_mf.pla: 0672: def rem -_P040 ; rem() -_C038 ; rem() -; libsrc/fpu_mf.pla: 0673: // MegaFlash doesn't support REM - use SANE -; libsrc/fpu_mf.pla: 0674: -; libsrc/fpu_mf.pla: 0675: sane:saveZP() -; libsrc/fpu_mf.pla: 0676: return _drop(sane:restoreZP(sane:op2FP(FFEXT|FOREM, stackRegs[1], stackRegs[0]))) - !BYTE $6A ; LAW _X028+18 -_F315 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $18 ; CN 12 - !BYTE $6A ; LAW _D118+2 -_F316 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F317 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F318 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F319 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C007 -_F320 !WORD _C007 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0677: end -; libsrc/fpu_mf.pla: 0678: -; libsrc/fpu_mf.pla: 0679: def neg -_P041 ; neg() -_C039 ; neg() -; libsrc/fpu_mf.pla: 0680: // neg(x) = x * -1 (preserves precision, uses hardware mul) -; libsrc/fpu_mf.pla: 0681: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0682: -; libsrc/fpu_mf.pla: 0683: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0684: // Fallback to SANE -; libsrc/fpu_mf.pla: 0685: -; libsrc/fpu_mf.pla: 0686: sane:saveZP() -; libsrc/fpu_mf.pla: 0687: return sane:restoreZP(sane:op1FP(FFEXT|FONEG, stackRegs[0])) - !BYTE $68 ; LAB _D119+0 -_F321 !WORD _D119+0 - !BYTE $4E ; BRTRU _B037 - !WORD _B037-* - !BYTE $6A ; LAW _X028+18 -_F322 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _D118+0 -_F323 !WORD _D118+0 - !BYTE $6A ; LAW _X028+6 -_F324 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F325 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0688: fin -_B037 -_B038 -; libsrc/fpu_mf.pla: 0689: -; libsrc/fpu_mf.pla: 0690: // Multiply by -1 -; libsrc/fpu_mf.pla: 0691: memcpy(stackRegs[1], stackRegs[0], t_extended) -; libsrc/fpu_mf.pla: 0692: memcpy(stackRegs[0], @ext_negOne, t_extended) -; libsrc/fpu_mf.pla: 0693: return execBinaryOp(MF_CMD_FMUL) - !BYTE $6A ; LAW _D118+2 -_F326 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F327 !WORD _D118+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F328 !WORD 0 - !BYTE $6A ; LAW _D118+0 -_F329 !WORD _D118+0 - !BYTE $26 ; LA _D116+0 -_F330 !WORD _D116+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F331 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F332 !WORD _C032 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0694: end -; libsrc/fpu_mf.pla: 0695: -; libsrc/fpu_mf.pla: 0696: def abs -_P042 ; abs() -_C040 ; abs() -; libsrc/fpu_mf.pla: 0697: // abs(x) = x if x >= 0, else -x -; libsrc/fpu_mf.pla: 0698: // Check sign bit and negate if needed -; libsrc/fpu_mf.pla: 0699: if stackRegs[0]->0 & $80 -; libsrc/fpu_mf.pla: 0700: // Negative - negate it -; libsrc/fpu_mf.pla: 0701: return neg - !BYTE $6A ; LAW _D118+0 -_F333 !WORD _D118+0 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $54 ; CALL _C039 -_F334 !WORD _C039 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0702: fin -_B039 -_B040 -; libsrc/fpu_mf.pla: 0703: // Already positive -; libsrc/fpu_mf.pla: 0704: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0705: end -; libsrc/fpu_mf.pla: 0706: -; libsrc/fpu_mf.pla: 0707: def type -_P043 ; type() -_C041 ; type() -; libsrc/fpu_mf.pla: 0708: // Type classification - use SANE -; libsrc/fpu_mf.pla: 0709: -; libsrc/fpu_mf.pla: 0710: sane:saveZP() -; libsrc/fpu_mf.pla: 0711: return sane:restoreZP(sane:op1FP(FFEXT|FOCLASS, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F335 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1C ; CB 28 - !BYTE $6A ; LAW _D118+0 -_F336 !WORD _D118+0 - !BYTE $6A ; LAW _X028+6 -_F337 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F338 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0712: end -; libsrc/fpu_mf.pla: 0713: -; libsrc/fpu_mf.pla: 0714: def cmp -_P044 ; cmp() -_C042 ; cmp() -; libsrc/fpu_mf.pla: 0715: // Comparison - use SANE -; libsrc/fpu_mf.pla: 0716: -; libsrc/fpu_mf.pla: 0717: sane:saveZP() -; libsrc/fpu_mf.pla: 0718: return sane:restoreZP(sane:op2FP(FFEXT|FOCMP, stackRegs[1], stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F339 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D118+2 -_F340 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F341 !WORD _D118+0 - !BYTE $6A ; LAW _X028+8 -_F342 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F343 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0719: end -; libsrc/fpu_mf.pla: 0720: -; libsrc/fpu_mf.pla: 0721: def trunc -_P047 ; trunc() -_C043 ; trunc() -; libsrc/fpu_mf.pla: 0722: // Truncate - use SANE -; libsrc/fpu_mf.pla: 0723: -; libsrc/fpu_mf.pla: 0724: sane:saveZP() -; libsrc/fpu_mf.pla: 0725: return sane:restoreZP(sane:op1FP(FFEXT|FOTTI, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F344 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D118+0 -_F345 !WORD _D118+0 - !BYTE $6A ; LAW _X028+6 -_F346 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F347 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0726: end -; libsrc/fpu_mf.pla: 0727: -; libsrc/fpu_mf.pla: 0728: def round -_P048 ; round() -_C044 ; round() -; libsrc/fpu_mf.pla: 0729: // Round - use SANE -; libsrc/fpu_mf.pla: 0730: -; libsrc/fpu_mf.pla: 0731: sane:saveZP() -; libsrc/fpu_mf.pla: 0732: return sane:restoreZP(sane:op1FP(FFEXT|FORTI, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F348 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _D118+0 -_F349 !WORD _D118+0 - !BYTE $6A ; LAW _X028+6 -_F350 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F351 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0733: end -; libsrc/fpu_mf.pla: 0734: -; libsrc/fpu_mf.pla: 0735: def sqrt -_P049 ; sqrt() -_C045 ; sqrt() -; libsrc/fpu_mf.pla: 0736: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0737: -; libsrc/fpu_mf.pla: 0738: err = execUnaryOp(MF_CMD_FSQR) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0739: if err < 0 -; libsrc/fpu_mf.pla: 0740: -; libsrc/fpu_mf.pla: 0741: sane:saveZP() -; libsrc/fpu_mf.pla: 0742: return sane:restoreZP(sane:op1FP(FFEXT|FOSQRT, stackRegs[0])) - !BYTE $2A,$39 ; CB 57 - !BYTE $54 ; CALL _C033 -_F352 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $6A ; LAW _X028+18 -_F353 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$12 ; CB 18 - !BYTE $6A ; LAW _D118+0 -_F354 !WORD _D118+0 - !BYTE $6A ; LAW _X028+6 -_F355 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F356 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0743: fin -_B041 -_B042 -; libsrc/fpu_mf.pla: 0744: -; libsrc/fpu_mf.pla: 0745: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0746: end -; libsrc/fpu_mf.pla: 0747: -; libsrc/fpu_mf.pla: 0748: def squared -_P050 ; squared() -_C046 ; squared() -; libsrc/fpu_mf.pla: 0749: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0750: -; libsrc/fpu_mf.pla: 0751: // Square by multiplying by itself -; libsrc/fpu_mf.pla: 0752: memcpy(stackRegs[1], stackRegs[0], t_extended) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0753: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 0754: if err < 0 -; libsrc/fpu_mf.pla: 0755: -; libsrc/fpu_mf.pla: 0756: sane:saveZP() -; libsrc/fpu_mf.pla: 0757: return sane:restoreZP(sane:op2FP(FFEXT|FOMUL, stackRegs[0], stackRegs[0])) - !BYTE $6A ; LAW _D118+2 -_F357 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F358 !WORD _D118+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F359 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F360 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $6A ; LAW _X028+18 -_F361 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D118+0 -_F362 !WORD _D118+0 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+8 -_F363 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F364 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0758: fin -_B043 -_B044 -; libsrc/fpu_mf.pla: 0759: -; libsrc/fpu_mf.pla: 0760: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0761: end -; libsrc/fpu_mf.pla: 0762: -; libsrc/fpu_mf.pla: 0763: def logb -_P045 ; logb() -_C047 ; logb() -; libsrc/fpu_mf.pla: 0764: // Log base - use SANE -; libsrc/fpu_mf.pla: 0765: -; libsrc/fpu_mf.pla: 0766: sane:saveZP() -; libsrc/fpu_mf.pla: 0767: return sane:restoreZP(sane:op1FP(FFEXT|FOLOGB, stackRegs[0])) - !BYTE $6A ; LAW _X028+18 -_F365 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1A ; CB 26 - !BYTE $6A ; LAW _D118+0 -_F366 !WORD _D118+0 - !BYTE $6A ; LAW _X028+6 -_F367 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F368 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 0768: end -; libsrc/fpu_mf.pla: 0769: -; libsrc/fpu_mf.pla: 0770: def scalb(scale) - ; scale -> [0] -_P046 ; scalb(scale)() -_C048 ; scalb() -; libsrc/fpu_mf.pla: 0771: // scalb(x, n) = x * 2^n = x * pow2(n) -; libsrc/fpu_mf.pla: 0772: // Hardware accelerated via pow2X and mul -; libsrc/fpu_mf.pla: 0773: word err - ; err -> [2] -; libsrc/fpu_mf.pla: 0774: -; libsrc/fpu_mf.pla: 0775: if !mfAvailable - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/fpu_mf.pla: 0776: -; libsrc/fpu_mf.pla: 0777: sane:saveZP() -; libsrc/fpu_mf.pla: 0778: return sane:restoreZP(sane:op2FP(FFEXT|FOSCALB, stackRegs[0], scale)) - !BYTE $68 ; LAB _D119+0 -_F369 !WORD _D119+0 - !BYTE $4E ; BRTRU _B045 - !WORD _B045-* - !BYTE $6A ; LAW _X028+18 -_F370 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D118+0 -_F371 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F372 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F373 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0779: fin -_B045 -_B046 -; libsrc/fpu_mf.pla: 0780: -; libsrc/fpu_mf.pla: 0781: // Push scale as integer, convert to float, compute 2^scale -; libsrc/fpu_mf.pla: 0782: err = pushInt(scale) -; libsrc/fpu_mf.pla: 0783: if err < 0 -; libsrc/fpu_mf.pla: 0784: _drop(0) // Drop the pushed value -; libsrc/fpu_mf.pla: 0785: -; libsrc/fpu_mf.pla: 0786: sane:saveZP() -; libsrc/fpu_mf.pla: 0787: return sane:restoreZP(sane:op2FP(FFEXT|FOSCALB, stackRegs[1], scale)) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F374 !WORD _C012 - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F375 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F376 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D118+2 -_F377 !WORD _D118+2 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F378 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F379 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0788: fin -_B047 -_B048 -; libsrc/fpu_mf.pla: 0789: -; libsrc/fpu_mf.pla: 0790: // Compute 2^scale -; libsrc/fpu_mf.pla: 0791: err = pow2X -; libsrc/fpu_mf.pla: 0792: if err < 0 -; libsrc/fpu_mf.pla: 0793: _drop(0) // Drop the failed result -; libsrc/fpu_mf.pla: 0794: -; libsrc/fpu_mf.pla: 0795: sane:saveZP() -; libsrc/fpu_mf.pla: 0796: return sane:restoreZP(sane:op2FP(FFEXT|FOSCALB, stackRegs[0], scale)) - !BYTE $54 ; CALL _P067 -_F380 !WORD _P067 - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F381 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F382 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D118+0 -_F383 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+8 -_F384 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F385 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0797: fin -_B049 -_B050 -; libsrc/fpu_mf.pla: 0798: -; libsrc/fpu_mf.pla: 0799: // Multiply x * 2^scale -; libsrc/fpu_mf.pla: 0800: return mul - !BYTE $54 ; CALL _C036 -_F386 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/fpu_mf.pla: 0801: end -; libsrc/fpu_mf.pla: 0802: -; libsrc/fpu_mf.pla: 0803: //============================================================================== -; libsrc/fpu_mf.pla: 0804: // TRANSCENDENTAL FUNCTIONS (MegaFlash accelerated) -; libsrc/fpu_mf.pla: 0805: //============================================================================== -; libsrc/fpu_mf.pla: 0806: -; libsrc/fpu_mf.pla: 0807: def cos -_P051 ; cos() -_C049 ; cos() -; libsrc/fpu_mf.pla: 0808: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0809: -; libsrc/fpu_mf.pla: 0810: err = execUnaryOp(MF_CMD_FCOS) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0811: if err < 0 -; libsrc/fpu_mf.pla: 0812: // Use SANE ELEMS -; libsrc/fpu_mf.pla: 0813: -; libsrc/fpu_mf.pla: 0814: sane:saveZP() -; libsrc/fpu_mf.pla: 0815: return sane:restoreZP(sane:op1ELEM(FFEXT|FOCOSX, stackRegs[0])) - !BYTE $2A,$34 ; CB 52 - !BYTE $54 ; CALL _C033 -_F387 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $6A ; LAW _X028+18 -_F388 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1C ; CB 28 - !BYTE $6A ; LAW _D118+0 -_F389 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F390 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F391 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0816: fin -_B051 -_B052 -; libsrc/fpu_mf.pla: 0817: -; libsrc/fpu_mf.pla: 0818: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0819: end -; libsrc/fpu_mf.pla: 0820: -; libsrc/fpu_mf.pla: 0821: def sin -_P052 ; sin() -_C050 ; sin() -; libsrc/fpu_mf.pla: 0822: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0823: -; libsrc/fpu_mf.pla: 0824: err = execUnaryOp(MF_CMD_FSIN) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0825: if err < 0 -; libsrc/fpu_mf.pla: 0826: -; libsrc/fpu_mf.pla: 0827: sane:saveZP() -; libsrc/fpu_mf.pla: 0828: return sane:restoreZP(sane:op1ELEM(FFEXT|FOSINX, stackRegs[0])) - !BYTE $2A,$33 ; CB 51 - !BYTE $54 ; CALL _C033 -_F392 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B053 - !WORD _B053-* - !BYTE $6A ; LAW _X028+18 -_F393 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1A ; CB 26 - !BYTE $6A ; LAW _D118+0 -_F394 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F395 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F396 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0829: fin -_B053 -_B054 -; libsrc/fpu_mf.pla: 0830: -; libsrc/fpu_mf.pla: 0831: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0832: end -; libsrc/fpu_mf.pla: 0833: -; libsrc/fpu_mf.pla: 0834: def tan -_P053 ; tan() -_C051 ; tan() -; libsrc/fpu_mf.pla: 0835: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0836: -; libsrc/fpu_mf.pla: 0837: err = execUnaryOp(MF_CMD_FTAN) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0838: if err < 0 -; libsrc/fpu_mf.pla: 0839: -; libsrc/fpu_mf.pla: 0840: sane:saveZP() -; libsrc/fpu_mf.pla: 0841: return sane:restoreZP(sane:op1ELEM(FFEXT|FOTANX, stackRegs[0])) - !BYTE $2A,$35 ; CB 53 - !BYTE $54 ; CALL _C033 -_F397 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B055 - !WORD _B055-* - !BYTE $6A ; LAW _X028+18 -_F398 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1E ; CB 30 - !BYTE $6A ; LAW _D118+0 -_F399 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F400 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F401 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0842: fin -_B055 -_B056 -; libsrc/fpu_mf.pla: 0843: -; libsrc/fpu_mf.pla: 0844: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0845: end -; libsrc/fpu_mf.pla: 0846: -; libsrc/fpu_mf.pla: 0847: def atan -_P054 ; atan() -_C052 ; atan() -; libsrc/fpu_mf.pla: 0848: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0849: -; libsrc/fpu_mf.pla: 0850: err = execUnaryOp(MF_CMD_FATN) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0851: if err < 0 -; libsrc/fpu_mf.pla: 0852: -; libsrc/fpu_mf.pla: 0853: sane:saveZP() -; libsrc/fpu_mf.pla: 0854: return sane:restoreZP(sane:op1ELEM(FFEXT|FOATANX, stackRegs[0])) - !BYTE $2A,$36 ; CB 54 - !BYTE $54 ; CALL _C033 -_F402 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* - !BYTE $6A ; LAW _X028+18 -_F403 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D118+0 -_F404 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F405 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F406 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0855: fin -_B057 -_B058 -; libsrc/fpu_mf.pla: 0856: -; libsrc/fpu_mf.pla: 0857: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0858: end -; libsrc/fpu_mf.pla: 0859: -; libsrc/fpu_mf.pla: 0860: def log2X -_P063 ; log2X() -_C053 ; log2X() -; libsrc/fpu_mf.pla: 0861: // log2(x) = ln(x) / ln(2) -; libsrc/fpu_mf.pla: 0862: // Use hardware ln, then divide by ln(2) -; libsrc/fpu_mf.pla: 0863: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0864: -; libsrc/fpu_mf.pla: 0865: // Compute ln(x) -; libsrc/fpu_mf.pla: 0866: err = execUnaryOp(MF_CMD_FLOG) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0867: if err < 0 -; libsrc/fpu_mf.pla: 0868: // Fallback to SANE -; libsrc/fpu_mf.pla: 0869: -; libsrc/fpu_mf.pla: 0870: sane:saveZP() -; libsrc/fpu_mf.pla: 0871: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLOG2X, stackRegs[0])) - !BYTE $2A,$37 ; CB 55 - !BYTE $54 ; CALL _C033 -_F407 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B059 - !WORD _B059-* - !BYTE $6A ; LAW _X028+18 -_F408 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _D118+0 -_F409 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F410 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F411 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0872: fin -_B059 -_B060 -; libsrc/fpu_mf.pla: 0873: -; libsrc/fpu_mf.pla: 0874: // Divide by ln(2) -; libsrc/fpu_mf.pla: 0875: memcpy(stackRegs[1], @ext_ln2, t_extended) -; libsrc/fpu_mf.pla: 0876: swap -; libsrc/fpu_mf.pla: 0877: return div - !BYTE $6A ; LAW _D118+2 -_F412 !WORD _D118+2 - !BYTE $26 ; LA _D113+0 -_F413 !WORD _D113+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F414 !WORD 0 - !BYTE $54 ; CALL _C008 -_F415 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F416 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0878: end -; libsrc/fpu_mf.pla: 0879: -; libsrc/fpu_mf.pla: 0880: def log21X -_P064 ; log21X() -_C054 ; log21X() -; libsrc/fpu_mf.pla: 0881: // log2(1+x) = ln(1+x) / ln(2) -; libsrc/fpu_mf.pla: 0882: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0883: -; libsrc/fpu_mf.pla: 0884: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0885: -; libsrc/fpu_mf.pla: 0886: sane:saveZP() -; libsrc/fpu_mf.pla: 0887: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLOG21X, stackRegs[0])) - !BYTE $68 ; LAB _D119+0 -_F417 !WORD _D119+0 - !BYTE $4E ; BRTRU _B061 - !WORD _B061-* - !BYTE $6A ; LAW _X028+18 -_F418 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _D118+0 -_F419 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F420 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F421 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0888: fin -_B061 -_B062 -; libsrc/fpu_mf.pla: 0889: -; libsrc/fpu_mf.pla: 0890: // Compute ln(1+x) -; libsrc/fpu_mf.pla: 0891: err = ln1X -; libsrc/fpu_mf.pla: 0892: if err < 0 -; libsrc/fpu_mf.pla: 0893: -; libsrc/fpu_mf.pla: 0894: sane:saveZP() -; libsrc/fpu_mf.pla: 0895: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLOG21X, stackRegs[0])) - !BYTE $54 ; CALL _P066 -_F422 !WORD _P066 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $6A ; LAW _X028+18 -_F423 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _D118+0 -_F424 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F425 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F426 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0896: fin -_B063 -_B064 -; libsrc/fpu_mf.pla: 0897: -; libsrc/fpu_mf.pla: 0898: // Divide by ln(2) -; libsrc/fpu_mf.pla: 0899: memcpy(stackRegs[1], @ext_ln2, t_extended) -; libsrc/fpu_mf.pla: 0900: swap -; libsrc/fpu_mf.pla: 0901: return div - !BYTE $6A ; LAW _D118+2 -_F427 !WORD _D118+2 - !BYTE $26 ; LA _D113+0 -_F428 !WORD _D113+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F429 !WORD 0 - !BYTE $54 ; CALL _C008 -_F430 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F431 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0902: end -; libsrc/fpu_mf.pla: 0903: -; libsrc/fpu_mf.pla: 0904: def lnX -_P065 ; lnX() -_C055 ; lnX() -; libsrc/fpu_mf.pla: 0905: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0906: -; libsrc/fpu_mf.pla: 0907: err = execUnaryOp(MF_CMD_FLOG) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0908: if err < 0 -; libsrc/fpu_mf.pla: 0909: -; libsrc/fpu_mf.pla: 0910: sane:saveZP() -; libsrc/fpu_mf.pla: 0911: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLNX, stackRegs[0])) - !BYTE $2A,$37 ; CB 55 - !BYTE $54 ; CALL _C033 -_F432 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B065 - !WORD _B065-* - !BYTE $6A ; LAW _X028+18 -_F433 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D118+0 -_F434 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F435 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F436 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0912: fin -_B065 -_B066 -; libsrc/fpu_mf.pla: 0913: -; libsrc/fpu_mf.pla: 0914: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0915: end -; libsrc/fpu_mf.pla: 0916: -; libsrc/fpu_mf.pla: 0917: def ln1X -_P066 ; ln1X() -_C056 ; ln1X() -; libsrc/fpu_mf.pla: 0918: // ln(1+x) = ln(1 + x) -; libsrc/fpu_mf.pla: 0919: // Add 1 to x, then compute ln -; libsrc/fpu_mf.pla: 0920: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0921: -; libsrc/fpu_mf.pla: 0922: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0923: -; libsrc/fpu_mf.pla: 0924: sane:saveZP() -; libsrc/fpu_mf.pla: 0925: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLN1X, stackRegs[0])) - !BYTE $68 ; LAB _D119+0 -_F437 !WORD _D119+0 - !BYTE $4E ; BRTRU _B067 - !WORD _B067-* - !BYTE $6A ; LAW _X028+18 -_F438 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D118+0 -_F439 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F440 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F441 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0926: fin -_B067 -_B068 -; libsrc/fpu_mf.pla: 0927: -; libsrc/fpu_mf.pla: 0928: // Compute 1 + x -; libsrc/fpu_mf.pla: 0929: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 0930: err = add -; libsrc/fpu_mf.pla: 0931: if err < 0 -; libsrc/fpu_mf.pla: 0932: // Fallback -; libsrc/fpu_mf.pla: 0933: -; libsrc/fpu_mf.pla: 0934: sane:saveZP() -; libsrc/fpu_mf.pla: 0935: return sane:restoreZP(sane:op1ELEM(FFEXT|FOLN1X, stackRegs[0])) - !BYTE $6A ; LAW _D118+2 -_F442 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F443 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F444 !WORD 0 - !BYTE $54 ; CALL _C034 -_F445 !WORD _C034 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $6A ; LAW _X028+18 -_F446 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D118+0 -_F447 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F448 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F449 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0936: fin -_B069 -_B070 -; libsrc/fpu_mf.pla: 0937: -; libsrc/fpu_mf.pla: 0938: // Compute ln(1 + x) -; libsrc/fpu_mf.pla: 0939: return execUnaryOp(MF_CMD_FLOG) - !BYTE $2A,$37 ; CB 55 - !BYTE $54 ; CALL _C033 -_F450 !WORD _C033 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0940: end -; libsrc/fpu_mf.pla: 0941: -; libsrc/fpu_mf.pla: 0942: def pow2X -_P067 ; pow2X() -_C057 ; pow2X() -; libsrc/fpu_mf.pla: 0943: // 2^x = e^(x * ln(2)) -; libsrc/fpu_mf.pla: 0944: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0945: -; libsrc/fpu_mf.pla: 0946: // Multiply x by ln(2) -; libsrc/fpu_mf.pla: 0947: memcpy(stackRegs[1], stackRegs[0], t_extended) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0948: memcpy(stackRegs[0], @ext_ln2, t_extended) -; libsrc/fpu_mf.pla: 0949: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 0950: if err < 0 -; libsrc/fpu_mf.pla: 0951: // Fallback -; libsrc/fpu_mf.pla: 0952: -; libsrc/fpu_mf.pla: 0953: sane:saveZP() -; libsrc/fpu_mf.pla: 0954: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP2X, stackRegs[1])) - !BYTE $6A ; LAW _D118+2 -_F451 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F452 !WORD _D118+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F453 !WORD 0 - !BYTE $6A ; LAW _D118+0 -_F454 !WORD _D118+0 - !BYTE $26 ; LA _D113+0 -_F455 !WORD _D113+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F456 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F457 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $6A ; LAW _X028+18 -_F458 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D118+2 -_F459 !WORD _D118+2 - !BYTE $6A ; LAW _X028+12 -_F460 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F461 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0955: fin -_B071 -_B072 -; libsrc/fpu_mf.pla: 0956: -; libsrc/fpu_mf.pla: 0957: // Compute e^(x*ext_ln2) -; libsrc/fpu_mf.pla: 0958: return execUnaryOp(MF_CMD_FEXP) - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F462 !WORD _C033 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0959: end -; libsrc/fpu_mf.pla: 0960: -; libsrc/fpu_mf.pla: 0961: def pow21X -_P068 ; pow21X() -_C058 ; pow21X() -; libsrc/fpu_mf.pla: 0962: // 2^x - 1 = e^(x*ln(2)) - 1 -; libsrc/fpu_mf.pla: 0963: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0964: -; libsrc/fpu_mf.pla: 0965: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0966: -; libsrc/fpu_mf.pla: 0967: sane:saveZP() -; libsrc/fpu_mf.pla: 0968: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP21X, stackRegs[0])) - !BYTE $68 ; LAB _D119+0 -_F463 !WORD _D119+0 - !BYTE $4E ; BRTRU _B073 - !WORD _B073-* - !BYTE $6A ; LAW _X028+18 -_F464 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D118+0 -_F465 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F466 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F467 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0969: fin -_B073 -_B074 -; libsrc/fpu_mf.pla: 0970: -; libsrc/fpu_mf.pla: 0971: // Multiply x by ln(2) -; libsrc/fpu_mf.pla: 0972: memcpy(stackRegs[1], stackRegs[0], t_extended) -; libsrc/fpu_mf.pla: 0973: memcpy(stackRegs[0], @ext_ln2, t_extended) -; libsrc/fpu_mf.pla: 0974: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 0975: if err < 0 -; libsrc/fpu_mf.pla: 0976: -; libsrc/fpu_mf.pla: 0977: sane:saveZP() -; libsrc/fpu_mf.pla: 0978: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP21X, stackRegs[1])) - !BYTE $6A ; LAW _D118+2 -_F468 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F469 !WORD _D118+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F470 !WORD 0 - !BYTE $6A ; LAW _D118+0 -_F471 !WORD _D118+0 - !BYTE $26 ; LA _D113+0 -_F472 !WORD _D113+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F473 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F474 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $6A ; LAW _X028+18 -_F475 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D118+2 -_F476 !WORD _D118+2 - !BYTE $6A ; LAW _X028+12 -_F477 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F478 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0979: fin -_B075 -_B076 -; libsrc/fpu_mf.pla: 0980: -; libsrc/fpu_mf.pla: 0981: // Compute e^(x*ext_ln2) -; libsrc/fpu_mf.pla: 0982: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 0983: if err; return err; fin - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F479 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B077 -_B078 -; libsrc/fpu_mf.pla: 0984: -; libsrc/fpu_mf.pla: 0985: // Subtract 1 -; libsrc/fpu_mf.pla: 0986: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 0987: return sub - !BYTE $6A ; LAW _D118+2 -_F480 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F481 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F482 !WORD 0 - !BYTE $54 ; CALL _C035 -_F483 !WORD _C035 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0988: end -; libsrc/fpu_mf.pla: 0989: -; libsrc/fpu_mf.pla: 0990: def powEX -_P069 ; powEX() -_C059 ; powEX() -; libsrc/fpu_mf.pla: 0991: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 0992: -; libsrc/fpu_mf.pla: 0993: err = execUnaryOp(MF_CMD_FEXP) - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 0994: if err < 0 -; libsrc/fpu_mf.pla: 0995: -; libsrc/fpu_mf.pla: 0996: sane:saveZP() -; libsrc/fpu_mf.pla: 0997: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXPX, stackRegs[0])) - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F484 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* - !BYTE $6A ; LAW _X028+18 -_F485 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D118+0 -_F486 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F487 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F488 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 0998: fin -_B079 -_B080 -; libsrc/fpu_mf.pla: 0999: -; libsrc/fpu_mf.pla: 1000: return err - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1001: end -; libsrc/fpu_mf.pla: 1002: -; libsrc/fpu_mf.pla: 1003: def powE1X -_P070 ; powE1X() -_C060 ; powE1X() -; libsrc/fpu_mf.pla: 1004: // e^x - 1 = exp(x) - 1 -; libsrc/fpu_mf.pla: 1005: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1006: -; libsrc/fpu_mf.pla: 1007: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1008: -; libsrc/fpu_mf.pla: 1009: sane:saveZP() -; libsrc/fpu_mf.pla: 1010: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP1X, stackRegs[0])) - !BYTE $68 ; LAB _D119+0 -_F489 !WORD _D119+0 - !BYTE $4E ; BRTRU _B081 - !WORD _B081-* - !BYTE $6A ; LAW _X028+18 -_F490 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $18 ; CN 12 - !BYTE $6A ; LAW _D118+0 -_F491 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F492 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F493 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1011: fin -_B081 -_B082 -; libsrc/fpu_mf.pla: 1012: -; libsrc/fpu_mf.pla: 1013: // Compute e^x -; libsrc/fpu_mf.pla: 1014: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 1015: if err < 0 -; libsrc/fpu_mf.pla: 1016: -; libsrc/fpu_mf.pla: 1017: sane:saveZP() -; libsrc/fpu_mf.pla: 1018: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP1X, stackRegs[0])) - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F494 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $6A ; LAW _X028+18 -_F495 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $18 ; CN 12 - !BYTE $6A ; LAW _D118+0 -_F496 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F497 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F498 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1019: fin -_B083 -_B084 -; libsrc/fpu_mf.pla: 1020: -; libsrc/fpu_mf.pla: 1021: // Subtract 1 -; libsrc/fpu_mf.pla: 1022: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1023: return sub - !BYTE $6A ; LAW _D118+2 -_F499 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F500 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F501 !WORD 0 - !BYTE $54 ; CALL _C035 -_F502 !WORD _C035 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1024: end -; libsrc/fpu_mf.pla: 1025: -; libsrc/fpu_mf.pla: 1026: def powE21X -_P071 ; powE21X() -_C061 ; powE21X() -; libsrc/fpu_mf.pla: 1027: // e^(2x) - 1 = exp(2x) - 1 -; libsrc/fpu_mf.pla: 1028: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1029: -; libsrc/fpu_mf.pla: 1030: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1031: -; libsrc/fpu_mf.pla: 1032: sane:saveZP() -; libsrc/fpu_mf.pla: 1033: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP21X, stackRegs[0])) - !BYTE $68 ; LAB _D119+0 -_F503 !WORD _D119+0 - !BYTE $4E ; BRTRU _B085 - !WORD _B085-* - !BYTE $6A ; LAW _X028+18 -_F504 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D118+0 -_F505 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F506 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F507 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1034: fin -_B085 -_B086 -; libsrc/fpu_mf.pla: 1035: -; libsrc/fpu_mf.pla: 1036: // Multiply x by 2 -; libsrc/fpu_mf.pla: 1037: memcpy(stackRegs[1], stackRegs[0], t_extended) -; libsrc/fpu_mf.pla: 1038: memcpy(stackRegs[0], @ext_two, t_extended) -; libsrc/fpu_mf.pla: 1039: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 1040: if err < 0 -; libsrc/fpu_mf.pla: 1041: -; libsrc/fpu_mf.pla: 1042: sane:saveZP() -; libsrc/fpu_mf.pla: 1043: return sane:restoreZP(sane:op1ELEM(FFEXT|FOEXP21X, stackRegs[0])) - !BYTE $6A ; LAW _D118+2 -_F508 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F509 !WORD _D118+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F510 !WORD 0 - !BYTE $6A ; LAW _D118+0 -_F511 !WORD _D118+0 - !BYTE $26 ; LA _D115+0 -_F512 !WORD _D115+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F513 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F514 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $6A ; LAW _X028+18 -_F515 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $6A ; LAW _D118+0 -_F516 !WORD _D118+0 - !BYTE $6A ; LAW _X028+12 -_F517 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F518 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1044: fin -_B087 -_B088 -; libsrc/fpu_mf.pla: 1045: -; libsrc/fpu_mf.pla: 1046: // Compute e^(2x) -; libsrc/fpu_mf.pla: 1047: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 1048: if err; return err; fin - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F519 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B089 -_B090 -; libsrc/fpu_mf.pla: 1049: -; libsrc/fpu_mf.pla: 1050: // Subtract 1 -; libsrc/fpu_mf.pla: 1051: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1052: return sub - !BYTE $6A ; LAW _D118+2 -_F520 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F521 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F522 !WORD 0 - !BYTE $54 ; CALL _C035 -_F523 !WORD _C035 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1053: end -; libsrc/fpu_mf.pla: 1054: -; libsrc/fpu_mf.pla: 1055: def powXInt(powInt) - ; powInt -> [0] -_P072 ; powXInt(powInt)() -_C062 ; powXInt() -; libsrc/fpu_mf.pla: 1056: // x^n = e^(n * ln(x)) -; libsrc/fpu_mf.pla: 1057: word err, intVal - ; err -> [2] - ; intVal -> [4] -; libsrc/fpu_mf.pla: 1058: -; libsrc/fpu_mf.pla: 1059: if !mfAvailable - !BYTE $58,$06,$01 ; ENTER 6,1 -; libsrc/fpu_mf.pla: 1060: -; libsrc/fpu_mf.pla: 1061: sane:saveZP() -; libsrc/fpu_mf.pla: 1062: return sane:restoreZP(sane:op2ELEM(FFEXT|FOXPWRI, stackRegs[0], powInt)) - !BYTE $68 ; LAB _D119+0 -_F524 !WORD _D119+0 - !BYTE $4E ; BRTRU _B091 - !WORD _B091-* - !BYTE $6A ; LAW _X028+18 -_F525 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $6A ; LAW _D118+0 -_F526 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F527 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F528 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/fpu_mf.pla: 1063: fin -_B091 -_B092 -; libsrc/fpu_mf.pla: 1064: -; libsrc/fpu_mf.pla: 1065: // Compute ln(x) -; libsrc/fpu_mf.pla: 1066: err = execUnaryOp(MF_CMD_FLOG) -; libsrc/fpu_mf.pla: 1067: if err < 0 -; libsrc/fpu_mf.pla: 1068: -; libsrc/fpu_mf.pla: 1069: sane:saveZP() -; libsrc/fpu_mf.pla: 1070: return sane:restoreZP(sane:op2ELEM(FFEXT|FOXPWRI, stackRegs[0], powInt)) - !BYTE $2A,$37 ; CB 55 - !BYTE $54 ; CALL _C033 -_F529 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $6A ; LAW _X028+18 -_F530 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $6A ; LAW _D118+0 -_F531 !WORD _D118+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F532 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F533 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/fpu_mf.pla: 1071: fin -_B093 -_B094 -; libsrc/fpu_mf.pla: 1072: -; libsrc/fpu_mf.pla: 1073: // Convert integer to extended and multiply -; libsrc/fpu_mf.pla: 1074: pushInt(powInt) -; libsrc/fpu_mf.pla: 1075: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 1076: if err; return err; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F534 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F535 !WORD _C032 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B095 - !WORD _B095-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -_B095 -_B096 -; libsrc/fpu_mf.pla: 1077: -; libsrc/fpu_mf.pla: 1078: // Compute e^(n * ln(x)) -; libsrc/fpu_mf.pla: 1079: return execUnaryOp(MF_CMD_FEXP) - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F536 !WORD _C033 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/fpu_mf.pla: 1080: end -; libsrc/fpu_mf.pla: 1081: -; libsrc/fpu_mf.pla: 1082: def powXY -_P073 ; powXY() -_C063 ; powXY() -; libsrc/fpu_mf.pla: 1083: // x^y = e^(y * ln(x)) -; libsrc/fpu_mf.pla: 1084: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1085: -; libsrc/fpu_mf.pla: 1086: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1087: -; libsrc/fpu_mf.pla: 1088: sane:saveZP() -; libsrc/fpu_mf.pla: 1089: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOXPWRY, stackRegs[0], stackRegs[1])))) - !BYTE $68 ; LAB _D119+0 -_F537 !WORD _D119+0 - !BYTE $4E ; BRTRU _B097 - !WORD _B097-* - !BYTE $6A ; LAW _X028+18 -_F538 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$12 ; CB 18 - !BYTE $6A ; LAW _D118+0 -_F539 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F540 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F541 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F542 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F543 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F544 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1090: fin -_B097 -_B098 -; libsrc/fpu_mf.pla: 1091: -; libsrc/fpu_mf.pla: 1092: // Stack has: y, x (top to bottom) -; libsrc/fpu_mf.pla: 1093: // We need: ln(x), then multiply by y, then exp -; libsrc/fpu_mf.pla: 1094: -; libsrc/fpu_mf.pla: 1095: // Compute ln(x) - x is on top of stack -; libsrc/fpu_mf.pla: 1096: err = execUnaryOp(MF_CMD_FLOG) -; libsrc/fpu_mf.pla: 1097: if err < 0 -; libsrc/fpu_mf.pla: 1098: -; libsrc/fpu_mf.pla: 1099: sane:saveZP() -; libsrc/fpu_mf.pla: 1100: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOXPWRY, stackRegs[1], stackRegs[0])))) - !BYTE $2A,$37 ; CB 55 - !BYTE $54 ; CALL _C033 -_F545 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $6A ; LAW _X028+18 -_F546 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$12 ; CB 18 - !BYTE $6A ; LAW _D118+2 -_F547 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F548 !WORD _D118+0 - !BYTE $6A ; LAW _X028+14 -_F549 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F550 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F551 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F552 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1101: fin -_B099 -_B100 -; libsrc/fpu_mf.pla: 1102: -; libsrc/fpu_mf.pla: 1103: // Now stack has: y, ln(x) -; libsrc/fpu_mf.pla: 1104: // Multiply y * ln(x) -; libsrc/fpu_mf.pla: 1105: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 1106: if err; return _drop(err); fin - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F553 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F554 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -_B101 -_B102 -; libsrc/fpu_mf.pla: 1107: -; libsrc/fpu_mf.pla: 1108: // Compute e^(y * ln(x)) -; libsrc/fpu_mf.pla: 1109: return _drop(execUnaryOp(MF_CMD_FEXP)) - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F555 !WORD _C033 - !BYTE $54 ; CALL _C007 -_F556 !WORD _C007 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1110: end -; libsrc/fpu_mf.pla: 1111: -; libsrc/fpu_mf.pla: 1112: //============================================================================== -; libsrc/fpu_mf.pla: 1113: // ADDITIONAL TRIG FUNCTIONS (using hardware acceleration + identities) -; libsrc/fpu_mf.pla: 1114: //============================================================================== -; libsrc/fpu_mf.pla: 1115: -; libsrc/fpu_mf.pla: 1116: // -; libsrc/fpu_mf.pla: 1117: // Inverse Sine: asin(x) = atan(x / sqrt(1 - x²)) -; libsrc/fpu_mf.pla: 1118: // Valid for -1 <= x <= 1 -; libsrc/fpu_mf.pla: 1119: // -; libsrc/fpu_mf.pla: 1120: def asin -_P055 ; asin() -_C064 ; asin() -; libsrc/fpu_mf.pla: 1121: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1122: -; libsrc/fpu_mf.pla: 1123: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1124: // No direct SANE asin, but could implement with identities if needed -; libsrc/fpu_mf.pla: 1125: // For now, return error -; libsrc/fpu_mf.pla: 1126: return -1 - !BYTE $68 ; LAB _D119+0 -_F557 !WORD _D119+0 - !BYTE $4E ; BRTRU _B103 - !WORD _B103-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1127: fin -_B103 -_B104 -; libsrc/fpu_mf.pla: 1128: -; libsrc/fpu_mf.pla: 1129: // Save x -; libsrc/fpu_mf.pla: 1130: dup -; libsrc/fpu_mf.pla: 1131: -; libsrc/fpu_mf.pla: 1132: // Compute x² -; libsrc/fpu_mf.pla: 1133: dup -; libsrc/fpu_mf.pla: 1134: err = execBinaryOp(MF_CMD_FMUL) -; libsrc/fpu_mf.pla: 1135: if err; return err; fin - !BYTE $54 ; CALL _C010 -_F558 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C010 -_F559 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _C032 -_F560 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B105 -_B106 -; libsrc/fpu_mf.pla: 1136: -; libsrc/fpu_mf.pla: 1137: // Compute 1 - x² -; libsrc/fpu_mf.pla: 1138: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1139: swap -; libsrc/fpu_mf.pla: 1140: neg -; libsrc/fpu_mf.pla: 1141: add // 1 + (-x²) -; libsrc/fpu_mf.pla: 1142: -; libsrc/fpu_mf.pla: 1143: // Compute sqrt(1 - x²) -; libsrc/fpu_mf.pla: 1144: err = execUnaryOp(MF_CMD_FSQR) -; libsrc/fpu_mf.pla: 1145: if err; return err; fin - !BYTE $6A ; LAW _D118+2 -_F561 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F562 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F563 !WORD 0 - !BYTE $54 ; CALL _C008 -_F564 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C039 -_F565 !WORD _C039 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C034 -_F566 !WORD _C034 - !BYTE $30 ; DROP - !BYTE $2A,$39 ; CB 57 - !BYTE $54 ; CALL _C033 -_F567 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B107 -_B108 -; libsrc/fpu_mf.pla: 1146: -; libsrc/fpu_mf.pla: 1147: // Swap to get x / sqrt(1 - x²) -; libsrc/fpu_mf.pla: 1148: swap -; libsrc/fpu_mf.pla: 1149: err = execBinaryOp(MF_CMD_FDIV) -; libsrc/fpu_mf.pla: 1150: if err; return err; fin - !BYTE $54 ; CALL _C008 -_F568 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _C032 -_F569 !WORD _C032 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B109 - !WORD _B109-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B109 -_B110 -; libsrc/fpu_mf.pla: 1151: -; libsrc/fpu_mf.pla: 1152: // Compute atan -; libsrc/fpu_mf.pla: 1153: return execUnaryOp(MF_CMD_FATN) - !BYTE $2A,$36 ; CB 54 - !BYTE $54 ; CALL _C033 -_F570 !WORD _C033 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1154: end -; libsrc/fpu_mf.pla: 1155: -; libsrc/fpu_mf.pla: 1156: // -; libsrc/fpu_mf.pla: 1157: // Inverse Cosine: acos(x) = π/2 - asin(x) -; libsrc/fpu_mf.pla: 1158: // -; libsrc/fpu_mf.pla: 1159: def acos -_P056 ; acos() -_C065 ; acos() -; libsrc/fpu_mf.pla: 1160: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1161: -; libsrc/fpu_mf.pla: 1162: // Compute asin(x) -; libsrc/fpu_mf.pla: 1163: err = asin - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1164: if err; return err; fin - !BYTE $54 ; CALL _C064 -_F571 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B111 - !WORD _B111-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B111 -_B112 -; libsrc/fpu_mf.pla: 1165: -; libsrc/fpu_mf.pla: 1166: // Subtract from π/2 -; libsrc/fpu_mf.pla: 1167: constPi -; libsrc/fpu_mf.pla: 1168: pushStr("2.0") - !BYTE $54 ; CALL _P007 -_F572 !WORD _P007 - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $03 - !BYTE $32,$2E,$30 - !BYTE $54 ; CALL _C028 -_F573 !WORD _C028 - !BYTE $30 ; DROP -; libsrc/fpu_mf.pla: 1169: div -; libsrc/fpu_mf.pla: 1170: swap -; libsrc/fpu_mf.pla: 1171: return sub - !BYTE $54 ; CALL _C037 -_F574 !WORD _C037 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C008 -_F575 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C035 -_F576 !WORD _C035 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1172: end -; libsrc/fpu_mf.pla: 1173: -; libsrc/fpu_mf.pla: 1174: // -; libsrc/fpu_mf.pla: 1175: // Hyperbolic Sine: sinh(x) = (e^x - e^-x) / 2 -; libsrc/fpu_mf.pla: 1176: // -; libsrc/fpu_mf.pla: 1177: def sinh -_P057 ; sinh() -_C066 ; sinh() -; libsrc/fpu_mf.pla: 1178: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1179: -; libsrc/fpu_mf.pla: 1180: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1181: -; libsrc/fpu_mf.pla: 1182: // SANE doesn't have sinh either, would need to implement -; libsrc/fpu_mf.pla: 1183: return -1 - !BYTE $68 ; LAB _D119+0 -_F577 !WORD _D119+0 - !BYTE $4E ; BRTRU _B113 - !WORD _B113-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1184: fin -_B113 -_B114 -; libsrc/fpu_mf.pla: 1185: -; libsrc/fpu_mf.pla: 1186: // Save x -; libsrc/fpu_mf.pla: 1187: dup -; libsrc/fpu_mf.pla: 1188: -; libsrc/fpu_mf.pla: 1189: // Compute e^x -; libsrc/fpu_mf.pla: 1190: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 1191: if err; return err; fin - !BYTE $54 ; CALL _C010 -_F578 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F579 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B115 -_B116 -; libsrc/fpu_mf.pla: 1192: -; libsrc/fpu_mf.pla: 1193: // Get x again for e^-x -; libsrc/fpu_mf.pla: 1194: swap -; libsrc/fpu_mf.pla: 1195: neg -; libsrc/fpu_mf.pla: 1196: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 1197: if err; return err; fin - !BYTE $54 ; CALL _C008 -_F580 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C039 -_F581 !WORD _C039 - !BYTE $30 ; DROP - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F582 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B117 -_B118 -; libsrc/fpu_mf.pla: 1198: -; libsrc/fpu_mf.pla: 1199: // Compute e^x - e^-x -; libsrc/fpu_mf.pla: 1200: swap -; libsrc/fpu_mf.pla: 1201: sub -; libsrc/fpu_mf.pla: 1202: -; libsrc/fpu_mf.pla: 1203: // Divide by 2 -; libsrc/fpu_mf.pla: 1204: memcpy(stackRegs[1], @ext_two, t_extended) -; libsrc/fpu_mf.pla: 1205: swap -; libsrc/fpu_mf.pla: 1206: return div - !BYTE $54 ; CALL _C008 -_F583 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C035 -_F584 !WORD _C035 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D118+2 -_F585 !WORD _D118+2 - !BYTE $26 ; LA _D115+0 -_F586 !WORD _D115+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F587 !WORD 0 - !BYTE $54 ; CALL _C008 -_F588 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F589 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1207: end -; libsrc/fpu_mf.pla: 1208: -; libsrc/fpu_mf.pla: 1209: // -; libsrc/fpu_mf.pla: 1210: // Hyperbolic Cosine: cosh(x) = (e^x + e^-x) / 2 -; libsrc/fpu_mf.pla: 1211: // -; libsrc/fpu_mf.pla: 1212: def cosh -_P058 ; cosh() -_C067 ; cosh() -; libsrc/fpu_mf.pla: 1213: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1214: -; libsrc/fpu_mf.pla: 1215: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1216: -; libsrc/fpu_mf.pla: 1217: return -1 - !BYTE $68 ; LAB _D119+0 -_F590 !WORD _D119+0 - !BYTE $4E ; BRTRU _B119 - !WORD _B119-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1218: fin -_B119 -_B120 -; libsrc/fpu_mf.pla: 1219: -; libsrc/fpu_mf.pla: 1220: // Save x -; libsrc/fpu_mf.pla: 1221: dup -; libsrc/fpu_mf.pla: 1222: -; libsrc/fpu_mf.pla: 1223: // Compute e^x -; libsrc/fpu_mf.pla: 1224: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 1225: if err; return err; fin - !BYTE $54 ; CALL _C010 -_F591 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F592 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B121 -_B122 -; libsrc/fpu_mf.pla: 1226: -; libsrc/fpu_mf.pla: 1227: // Get x again for e^-x -; libsrc/fpu_mf.pla: 1228: swap -; libsrc/fpu_mf.pla: 1229: neg -; libsrc/fpu_mf.pla: 1230: err = execUnaryOp(MF_CMD_FEXP) -; libsrc/fpu_mf.pla: 1231: if err; return err; fin - !BYTE $54 ; CALL _C008 -_F593 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C039 -_F594 !WORD _C039 - !BYTE $30 ; DROP - !BYTE $2A,$38 ; CB 56 - !BYTE $54 ; CALL _C033 -_F595 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B123 -_B124 -; libsrc/fpu_mf.pla: 1232: -; libsrc/fpu_mf.pla: 1233: // Compute e^x + e^-x -; libsrc/fpu_mf.pla: 1234: swap -; libsrc/fpu_mf.pla: 1235: add -; libsrc/fpu_mf.pla: 1236: -; libsrc/fpu_mf.pla: 1237: // Divide by 2 -; libsrc/fpu_mf.pla: 1238: memcpy(stackRegs[1], @ext_two, t_extended) -; libsrc/fpu_mf.pla: 1239: swap -; libsrc/fpu_mf.pla: 1240: return div - !BYTE $54 ; CALL _C008 -_F596 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C034 -_F597 !WORD _C034 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D118+2 -_F598 !WORD _D118+2 - !BYTE $26 ; LA _D115+0 -_F599 !WORD _D115+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F600 !WORD 0 - !BYTE $54 ; CALL _C008 -_F601 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F602 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1241: end -; libsrc/fpu_mf.pla: 1242: -; libsrc/fpu_mf.pla: 1243: // -; libsrc/fpu_mf.pla: 1244: // Hyperbolic Tangent: tanh(x) = sinh(x) / cosh(x) -; libsrc/fpu_mf.pla: 1245: // -; libsrc/fpu_mf.pla: 1246: def tanh -_P059 ; tanh() -_C068 ; tanh() -; libsrc/fpu_mf.pla: 1247: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1248: -; libsrc/fpu_mf.pla: 1249: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1250: -; libsrc/fpu_mf.pla: 1251: return -1 - !BYTE $68 ; LAB _D119+0 -_F603 !WORD _D119+0 - !BYTE $4E ; BRTRU _B125 - !WORD _B125-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1252: fin -_B125 -_B126 -; libsrc/fpu_mf.pla: 1253: -; libsrc/fpu_mf.pla: 1254: // Save x for cosh -; libsrc/fpu_mf.pla: 1255: dup -; libsrc/fpu_mf.pla: 1256: -; libsrc/fpu_mf.pla: 1257: // Compute sinh(x) -; libsrc/fpu_mf.pla: 1258: err = sinh -; libsrc/fpu_mf.pla: 1259: if err; return err; fin - !BYTE $54 ; CALL _C010 -_F604 !WORD _C010 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C066 -_F605 !WORD _C066 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B127 - !WORD _B127-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B127 -_B128 -; libsrc/fpu_mf.pla: 1260: -; libsrc/fpu_mf.pla: 1261: // Get x again -; libsrc/fpu_mf.pla: 1262: swap -; libsrc/fpu_mf.pla: 1263: -; libsrc/fpu_mf.pla: 1264: // Compute cosh(x) -; libsrc/fpu_mf.pla: 1265: err = cosh -; libsrc/fpu_mf.pla: 1266: if err; return err; fin - !BYTE $54 ; CALL _C008 -_F606 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C067 -_F607 !WORD _C067 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B129 - !WORD _B129-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B129 -_B130 -; libsrc/fpu_mf.pla: 1267: -; libsrc/fpu_mf.pla: 1268: // Divide sinh/cosh -; libsrc/fpu_mf.pla: 1269: swap -; libsrc/fpu_mf.pla: 1270: return div - !BYTE $54 ; CALL _C008 -_F608 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F609 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1271: end -; libsrc/fpu_mf.pla: 1272: -; libsrc/fpu_mf.pla: 1273: // -; libsrc/fpu_mf.pla: 1274: // Secant: sec(x) = 1 / cos(x) -; libsrc/fpu_mf.pla: 1275: // -; libsrc/fpu_mf.pla: 1276: def sec -_P060 ; sec() -_C069 ; sec() -; libsrc/fpu_mf.pla: 1277: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1278: -; libsrc/fpu_mf.pla: 1279: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1280: -; libsrc/fpu_mf.pla: 1281: return -1 - !BYTE $68 ; LAB _D119+0 -_F610 !WORD _D119+0 - !BYTE $4E ; BRTRU _B131 - !WORD _B131-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1282: fin -_B131 -_B132 -; libsrc/fpu_mf.pla: 1283: -; libsrc/fpu_mf.pla: 1284: // Compute cos(x) -; libsrc/fpu_mf.pla: 1285: err = execUnaryOp(MF_CMD_FCOS) -; libsrc/fpu_mf.pla: 1286: if err; return err; fin - !BYTE $2A,$34 ; CB 52 - !BYTE $54 ; CALL _C033 -_F611 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B133 -_B134 -; libsrc/fpu_mf.pla: 1287: -; libsrc/fpu_mf.pla: 1288: // Compute 1 / cos(x) -; libsrc/fpu_mf.pla: 1289: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1290: swap -; libsrc/fpu_mf.pla: 1291: return div - !BYTE $6A ; LAW _D118+2 -_F612 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F613 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F614 !WORD 0 - !BYTE $54 ; CALL _C008 -_F615 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F616 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1292: end -; libsrc/fpu_mf.pla: 1293: -; libsrc/fpu_mf.pla: 1294: // -; libsrc/fpu_mf.pla: 1295: // Cosecant: csc(x) = 1 / sin(x) -; libsrc/fpu_mf.pla: 1296: // -; libsrc/fpu_mf.pla: 1297: def csc -_P061 ; csc() -_C070 ; csc() -; libsrc/fpu_mf.pla: 1298: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1299: -; libsrc/fpu_mf.pla: 1300: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1301: -; libsrc/fpu_mf.pla: 1302: return -1 - !BYTE $68 ; LAB _D119+0 -_F617 !WORD _D119+0 - !BYTE $4E ; BRTRU _B135 - !WORD _B135-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1303: fin -_B135 -_B136 -; libsrc/fpu_mf.pla: 1304: -; libsrc/fpu_mf.pla: 1305: -; libsrc/fpu_mf.pla: 1306: // Compute sin(x) -; libsrc/fpu_mf.pla: 1307: err = execUnaryOp(MF_CMD_FSIN) -; libsrc/fpu_mf.pla: 1308: if err; return err; fin - !BYTE $2A,$33 ; CB 51 - !BYTE $54 ; CALL _C033 -_F618 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B137 - !WORD _B137-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B137 -_B138 -; libsrc/fpu_mf.pla: 1309: -; libsrc/fpu_mf.pla: 1310: // Compute 1 / sin(x) -; libsrc/fpu_mf.pla: 1311: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1312: swap -; libsrc/fpu_mf.pla: 1313: return div - !BYTE $6A ; LAW _D118+2 -_F619 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F620 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F621 !WORD 0 - !BYTE $54 ; CALL _C008 -_F622 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F623 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1314: end -; libsrc/fpu_mf.pla: 1315: -; libsrc/fpu_mf.pla: 1316: // -; libsrc/fpu_mf.pla: 1317: // Cotangent: cot(x) = 1 / tan(x) -; libsrc/fpu_mf.pla: 1318: // -; libsrc/fpu_mf.pla: 1319: def cot -_P062 ; cot() -_C071 ; cot() -; libsrc/fpu_mf.pla: 1320: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1321: -; libsrc/fpu_mf.pla: 1322: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1323: -; libsrc/fpu_mf.pla: 1324: return -1 - !BYTE $68 ; LAB _D119+0 -_F624 !WORD _D119+0 - !BYTE $4E ; BRTRU _B139 - !WORD _B139-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1325: fin -_B139 -_B140 -; libsrc/fpu_mf.pla: 1326: -; libsrc/fpu_mf.pla: 1327: // Compute tan(x) -; libsrc/fpu_mf.pla: 1328: err = execUnaryOp(MF_CMD_FTAN) -; libsrc/fpu_mf.pla: 1329: if err; return err; fin - !BYTE $2A,$35 ; CB 53 - !BYTE $54 ; CALL _C033 -_F625 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B141 - !WORD _B141-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -_B141 -_B142 -; libsrc/fpu_mf.pla: 1330: -; libsrc/fpu_mf.pla: 1331: // Compute 1 / tan(x) -; libsrc/fpu_mf.pla: 1332: memcpy(stackRegs[1], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1333: swap -; libsrc/fpu_mf.pla: 1334: return div - !BYTE $6A ; LAW _D118+2 -_F626 !WORD _D118+2 - !BYTE $26 ; LA _D114+0 -_F627 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F628 !WORD 0 - !BYTE $54 ; CALL _C008 -_F629 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F630 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1335: end -; libsrc/fpu_mf.pla: 1336: -; libsrc/fpu_mf.pla: 1337: //============================================================================== -; libsrc/fpu_mf.pla: 1338: // FINANCIAL FUNCTIONS (Hardware accelerated via powXY) -; libsrc/fpu_mf.pla: 1339: //============================================================================== -; libsrc/fpu_mf.pla: 1340: -; libsrc/fpu_mf.pla: 1341: def compXY -_P074 ; compXY() -_C072 ; compXY() -; libsrc/fpu_mf.pla: 1342: // compXY(rate, periods) = (1 + rate)^periods -; libsrc/fpu_mf.pla: 1343: // Hardware accelerated via powXY -; libsrc/fpu_mf.pla: 1344: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1345: -; libsrc/fpu_mf.pla: 1346: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1347: -; libsrc/fpu_mf.pla: 1348: sane:saveZP() -; libsrc/fpu_mf.pla: 1349: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOCOMPND, stackRegs[0], stackRegs[1])))) - !BYTE $68 ; LAB _D119+0 -_F631 !WORD _D119+0 - !BYTE $4E ; BRTRU _B143 - !WORD _B143-* - !BYTE $6A ; LAW _X028+18 -_F632 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _D118+0 -_F633 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F634 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F635 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F636 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F637 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F638 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1350: fin -_B143 -_B144 -; libsrc/fpu_mf.pla: 1351: -; libsrc/fpu_mf.pla: 1352: // Stack: periods (top), rate (second) -; libsrc/fpu_mf.pla: 1353: // Need to compute: (1 + rate)^periods -; libsrc/fpu_mf.pla: 1354: -; libsrc/fpu_mf.pla: 1355: // Push 1.0, then add to rate -; libsrc/fpu_mf.pla: 1356: memcpy(stackRegs[2], @ext_one, t_extended) // Push 1.0 -; libsrc/fpu_mf.pla: 1357: memcpy(stackRegs[3], stackRegs[1], t_extended) // Copy rate -; libsrc/fpu_mf.pla: 1358: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[2], stackRegs[3], stackRegs[0], stackRegs[1] -; libsrc/fpu_mf.pla: 1359: -; libsrc/fpu_mf.pla: 1360: // Stack now: rate, 1.0, periods, (old) -; libsrc/fpu_mf.pla: 1361: err = add // Compute 1 + rate -; libsrc/fpu_mf.pla: 1362: if err < 0 -; libsrc/fpu_mf.pla: 1363: _drop(0) -; libsrc/fpu_mf.pla: 1364: -; libsrc/fpu_mf.pla: 1365: sane:saveZP() -; libsrc/fpu_mf.pla: 1366: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOCOMPND, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _D118+4 -_F639 !WORD _D118+4 - !BYTE $26 ; LA _D114+0 -_F640 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F641 !WORD 0 - !BYTE $6A ; LAW _D118+6 -_F642 !WORD _D118+6 - !BYTE $6A ; LAW _D118+2 -_F643 !WORD _D118+2 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F644 !WORD 0 - !BYTE $6A ; LAW _D118+4 -_F645 !WORD _D118+4 - !BYTE $6A ; LAW _D118+6 -_F646 !WORD _D118+6 - !BYTE $6A ; LAW _D118+0 -_F647 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F648 !WORD _D118+2 - !BYTE $7A ; SAW _D118+6 -_F649 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F650 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F651 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F652 !WORD _D118+0 - !BYTE $54 ; CALL _C034 -_F653 !WORD _C034 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F654 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F655 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _D118+0 -_F656 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F657 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F658 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F659 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F660 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F661 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1367: fin -_B145 -_B146 -; libsrc/fpu_mf.pla: 1368: -; libsrc/fpu_mf.pla: 1369: // Stack now: (1+rate), periods, ... -; libsrc/fpu_mf.pla: 1370: // Swap to get periods on top for powXY -; libsrc/fpu_mf.pla: 1371: swap -; libsrc/fpu_mf.pla: 1372: -; libsrc/fpu_mf.pla: 1373: // Stack now: periods, (1+rate), ... -; libsrc/fpu_mf.pla: 1374: // Call powXY to compute (1+rate)^periods -; libsrc/fpu_mf.pla: 1375: return powXY - !BYTE $54 ; CALL _C008 -_F662 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C063 -_F663 !WORD _C063 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1376: end -; libsrc/fpu_mf.pla: 1377: -; libsrc/fpu_mf.pla: 1378: def annuityXY -_P075 ; annuityXY() -_C073 ; annuityXY() -; libsrc/fpu_mf.pla: 1379: // annuityXY(rate, periods) = (1 - (1+rate)^-periods) / rate -; libsrc/fpu_mf.pla: 1380: // Hardware accelerated via powXY -; libsrc/fpu_mf.pla: 1381: word err - ; err -> [0] -; libsrc/fpu_mf.pla: 1382: -; libsrc/fpu_mf.pla: 1383: if !mfAvailable - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/fpu_mf.pla: 1384: -; libsrc/fpu_mf.pla: 1385: sane:saveZP() -; libsrc/fpu_mf.pla: 1386: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOANNUIT, stackRegs[0], stackRegs[1])))) - !BYTE $68 ; LAB _D119+0 -_F664 !WORD _D119+0 - !BYTE $4E ; BRTRU _B147 - !WORD _B147-* - !BYTE $6A ; LAW _X028+18 -_F665 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D118+0 -_F666 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F667 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F668 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F669 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F670 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F671 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1387: fin -_B147 -_B148 -; libsrc/fpu_mf.pla: 1388: -; libsrc/fpu_mf.pla: 1389: // Stack: periods (top), rate (second) -; libsrc/fpu_mf.pla: 1390: // Need: (1 - (1+rate)^-periods) / rate -; libsrc/fpu_mf.pla: 1391: -; libsrc/fpu_mf.pla: 1392: // Save rate for later division -; libsrc/fpu_mf.pla: 1393: memcpy(stackRegs[2], stackRegs[1], t_extended) // Copy rate to stack[2] -; libsrc/fpu_mf.pla: 1394: -; libsrc/fpu_mf.pla: 1395: // Negate periods: -periods -; libsrc/fpu_mf.pla: 1396: err = neg -; libsrc/fpu_mf.pla: 1397: if err < 0 -; libsrc/fpu_mf.pla: 1398: _drop(0) -; libsrc/fpu_mf.pla: 1399: -; libsrc/fpu_mf.pla: 1400: sane:saveZP() -; libsrc/fpu_mf.pla: 1401: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOANNUIT, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _D118+4 -_F672 !WORD _D118+4 - !BYTE $6A ; LAW _D118+2 -_F673 !WORD _D118+2 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F674 !WORD 0 - !BYTE $54 ; CALL _C039 -_F675 !WORD _C039 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B149 - !WORD _B149-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F676 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F677 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D118+0 -_F678 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F679 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F680 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F681 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F682 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F683 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1402: fin -_B149 -_B150 -; libsrc/fpu_mf.pla: 1403: -; libsrc/fpu_mf.pla: 1404: // Stack now: -periods, rate, rate, ... -; libsrc/fpu_mf.pla: 1405: // Compute (1 + rate) -; libsrc/fpu_mf.pla: 1406: memcpy(stackRegs[3], @ext_one, t_extended) // Push 1.0 -; libsrc/fpu_mf.pla: 1407: stackRegs[0], stackRegs[1], stackRegs[2], stackRegs[3] = stackRegs[3], stackRegs[1], stackRegs[0], stackRegs[2] -; libsrc/fpu_mf.pla: 1408: // Stack: 1.0, rate, -periods, rate -; libsrc/fpu_mf.pla: 1409: -; libsrc/fpu_mf.pla: 1410: err = add // 1 + rate -; libsrc/fpu_mf.pla: 1411: if err < 0 -; libsrc/fpu_mf.pla: 1412: _drop(0); _drop(0) -; libsrc/fpu_mf.pla: 1413: -; libsrc/fpu_mf.pla: 1414: sane:saveZP() -; libsrc/fpu_mf.pla: 1415: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOANNUIT, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _D118+6 -_F684 !WORD _D118+6 - !BYTE $26 ; LA _D114+0 -_F685 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F686 !WORD 0 - !BYTE $6A ; LAW _D118+6 -_F687 !WORD _D118+6 - !BYTE $6A ; LAW _D118+2 -_F688 !WORD _D118+2 - !BYTE $6A ; LAW _D118+0 -_F689 !WORD _D118+0 - !BYTE $6A ; LAW _D118+4 -_F690 !WORD _D118+4 - !BYTE $7A ; SAW _D118+6 -_F691 !WORD _D118+6 - !BYTE $7A ; SAW _D118+4 -_F692 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F693 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F694 !WORD _D118+0 - !BYTE $54 ; CALL _C034 -_F695 !WORD _C034 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B151 - !WORD _B151-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F696 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F697 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F698 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D118+0 -_F699 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F700 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F701 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F702 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F703 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F704 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1416: fin -_B151 -_B152 -; libsrc/fpu_mf.pla: 1417: -; libsrc/fpu_mf.pla: 1418: // Stack: (1+rate), -periods, rate, ... -; libsrc/fpu_mf.pla: 1419: swap // Stack: -periods, (1+rate), rate, ... -; libsrc/fpu_mf.pla: 1420: -; libsrc/fpu_mf.pla: 1421: err = powXY // (1+rate)^-periods -; libsrc/fpu_mf.pla: 1422: if err < 0 -; libsrc/fpu_mf.pla: 1423: _drop(0) -; libsrc/fpu_mf.pla: 1424: -; libsrc/fpu_mf.pla: 1425: sane:saveZP() -; libsrc/fpu_mf.pla: 1426: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOANNUIT, stackRegs[0], stackRegs[1])))) - !BYTE $54 ; CALL _C008 -_F705 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C063 -_F706 !WORD _C063 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F707 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F708 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D118+0 -_F709 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F710 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F711 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F712 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F713 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F714 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1427: fin -_B153 -_B154 -; libsrc/fpu_mf.pla: 1428: -; libsrc/fpu_mf.pla: 1429: // Stack: (1+rate)^-periods, rate, ... -; libsrc/fpu_mf.pla: 1430: // Compute 1 - (1+rate)^-periods -; libsrc/fpu_mf.pla: 1431: memcpy(stackRegs[2], @ext_one, t_extended) -; libsrc/fpu_mf.pla: 1432: stackRegs[0], stackRegs[1], stackRegs[2] = stackRegs[2], stackRegs[0], stackRegs[1] -; libsrc/fpu_mf.pla: 1433: // Stack: 1.0, (1+rate)^-periods, rate, ... -; libsrc/fpu_mf.pla: 1434: -; libsrc/fpu_mf.pla: 1435: err = sub // 1 - (1+rate)^-periods -; libsrc/fpu_mf.pla: 1436: if err < 0 -; libsrc/fpu_mf.pla: 1437: _drop(0) -; libsrc/fpu_mf.pla: 1438: -; libsrc/fpu_mf.pla: 1439: sane:saveZP() -; libsrc/fpu_mf.pla: 1440: return sane:restoreZP(_drop(_swap(sane:op2ELEM(FFEXT|FOANNUIT, stackRegs[0], stackRegs[1])))) - !BYTE $6A ; LAW _D118+4 -_F715 !WORD _D118+4 - !BYTE $26 ; LA _D114+0 -_F716 !WORD _D114+0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F717 !WORD 0 - !BYTE $6A ; LAW _D118+4 -_F718 !WORD _D118+4 - !BYTE $6A ; LAW _D118+0 -_F719 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F720 !WORD _D118+2 - !BYTE $7A ; SAW _D118+4 -_F721 !WORD _D118+4 - !BYTE $7A ; SAW _D118+2 -_F722 !WORD _D118+2 - !BYTE $7A ; SAW _D118+0 -_F723 !WORD _D118+0 - !BYTE $54 ; CALL _C035 -_F724 !WORD _C035 - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B155 - !WORD _B155-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F725 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F726 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _D118+0 -_F727 !WORD _D118+0 - !BYTE $6A ; LAW _D118+2 -_F728 !WORD _D118+2 - !BYTE $6A ; LAW _X028+14 -_F729 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C009 -_F730 !WORD _C009 - !BYTE $54 ; CALL _C007 -_F731 !WORD _C007 - !BYTE $6A ; LAW _X028+20 -_F732 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1441: fin -_B155 -_B156 -; libsrc/fpu_mf.pla: 1442: -; libsrc/fpu_mf.pla: 1443: // Stack: (1-(1+rate)^-periods), rate, ... -; libsrc/fpu_mf.pla: 1444: // Divide by rate -; libsrc/fpu_mf.pla: 1445: swap -; libsrc/fpu_mf.pla: 1446: return div - !BYTE $54 ; CALL _C008 -_F733 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C037 -_F734 !WORD _C037 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1447: end -; libsrc/fpu_mf.pla: 1448: -; libsrc/fpu_mf.pla: 1449: //============================================================================== -; libsrc/fpu_mf.pla: 1450: // RANDOM NUMBER GENERATION (SANE fallback) -; libsrc/fpu_mf.pla: 1451: //============================================================================== -; libsrc/fpu_mf.pla: 1452: -; libsrc/fpu_mf.pla: 1453: def randNum(pSeed) - ; pSeed -> [0] -_P076 ; randNum(pSeed)() -_C074 ; randNum() -; libsrc/fpu_mf.pla: 1454: -; libsrc/fpu_mf.pla: 1455: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 1456: return sane:restoreZP(sane:op1ELEM(FFEXT|FORANDX, pSeed)) - !BYTE $6A ; LAW _X028+18 -_F735 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+12 -_F736 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F737 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1457: end -; libsrc/fpu_mf.pla: 1458: -; libsrc/fpu_mf.pla: 1459: //============================================================================== -; libsrc/fpu_mf.pla: 1460: // ENVIRONMENT AND CONSTANTS -; libsrc/fpu_mf.pla: 1461: //============================================================================== -; libsrc/fpu_mf.pla: 1462: -; libsrc/fpu_mf.pla: 1463: def setEnv(env) - ; env -> [0] -_P002 ; setEnv(env)() -_C075 ; setEnv() -; libsrc/fpu_mf.pla: 1464: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 1465: return sane:restoreZP(sane:op1FP(FOSETENV, env)) - !BYTE $6A ; LAW _X028+18 -_F738 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F739 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F740 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1466: end -; libsrc/fpu_mf.pla: 1467: -; libsrc/fpu_mf.pla: 1468: def getEnv -_P001 ; getEnv() -_C076 ; getEnv() -; libsrc/fpu_mf.pla: 1469: sane:saveZP() -; libsrc/fpu_mf.pla: 1470: return sane:restoreZP(sane:op0FP(FOGETENV)) - !BYTE $6A ; LAW _X028+18 -_F741 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+4 -_F742 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F743 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 1471: end -; libsrc/fpu_mf.pla: 1472: -; libsrc/fpu_mf.pla: 1473: def testExcept(except) - ; except -> [0] -_P003 ; testExcept(except)() -_C077 ; testExcept() -; libsrc/fpu_mf.pla: 1474: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 1475: return sane:restoreZP(sane:op1FP(FOTESTXCP, except)) - !BYTE $6A ; LAW _X028+18 -_F744 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1B ; CB 27 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F745 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F746 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1476: end -; libsrc/fpu_mf.pla: 1477: -; libsrc/fpu_mf.pla: 1478: def setExcept(except) - ; except -> [0] -_P004 ; setExcept(except)() -_C078 ; setExcept() -; libsrc/fpu_mf.pla: 1479: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 1480: return sane:restoreZP(sane:op1FP(FOSETXCP, except)) - !BYTE $6A ; LAW _X028+18 -_F747 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$15 ; CB 21 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F748 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F749 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1481: end -; libsrc/fpu_mf.pla: 1482: -; libsrc/fpu_mf.pla: 1483: def enterProc(pEnv) - ; pEnv -> [0] -_P005 ; enterProc(pEnv)() -_C079 ; enterProc() -; libsrc/fpu_mf.pla: 1484: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 1485: return sane:restoreZP(sane:op1FP(FOPROCENTRY, pEnv)) - !BYTE $6A ; LAW _X028+18 -_F750 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$17 ; CB 23 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F751 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F752 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1486: end -; libsrc/fpu_mf.pla: 1487: -; libsrc/fpu_mf.pla: 1488: def exitProc(env) - ; env -> [0] -_P006 ; exitProc(env)() -_C080 ; exitProc() -; libsrc/fpu_mf.pla: 1489: -; libsrc/fpu_mf.pla: 1490: sane:saveZP() - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/fpu_mf.pla: 1491: return sane:restoreZP(sane:op1FP(FOPROCEXIT, env)) - !BYTE $6A ; LAW _X028+18 -_F753 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$19 ; CB 25 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+6 -_F754 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F755 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/fpu_mf.pla: 1492: end -; libsrc/fpu_mf.pla: 1493: -; libsrc/fpu_mf.pla: 1494: def constPi -_P007 ; constPi() -_C081 ; constPi() -; libsrc/fpu_mf.pla: 1495: return pushExt(@ext_pi) - !BYTE $26 ; LA _D111+0 -_F756 !WORD _D111+0 - !BYTE $54 ; CALL _C024 -_F757 !WORD _C024 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 1496: end -; libsrc/fpu_mf.pla: 1497: -; libsrc/fpu_mf.pla: 1498: def constE -_P008 ; constE() -_C082 ; constE() -; libsrc/fpu_mf.pla: 1499: return pushExt(@ext_e) - !BYTE $26 ; LA _D112+0 -_F758 !WORD _D112+0 - !BYTE $54 ; CALL _C024 -_F759 !WORD _C024 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 1500: end -; libsrc/fpu_mf.pla: 1501: -; libsrc/fpu_mf.pla: 1502: //============================================================================== -; libsrc/fpu_mf.pla: 1503: // INITIALIZATION -; libsrc/fpu_mf.pla: 1504: //============================================================================== -; libsrc/fpu_mf.pla: 1505: -; libsrc/fpu_mf.pla: 1506: def reset -_P000 ; reset() -_C083 ; reset() -; libsrc/fpu_mf.pla: 1507: byte i - ; i -> [0] -; libsrc/fpu_mf.pla: 1508: word zero - ; zero -> [1] -; libsrc/fpu_mf.pla: 1509: -; libsrc/fpu_mf.pla: 1510: zero = 0 - !BYTE $58,$03,$00 ; ENTER 3,0 -; libsrc/fpu_mf.pla: 1511: -; libsrc/fpu_mf.pla: 1512: if sane:initFP() < 0; return -1; fin - !BYTE $00 ; CN 0 - !BYTE $76,$01 ; SLW [1] - !BYTE $6A ; LAW _X028+0 -_F760 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B157 - !WORD _B157-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$03 ; LEAVE 3 -_B157 -_B158 -; libsrc/fpu_mf.pla: 1513: sane:saveZP() -; libsrc/fpu_mf.pla: 1514: -; libsrc/fpu_mf.pla: 1515: // Detect MegaFlash hardware -; libsrc/fpu_mf.pla: 1516: mfAvailable = detectMegaFlash -; libsrc/fpu_mf.pla: 1517: -; libsrc/fpu_mf.pla: 1518: if mfAvailable -; libsrc/fpu_mf.pla: 1519: puts("MegaFlash FPU detected - hardware acceleration enabled\n") - !BYTE $6A ; LAW _X028+18 -_F761 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C000 -_F762 !WORD _C000 - !BYTE $7C ; DAB _D119+0 -_F763 !WORD _D119+0 - !BYTE $4C ; BRFLS _B159 - !WORD _B159-* - !BYTE $2E ; CS - !BYTE $37 - !BYTE $4D,$65,$67,$61,$46,$6C,$61,$73 - !BYTE $68,$20,$46,$50,$55,$20,$64,$65 - !BYTE $74,$65,$63,$74,$65,$64,$20,$2D - !BYTE $20,$68,$61,$72,$64,$77,$61,$72 - !BYTE $65,$20,$61,$63,$63,$65,$6C,$65 - !BYTE $72,$61,$74,$69,$6F,$6E,$20,$65 - !BYTE $6E,$61,$62,$6C,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F764 !WORD 0 -; libsrc/fpu_mf.pla: 1520: else - !BYTE $50 ; BRNCH _B160 - !WORD _B160-* -_B159 -; libsrc/fpu_mf.pla: 1521: puts("MegaFlash FPU not found - using SANE software floating point\n") - !BYTE $2E ; CS - !BYTE $3D - !BYTE $4D,$65,$67,$61,$46,$6C,$61,$73 - !BYTE $68,$20,$46,$50,$55,$20,$6E,$6F - !BYTE $74,$20,$66,$6F,$75,$6E,$64,$20 - !BYTE $2D,$20,$75,$73,$69,$6E,$67,$20 - !BYTE $53,$41,$4E,$45,$20,$73,$6F,$66 - !BYTE $74,$77,$61,$72,$65,$20,$66,$6C - !BYTE $6F,$61,$74,$69,$6E,$67,$20,$70 - !BYTE $6F,$69,$6E,$74,$0D - !BYTE $54 ; CALL _X004 -_F765 !WORD 0 -; libsrc/fpu_mf.pla: 1522: fin -_B160 -; libsrc/fpu_mf.pla: 1523: -; libsrc/fpu_mf.pla: 1524: // Initialize stack registers -; libsrc/fpu_mf.pla: 1525: for i = 0 to 3 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B162 - !BYTE $6C,$00 ; DLB [0] -; libsrc/fpu_mf.pla: 1526: stackRegs[i] = @stack[i * t_extended] -; libsrc/fpu_mf.pla: 1527: sane:op2FP(FFINT|FOZ2X, stackRegs[i], @zero) -; libsrc/fpu_mf.pla: 1528: loadInt(@zero, i) -; libsrc/fpu_mf.pla: 1529: next - !BYTE $26 ; LA _D117+0 -_F766 !WORD _D117+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $26 ; LA _D118+0 -_F767 !WORD _D118+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $72 ; SW - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D118+0 -_F768 !WORD _D118+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _X028+8 -_F769 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$01 ; LLA [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C014 -_F770 !WORD _C014 - !BYTE $30 ; DROP -_B163 - !BYTE $A4 ; INCBRLE _B162 - !WORD _B162-* -_B161 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; libsrc/fpu_mf.pla: 1530: -; libsrc/fpu_mf.pla: 1531: return sane:restoreZP(0) - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F771 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$03 ; LEAVE 3 -; libsrc/fpu_mf.pla: 1532: end -; libsrc/fpu_mf.pla: 1533: -; libsrc/fpu_mf.pla: 1534: // -; libsrc/fpu_mf.pla: 1535: // Keep module in memory -; libsrc/fpu_mf.pla: 1536: // -; libsrc/fpu_mf.pla: 1537: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/fpu_mf.pla: 1538: done -_SYSFLAGS = 0 -_DEFCNT = 85 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C051 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C052 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C053 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C054 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C055 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C056 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C057 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C058 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C059 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C060 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C061 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C062 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C063 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C064 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C065 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C066 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C067 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C068 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C069 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C070 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C071 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C072 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C073 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C074 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C075 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C076 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C077 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C078 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C079 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C080 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C081 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C082 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C083 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F436-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F437-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F438-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F439-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F440-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F441-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F443-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F444-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F445-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F446-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F447-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F448-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F449-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F452-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F453-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F455-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F456-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F457-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F458-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F459-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F460-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F461-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F463-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F464-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F465-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F466-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F467-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F470-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F472-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F473-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F474-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F475-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F476-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F478-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F479-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F481-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F482-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F483-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F484-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F485-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F486-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F487-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F488-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F489-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F490-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F491-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F492-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F493-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F494-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F495-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F496-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F497-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F498-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F499-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F500-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F501-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F503-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F504-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F505-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F506-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F507-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F508-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F509-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F510-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F512-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F513-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F514-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F515-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F517-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F518-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F519-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F520-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F521-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F522-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F523-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F524-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F525-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F526-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F527-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F528-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F529-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F530-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F531-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F532-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F533-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F534-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F535-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F537-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F538-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F539-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F540-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F541-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F542-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F543-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F544-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F545-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F546-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F547-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F548-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F549-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F550-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F551-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F552-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F553-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F560-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F561-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F562-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F563-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F564-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F565-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F566-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F567-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F568-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F569-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F570-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F571-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F572-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F573-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F574-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F578-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F579-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F580-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F581-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F582-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F583-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F585-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F586-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F587-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F588-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F589-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F590-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F591-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F592-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F593-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F594-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F595-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F596-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F597-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F598-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F599-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F600-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F601-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F602-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F603-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F604-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F605-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F606-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F607-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F608-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F609-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F610-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F611-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F612-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F613-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F614-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F615-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F616-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F617-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F618-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F619-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F620-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F621-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F622-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F623-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F624-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F625-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F627-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F628-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F629-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F630-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F631-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F632-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F634-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F635-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F637-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F638-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F639-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F640-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F641-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F643-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F644-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F645-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F646-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F647-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F648-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F649-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F650-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F651-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F652-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F654-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F655-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F656-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F657-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F658-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F660-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F661-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F662-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F663-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F664-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F665-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F667-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F668-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F669-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F670-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F671-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F672-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F673-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F674-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F676-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F677-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F678-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F679-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F680-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F682-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F683-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F684-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F685-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F686-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F687-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F688-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F689-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F690-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F691-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F692-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F693-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F694-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F695-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F696-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F697-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F698-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F699-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F700-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F701-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F703-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F704-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F705-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F706-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F707-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F708-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F709-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F710-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F711-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F712-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F713-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F714-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F715-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F716-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F717-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F718-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F719-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F720-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F721-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F722-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F723-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F724-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F725-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F726-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F727-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F728-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F729-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F730-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F731-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F732-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F733-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F734-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F735-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F736-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F737-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F738-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F739-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F740-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F741-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F742-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F743-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F744-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F745-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F746-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F747-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F748-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F749-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F750-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F751-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F752-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F753-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F754-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F755-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F756-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F757-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F758-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F759-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F760-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F761-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F762-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F763-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F764-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F765-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F766-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F767-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F768-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F769-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F770-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F771-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: STR2EXT - !BYTE $D3,$D4,$D2,$B2,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: EXT2STR - !BYTE $C5,$D8,$D4,$B2,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/inet.a b/src/libsrc/inet.a deleted file mode 100644 index 14f19d5..0000000 --- a/src/libsrc/inet.a +++ /dev/null @@ -1,1104 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/inet.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/inet.pla: 0001: -; libsrc/inet.pla: 0002: include "inc/inet.plh" -; inc/inet.plh: 0001: // -; inc/inet.plh: 0002: // iNet API -; inc/inet.plh: 0003: // -; inc/inet.plh: 0004: import iNet -; inc/inet.plh: 0005: struc t_inet -; inc/inet.plh: 0006: word initIP - ; initIP = 0 -; inc/inet.plh: 0007: word serviceIP - ; serviceIP = 2 -; inc/inet.plh: 0008: word openUDP - ; openUDP = 4 -; inc/inet.plh: 0009: word sendUDP - ; sendUDP = 6 -; inc/inet.plh: 0010: word closeUDP - ; closeUDP = 8 -; inc/inet.plh: 0011: word listenTCP - ; listenTCP = 10 -; inc/inet.plh: 0012: word connectTCP - ; connectTCP = 12 -; inc/inet.plh: 0013: word sendTCP - ; sendTCP = 14 -; inc/inet.plh: 0014: word closeTCP - ; closeTCP = 16 -; inc/inet.plh: 0015: word setInterfaceIP - ; setInterfaceIP = 18 -; inc/inet.plh: 0016: word getInterfaceHA - ; getInterfaceHA = 20 -; inc/inet.plh: 0017: word setDNS - ; setDNS = 22 -; inc/inet.plh: 0018: word resolveIP - ; resolveIP = 24 -; inc/inet.plh: 0019: word setCallback - ; setCallback = 26 -; inc/inet.plh: 0020: word setParam - ; setParam = 28 -; inc/inet.plh: 0021: end - ; t_inet = 30 -; inc/inet.plh: 0022: end -; libsrc/inet.pla: 0002: -; libsrc/inet.pla: 0003: // -; libsrc/inet.pla: 0004: // DNS message -; libsrc/inet.pla: 0005: // -; libsrc/inet.pla: 0006: struc t_dnshdr - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/inet.pla: 0007: word dnsID - ; dnsID = 0 -; libsrc/inet.pla: 0008: word dnsCode - ; dnsCode = 2 -; libsrc/inet.pla: 0009: word dnsQdCount - ; dnsQdCount = 4 -; libsrc/inet.pla: 0010: word dnsAnCount - ; dnsAnCount = 6 -; libsrc/inet.pla: 0011: word dnsNsCount - ; dnsNsCount = 8 -; libsrc/inet.pla: 0012: word dnsArCount - ; dnsArCount = 10 -; libsrc/inet.pla: 0013: end - ; t_dnshdr = 12 -; libsrc/inet.pla: 0014: // -; libsrc/inet.pla: 0015: // External interface to net class. Must be first. -; libsrc/inet.pla: 0016: // -; libsrc/inet.pla: 0017: res[t_inet] iNet -_D028 !FILL 30 ; iNet -; libsrc/inet.pla: 0018: // -; libsrc/inet.pla: 0019: // List of loadable network device drivers -; libsrc/inet.pla: 0020: // -; libsrc/inet.pla: 0021: byte netDrivers = "UTHERNET2" -_D029 ; netDrivers = "UTHERNET2" - !BYTE $09 - !BYTE $55,$54,$48,$45,$52,$4E,$45,$54 - !BYTE $32 -; libsrc/inet.pla: 0022: byte = "UTHERNET" - !BYTE $08 - !BYTE $55,$54,$48,$45,$52,$4E,$45,$54 -; libsrc/inet.pla: 0023: byte = "" - !BYTE $00 -; libsrc/inet.pla: 0024: word driver = @netDrivers -_D030 ; driver = @netDrivers -_F000 !WORD _D029 -; libsrc/inet.pla: 0025: // -; libsrc/inet.pla: 0026: // DNS address (default to Google DNS) -; libsrc/inet.pla: 0027: // -; libsrc/inet.pla: 0028: byte[4] dns = 8,8,8,8 -_D031 ; dns = 8,8,8,8 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 -; libsrc/inet.pla: 0029: const DNS_QUERY = 1 - ; DNS_QUERY = 1 -; libsrc/inet.pla: 0030: const DNS_ANSWER = 2 - ; DNS_ANSWER = 2 -; libsrc/inet.pla: 0031: byte stateDNS -_D032 !FILL 1 ; stateDNS -; libsrc/inet.pla: 0032: -; libsrc/inet.pla: 0033: def iNetSetDNS(ipptr) -_SUBSEG ; BYTECODE STARTS - ; ipptr -> [0] -_C000 ; iNetSetDNS() -; libsrc/inet.pla: 0034: memcpy(@dns, ipptr, 4) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/inet.pla: 0035: return 0 - !BYTE $26 ; LA _D031+0 -_F001 !WORD _D031+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X018 -_F002 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/inet.pla: 0036: end -; libsrc/inet.pla: 0037: -; libsrc/inet.pla: 0038: //def dumpbytes(buf, len) -; libsrc/inet.pla: 0039: // word i -; libsrc/inet.pla: 0040: // -; libsrc/inet.pla: 0041: // for i = 0 to len - 1 -; libsrc/inet.pla: 0042: // putb(buf->[i]) -; libsrc/inet.pla: 0043: // if i & 7 == 7 -; libsrc/inet.pla: 0044: // putln -; libsrc/inet.pla: 0045: // else -; libsrc/inet.pla: 0046: // putc(' ') -; libsrc/inet.pla: 0047: // fin -; libsrc/inet.pla: 0048: // next -; libsrc/inet.pla: 0049: //end -; libsrc/inet.pla: 0050: //def putip(ipptr) -; libsrc/inet.pla: 0051: // byte i -; libsrc/inet.pla: 0052: // -; libsrc/inet.pla: 0053: // for i = 0 to 2 -; libsrc/inet.pla: 0054: // puti(ipptr->[i]); putc('.') -; libsrc/inet.pla: 0055: // next -; libsrc/inet.pla: 0056: // return puti(ipptr->[i]) -; libsrc/inet.pla: 0057: //end -; libsrc/inet.pla: 0058: -; libsrc/inet.pla: 0059: def parseIP(ipstr, ipaddr) - ; ipstr -> [0] - ; ipaddr -> [2] -_C001 ; parseIP() -; libsrc/inet.pla: 0060: byte i - ; i -> [4] -; libsrc/inet.pla: 0061: word endstr - ; endstr -> [5] -; libsrc/inet.pla: 0062: -; libsrc/inet.pla: 0063: endstr = ipstr + ^ipstr - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/inet.pla: 0064: for i = 0 to 3 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$05 ; SLW [5] - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6C,$04 ; DLB [4] -; libsrc/inet.pla: 0065: ipstr = ipstr + 1 -; libsrc/inet.pla: 0066: while ^ipstr >= '0' and ^ipstr <= '9' and ipstr <= endstr - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; libsrc/inet.pla: 0067: ipaddr->[i] = ipaddr->[i] * 10 + ^ipstr - '0' -; libsrc/inet.pla: 0068: ipstr = ipstr + 1 -; libsrc/inet.pla: 0069: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B006 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B007 - !WORD _B007-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B008 - !WORD _B008-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$05 ; LLW [5] - !BYTE $4A ; ISLE -_B008 -_B007 - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/inet.pla: 0070: if ^ipstr <> '.' and ipstr < endstr -; libsrc/inet.pla: 0071: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B009 - !WORD _B009-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$05 ; LLW [5] - !BYTE $46 ; ISLT -_B009 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $32 ; DROP2 - !BYTE $00 ; CN 0 - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/inet.pla: 0072: fin -_B010 -_B011 -; libsrc/inet.pla: 0073: next -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/inet.pla: 0074: return i == 3 - !BYTE $64,$04 ; LLB [4] - !BYTE $06 ; CN 3 - !BYTE $40 ; ISEQ - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/inet.pla: 0075: end -; libsrc/inet.pla: 0076: -; libsrc/inet.pla: 0077: def parseDomain(domstr, msgptr) - ; domstr -> [0] - ; msgptr -> [2] -_C002 ; parseDomain() -; libsrc/inet.pla: 0078: byte i, l - ; i -> [4] - ; l -> [5] -; libsrc/inet.pla: 0079: -; libsrc/inet.pla: 0080: l = 0 - !BYTE $58,$06,$02 ; ENTER 6,2 -; libsrc/inet.pla: 0081: for i = 1 to ^domstr - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B012 - !WORD _B012-* -_B013 - !BYTE $6C,$04 ; DLB [4] -; libsrc/inet.pla: 0082: if domstr->[i] == '.' -; libsrc/inet.pla: 0083: msgptr->[l] = i - l - 1 -; libsrc/inet.pla: 0084: l = i -; libsrc/inet.pla: 0085: else - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B015 - !WORD _B015-* - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B016 - !WORD _B016-* -_B015 -; libsrc/inet.pla: 0086: msgptr->[i] = domstr->[i] -; libsrc/inet.pla: 0087: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B016 -; libsrc/inet.pla: 0088: next -_B014 - !BYTE $A4 ; INCBRLE _B013 - !WORD _B013-* -_B012 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; libsrc/inet.pla: 0089: msgptr->[l] = i - l - 1 -; libsrc/inet.pla: 0090: msgptr = msgptr + i -; libsrc/inet.pla: 0091: ^msgptr = 0 // Terminate label list -; libsrc/inet.pla: 0092: return msgptr + 1 - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/inet.pla: 0093: end -; libsrc/inet.pla: 0094: -; libsrc/inet.pla: 0095: def recvDNS(remip, remport, pkt, len, ipaddr) - ; remip -> [0] - ; remport -> [2] - ; pkt -> [4] - ; len -> [6] - ; ipaddr -> [8] -_C003 ; recvDNS() -; libsrc/inet.pla: 0096: byte q, r - ; q -> [10] - ; r -> [11] -; libsrc/inet.pla: 0097: word resptr - ; resptr -> [12] -; libsrc/inet.pla: 0098: -; libsrc/inet.pla: 0099: if pkt=>dnsID == $BEEF - !BYTE $58,$0E,$05 ; ENTER 14,5 -; libsrc/inet.pla: 0100: q = pkt->dnsQdCount.1 -; libsrc/inet.pla: 0101: r = pkt->dnsAnCount.1 + pkt->dnsNsCount.1 + pkt->dnsArCount.1 -; libsrc/inet.pla: 0102: resptr = pkt + t_dnshdr -; libsrc/inet.pla: 0103: while q - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $2C,$EF,$BE ; CW 48879 - !BYTE $24 ; BRNE _B017 - !WORD _B017-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$0A ; SLB [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$0A ; ADDI 10 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$0C ; ADDI 12 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B019 -; libsrc/inet.pla: 0104: while ^resptr - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B022 -; libsrc/inet.pla: 0105: //puts(resptr); putc('.') -; libsrc/inet.pla: 0106: resptr = resptr + ^resptr + 1 -; libsrc/inet.pla: 0107: loop - !BYTE $66,$0C ; LLW [12] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $76,$0C ; SLW [12] -_B024 - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* -_B023 -; libsrc/inet.pla: 0108: resptr = resptr + 1 -; libsrc/inet.pla: 0109: //putln; dumpbytes(resptr, 4); putln -; libsrc/inet.pla: 0110: resptr = resptr + 4 -; libsrc/inet.pla: 0111: q-- - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $6E,$0C ; DLW [12] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$0C ; SLW [12] - !BYTE $64,$0A ; LLB [10] - !BYTE $8E ; DECR -; libsrc/inet.pla: 0112: loop - !BYTE $74,$0A ; SLB [10] -_B021 - !BYTE $64,$0A ; LLB [10] - !BYTE $4E ; BRTRU _B019 - !WORD _B019-* -_B020 -; libsrc/inet.pla: 0113: while r - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B025 -; libsrc/inet.pla: 0114: //dumpbytes(resptr, 40); putln -; libsrc/inet.pla: 0115: if ^resptr & $C0 == $C0 -; libsrc/inet.pla: 0116: resptr = resptr + 2 -; libsrc/inet.pla: 0117: else - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $3C,$C0 ; ANDI 192 - !BYTE $2A,$C0 ; CB 192 - !BYTE $24 ; BRNE _B028 - !WORD _B028-* - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B028 -; libsrc/inet.pla: 0118: while ^resptr - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B030 -; libsrc/inet.pla: 0119: //puts(resptr); putc('.') -; libsrc/inet.pla: 0120: resptr = resptr + ^resptr + 1 -; libsrc/inet.pla: 0121: loop - !BYTE $66,$0C ; LLW [12] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $76,$0C ; SLW [12] -_B032 - !BYTE $66,$0C ; LLW [12] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* -_B031 -; libsrc/inet.pla: 0122: resptr = resptr + 1 -; libsrc/inet.pla: 0123: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $76,$0C ; SLW [12] -_B029 -; libsrc/inet.pla: 0124: if resptr->1 == 1 and resptr->3 == 1 and resptr->9 == 4 -; libsrc/inet.pla: 0125: ipaddr=>0 = resptr=>10 -; libsrc/inet.pla: 0126: ipaddr=>2 = resptr=>12 -; libsrc/inet.pla: 0127: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B034 - !WORD _B034-* - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$09 ; ADDI 9 - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $40 ; ISEQ -_B034 -_B033 - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$0C ; ADDI 12 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B035 -_B036 -; libsrc/inet.pla: 0128: //putln; dumpbytes(resptr, 10); putc(':'); putln -; libsrc/inet.pla: 0129: resptr = resptr + 8 -; libsrc/inet.pla: 0130: //dumpbytes(resptr + 2, ^(resptr + 1)) -; libsrc/inet.pla: 0131: resptr = resptr + 2 + ^(resptr + 1); putln -; libsrc/inet.pla: 0132: r-- - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$08 ; ADDI 8 - !BYTE $6E,$0C ; DLW [12] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $54 ; CALL _X003 -_F003 !WORD 0 - !BYTE $64,$0B ; LLB [11] - !BYTE $8E ; DECR -; libsrc/inet.pla: 0133: loop - !BYTE $74,$0B ; SLB [11] -_B027 - !BYTE $64,$0B ; LLB [11] - !BYTE $4E ; BRTRU _B025 - !WORD _B025-* -_B026 -; libsrc/inet.pla: 0134: fin -_B017 -_B018 -; libsrc/inet.pla: 0135: stateDNS = DNS_ANSWER -; libsrc/inet.pla: 0136: return 0 - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D032+0 -_F004 !WORD _D032+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/inet.pla: 0137: end -; libsrc/inet.pla: 0138: -; libsrc/inet.pla: 0139: def iNetResolve(namestr, ipaddr) - ; namestr -> [0] - ; ipaddr -> [2] -_C004 ; iNetResolve() -; libsrc/inet.pla: 0140: word dnspkt, msgptr, msglen - ; dnspkt -> [4] - ; msgptr -> [6] - ; msglen -> [8] -; libsrc/inet.pla: 0141: word portDNS, timeout - ; portDNS -> [10] - ; timeout -> [12] -; libsrc/inet.pla: 0142: -; libsrc/inet.pla: 0143: ipaddr=>0 = 0 - !BYTE $58,$0E,$02 ; ENTER 14,2 -; libsrc/inet.pla: 0144: ipaddr=>2 = 0 -; libsrc/inet.pla: 0145: if not parseIP(namestr, ipaddr) -; libsrc/inet.pla: 0146: // -; libsrc/inet.pla: 0147: // Query Domain Name Server for address -; libsrc/inet.pla: 0148: // -; libsrc/inet.pla: 0149: dnspkt = heapalloc(^namestr + t_dnshdr + 8) // Use heap as working DNS query packet -; libsrc/inet.pla: 0150: msgptr = dnspkt -; libsrc/inet.pla: 0151: msgptr=>dnsID = $BEEF -; libsrc/inet.pla: 0152: msgptr=>dnsCode = $0001 // RD (Recursion Desired) -; libsrc/inet.pla: 0153: msgptr=>dnsQdCount = $0100 // BE count = 1 -; libsrc/inet.pla: 0154: msgptr=>dnsAnCount = 0 -; libsrc/inet.pla: 0155: msgptr=>dnsNsCount = 0 -; libsrc/inet.pla: 0156: msgptr=>dnsArCount = 0 -; libsrc/inet.pla: 0157: msgptr = parseDomain(namestr, msgptr + t_dnshdr) -; libsrc/inet.pla: 0158: msgptr=>0 = $0100 // BE TYPE = Address -; libsrc/inet.pla: 0159: msgptr=>2 = $0100 // BE CLASS = Internet -; libsrc/inet.pla: 0160: msglen = msgptr - dnspkt + 4 -; libsrc/inet.pla: 0161: // -; libsrc/inet.pla: 0162: // Prepare to receive DNS answer from server -; libsrc/inet.pla: 0163: // -; libsrc/inet.pla: 0164: portDNS = iNet:openUDP(3999, @recvDNS, ipaddr) -; libsrc/inet.pla: 0165: // -; libsrc/inet.pla: 0166: // Service IP -; libsrc/inet.pla: 0167: // -; libsrc/inet.pla: 0168: stateDNS = DNS_QUERY -; libsrc/inet.pla: 0169: iNet:sendUDP(portDNS, @dns, 53, dnspkt, msglen) -; libsrc/inet.pla: 0170: for timeout = 1 to 1000 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F005 !WORD _C001 - !BYTE $4E ; BRTRU _B037 - !WORD _B037-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $38,$0C ; ADDI 12 - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _X014 -_F006 !WORD 0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $2C,$EF,$BE ; CW 48879 - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$0C ; ADDI 12 - !BYTE $54 ; CALL _C002 -_F007 !WORD _C002 - !BYTE $76,$06 ; SLW [6] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$08 ; SLW [8] - !BYTE $2C,$9F,$0F ; CW 3999 - !BYTE $26 ; LA _C003+0 -_F008 !WORD _C003+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D028+4 -_F009 !WORD _D028+4 - !BYTE $56 ; ICAL - !BYTE $76,$0A ; SLW [10] - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D032+0 -_F010 !WORD _D032+0 - !BYTE $66,$0A ; LLW [10] - !BYTE $26 ; LA _D031+0 -_F011 !WORD _D031+0 - !BYTE $2A,$35 ; CB 53 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D028+6 -_F012 !WORD _D028+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $02 ; CN 1 -_B040 - !BYTE $6E,$0C ; DLW [12] -; libsrc/inet.pla: 0171: iNet:serviceIP() -; libsrc/inet.pla: 0172: if stateDNS == DNS_ANSWER -; libsrc/inet.pla: 0173: break - !BYTE $6A ; LAW _D028+2 -_F013 !WORD _D028+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D032+0 -_F014 !WORD _D032+0 - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B042 - !WORD _B042-* - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; libsrc/inet.pla: 0174: fin -_B042 -_B043 -; libsrc/inet.pla: 0175: next -_B041 - !BYTE $A4 ; INCBRLE _B040 - !WORD _B040-* -_B039 - !BYTE $76,$0C ; SLW [12] - !BYTE $30 ; DROP -; libsrc/inet.pla: 0176: iNet:closeUDP(portDNS) -; libsrc/inet.pla: 0177: heaprelease(dnspkt) -; libsrc/inet.pla: 0178: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _D028+8 -_F015 !WORD _D028+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F016 !WORD 0 - !BYTE $30 ; DROP -_B037 -_B038 -; libsrc/inet.pla: 0179: return ipaddr=>0 <> 0 or ipaddr=>2 <> 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $AE ; BROR _B044 - !WORD _B044-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW -_B044 - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/inet.pla: 0180: end -; libsrc/inet.pla: 0181: // -; libsrc/inet.pla: 0182: // Initialze network stack -; libsrc/inet.pla: 0183: // -; libsrc/inet.pla: 0184: def iNetInit -_C005 ; iNetInit() -; libsrc/inet.pla: 0185: // -; libsrc/inet.pla: 0186: // Look for net hardware -; libsrc/inet.pla: 0187: // -; libsrc/inet.pla: 0188: while ^driver - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B045 -; libsrc/inet.pla: 0189: if cmdsys:modexec(driver) >= 0 -; libsrc/inet.pla: 0190: // -; libsrc/inet.pla: 0191: // Get an IP address -; libsrc/inet.pla: 0192: // -; libsrc/inet.pla: 0193: cmdsys:modexec("DHCP") - !BYTE $6A ; LAW _D030+0 -_F017 !WORD _D030+0 - !BYTE $6A ; LAW _X000+6 -_F018 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $2E ; CS - !BYTE $04 - !BYTE $44,$48,$43,$50 - !BYTE $6A ; LAW _X000+6 -_F019 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -; libsrc/inet.pla: 0194: iNet:resolveIP = @iNetResolve -; libsrc/inet.pla: 0195: return @iNet - !BYTE $26 ; LA _C004+0 -_F020 !WORD _C004+0 - !BYTE $7A ; SAW _D028+24 -_F021 !WORD _D028+24 - !BYTE $26 ; LA _D028+0 -_F022 !WORD _D028+0 - !BYTE $5C ; RET -; libsrc/inet.pla: 0196: fin -_B048 -_B049 -; libsrc/inet.pla: 0197: driver = driver + ^driver + 1 -; libsrc/inet.pla: 0198: loop - !BYTE $6A ; LAW _D030+0 -_F023 !WORD _D030+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D030+0 -_F024 !WORD _D030+0 -_B047 - !BYTE $6A ; LAW _D030+0 -_F025 !WORD _D030+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B045 - !WORD _B045-* -_B046 -; libsrc/inet.pla: 0199: puts("No network adapters found.\n") - !BYTE $2E ; CS - !BYTE $1B - !BYTE $4E,$6F,$20,$6E,$65,$74,$77,$6F - !BYTE $72,$6B,$20,$61,$64,$61,$70,$74 - !BYTE $65,$72,$73,$20,$66,$6F,$75,$6E - !BYTE $64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 -; libsrc/inet.pla: 0200: return NULL - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; libsrc/inet.pla: 0201: end -; libsrc/inet.pla: 0202: // -; libsrc/inet.pla: 0203: // Fill iNet class -; libsrc/inet.pla: 0204: // -; libsrc/inet.pla: 0205: iNet:initIP = @iNetInit -_INIT -; libsrc/inet.pla: 0206: iNet:setDNS = @iNetSetDNS -; libsrc/inet.pla: 0207: // -; libsrc/inet.pla: 0208: // Keep module in memory -; libsrc/inet.pla: 0209: // -; libsrc/inet.pla: 0210: return modkeep - !BYTE $26 ; LA _C005+0 -_F027 !WORD _C005+0 - !BYTE $7A ; SAW _D028+0 -_F028 !WORD _D028+0 - !BYTE $26 ; LA _C000+0 -_F029 !WORD _C000+0 - !BYTE $7A ; SAW _D028+22 -_F030 !WORD _D028+22 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/inet.pla: 0211: done -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/int32.a b/src/libsrc/int32.a deleted file mode 100644 index 4402845..0000000 --- a/src/libsrc/int32.a +++ /dev/null @@ -1,1713 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/int32.pla: 0001: // -; libsrc/int32.pla: 0002: // 32 bit integer math routines -; libsrc/int32.pla: 0003: // -; libsrc/int32.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/int32.pla: 0004: -; libsrc/int32.pla: 0005: const t_i32 = 4 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; t_i32 = 4 -; libsrc/int32.pla: 0006: // -; libsrc/int32.pla: 0007: // Include zero page definitions -; libsrc/int32.pla: 0008: // -; libsrc/int32.pla: 0009: asm int32Inc -_A000 ; int32Inc() -; libsrc/int32.pla: 0010: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/int32.pla: 0011: ACCUM32 = DSTH+1 -ACCUM32 = DSTH+1 -; libsrc/int32.pla: 0012: DVSIGN = TMP+3 -DVSIGN = TMP+3 -; libsrc/int32.pla: 0013: end -; libsrc/int32.pla: 0014: export asm zero32#0 -_A001 ; zero32() -; libsrc/int32.pla: 0015: LDA #$00 - LDA #$00 -; libsrc/int32.pla: 0016: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0017: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0018: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0019: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0020: RTS - RTS -; libsrc/int32.pla: 0021: end -; libsrc/int32.pla: 0022: export asm zext16to32#0 -_A002 ; zext16to32() -; libsrc/int32.pla: 0023: LDA #$00 - LDA #$00 -; libsrc/int32.pla: 0024: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0025: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0026: RTS - RTS -; libsrc/int32.pla: 0027: end -; libsrc/int32.pla: 0028: export asm neg32#0 -_A003 ; neg32() -; libsrc/int32.pla: 0029: LDA #$00 - LDA #$00 -; libsrc/int32.pla: 0030: SEC - SEC -; libsrc/int32.pla: 0031: SBC ACCUM32+0 - SBC ACCUM32+0 -; libsrc/int32.pla: 0032: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0033: LDA #$00 - LDA #$00 -; libsrc/int32.pla: 0034: SBC ACCUM32+1 - SBC ACCUM32+1 -; libsrc/int32.pla: 0035: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0036: LDA #$00 - LDA #$00 -; libsrc/int32.pla: 0037: SBC ACCUM32+2 - SBC ACCUM32+2 -; libsrc/int32.pla: 0038: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0039: LDA #$00 - LDA #$00 -; libsrc/int32.pla: 0040: SBC ACCUM32+3 - SBC ACCUM32+3 -; libsrc/int32.pla: 0041: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0042: RTS - RTS -; libsrc/int32.pla: 0043: end -; libsrc/int32.pla: 0044: export asm load32(i32ptr)#0 -_A004 ; load32() -; libsrc/int32.pla: 0045: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0046: STA TMPL - STA TMPL -; libsrc/int32.pla: 0047: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0048: STA TMPH - STA TMPH -; libsrc/int32.pla: 0049: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0050: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0051: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0052: INY - INY -; libsrc/int32.pla: 0053: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0054: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0055: INY - INY -; libsrc/int32.pla: 0056: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0057: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0058: INY - INY -; libsrc/int32.pla: 0059: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0060: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0061: INX - INX -; libsrc/int32.pla: 0062: RTS - RTS -; libsrc/int32.pla: 0063: end -; libsrc/int32.pla: 0064: export asm loadi16(imm16)#0 -_A005 ; loadi16() -; libsrc/int32.pla: 0065: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0066: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0067: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0068: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0069: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0070: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0071: DEY - DEY -; libsrc/int32.pla: 0072: + STY ACCUM32+2 -+ STY ACCUM32+2 -; libsrc/int32.pla: 0073: STY ACCUM32+3 - STY ACCUM32+3 -; libsrc/int32.pla: 0074: INX - INX -; libsrc/int32.pla: 0075: RTS - RTS -; libsrc/int32.pla: 0076: end -; libsrc/int32.pla: 0077: export asm store32(i32ptr)#0 -_A006 ; store32() -; libsrc/int32.pla: 0078: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0079: STA TMPL - STA TMPL -; libsrc/int32.pla: 0080: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0081: STA TMPH - STA TMPH -; libsrc/int32.pla: 0082: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0083: LDA ACCUM32+0 - LDA ACCUM32+0 -; libsrc/int32.pla: 0084: STA (TMP),Y - STA (TMP),Y -; libsrc/int32.pla: 0085: INY - INY -; libsrc/int32.pla: 0086: LDA ACCUM32+1 - LDA ACCUM32+1 -; libsrc/int32.pla: 0087: STA (TMP),Y - STA (TMP),Y -; libsrc/int32.pla: 0088: INY - INY -; libsrc/int32.pla: 0089: LDA ACCUM32+2 - LDA ACCUM32+2 -; libsrc/int32.pla: 0090: STA (TMP),Y - STA (TMP),Y -; libsrc/int32.pla: 0091: INY - INY -; libsrc/int32.pla: 0092: LDA ACCUM32+3 - LDA ACCUM32+3 -; libsrc/int32.pla: 0093: STA (TMP),Y - STA (TMP),Y -; libsrc/int32.pla: 0094: INX - INX -; libsrc/int32.pla: 0095: RTS - RTS -; libsrc/int32.pla: 0096: end -; libsrc/int32.pla: 0097: export asm add32(i32ptr)#0 -_A007 ; add32() -; libsrc/int32.pla: 0098: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0099: STA TMPL - STA TMPL -; libsrc/int32.pla: 0100: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0101: STA TMPH - STA TMPH -; libsrc/int32.pla: 0102: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0103: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0104: CLC - CLC -; libsrc/int32.pla: 0105: ADC ACCUM32+0 - ADC ACCUM32+0 -; libsrc/int32.pla: 0106: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0107: INY - INY -; libsrc/int32.pla: 0108: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0109: ADC ACCUM32+1 - ADC ACCUM32+1 -; libsrc/int32.pla: 0110: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0111: INY - INY -; libsrc/int32.pla: 0112: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0113: ADC ACCUM32+2 - ADC ACCUM32+2 -; libsrc/int32.pla: 0114: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0115: INY - INY -; libsrc/int32.pla: 0116: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0117: ADC ACCUM32+3 - ADC ACCUM32+3 -; libsrc/int32.pla: 0118: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0119: INX - INX -; libsrc/int32.pla: 0120: RTS - RTS -; libsrc/int32.pla: 0121: end -; libsrc/int32.pla: 0122: export asm addi16(imm16)#0 -_A008 ; addi16() -; libsrc/int32.pla: 0123: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0124: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0125: CLC - CLC -; libsrc/int32.pla: 0126: ADC ACCUM32+0 - ADC ACCUM32+0 -; libsrc/int32.pla: 0127: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0128: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0129: BPL + - BPL + -; libsrc/int32.pla: 0130: DEY - DEY -; libsrc/int32.pla: 0131: + ADC ACCUM32+1 -+ ADC ACCUM32+1 -; libsrc/int32.pla: 0132: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0133: TYA - TYA -; libsrc/int32.pla: 0134: ADC ACCUM32+2 - ADC ACCUM32+2 -; libsrc/int32.pla: 0135: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0136: TYA - TYA -; libsrc/int32.pla: 0137: ADC ACCUM32+3 - ADC ACCUM32+3 -; libsrc/int32.pla: 0138: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0139: INX - INX -; libsrc/int32.pla: 0140: RTS - RTS -; libsrc/int32.pla: 0141: end -; libsrc/int32.pla: 0142: export asm sub32(i32ptr)#0 -_A009 ; sub32() -; libsrc/int32.pla: 0143: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0144: STA TMPL - STA TMPL -; libsrc/int32.pla: 0145: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0146: STA TMPH - STA TMPH -; libsrc/int32.pla: 0147: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0148: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0149: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0150: DEY - DEY -; libsrc/int32.pla: 0151: BPL - - BPL - -; libsrc/int32.pla: 0152: BMI _SUB - BMI _SUB -; libsrc/int32.pla: 0153: end -; libsrc/int32.pla: 0154: export asm subi16(imm16)#0 -_A010 ; subi16() -; libsrc/int32.pla: 0155: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0156: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0157: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0158: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0159: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0160: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0161: DEY - DEY -; libsrc/int32.pla: 0162: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0163: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0164: _SUB LDA ACCUM32+0 -_SUB LDA ACCUM32+0 -; libsrc/int32.pla: 0165: SEC - SEC -; libsrc/int32.pla: 0166: SBC SRC+0 - SBC SRC+0 -; libsrc/int32.pla: 0167: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0168: LDA ACCUM32+1 - LDA ACCUM32+1 -; libsrc/int32.pla: 0169: SBC SRC+1 - SBC SRC+1 -; libsrc/int32.pla: 0170: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0171: LDA ACCUM32+2 - LDA ACCUM32+2 -; libsrc/int32.pla: 0172: SBC SRC+2 - SBC SRC+2 -; libsrc/int32.pla: 0173: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0174: LDA ACCUM32+3 - LDA ACCUM32+3 -; libsrc/int32.pla: 0175: SBC SRC+3 - SBC SRC+3 -; libsrc/int32.pla: 0176: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0177: INX - INX -; libsrc/int32.pla: 0178: RTS - RTS -; libsrc/int32.pla: 0179: end -; libsrc/int32.pla: 0180: export asm shl32(imm8)#0 -_A011 ; shl32() -; libsrc/int32.pla: 0181: LDA ESTKL+0,X ; IMM8 - LDA ESTKL+0,X ; IMM8 -; libsrc/int32.pla: 0182: AND #$1F - AND #$1F -; libsrc/int32.pla: 0183: CMP #16 - CMP #16 -; libsrc/int32.pla: 0184: BCC + - BCC + -; libsrc/int32.pla: 0185: LDY ACCUM32+1 - LDY ACCUM32+1 -; libsrc/int32.pla: 0186: STY ACCUM32+3 - STY ACCUM32+3 -; libsrc/int32.pla: 0187: LDY ACCUM32+0 - LDY ACCUM32+0 -; libsrc/int32.pla: 0188: STY ACCUM32+2 - STY ACCUM32+2 -; libsrc/int32.pla: 0189: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0190: STY ACCUM32+1 - STY ACCUM32+1 -; libsrc/int32.pla: 0191: STY ACCUM32+0 - STY ACCUM32+0 -; libsrc/int32.pla: 0192: SBC #16 - SBC #16 -; libsrc/int32.pla: 0193: + CMP #8 -+ CMP #8 -; libsrc/int32.pla: 0194: BCC + - BCC + -; libsrc/int32.pla: 0195: LDY ACCUM32+2 - LDY ACCUM32+2 -; libsrc/int32.pla: 0196: STY ACCUM32+3 - STY ACCUM32+3 -; libsrc/int32.pla: 0197: LDY ACCUM32+1 - LDY ACCUM32+1 -; libsrc/int32.pla: 0198: STY ACCUM32+2 - STY ACCUM32+2 -; libsrc/int32.pla: 0199: LDY ACCUM32+0 - LDY ACCUM32+0 -; libsrc/int32.pla: 0200: STY ACCUM32+1 - STY ACCUM32+1 -; libsrc/int32.pla: 0201: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0202: STY ACCUM32+0 - STY ACCUM32+0 -; libsrc/int32.pla: 0203: SBC #8 - SBC #8 -; libsrc/int32.pla: 0204: + TAY -+ TAY -; libsrc/int32.pla: 0205: BEQ ++ - BEQ ++ -; libsrc/int32.pla: 0206: - ASL ACCUM32+0 -- ASL ACCUM32+0 -; libsrc/int32.pla: 0207: ROL ACCUM32+1 - ROL ACCUM32+1 -; libsrc/int32.pla: 0208: ROL ACCUM32+2 - ROL ACCUM32+2 -; libsrc/int32.pla: 0209: ROL ACCUM32+3 - ROL ACCUM32+3 -; libsrc/int32.pla: 0210: DEY - DEY -; libsrc/int32.pla: 0211: BNE - - BNE - -; libsrc/int32.pla: 0212: ++ INX -++ INX -; libsrc/int32.pla: 0213: RTS - RTS -; libsrc/int32.pla: 0214: end -; libsrc/int32.pla: 0215: export asm shr32(imm8)#0 -_A012 ; shr32() -; libsrc/int32.pla: 0216: LDA ESTKL+0,X ; IMM8 - LDA ESTKL+0,X ; IMM8 -; libsrc/int32.pla: 0217: AND #$1F - AND #$1F -; libsrc/int32.pla: 0218: BEQ + - BEQ + -; libsrc/int32.pla: 0219: TAY - TAY -; libsrc/int32.pla: 0220: LDA #$80 - LDA #$80 -; libsrc/int32.pla: 0221: - CMP ACCUM32 -- CMP ACCUM32 -; libsrc/int32.pla: 0222: ROR ACCUM32+3 - ROR ACCUM32+3 -; libsrc/int32.pla: 0223: ROR ACCUM32+2 - ROR ACCUM32+2 -; libsrc/int32.pla: 0224: ROR ACCUM32+1 - ROR ACCUM32+1 -; libsrc/int32.pla: 0225: ROR ACCUM32+0 - ROR ACCUM32+0 -; libsrc/int32.pla: 0226: DEY - DEY -; libsrc/int32.pla: 0227: BNE - - BNE - -; libsrc/int32.pla: 0228: + INX -+ INX -; libsrc/int32.pla: 0229: RTS - RTS -; libsrc/int32.pla: 0230: end -; libsrc/int32.pla: 0231: export asm mul32(i32ptr)#0 -_A013 ; mul32() -; libsrc/int32.pla: 0232: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0233: STA TMPL - STA TMPL -; libsrc/int32.pla: 0234: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0235: STA TMPH - STA TMPH -; libsrc/int32.pla: 0236: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0237: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0238: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0239: DEY - DEY -; libsrc/int32.pla: 0240: BPL - - BPL - -; libsrc/int32.pla: 0241: INY - INY -; libsrc/int32.pla: 0242: BEQ _MUL - BEQ _MUL -; libsrc/int32.pla: 0243: end -; libsrc/int32.pla: 0244: export asm muli16(imm16)#0 -_A014 ; muli16() -; libsrc/int32.pla: 0245: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0246: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0247: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0248: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0249: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0250: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0251: DEY - DEY -; libsrc/int32.pla: 0252: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0253: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0254: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0255: _MUL LDA ACCUM32+0 -_MUL LDA ACCUM32+0 -; libsrc/int32.pla: 0256: STA ESTKL-1,X - STA ESTKL-1,X -; libsrc/int32.pla: 0257: LDA ACCUM32+1 - LDA ACCUM32+1 -; libsrc/int32.pla: 0258: STA ESTKH-1,X - STA ESTKH-1,X -; libsrc/int32.pla: 0259: LDA ACCUM32+2 - LDA ACCUM32+2 -; libsrc/int32.pla: 0260: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/int32.pla: 0261: LDA ACCUM32+3 - LDA ACCUM32+3 -; libsrc/int32.pla: 0262: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/int32.pla: 0263: STY ACCUM32+0 - STY ACCUM32+0 -; libsrc/int32.pla: 0264: STY ACCUM32+1 - STY ACCUM32+1 -; libsrc/int32.pla: 0265: STY ACCUM32+2 - STY ACCUM32+2 -; libsrc/int32.pla: 0266: STY ACCUM32+3 - STY ACCUM32+3 -; libsrc/int32.pla: 0267: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0268: LDA #$80 - LDA #$80 -; libsrc/int32.pla: 0269: STA TMPL - STA TMPL -; libsrc/int32.pla: 0270: - AND SRC,Y -- AND SRC,Y -; libsrc/int32.pla: 0271: BEQ + - BEQ + -; libsrc/int32.pla: 0272: CLC - CLC -; libsrc/int32.pla: 0273: LDA ESTKL-1,X - LDA ESTKL-1,X -; libsrc/int32.pla: 0274: ADC ACCUM32+0 - ADC ACCUM32+0 -; libsrc/int32.pla: 0275: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0276: LDA ESTKH-1,X - LDA ESTKH-1,X -; libsrc/int32.pla: 0277: ADC ACCUM32+1 - ADC ACCUM32+1 -; libsrc/int32.pla: 0278: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0279: LDA ESTKL+0,X - LDA ESTKL+0,X -; libsrc/int32.pla: 0280: ADC ACCUM32+2 - ADC ACCUM32+2 -; libsrc/int32.pla: 0281: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0282: LDA ESTKH+0,X - LDA ESTKH+0,X -; libsrc/int32.pla: 0283: ADC ACCUM32+3 - ADC ACCUM32+3 -; libsrc/int32.pla: 0284: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0285: + LSR TMPL -+ LSR TMPL -; libsrc/int32.pla: 0286: BCC + - BCC + -; libsrc/int32.pla: 0287: DEY - DEY -; libsrc/int32.pla: 0288: BMI ++ - BMI ++ -; libsrc/int32.pla: 0289: ROR TMPL - ROR TMPL -; libsrc/int32.pla: 0290: + ASL ACCUM32+0 -+ ASL ACCUM32+0 -; libsrc/int32.pla: 0291: ROL ACCUM32+1 - ROL ACCUM32+1 -; libsrc/int32.pla: 0292: ROL ACCUM32+2 - ROL ACCUM32+2 -; libsrc/int32.pla: 0293: ROL ACCUM32+3 - ROL ACCUM32+3 -; libsrc/int32.pla: 0294: LDA TMPL - LDA TMPL -; libsrc/int32.pla: 0295: BNE - - BNE - -; libsrc/int32.pla: 0296: ++ INX -++ INX -; libsrc/int32.pla: 0297: RTS - RTS -; libsrc/int32.pla: 0298: end -; libsrc/int32.pla: 0299: export asm div32(i32ptr)#2 -_A015 ; div32() -; libsrc/int32.pla: 0300: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0301: STA TMPL - STA TMPL -; libsrc/int32.pla: 0302: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0303: STA TMPH - STA TMPH -; libsrc/int32.pla: 0304: LDY #$03 ; DVSR = SRC..SRC+3 - LDY #$03 ; DVSR = SRC..SRC+3 -; libsrc/int32.pla: 0305: LDA (TMP),Y - LDA (TMP),Y -; libsrc/int32.pla: 0306: BMI + - BMI + -; libsrc/int32.pla: 0307: STA SRC+3 - STA SRC+3 -; libsrc/int32.pla: 0308: DEY - DEY -; libsrc/int32.pla: 0309: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0310: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0311: DEY - DEY -; libsrc/int32.pla: 0312: BPL - - BPL - -; libsrc/int32.pla: 0313: INY - INY -; libsrc/int32.pla: 0314: BEQ _DIV - BEQ _DIV -; libsrc/int32.pla: 0315: + SEC -+ SEC -; libsrc/int32.pla: 0316: - LDA #$00 -- LDA #$00 -; libsrc/int32.pla: 0317: SBC (TMP),Y - SBC (TMP),Y -; libsrc/int32.pla: 0318: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0319: DEY - DEY -; libsrc/int32.pla: 0320: BPL - - BPL - -; libsrc/int32.pla: 0321: LDY #$01 - LDY #$01 -; libsrc/int32.pla: 0322: BNE _DIV - BNE _DIV -; libsrc/int32.pla: 0323: end -; libsrc/int32.pla: 0324: export asm divi16(imm16)#2 -_A016 ; divi16() -; libsrc/int32.pla: 0325: LDY #$00 ; DVSR = SRC..SRC+3 - LDY #$00 ; DVSR = SRC..SRC+3 -; libsrc/int32.pla: 0326: STY SRC+2 - STY SRC+2 -; libsrc/int32.pla: 0327: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0328: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0329: BPL + - BPL + -; libsrc/int32.pla: 0330: TYA ; DVSR IS NEG - TYA ; DVSR IS NEG -; libsrc/int32.pla: 0331: SEC - SEC -; libsrc/int32.pla: 0332: SBC ESTKL+0,X ; IMM16L - SBC ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0333: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0334: TYA - TYA -; libsrc/int32.pla: 0335: SBC ESTKH+0,X ; IMM16L - SBC ESTKH+0,X ; IMM16L -; libsrc/int32.pla: 0336: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0337: INY - INY -; libsrc/int32.pla: 0338: BNE _DIV - BNE _DIV -; libsrc/int32.pla: 0339: + STA SRC+1 -+ STA SRC+1 -; libsrc/int32.pla: 0340: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0341: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0342: _DIV STY DVSIGN ; LSB = SIGN OF DVSR -_DIV STY DVSIGN ; LSB = SIGN OF DVSR -; libsrc/int32.pla: 0343: DEX ; REMNDR = ESTK..ESTK+1 - DEX ; REMNDR = ESTK..ESTK+1 -; libsrc/int32.pla: 0344: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0345: STY ESTKL+0,X - STY ESTKL+0,X -; libsrc/int32.pla: 0346: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/int32.pla: 0347: STY ESTKL+1,X - STY ESTKL+1,X -; libsrc/int32.pla: 0348: STY ESTKH+1,X - STY ESTKH+1,X -; libsrc/int32.pla: 0349: LDA SRC+0 ; DIVIDE BY 0? - LDA SRC+0 ; DIVIDE BY 0? -; libsrc/int32.pla: 0350: ORA SRC+1 - ORA SRC+1 -; libsrc/int32.pla: 0351: ORA SRC+2 - ORA SRC+2 -; libsrc/int32.pla: 0352: ORA SRC+3 - ORA SRC+3 -; libsrc/int32.pla: 0353: BNE + - BNE + -; libsrc/int32.pla: 0354: STA ACCUM32+0 ; SET TO 0 AND EXIT - STA ACCUM32+0 ; SET TO 0 AND EXIT -; libsrc/int32.pla: 0355: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0356: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0357: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0358: - RTS -- RTS -; libsrc/int32.pla: 0359: + LDA ACCUM32+0 ; DIVIDE 0? -+ LDA ACCUM32+0 ; DIVIDE 0? -; libsrc/int32.pla: 0360: ORA ACCUM32+1 - ORA ACCUM32+1 -; libsrc/int32.pla: 0361: ORA ACCUM32+2 - ORA ACCUM32+2 -; libsrc/int32.pla: 0362: ORA ACCUM32+3 - ORA ACCUM32+3 -; libsrc/int32.pla: 0363: BEQ - - BEQ - -; libsrc/int32.pla: 0364: LDA ACCUM32+3 ; DVDND = ACCUM32 - LDA ACCUM32+3 ; DVDND = ACCUM32 -; libsrc/int32.pla: 0365: BPL + - BPL + -; libsrc/int32.pla: 0366: LDA #$81 ; DVDND IS NEG - LDA #$81 ; DVDND IS NEG -; libsrc/int32.pla: 0367: CLC - CLC -; libsrc/int32.pla: 0368: ADC DVSIGN - ADC DVSIGN -; libsrc/int32.pla: 0369: STA DVSIGN - STA DVSIGN -; libsrc/int32.pla: 0370: TYA - TYA -; libsrc/int32.pla: 0371: SEC - SEC -; libsrc/int32.pla: 0372: SBC ACCUM32+0 - SBC ACCUM32+0 -; libsrc/int32.pla: 0373: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0374: TYA - TYA -; libsrc/int32.pla: 0375: SBC ACCUM32+1 - SBC ACCUM32+1 -; libsrc/int32.pla: 0376: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0377: TYA - TYA -; libsrc/int32.pla: 0378: SBC ACCUM32+2 - SBC ACCUM32+2 -; libsrc/int32.pla: 0379: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0380: TYA - TYA -; libsrc/int32.pla: 0381: SBC ACCUM32+3 - SBC ACCUM32+3 -; libsrc/int32.pla: 0382: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0383: + LDY #$21 ; #BITS+1 -+ LDY #$21 ; #BITS+1 -; libsrc/int32.pla: 0384: - ASL ACCUM32+0 ; SKIP DVDND LEADING 0 BITS -- ASL ACCUM32+0 ; SKIP DVDND LEADING 0 BITS -; libsrc/int32.pla: 0385: ROL ACCUM32+1 - ROL ACCUM32+1 -; libsrc/int32.pla: 0386: ROL ACCUM32+2 - ROL ACCUM32+2 -; libsrc/int32.pla: 0387: ROL ACCUM32+3 - ROL ACCUM32+3 -; libsrc/int32.pla: 0388: DEY - DEY -; libsrc/int32.pla: 0389: BCC - - BCC - -; libsrc/int32.pla: 0390: - ROL ESTKL+0,X ; REMNDR -- ROL ESTKL+0,X ; REMNDR -; libsrc/int32.pla: 0391: ROL ESTKH+0,X - ROL ESTKH+0,X -; libsrc/int32.pla: 0392: ROL ESTKL+1,X - ROL ESTKL+1,X -; libsrc/int32.pla: 0393: ROL ESTKH+1,X - ROL ESTKH+1,X -; libsrc/int32.pla: 0394: LDA ESTKL+0,X ; REMNDR - LDA ESTKL+0,X ; REMNDR -; libsrc/int32.pla: 0395: CMP SRC+0 ; DVSR - CMP SRC+0 ; DVSR -; libsrc/int32.pla: 0396: LDA ESTKH+0,X ; COMPARE - LDA ESTKH+0,X ; COMPARE -; libsrc/int32.pla: 0397: SBC SRC+1 - SBC SRC+1 -; libsrc/int32.pla: 0398: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/int32.pla: 0399: SBC SRC+2 - SBC SRC+2 -; libsrc/int32.pla: 0400: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/int32.pla: 0401: SBC SRC+3 - SBC SRC+3 -; libsrc/int32.pla: 0402: BCC + ; IS LESS THAN? - BCC + ; IS LESS THAN? -; libsrc/int32.pla: 0403: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/int32.pla: 0404: LDA ESTKL+0,X ; REMNDR - LDA ESTKL+0,X ; REMNDR -; libsrc/int32.pla: 0405: SBC SRC+0 ; DVSR - SBC SRC+0 ; DVSR -; libsrc/int32.pla: 0406: STA ESTKL+0,X ; SUBTRACT - STA ESTKL+0,X ; SUBTRACT -; libsrc/int32.pla: 0407: LDA ESTKH+0,X - LDA ESTKH+0,X -; libsrc/int32.pla: 0408: SBC SRC+1 - SBC SRC+1 -; libsrc/int32.pla: 0409: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/int32.pla: 0410: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/int32.pla: 0411: SBC SRC+2 - SBC SRC+2 -; libsrc/int32.pla: 0412: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/int32.pla: 0413: SEC - SEC -; libsrc/int32.pla: 0414: + ROL ACCUM32+0 ; DVDND -+ ROL ACCUM32+0 ; DVDND -; libsrc/int32.pla: 0415: ROL ACCUM32+1 ; ROTATE IN RESULT - ROL ACCUM32+1 ; ROTATE IN RESULT -; libsrc/int32.pla: 0416: ROL ACCUM32+2 - ROL ACCUM32+2 -; libsrc/int32.pla: 0417: ROL ACCUM32+3 - ROL ACCUM32+3 -; libsrc/int32.pla: 0418: DEY - DEY -; libsrc/int32.pla: 0419: BNE - - BNE - -; libsrc/int32.pla: 0420: LDA DVSIGN ; SET SIGNS OF RESULTS - LDA DVSIGN ; SET SIGNS OF RESULTS -; libsrc/int32.pla: 0421: BPL + - BPL + -; libsrc/int32.pla: 0422: TYA - TYA -; libsrc/int32.pla: 0423: SEC - SEC -; libsrc/int32.pla: 0424: SBC ESTKL+0,X - SBC ESTKL+0,X -; libsrc/int32.pla: 0425: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/int32.pla: 0426: TYA - TYA -; libsrc/int32.pla: 0427: SBC ESTKH+0,X - SBC ESTKH+0,X -; libsrc/int32.pla: 0428: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/int32.pla: 0429: TYA - TYA -; libsrc/int32.pla: 0430: SBC ESTKL+1,X - SBC ESTKL+1,X -; libsrc/int32.pla: 0431: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/int32.pla: 0432: TYA - TYA -; libsrc/int32.pla: 0433: SBC ESTKH+1,X - SBC ESTKH+1,X -; libsrc/int32.pla: 0434: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/int32.pla: 0435: LDA DVSIGN - LDA DVSIGN -; libsrc/int32.pla: 0436: + LSR -+ LSR -; libsrc/int32.pla: 0437: BCC + - BCC + -; libsrc/int32.pla: 0438: TYA - TYA -; libsrc/int32.pla: 0439: SBC ACCUM32+0 - SBC ACCUM32+0 -; libsrc/int32.pla: 0440: STA ACCUM32+0 - STA ACCUM32+0 -; libsrc/int32.pla: 0441: TYA - TYA -; libsrc/int32.pla: 0442: SBC ACCUM32+1 - SBC ACCUM32+1 -; libsrc/int32.pla: 0443: STA ACCUM32+1 - STA ACCUM32+1 -; libsrc/int32.pla: 0444: TYA - TYA -; libsrc/int32.pla: 0445: SBC ACCUM32+2 - SBC ACCUM32+2 -; libsrc/int32.pla: 0446: STA ACCUM32+2 - STA ACCUM32+2 -; libsrc/int32.pla: 0447: TYA - TYA -; libsrc/int32.pla: 0448: SBC ACCUM32+3 - SBC ACCUM32+3 -; libsrc/int32.pla: 0449: STA ACCUM32+3 - STA ACCUM32+3 -; libsrc/int32.pla: 0450: + RTS -+ RTS -; libsrc/int32.pla: 0451: end -; libsrc/int32.pla: 0452: export asm iseq32(i32ptr)#1 -_A017 ; iseq32() -; libsrc/int32.pla: 0453: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0454: STA TMPL - STA TMPL -; libsrc/int32.pla: 0455: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0456: STA TMPH - STA TMPH -; libsrc/int32.pla: 0457: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0458: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0459: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0460: DEY - DEY -; libsrc/int32.pla: 0461: BPL - - BPL - -; libsrc/int32.pla: 0462: INY - INY -; libsrc/int32.pla: 0463: BEQ _ISEQ - BEQ _ISEQ -; libsrc/int32.pla: 0464: end -; libsrc/int32.pla: 0465: export asm iseqi16(imm16)#1 -_A018 ; iseqi16() -; libsrc/int32.pla: 0466: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0467: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0468: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0469: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0470: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0471: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0472: DEY - DEY -; libsrc/int32.pla: 0473: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0474: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0475: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0476: _ISEQ LDA ACCUM32+0 -_ISEQ LDA ACCUM32+0 -; libsrc/int32.pla: 0477: CMP SRC+0 - CMP SRC+0 -; libsrc/int32.pla: 0478: BNE + - BNE + -; libsrc/int32.pla: 0479: LDA ACCUM32+1 - LDA ACCUM32+1 -; libsrc/int32.pla: 0480: CMP SRC+1 - CMP SRC+1 -; libsrc/int32.pla: 0481: BNE + - BNE + -; libsrc/int32.pla: 0482: LDA ACCUM32+2 - LDA ACCUM32+2 -; libsrc/int32.pla: 0483: CMP SRC+2 - CMP SRC+2 -; libsrc/int32.pla: 0484: BNE + - BNE + -; libsrc/int32.pla: 0485: LDA ACCUM32+3 - LDA ACCUM32+3 -; libsrc/int32.pla: 0486: CMP SRC+3 - CMP SRC+3 -; libsrc/int32.pla: 0487: BNE + - BNE + -; libsrc/int32.pla: 0488: DEY - DEY -; libsrc/int32.pla: 0489: + STY ESTKL+0,X -+ STY ESTKL+0,X -; libsrc/int32.pla: 0490: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/int32.pla: 0491: RTS - RTS -; libsrc/int32.pla: 0492: end -; libsrc/int32.pla: 0493: export asm isge32(i32ptr)#1 -_A019 ; isge32() -; libsrc/int32.pla: 0494: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0495: STA TMPL - STA TMPL -; libsrc/int32.pla: 0496: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0497: STA TMPH - STA TMPH -; libsrc/int32.pla: 0498: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0499: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0500: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0501: DEY - DEY -; libsrc/int32.pla: 0502: BPL - - BPL - -; libsrc/int32.pla: 0503: INY - INY -; libsrc/int32.pla: 0504: BEQ _ISGE - BEQ _ISGE -; libsrc/int32.pla: 0505: end -; libsrc/int32.pla: 0506: export asm isgei16(imm16)#1 -_A020 ; isgei16() -; libsrc/int32.pla: 0507: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0508: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0509: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0510: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0511: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0512: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0513: DEY - DEY -; libsrc/int32.pla: 0514: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0515: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0516: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0517: _ISGE LDA ACCUM32+0 -_ISGE LDA ACCUM32+0 -; libsrc/int32.pla: 0518: CMP SRC+0 - CMP SRC+0 -; libsrc/int32.pla: 0519: LDA ACCUM32+1 - LDA ACCUM32+1 -; libsrc/int32.pla: 0520: SBC SRC+1 - SBC SRC+1 -; libsrc/int32.pla: 0521: LDA ACCUM32+2 - LDA ACCUM32+2 -; libsrc/int32.pla: 0522: SBC SRC+2 - SBC SRC+2 -; libsrc/int32.pla: 0523: LDA ACCUM32+3 - LDA ACCUM32+3 -; libsrc/int32.pla: 0524: SBC SRC+3 - SBC SRC+3 -; libsrc/int32.pla: 0525: BVC + - BVC + -; libsrc/int32.pla: 0526: EOR #$80 - EOR #$80 -; libsrc/int32.pla: 0527: + BMI + -+ BMI + -; libsrc/int32.pla: 0528: DEY - DEY -; libsrc/int32.pla: 0529: + STY ESTKL+0,X -+ STY ESTKL+0,X -; libsrc/int32.pla: 0530: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/int32.pla: 0531: RTS - RTS -; libsrc/int32.pla: 0532: end -; libsrc/int32.pla: 0533: export asm isle32(i32ptr)#1 -_A021 ; isle32() -; libsrc/int32.pla: 0534: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0535: STA TMPL - STA TMPL -; libsrc/int32.pla: 0536: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0537: STA TMPH - STA TMPH -; libsrc/int32.pla: 0538: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0539: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0540: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0541: DEY - DEY -; libsrc/int32.pla: 0542: BPL - - BPL - -; libsrc/int32.pla: 0543: INY - INY -; libsrc/int32.pla: 0544: BEQ _ISLE - BEQ _ISLE -; libsrc/int32.pla: 0545: end -; libsrc/int32.pla: 0546: export asm islei16(imm16)#1 -_A022 ; islei16() -; libsrc/int32.pla: 0547: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0548: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0549: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0550: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0551: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0552: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0553: DEY - DEY -; libsrc/int32.pla: 0554: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0555: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0556: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0557: _ISLE LDA SRC+0 -_ISLE LDA SRC+0 -; libsrc/int32.pla: 0558: CMP ACCUM32+0 - CMP ACCUM32+0 -; libsrc/int32.pla: 0559: LDA SRC+1 - LDA SRC+1 -; libsrc/int32.pla: 0560: SBC ACCUM32+1 - SBC ACCUM32+1 -; libsrc/int32.pla: 0561: LDA SRC+2 - LDA SRC+2 -; libsrc/int32.pla: 0562: SBC ACCUM32+2 - SBC ACCUM32+2 -; libsrc/int32.pla: 0563: LDA SRC+3 - LDA SRC+3 -; libsrc/int32.pla: 0564: SBC ACCUM32+3 - SBC ACCUM32+3 -; libsrc/int32.pla: 0565: BVC + - BVC + -; libsrc/int32.pla: 0566: EOR #$80 - EOR #$80 -; libsrc/int32.pla: 0567: + BMI + -+ BMI + -; libsrc/int32.pla: 0568: DEY - DEY -; libsrc/int32.pla: 0569: + STY ESTKL+0,X -+ STY ESTKL+0,X -; libsrc/int32.pla: 0570: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/int32.pla: 0571: RTS - RTS -; libsrc/int32.pla: 0572: end -; libsrc/int32.pla: 0573: export asm isgt32(i32ptr)#1 -_A023 ; isgt32() -; libsrc/int32.pla: 0574: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0575: STA TMPL - STA TMPL -; libsrc/int32.pla: 0576: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0577: STA TMPH - STA TMPH -; libsrc/int32.pla: 0578: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0579: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0580: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0581: DEY - DEY -; libsrc/int32.pla: 0582: BPL - - BPL - -; libsrc/int32.pla: 0583: INY - INY -; libsrc/int32.pla: 0584: BEQ _ISGT - BEQ _ISGT -; libsrc/int32.pla: 0585: end -; libsrc/int32.pla: 0586: export asm isgti16(imm16)#1 -_A024 ; isgti16() -; libsrc/int32.pla: 0587: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0588: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0589: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0590: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0591: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0592: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0593: DEY - DEY -; libsrc/int32.pla: 0594: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0595: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0596: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0597: _ISGT LDA SRC+0 -_ISGT LDA SRC+0 -; libsrc/int32.pla: 0598: CMP ACCUM32+0 - CMP ACCUM32+0 -; libsrc/int32.pla: 0599: LDA SRC+1 - LDA SRC+1 -; libsrc/int32.pla: 0600: SBC ACCUM32+1 - SBC ACCUM32+1 -; libsrc/int32.pla: 0601: LDA SRC+2 - LDA SRC+2 -; libsrc/int32.pla: 0602: SBC ACCUM32+2 - SBC ACCUM32+2 -; libsrc/int32.pla: 0603: LDA SRC+3 - LDA SRC+3 -; libsrc/int32.pla: 0604: SBC ACCUM32+3 - SBC ACCUM32+3 -; libsrc/int32.pla: 0605: BVC + - BVC + -; libsrc/int32.pla: 0606: EOR #$80 - EOR #$80 -; libsrc/int32.pla: 0607: + BPL + -+ BPL + -; libsrc/int32.pla: 0608: DEY - DEY -; libsrc/int32.pla: 0609: + STY ESTKL+0,X -+ STY ESTKL+0,X -; libsrc/int32.pla: 0610: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/int32.pla: 0611: RTS - RTS -; libsrc/int32.pla: 0612: end -; libsrc/int32.pla: 0613: export asm islt32(i32ptr)#1 -_A025 ; islt32() -; libsrc/int32.pla: 0614: LDA ESTKL+0,X ; I32PTR - LDA ESTKL+0,X ; I32PTR -; libsrc/int32.pla: 0615: STA TMPL - STA TMPL -; libsrc/int32.pla: 0616: LDA ESTKH+0,X ; I32PTR - LDA ESTKH+0,X ; I32PTR -; libsrc/int32.pla: 0617: STA TMPH - STA TMPH -; libsrc/int32.pla: 0618: LDY #$03 - LDY #$03 -; libsrc/int32.pla: 0619: - LDA (TMP),Y -- LDA (TMP),Y -; libsrc/int32.pla: 0620: STA SRC,Y - STA SRC,Y -; libsrc/int32.pla: 0621: DEY - DEY -; libsrc/int32.pla: 0622: BPL - - BPL - -; libsrc/int32.pla: 0623: INY - INY -; libsrc/int32.pla: 0624: BEQ _ISLT - BEQ _ISLT -; libsrc/int32.pla: 0625: end -; libsrc/int32.pla: 0626: export asm islti16(imm16)#1 -_A026 ; islti16() -; libsrc/int32.pla: 0627: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0628: LDA ESTKL+0,X ; IMM16L - LDA ESTKL+0,X ; IMM16L -; libsrc/int32.pla: 0629: STA SRC+0 - STA SRC+0 -; libsrc/int32.pla: 0630: LDA ESTKH+0,X ; IMM16H - LDA ESTKH+0,X ; IMM16H -; libsrc/int32.pla: 0631: STA SRC+1 - STA SRC+1 -; libsrc/int32.pla: 0632: BPL + ; SIGN EXTEND - BPL + ; SIGN EXTEND -; libsrc/int32.pla: 0633: DEY - DEY -; libsrc/int32.pla: 0634: + STY SRC+2 -+ STY SRC+2 -; libsrc/int32.pla: 0635: STY SRC+3 - STY SRC+3 -; libsrc/int32.pla: 0636: LDY #$00 - LDY #$00 -; libsrc/int32.pla: 0637: _ISLT LDA ACCUM32+0 -_ISLT LDA ACCUM32+0 -; libsrc/int32.pla: 0638: CMP SRC+0 - CMP SRC+0 -; libsrc/int32.pla: 0639: LDA ACCUM32+1 - LDA ACCUM32+1 -; libsrc/int32.pla: 0640: SBC SRC+1 - SBC SRC+1 -; libsrc/int32.pla: 0641: LDA ACCUM32+2 - LDA ACCUM32+2 -; libsrc/int32.pla: 0642: SBC SRC+2 - SBC SRC+2 -; libsrc/int32.pla: 0643: LDA ACCUM32+3 - LDA ACCUM32+3 -; libsrc/int32.pla: 0644: SBC SRC+3 - SBC SRC+3 -; libsrc/int32.pla: 0645: BVC + - BVC + -; libsrc/int32.pla: 0646: EOR #$80 - EOR #$80 -; libsrc/int32.pla: 0647: + BPL + -+ BPL + -; libsrc/int32.pla: 0648: DEY - DEY -; libsrc/int32.pla: 0649: + STY ESTKL+0,X -+ STY ESTKL+0,X -; libsrc/int32.pla: 0650: STY ESTKH+0,X - STY ESTKH+0,X -; libsrc/int32.pla: 0651: RTS - RTS -; libsrc/int32.pla: 0652: end -; libsrc/int32.pla: 0653: export def i32tos(i32ptr, strptr)#1 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; i32ptr -> [0] - ; strptr -> [2] -_C000 ; i32tos() -; libsrc/int32.pla: 0654: res[t_i32] save - ; save -> [4] -; libsrc/int32.pla: 0655: word iptr, rem - ; iptr -> [8] - ; rem -> [10] -; libsrc/int32.pla: 0656: char[12] istr - ; istr -> [12] -; libsrc/int32.pla: 0657: -; libsrc/int32.pla: 0658: iptr = @istr.11 - !BYTE $58,$18,$02 ; ENTER 24,2 -; libsrc/int32.pla: 0659: store32(@save) -; libsrc/int32.pla: 0660: load32(i32ptr) -; libsrc/int32.pla: 0661: if i32ptr->3 & $80 -; libsrc/int32.pla: 0662: neg32() -; libsrc/int32.pla: 0663: putc('-') -; libsrc/int32.pla: 0664: fin - !BYTE $28,$17 ; LLA [23] - !BYTE $76,$08 ; SLW [8] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A006 -_F000 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F001 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $54 ; CALL _A003 -_F002 !WORD _A003 - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _X002 -_F003 !WORD 0 -_B001 -_B002 -; libsrc/int32.pla: 0665: repeat -_B004 -; libsrc/int32.pla: 0666: drop, rem = divi16(10) // Only care about LSW of remainder -; libsrc/int32.pla: 0667: ^iptr = rem + '0' -; libsrc/int32.pla: 0668: iptr-- - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _A016 -_F004 !WORD _A016 - !BYTE $76,$0A ; SLW [10] - !BYTE $30 ; DROP - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; libsrc/int32.pla: 0669: until iseqi16(0) - !BYTE $76,$08 ; SLW [8] -_B005 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A018 -_F005 !WORD _A018 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* -_B003 -; libsrc/int32.pla: 0670: ^iptr = @istr.11 - iptr -; libsrc/int32.pla: 0671: strcpy(strptr, iptr) -; libsrc/int32.pla: 0672: load32(@save) -; libsrc/int32.pla: 0673: return strptr - !BYTE $28,$17 ; LLA [23] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X019 -_F006 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A004 -_F007 !WORD _A004 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$18 ; LEAVE 24 -; libsrc/int32.pla: 0674: end -; libsrc/int32.pla: 0675: export def puti32(i32ptr)#0 - ; i32ptr -> [0] -_C001 ; puti32() -; libsrc/int32.pla: 0676: char[12] i32str - ; i32str -> [2] -; libsrc/int32.pla: 0677: -; libsrc/int32.pla: 0678: puts(i32tos(i32ptr, @i32str)) - !BYTE $58,$0E,$01 ; ENTER 14,1 -; libsrc/int32.pla: 0679: end - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C000 -_F008 !WORD _C000 - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/int32.pla: 0680: // -; libsrc/int32.pla: 0681: // Keep module in memory -; libsrc/int32.pla: 0682: // -; libsrc/int32.pla: 0683: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/int32.pla: 0684: done -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: ZERO32 - !BYTE $DA,$C5,$D2,$CF,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: ZEXT16TO32 - !BYTE $DA,$C5,$D8,$D4,$B1,$B6,$D4,$CF,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A002 - ; DCI STRING: NEG32 - !BYTE $CE,$C5,$C7,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A003 - ; DCI STRING: LOAD32 - !BYTE $CC,$CF,$C1,$C4,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A004 - ; DCI STRING: LOADI16 - !BYTE $CC,$CF,$C1,$C4,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A005 - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A006 - ; DCI STRING: ADD32 - !BYTE $C1,$C4,$C4,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A007 - ; DCI STRING: ADDI16 - !BYTE $C1,$C4,$C4,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A008 - ; DCI STRING: SUB32 - !BYTE $D3,$D5,$C2,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A009 - ; DCI STRING: SUBI16 - !BYTE $D3,$D5,$C2,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A010 - ; DCI STRING: SHL32 - !BYTE $D3,$C8,$CC,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A011 - ; DCI STRING: SHR32 - !BYTE $D3,$C8,$D2,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A012 - ; DCI STRING: MUL32 - !BYTE $CD,$D5,$CC,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A013 - ; DCI STRING: MULI16 - !BYTE $CD,$D5,$CC,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A014 - ; DCI STRING: DIV32 - !BYTE $C4,$C9,$D6,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A015 - ; DCI STRING: DIVI16 - !BYTE $C4,$C9,$D6,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A016 - ; DCI STRING: ISEQ32 - !BYTE $C9,$D3,$C5,$D1,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A017 - ; DCI STRING: ISEQI16 - !BYTE $C9,$D3,$C5,$D1,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A018 - ; DCI STRING: ISGE32 - !BYTE $C9,$D3,$C7,$C5,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A019 - ; DCI STRING: ISGEI16 - !BYTE $C9,$D3,$C7,$C5,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A020 - ; DCI STRING: ISLE32 - !BYTE $C9,$D3,$CC,$C5,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A021 - ; DCI STRING: ISLEI16 - !BYTE $C9,$D3,$CC,$C5,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A022 - ; DCI STRING: ISGT32 - !BYTE $C9,$D3,$C7,$D4,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A023 - ; DCI STRING: ISGTI16 - !BYTE $C9,$D3,$C7,$D4,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A024 - ; DCI STRING: ISLT32 - !BYTE $C9,$D3,$CC,$D4,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A025 - ; DCI STRING: ISLTI16 - !BYTE $C9,$D3,$CC,$D4,$C9,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A026 - ; DCI STRING: I32TOS - !BYTE $C9,$B3,$B2,$D4,$CF,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: PUTI32 - !BYTE $D0,$D5,$D4,$C9,$B3,$32 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/lines.a b/src/libsrc/lines.a deleted file mode 100644 index 50251ac..0000000 --- a/src/libsrc/lines.a +++ /dev/null @@ -1,1959 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/lines.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/lines.pla: 0001: -; libsrc/lines.pla: 0002: predef nopLin(a, b, c)#0 - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/lines.pla: 0003: predef nopPix(a, b)#0 -; libsrc/lines.pla: 0004: -; libsrc/lines.pla: 0005: byte jmpplot = $4C // Sneaky! -_D030 ; jmpplot = $4C // Sneaky! - !BYTE $4C -; libsrc/lines.pla: 0006: var plot = @nopPix -_D031 ; plot = @nopPix -_F000 !WORD _P001 -; libsrc/lines.pla: 0007: var hspan = @nopLin -_D032 ; hspan = @nopLin -_F001 !WORD _P000 -; libsrc/lines.pla: 0008: var vspan = @nopLin -_D033 ; vspan = @nopLin -_F002 !WORD _P000 -; libsrc/lines.pla: 0009: var err, shorterr, shortlen, longerr, longlen -_D034 !FILL 2 ; err, shorterr, shortlen, longerr, longlen -_D035 !FILL 2 ; shorterr, shortlen, longerr, longlen -_D036 !FILL 2 ; shortlen, longerr, longlen -_D037 !FILL 2 ; longerr, longlen -_D038 !FILL 2 ; longlen -; libsrc/lines.pla: 0010: -; libsrc/lines.pla: 0011: //def nopLin(a, b, c)#0 -; libsrc/lines.pla: 0012: //end -; libsrc/lines.pla: 0013: //def majorspans(majorstart, major, majorend, minor, dir, majorspan)#0 -; libsrc/lines.pla: 0014: // // -; libsrc/lines.pla: 0015: // // Initial half-span step -; libsrc/lines.pla: 0016: // // -; libsrc/lines.pla: 0017: // err = err + shorterr -; libsrc/lines.pla: 0018: // repeat -; libsrc/lines.pla: 0019: // majorspan(majorstart, major, minor)#0 -; libsrc/lines.pla: 0020: // minor = minor + dir // Move to next span -; libsrc/lines.pla: 0021: // majorstart = major + 1 // Start of next span = end of previous + 1 -; libsrc/lines.pla: 0022: // if err >= 0 // Short span -; libsrc/lines.pla: 0023: // err = err + shorterr -; libsrc/lines.pla: 0024: // major = major + shortlen -; libsrc/lines.pla: 0025: // else // Long span -; libsrc/lines.pla: 0026: // err = err + longerr -; libsrc/lines.pla: 0027: // major = major + longlen -; libsrc/lines.pla: 0028: // fin -; libsrc/lines.pla: 0029: // until major >= majorend -; libsrc/lines.pla: 0030: // // -; libsrc/lines.pla: 0031: // // Final half-span step -; libsrc/lines.pla: 0032: // // -; libsrc/lines.pla: 0033: // majorspan(majorstart, majorend, minor)#0 -; libsrc/lines.pla: 0034: //end -; libsrc/lines.pla: 0035: asm majorspans(majorstart, major, majorend, minor, dir, majorspan)#0 -_A000 ; majorspans() -; libsrc/lines.pla: 0036: !SOURCE "vmsrc/plvmzp.inc" -!SOURCE "vmsrc/plvmzp.inc" -; libsrc/lines.pla: 0037: LDA $1000 ; ERRL - LDA $1000 ; ERRL -; libsrc/lines.pla: 0038: CLC - CLC -; libsrc/lines.pla: 0039: ADC $2000 ; SHORTERRL - ADC $2000 ; SHORTERRL -; libsrc/lines.pla: 0040: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0041: LDA $1001 ; ERRH - LDA $1001 ; ERRH -; libsrc/lines.pla: 0042: ADC $2001 ; SHORTERRH - ADC $2001 ; SHORTERRH -; libsrc/lines.pla: 0043: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0044: LDA ESTKL+0,X ; MAJORSPANL - LDA ESTKL+0,X ; MAJORSPANL -; libsrc/lines.pla: 0045: STA $A000 - STA $A000 -; libsrc/lines.pla: 0046: STA $B000 - STA $B000 -; libsrc/lines.pla: 0047: LDA ESTKH+0,X ; MAJORSPANH - LDA ESTKH+0,X ; MAJORSPANH -; libsrc/lines.pla: 0048: STA $A001 - STA $A001 -; libsrc/lines.pla: 0049: STA $B001 - STA $B001 -; libsrc/lines.pla: 0050: end -; libsrc/lines.pla: 0051: asm _majorspansA -_A001 ; _majorspansA() -; libsrc/lines.pla: 0052: - DEX -- DEX -; libsrc/lines.pla: 0053: DEX - DEX -; libsrc/lines.pla: 0054: DEX - DEX -; libsrc/lines.pla: 0055: LDA ESTKL+8,X ; MAJORSTARTL - LDA ESTKL+8,X ; MAJORSTARTL -; libsrc/lines.pla: 0056: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/lines.pla: 0057: LDA ESTKH+8,X ; MAJORSTARTH - LDA ESTKH+8,X ; MAJORSTARTH -; libsrc/lines.pla: 0058: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/lines.pla: 0059: LDA ESTKL+7,X ; MAJORL - LDA ESTKL+7,X ; MAJORL -; libsrc/lines.pla: 0060: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/lines.pla: 0061: LDA ESTKH+7,X ; MAJORH - LDA ESTKH+7,X ; MAJORH -; libsrc/lines.pla: 0062: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/lines.pla: 0063: LDA ESTKL+5,X ; MINORL - LDA ESTKL+5,X ; MINORL -; libsrc/lines.pla: 0064: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/lines.pla: 0065: LDA ESTKH+5,X ; MINORH - LDA ESTKH+5,X ; MINORH -; libsrc/lines.pla: 0066: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/lines.pla: 0067: JSR $A000 - JSR $A000 -; libsrc/lines.pla: 0068: -; libsrc/lines.pla: 0069: LDA ESTKL+2,X ; MINORL - LDA ESTKL+2,X ; MINORL -; libsrc/lines.pla: 0070: CLC - CLC -; libsrc/lines.pla: 0071: ADC ESTKL+1,X ; DIRL - ADC ESTKL+1,X ; DIRL -; libsrc/lines.pla: 0072: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/lines.pla: 0073: LDA ESTKH+2,X ; MINORH - LDA ESTKH+2,X ; MINORH -; libsrc/lines.pla: 0074: ADC ESTKH+1,X ; DIRH - ADC ESTKH+1,X ; DIRH -; libsrc/lines.pla: 0075: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/lines.pla: 0076: -; libsrc/lines.pla: 0077: LDA ESTKL+4,X ; MAJORL - LDA ESTKL+4,X ; MAJORL -; libsrc/lines.pla: 0078: CLC - CLC -; libsrc/lines.pla: 0079: ADC #$01 - ADC #$01 -; libsrc/lines.pla: 0080: STA ESTKL+5,X ; MAJORSTARTL - STA ESTKL+5,X ; MAJORSTARTL -; libsrc/lines.pla: 0081: LDA ESTKH+4,X ; MAJORH - LDA ESTKH+4,X ; MAJORH -; libsrc/lines.pla: 0082: ADC #$00 - ADC #$00 -; libsrc/lines.pla: 0083: STA ESTKH+5,X ; MAJORSTARTH - STA ESTKH+5,X ; MAJORSTARTH -; libsrc/lines.pla: 0084: end -; libsrc/lines.pla: 0085: asm _majorspansB -_A002 ; _majorspansB() -; libsrc/lines.pla: 0086: LDY $1001 ; ERRH - LDY $1001 ; ERRH -; libsrc/lines.pla: 0087: BMI + - BMI + -; libsrc/lines.pla: 0088: end -; libsrc/lines.pla: 0089: asm _majorspansC -_A003 ; _majorspansC() -; libsrc/lines.pla: 0090: LDA $1000 ; ERRL - LDA $1000 ; ERRL -; libsrc/lines.pla: 0091: CLC - CLC -; libsrc/lines.pla: 0092: ADC $2000 ; SHORTERRL - ADC $2000 ; SHORTERRL -; libsrc/lines.pla: 0093: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0094: TYA ; ERRH - TYA ; ERRH -; libsrc/lines.pla: 0095: ADC $2001 ; SHORTERRH - ADC $2001 ; SHORTERRH -; libsrc/lines.pla: 0096: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0097: LDA ESTKL+4,X ; MAJORL - LDA ESTKL+4,X ; MAJORL -; libsrc/lines.pla: 0098: CLC - CLC -; libsrc/lines.pla: 0099: ADC $3000 ; SHORTLENL - ADC $3000 ; SHORTLENL -; libsrc/lines.pla: 0100: STA ESTKL+4,X - STA ESTKL+4,X -; libsrc/lines.pla: 0101: LDA ESTKH+4,X ; MAJORH - LDA ESTKH+4,X ; MAJORH -; libsrc/lines.pla: 0102: ADC $3001 ; SHORTLENH - ADC $3001 ; SHORTLENH -; libsrc/lines.pla: 0103: STA ESTKH+4,X - STA ESTKH+4,X -; libsrc/lines.pla: 0104: LDA ESTKL+4,X ; MAJORL - LDA ESTKL+4,X ; MAJORL -; libsrc/lines.pla: 0105: CMP ESTKL+3,X ; MAJORENDL - CMP ESTKL+3,X ; MAJORENDL -; libsrc/lines.pla: 0106: LDA ESTKH+4,X ; MAJORH - LDA ESTKH+4,X ; MAJORH -; libsrc/lines.pla: 0107: SBC ESTKH+3,X ; MAJORENDH - SBC ESTKH+3,X ; MAJORENDH -; libsrc/lines.pla: 0108: BCC - - BCC - -; libsrc/lines.pla: 0109: BCS ++ - BCS ++ -; libsrc/lines.pla: 0110: end -; libsrc/lines.pla: 0111: asm _majorspansD -_A004 ; _majorspansD() -; libsrc/lines.pla: 0112: + LDA $1000 ; ERRL -+ LDA $1000 ; ERRL -; libsrc/lines.pla: 0113: CLC - CLC -; libsrc/lines.pla: 0114: ADC $4000 ; LONGERRL - ADC $4000 ; LONGERRL -; libsrc/lines.pla: 0115: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0116: TYA ; ERRH - TYA ; ERRH -; libsrc/lines.pla: 0117: ADC $4001 ; LONGERRL - ADC $4001 ; LONGERRL -; libsrc/lines.pla: 0118: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0119: LDA ESTKL+4,X ; MAJORL - LDA ESTKL+4,X ; MAJORL -; libsrc/lines.pla: 0120: CLC - CLC -; libsrc/lines.pla: 0121: ADC $5000 ; LONGLENL - ADC $5000 ; LONGLENL -; libsrc/lines.pla: 0122: STA ESTKL+4,X - STA ESTKL+4,X -; libsrc/lines.pla: 0123: LDA ESTKH+4,X ; MAJORH - LDA ESTKH+4,X ; MAJORH -; libsrc/lines.pla: 0124: ADC $5001 ; LONGLENH - ADC $5001 ; LONGLENH -; libsrc/lines.pla: 0125: STA ESTKH+4,X - STA ESTKH+4,X -; libsrc/lines.pla: 0126: LDA ESTKL+4,X ; MAJORL - LDA ESTKL+4,X ; MAJORL -; libsrc/lines.pla: 0127: CMP ESTKL+3,X ; MAJORENDL - CMP ESTKL+3,X ; MAJORENDL -; libsrc/lines.pla: 0128: LDA ESTKH+4,X ; MAJORH - LDA ESTKH+4,X ; MAJORH -; libsrc/lines.pla: 0129: SBC ESTKH+3,X ; MAJORENDH - SBC ESTKH+3,X ; MAJORENDH -; libsrc/lines.pla: 0130: BCS ++ - BCS ++ -; libsrc/lines.pla: 0131: end -; libsrc/lines.pla: 0132: asm _majorspansE -_A005 ; _majorspansE() -; libsrc/lines.pla: 0133: JMP $6000 - JMP $6000 -; libsrc/lines.pla: 0134: ++ DEX -++ DEX -; libsrc/lines.pla: 0135: DEX - DEX -; libsrc/lines.pla: 0136: DEX - DEX -; libsrc/lines.pla: 0137: LDA ESTKL+8,X ; MAJORSTARTL - LDA ESTKL+8,X ; MAJORSTARTL -; libsrc/lines.pla: 0138: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/lines.pla: 0139: LDA ESTKH+8,X ; MAJORSTARTH - LDA ESTKH+8,X ; MAJORSTARTH -; libsrc/lines.pla: 0140: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/lines.pla: 0141: LDA ESTKL+6,X ; MAJORENDL - LDA ESTKL+6,X ; MAJORENDL -; libsrc/lines.pla: 0142: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/lines.pla: 0143: LDA ESTKH+6,X ; MAJORENDH - LDA ESTKH+6,X ; MAJORENDH -; libsrc/lines.pla: 0144: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/lines.pla: 0145: LDA ESTKL+5,X ; MINORL - LDA ESTKL+5,X ; MINORL -; libsrc/lines.pla: 0146: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/lines.pla: 0147: LDA ESTKH+5,X ; MINORH - LDA ESTKH+5,X ; MINORH -; libsrc/lines.pla: 0148: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/lines.pla: 0149: JSR $B000 - JSR $B000 -; libsrc/lines.pla: 0150: TXA - TXA -; libsrc/lines.pla: 0151: CLC - CLC -; libsrc/lines.pla: 0152: ADC #$06 - ADC #$06 -; libsrc/lines.pla: 0153: TAX - TAX -; libsrc/lines.pla: 0154: RTS - RTS -; libsrc/lines.pla: 0155: end -; libsrc/lines.pla: 0156: asm nopLin(a, b, c)#0 -_P000 ; nopLin(a, b, c)#0() -_A006 ; nopLin() -; libsrc/lines.pla: 0157: INX - INX -; libsrc/lines.pla: 0158: end -; libsrc/lines.pla: 0159: asm nopPix(a, b)#0 -_P001 ; nopPix(a, b)#0() -_A007 ; nopPix() -; libsrc/lines.pla: 0160: INX - INX -; libsrc/lines.pla: 0161: INX - INX -; libsrc/lines.pla: 0162: RTS - RTS -; libsrc/lines.pla: 0163: end -; libsrc/lines.pla: 0164: //def hline(x1, x2, dx2, y, dy2, sy)#0 -; libsrc/lines.pla: 0165: // var dyx2, x -; libsrc/lines.pla: 0166: // -; libsrc/lines.pla: 0167: // err = dy2 - dx2 / 2 -; libsrc/lines.pla: 0168: // dyx2 = dy2 - dx2 -; libsrc/lines.pla: 0169: // for x = x1 to x2 -; libsrc/lines.pla: 0170: // plot(x, y)#0 -; libsrc/lines.pla: 0171: // if err >= 0 -; libsrc/lines.pla: 0172: // y = y + sy -; libsrc/lines.pla: 0173: // err = err + dyx2 -; libsrc/lines.pla: 0174: // else -; libsrc/lines.pla: 0175: // err = err + dy2 -; libsrc/lines.pla: 0176: // fin -; libsrc/lines.pla: 0177: // next -; libsrc/lines.pla: 0178: //end -; libsrc/lines.pla: 0179: asm hline(x1, x2, dx2, y, dy2, sy)#0 -_A008 ; hline() -; libsrc/lines.pla: 0180: LDA ESTKH+3,X ; DX2H - LDA ESTKH+3,X ; DX2H -; libsrc/lines.pla: 0181: LSR - LSR -; libsrc/lines.pla: 0182: STA TMPH - STA TMPH -; libsrc/lines.pla: 0183: LDA ESTKL+3,X ; DX2L - LDA ESTKL+3,X ; DX2L -; libsrc/lines.pla: 0184: ROR - ROR -; libsrc/lines.pla: 0185: STA TMPL - STA TMPL -; libsrc/lines.pla: 0186: LDA ESTKL+1,X ; DY2L - LDA ESTKL+1,X ; DY2L -; libsrc/lines.pla: 0187: SEC - SEC -; libsrc/lines.pla: 0188: SBC TMPL - SBC TMPL -; libsrc/lines.pla: 0189: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0190: LDA ESTKH+1,X ; DY2H - LDA ESTKH+1,X ; DY2H -; libsrc/lines.pla: 0191: SBC TMPH - SBC TMPH -; libsrc/lines.pla: 0192: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0193: LDA ESTKL+1,X ; DY2L - LDA ESTKL+1,X ; DY2L -; libsrc/lines.pla: 0194: SEC - SEC -; libsrc/lines.pla: 0195: SBC ESTKL+3,X ; DX2L - SBC ESTKL+3,X ; DX2L -; libsrc/lines.pla: 0196: STA ESTKL+3,X ; DYX2L - STA ESTKL+3,X ; DYX2L -; libsrc/lines.pla: 0197: LDA ESTKH+1,X ; DY2H - LDA ESTKH+1,X ; DY2H -; libsrc/lines.pla: 0198: SBC ESTKH+3,X ; DX2H - SBC ESTKH+3,X ; DX2H -; libsrc/lines.pla: 0199: STA ESTKH+3,X ; DYX2H - STA ESTKH+3,X ; DYX2H -; libsrc/lines.pla: 0200: - DEX -- DEX -; libsrc/lines.pla: 0201: DEX - DEX -; libsrc/lines.pla: 0202: LDA ESTKL+7,X ; XL - LDA ESTKL+7,X ; XL -; libsrc/lines.pla: 0203: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/lines.pla: 0204: LDA ESTKH+7,X ; XH - LDA ESTKH+7,X ; XH -; libsrc/lines.pla: 0205: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/lines.pla: 0206: LDA ESTKL+4,X ; YL - LDA ESTKL+4,X ; YL -; libsrc/lines.pla: 0207: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/lines.pla: 0208: LDA ESTKH+4,X ; YH - LDA ESTKH+4,X ; YH -; libsrc/lines.pla: 0209: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/lines.pla: 0210: end -; libsrc/lines.pla: 0211: asm _hlineA -_A009 ; _hlineA() -; libsrc/lines.pla: 0212: JSR $2000 ; PLOT - JSR $2000 ; PLOT -; libsrc/lines.pla: 0213: LDA $1001 ; ERRH - LDA $1001 ; ERRH -; libsrc/lines.pla: 0214: BMI + - BMI + -; libsrc/lines.pla: 0215: LDA ESTKL+2,X ; YL - LDA ESTKL+2,X ; YL -; libsrc/lines.pla: 0216: CLC - CLC -; libsrc/lines.pla: 0217: ADC ESTKL+0,X ; SYL - ADC ESTKL+0,X ; SYL -; libsrc/lines.pla: 0218: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/lines.pla: 0219: LDA ESTKH+2,X ; YH - LDA ESTKH+2,X ; YH -; libsrc/lines.pla: 0220: ADC ESTKH+0,X ; SYH - ADC ESTKH+0,X ; SYH -; libsrc/lines.pla: 0221: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/lines.pla: 0222: LDA ESTKL+3,X ; DYX2L - LDA ESTKL+3,X ; DYX2L -; libsrc/lines.pla: 0223: LDY ESTKH+3,X ; DYX2H - LDY ESTKH+3,X ; DYX2H -; libsrc/lines.pla: 0224: BEQ ++ - BEQ ++ -; libsrc/lines.pla: 0225: BNE ++ - BNE ++ -; libsrc/lines.pla: 0226: end -; libsrc/lines.pla: 0227: asm _hlineB -_A010 ; _hlineB() -; libsrc/lines.pla: 0228: + LDA ESTKL+1,X ; DY2L -+ LDA ESTKL+1,X ; DY2L -; libsrc/lines.pla: 0229: LDY ESTKH+1,X ; DY2H - LDY ESTKH+1,X ; DY2H -; libsrc/lines.pla: 0230: ++ CLC -++ CLC -; libsrc/lines.pla: 0231: ADC $1000 ; ERRL - ADC $1000 ; ERRL -; libsrc/lines.pla: 0232: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0233: TYA - TYA -; libsrc/lines.pla: 0234: ADC $1001 ; ERRH - ADC $1001 ; ERRH -; libsrc/lines.pla: 0235: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0236: LDA ESTKL+5,X ; X1L - LDA ESTKL+5,X ; X1L -; libsrc/lines.pla: 0237: CMP ESTKL+4,X ; X2L - CMP ESTKL+4,X ; X2L -; libsrc/lines.pla: 0238: LDA ESTKH+5,X - LDA ESTKH+5,X -; libsrc/lines.pla: 0239: SBC ESTKH+4,X - SBC ESTKH+4,X -; libsrc/lines.pla: 0240: BCS + - BCS + -; libsrc/lines.pla: 0241: INC ESTKL+5,X ; XL - INC ESTKL+5,X ; XL -; libsrc/lines.pla: 0242: BNE - - BNE - -; libsrc/lines.pla: 0243: INC ESTKH+5,X ; XH - INC ESTKH+5,X ; XH -; libsrc/lines.pla: 0244: BCC - - BCC - -; libsrc/lines.pla: 0245: + TXA -+ TXA -; libsrc/lines.pla: 0246: ADC #$05 - ADC #$05 -; libsrc/lines.pla: 0247: TAX - TAX -; libsrc/lines.pla: 0248: RTS - RTS -; libsrc/lines.pla: 0249: end -; libsrc/lines.pla: 0250: //def vline(y1, y2, dy2, x, dx2, sx)#0 -; libsrc/lines.pla: 0251: // var dxy2, y -; libsrc/lines.pla: 0252: // -; libsrc/lines.pla: 0253: // err = dx2 - dy2 / 2 -; libsrc/lines.pla: 0254: // dxy2 = dx2 - dy2 -; libsrc/lines.pla: 0255: // for y = y1 to y2 -; libsrc/lines.pla: 0256: // plot(x, y)#0 -; libsrc/lines.pla: 0257: // if err >= 0 -; libsrc/lines.pla: 0258: // x = x + sx -; libsrc/lines.pla: 0259: // err = err + dxy2 -; libsrc/lines.pla: 0260: // else -; libsrc/lines.pla: 0261: // err = err + dx2 -; libsrc/lines.pla: 0262: // fin -; libsrc/lines.pla: 0263: // next -; libsrc/lines.pla: 0264: //end -; libsrc/lines.pla: 0265: asm vline(y1, y2, dy2, x, dx2, sx)#0 -_A011 ; vline() -; libsrc/lines.pla: 0266: LDA ESTKH+3,X ; DY2H - LDA ESTKH+3,X ; DY2H -; libsrc/lines.pla: 0267: LSR - LSR -; libsrc/lines.pla: 0268: STA TMPH - STA TMPH -; libsrc/lines.pla: 0269: LDA ESTKL+3,X ; DY2L - LDA ESTKL+3,X ; DY2L -; libsrc/lines.pla: 0270: ROR - ROR -; libsrc/lines.pla: 0271: STA TMPL - STA TMPL -; libsrc/lines.pla: 0272: LDA ESTKL+1,X ; DX2L - LDA ESTKL+1,X ; DX2L -; libsrc/lines.pla: 0273: SEC - SEC -; libsrc/lines.pla: 0274: SBC TMPL - SBC TMPL -; libsrc/lines.pla: 0275: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0276: LDA ESTKH+1,X ; DX2H - LDA ESTKH+1,X ; DX2H -; libsrc/lines.pla: 0277: SBC TMPH - SBC TMPH -; libsrc/lines.pla: 0278: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0279: LDA ESTKL+1,X ; DX2L - LDA ESTKL+1,X ; DX2L -; libsrc/lines.pla: 0280: SEC - SEC -; libsrc/lines.pla: 0281: SBC ESTKL+3,X ; DX2L - SBC ESTKL+3,X ; DX2L -; libsrc/lines.pla: 0282: STA ESTKL+3,X ; DXY2L - STA ESTKL+3,X ; DXY2L -; libsrc/lines.pla: 0283: LDA ESTKH+1,X ; DX2H - LDA ESTKH+1,X ; DX2H -; libsrc/lines.pla: 0284: SBC ESTKH+3,X ; DY2H - SBC ESTKH+3,X ; DY2H -; libsrc/lines.pla: 0285: STA ESTKH+3,X ; DXY2H - STA ESTKH+3,X ; DXY2H -; libsrc/lines.pla: 0286: - DEX -- DEX -; libsrc/lines.pla: 0287: DEX - DEX -; libsrc/lines.pla: 0288: LDA ESTKL+4,X ; XL - LDA ESTKL+4,X ; XL -; libsrc/lines.pla: 0289: STA ESTKL+1,X - STA ESTKL+1,X -; libsrc/lines.pla: 0290: LDA ESTKH+4,X ; XH - LDA ESTKH+4,X ; XH -; libsrc/lines.pla: 0291: STA ESTKH+1,X - STA ESTKH+1,X -; libsrc/lines.pla: 0292: LDA ESTKL+7,X ; YL - LDA ESTKL+7,X ; YL -; libsrc/lines.pla: 0293: STA ESTKL+0,X - STA ESTKL+0,X -; libsrc/lines.pla: 0294: LDA ESTKH+7,X ; YH - LDA ESTKH+7,X ; YH -; libsrc/lines.pla: 0295: STA ESTKH+0,X - STA ESTKH+0,X -; libsrc/lines.pla: 0296: end -; libsrc/lines.pla: 0297: asm _vlineA -_A012 ; _vlineA() -; libsrc/lines.pla: 0298: JSR $2000 ; PLOT - JSR $2000 ; PLOT -; libsrc/lines.pla: 0299: LDA $1001 ; ERRH - LDA $1001 ; ERRH -; libsrc/lines.pla: 0300: BMI + - BMI + -; libsrc/lines.pla: 0301: LDA ESTKL+2,X ; XL - LDA ESTKL+2,X ; XL -; libsrc/lines.pla: 0302: CLC - CLC -; libsrc/lines.pla: 0303: ADC ESTKL+0,X ; SXL - ADC ESTKL+0,X ; SXL -; libsrc/lines.pla: 0304: STA ESTKL+2,X - STA ESTKL+2,X -; libsrc/lines.pla: 0305: LDA ESTKH+2,X ; XH - LDA ESTKH+2,X ; XH -; libsrc/lines.pla: 0306: ADC ESTKH+0,X ; SXH - ADC ESTKH+0,X ; SXH -; libsrc/lines.pla: 0307: STA ESTKH+2,X - STA ESTKH+2,X -; libsrc/lines.pla: 0308: LDA ESTKL+3,X ; DXY2L - LDA ESTKL+3,X ; DXY2L -; libsrc/lines.pla: 0309: LDY ESTKH+3,X ; DXY2H - LDY ESTKH+3,X ; DXY2H -; libsrc/lines.pla: 0310: BEQ ++ - BEQ ++ -; libsrc/lines.pla: 0311: BNE ++ - BNE ++ -; libsrc/lines.pla: 0312: end -; libsrc/lines.pla: 0313: asm _vlineB -_A013 ; _vlineB() -; libsrc/lines.pla: 0314: + LDA ESTKL+1,X ; DX2L -+ LDA ESTKL+1,X ; DX2L -; libsrc/lines.pla: 0315: LDY ESTKH+1,X ; DX2H - LDY ESTKH+1,X ; DX2H -; libsrc/lines.pla: 0316: ++ CLC -++ CLC -; libsrc/lines.pla: 0317: ADC $1000 ; ERRL - ADC $1000 ; ERRL -; libsrc/lines.pla: 0318: STA $1000 ; ERRL - STA $1000 ; ERRL -; libsrc/lines.pla: 0319: TYA - TYA -; libsrc/lines.pla: 0320: ADC $1001 ; ERRH - ADC $1001 ; ERRH -; libsrc/lines.pla: 0321: STA $1001 ; ERRH - STA $1001 ; ERRH -; libsrc/lines.pla: 0322: LDA ESTKL+5,X ; Y1L - LDA ESTKL+5,X ; Y1L -; libsrc/lines.pla: 0323: CMP ESTKL+4,X ; Y2L - CMP ESTKL+4,X ; Y2L -; libsrc/lines.pla: 0324: LDA ESTKH+5,X - LDA ESTKH+5,X -; libsrc/lines.pla: 0325: SBC ESTKH+4,X - SBC ESTKH+4,X -; libsrc/lines.pla: 0326: BCS + - BCS + -; libsrc/lines.pla: 0327: INC ESTKL+5,X ; YL - INC ESTKL+5,X ; YL -; libsrc/lines.pla: 0328: BNE - - BNE - -; libsrc/lines.pla: 0329: INC ESTKH+5,X ; YH - INC ESTKH+5,X ; YH -; libsrc/lines.pla: 0330: BCC - - BCC - -; libsrc/lines.pla: 0331: + TXA -+ TXA -; libsrc/lines.pla: 0332: ADC #$05 - ADC #$05 -; libsrc/lines.pla: 0333: TAX - TAX -; libsrc/lines.pla: 0334: RTS - RTS -; libsrc/lines.pla: 0335: end -; libsrc/lines.pla: 0336: -; libsrc/lines.pla: 0337: export def setlinespans(h, v)#0 -_SUBSEG ; BYTECODE STARTS - ; h -> [0] - ; v -> [2] -_C000 ; setlinespans() -; libsrc/lines.pla: 0338: hspan = h - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/lines.pla: 0339: vspan = v -; libsrc/lines.pla: 0340: end - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D032+0 -_F003 !WORD _D032+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D033+0 -_F004 !WORD _D033+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/lines.pla: 0341: def hmajorspans(x1, y1, x2, y2, dx, dy, sy)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] - ; dx -> [8] - ; dy -> [10] - ; sy -> [12] -_C001 ; hmajorspans() -; libsrc/lines.pla: 0342: var dy2, halflen, rem - ; dy2 -> [14] - ; halflen -> [16] - ; rem -> [18] -; libsrc/lines.pla: 0343: // -; libsrc/lines.pla: 0344: // Half-span length and error -; libsrc/lines.pla: 0345: // -; libsrc/lines.pla: 0346: dy2 = dy * 2 - !BYTE $58,$14,$07 ; ENTER 20,7 -; libsrc/lines.pla: 0347: halflen, rem = divmod(dx, dy2) -; libsrc/lines.pla: 0348: err = dy2 - rem -; libsrc/lines.pla: 0349: // -; libsrc/lines.pla: 0350: // Long-span length = half-span length * 2 -; libsrc/lines.pla: 0351: // -; libsrc/lines.pla: 0352: longlen = (halflen + 1) * 2 -; libsrc/lines.pla: 0353: longerr = err * 2 -; libsrc/lines.pla: 0354: if longerr >= dy2 -; libsrc/lines.pla: 0355: longerr = longerr - dy2 -; libsrc/lines.pla: 0356: longlen-- - !BYTE $66,$0A ; LLW [10] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _X023 -_F005 !WORD 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$12 ; LLW [18] - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D034+0 -_F006 !WORD _D034+0 - !BYTE $66,$10 ; LLW [16] - !BYTE $8C ; INCR - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D038+0 -_F007 !WORD _D038+0 - !BYTE $6A ; LAW _D034+0 -_F008 !WORD _D034+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $7E ; DAW _D037+0 -_F009 !WORD _D037+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $6A ; LAW _D037+0 -_F010 !WORD _D037+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D037+0 -_F011 !WORD _D037+0 - !BYTE $6A ; LAW _D038+0 -_F012 !WORD _D038+0 - !BYTE $8E ; DECR -; libsrc/lines.pla: 0357: fin - !BYTE $7A ; SAW _D038+0 -_F013 !WORD _D038+0 -_B001 -_B002 -; libsrc/lines.pla: 0358: // -; libsrc/lines.pla: 0359: // Short-span length = long-span length - 1 -; libsrc/lines.pla: 0360: // -; libsrc/lines.pla: 0361: shortlen = longlen - 1 -; libsrc/lines.pla: 0362: shorterr = longerr - dy2 -; libsrc/lines.pla: 0363: majorspans(x1, x1 + halflen, x2, y1, sy, hspan) -; libsrc/lines.pla: 0364: end - !BYTE $6A ; LAW _D038+0 -_F014 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D036+0 -_F015 !WORD _D036+0 - !BYTE $6A ; LAW _D037+0 -_F016 !WORD _D037+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D035+0 -_F017 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $B2,$10 ; ADDLW [16] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _D032+0 -_F018 !WORD _D032+0 - !BYTE $54 ; CALL _A000 -_F019 !WORD _A000 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lines.pla: 0365: def vmajorspans(x1, y1, x2, y2, dx, dy, sx)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] - ; dx -> [8] - ; dy -> [10] - ; sx -> [12] -_C002 ; vmajorspans() -; libsrc/lines.pla: 0366: var dx2, halflen, rem - ; dx2 -> [14] - ; halflen -> [16] - ; rem -> [18] -; libsrc/lines.pla: 0367: -; libsrc/lines.pla: 0368: // -; libsrc/lines.pla: 0369: // Half-span length and error -; libsrc/lines.pla: 0370: // -; libsrc/lines.pla: 0371: dx2 = dx * 2 - !BYTE $58,$14,$07 ; ENTER 20,7 -; libsrc/lines.pla: 0372: halflen, rem = divmod(dy, dx2) -; libsrc/lines.pla: 0373: err = dx2 - rem -; libsrc/lines.pla: 0374: // -; libsrc/lines.pla: 0375: // Long-span length = half-span length * 2 -; libsrc/lines.pla: 0376: // -; libsrc/lines.pla: 0377: longlen = (halflen + 1) * 2 -; libsrc/lines.pla: 0378: longerr = err * 2 -; libsrc/lines.pla: 0379: if longerr >= dx2 -; libsrc/lines.pla: 0380: longerr = longerr - dx2 -; libsrc/lines.pla: 0381: longlen-- - !BYTE $66,$08 ; LLW [8] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _X023 -_F020 !WORD 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$12 ; LLW [18] - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D034+0 -_F021 !WORD _D034+0 - !BYTE $66,$10 ; LLW [16] - !BYTE $8C ; INCR - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D038+0 -_F022 !WORD _D038+0 - !BYTE $6A ; LAW _D034+0 -_F023 !WORD _D034+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $7E ; DAW _D037+0 -_F024 !WORD _D037+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $6A ; LAW _D037+0 -_F025 !WORD _D037+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D037+0 -_F026 !WORD _D037+0 - !BYTE $6A ; LAW _D038+0 -_F027 !WORD _D038+0 - !BYTE $8E ; DECR -; libsrc/lines.pla: 0382: fin - !BYTE $7A ; SAW _D038+0 -_F028 !WORD _D038+0 -_B003 -_B004 -; libsrc/lines.pla: 0383: shortlen = longlen - 1 -; libsrc/lines.pla: 0384: shorterr = longerr - dx2 -; libsrc/lines.pla: 0385: majorspans(y1, y1 + halflen, y2, x1, sx, vspan) -; libsrc/lines.pla: 0386: end - !BYTE $6A ; LAW _D038+0 -_F029 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D036+0 -_F030 !WORD _D036+0 - !BYTE $6A ; LAW _D037+0 -_F031 !WORD _D037+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D035+0 -_F032 !WORD _D035+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $B2,$10 ; ADDLW [16] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _D033+0 -_F033 !WORD _D033+0 - !BYTE $54 ; CALL _A000 -_F034 !WORD _A000 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lines.pla: 0387: export def linespans(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C003 ; linespans() -; libsrc/lines.pla: 0388: var dx, dy, dx2, dy2, halflen, rem, sx, sy - ; dx -> [8] - ; dy -> [10] - ; dx2 -> [12] - ; dy2 -> [14] - ; halflen -> [16] - ; rem -> [18] - ; sx -> [20] - ; sy -> [22] -; libsrc/lines.pla: 0389: -; libsrc/lines.pla: 0390: sx = 1 - !BYTE $58,$18,$04 ; ENTER 24,4 -; libsrc/lines.pla: 0391: sy = 1 -; libsrc/lines.pla: 0392: dx = x2 - x1 -; libsrc/lines.pla: 0393: if dx < 0 -; libsrc/lines.pla: 0394: sx = -1; dx = -dx -; libsrc/lines.pla: 0395: fin - !BYTE $02 ; CN 1 - !BYTE $76,$14 ; SLW [20] - !BYTE $02 ; CN 1 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $6E,$08 ; DLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$08 ; LLW [8] - !BYTE $90 ; NEG - !BYTE $76,$08 ; SLW [8] -_B005 -_B006 -; libsrc/lines.pla: 0396: dy = y2 - y1 -; libsrc/lines.pla: 0397: if dy < 0 -; libsrc/lines.pla: 0398: sy = -1; dy = -dy -; libsrc/lines.pla: 0399: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $6E,$0A ; DLW [10] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$0A ; LLW [10] - !BYTE $90 ; NEG - !BYTE $76,$0A ; SLW [10] -_B007 -_B008 -; libsrc/lines.pla: 0400: if dx >= dy -; libsrc/lines.pla: 0401: if sx < 0 -; libsrc/lines.pla: 0402: y1, y2 = y2, y1 -; libsrc/lines.pla: 0403: x1, x2 = x2, x1 -; libsrc/lines.pla: 0404: sy = -sy -; libsrc/lines.pla: 0405: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $66,$14 ; LLW [20] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$16 ; LLW [22] - !BYTE $90 ; NEG - !BYTE $76,$16 ; SLW [22] -_B011 -_B012 -; libsrc/lines.pla: 0406: if dy == 0 -; libsrc/lines.pla: 0407: hspan(x1, x2, y1)#0; return - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B013 - !WORD _B013-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D032+0 -_F035 !WORD _D032+0 - !BYTE $56 ; ICAL - !BYTE $5A,$18 ; LEAVE 24 -; libsrc/lines.pla: 0408: fin -_B013 -_B014 -; libsrc/lines.pla: 0409: // -; libsrc/lines.pla: 0410: // JIT optimize setup -; libsrc/lines.pla: 0411: // -; libsrc/lines.pla: 0412: hmajorspans(x1, y1, x2, y2, dx, dy, sy) -; libsrc/lines.pla: 0413: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C001 -_F036 !WORD _C001 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; libsrc/lines.pla: 0414: if sy < 0 -; libsrc/lines.pla: 0415: x1, x2 = x2, x1 -; libsrc/lines.pla: 0416: y1, y2 = y2, y1 -; libsrc/lines.pla: 0417: sx = -sx -; libsrc/lines.pla: 0418: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$14 ; LLW [20] - !BYTE $90 ; NEG - !BYTE $76,$14 ; SLW [20] -_B015 -_B016 -; libsrc/lines.pla: 0419: if dx == 0 -; libsrc/lines.pla: 0420: vspan(y1, y2, x1)#0; return - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D033+0 -_F037 !WORD _D033+0 - !BYTE $56 ; ICAL - !BYTE $5A,$18 ; LEAVE 24 -; libsrc/lines.pla: 0421: fin -_B017 -_B018 -; libsrc/lines.pla: 0422: // -; libsrc/lines.pla: 0423: // JIT optimize inner setup -; libsrc/lines.pla: 0424: // -; libsrc/lines.pla: 0425: vmajorspans(x1, y1, x2, y2, dx, dy, sx) -; libsrc/lines.pla: 0426: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C002 -_F038 !WORD _C002 -_B010 -; libsrc/lines.pla: 0427: end - !BYTE $5A,$18 ; LEAVE 24 -; libsrc/lines.pla: 0428: export def setlineplot(p)#0 - ; p -> [0] -_C004 ; setlineplot() -; libsrc/lines.pla: 0429: plot = p - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/lines.pla: 0430: end - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+0 -_F039 !WORD _D031+0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/lines.pla: 0431: export def line(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C005 ; line() -; libsrc/lines.pla: 0432: var sx, sy, dx2, dy2 - ; sx -> [8] - ; sy -> [10] - ; dx2 -> [12] - ; dy2 -> [14] -; libsrc/lines.pla: 0433: -; libsrc/lines.pla: 0434: sx = 1 - !BYTE $58,$10,$04 ; ENTER 16,4 -; libsrc/lines.pla: 0435: sy = 1 -; libsrc/lines.pla: 0436: dx2 = (x2 - x1) * 2 -; libsrc/lines.pla: 0437: if dx2 < 0 -; libsrc/lines.pla: 0438: sx = -1; dx2 = -dx2 -; libsrc/lines.pla: 0439: fin - !BYTE $02 ; CN 1 - !BYTE $76,$08 ; SLW [8] - !BYTE $02 ; CN 1 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $6E,$0C ; DLW [12] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$0C ; LLW [12] - !BYTE $90 ; NEG - !BYTE $76,$0C ; SLW [12] -_B019 -_B020 -; libsrc/lines.pla: 0440: dy2 = (y2 - y1) * 2 -; libsrc/lines.pla: 0441: if dy2 < 0 -; libsrc/lines.pla: 0442: sy = -1; dy2 = -dy2 -; libsrc/lines.pla: 0443: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $6E,$0E ; DLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $76,$0E ; SLW [14] -_B021 -_B022 -; libsrc/lines.pla: 0444: if dx2 >= dy2 -; libsrc/lines.pla: 0445: if sx < 0 -; libsrc/lines.pla: 0446: x1, x2 = x2, x1 -; libsrc/lines.pla: 0447: y1, y2 = y2, y1 -; libsrc/lines.pla: 0448: sy = -sy -; libsrc/lines.pla: 0449: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0A ; LLW [10] - !BYTE $90 ; NEG - !BYTE $76,$0A ; SLW [10] -_B025 -_B026 -; libsrc/lines.pla: 0450: hline(x1, x2, dx2, y1, dy2, sy) -; libsrc/lines.pla: 0451: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _A008 -_F040 !WORD _A008 - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B023 -; libsrc/lines.pla: 0452: if sy < 0 -; libsrc/lines.pla: 0453: y1, y2 = y2, y1 -; libsrc/lines.pla: 0454: x1, x2 = x2, x1 -; libsrc/lines.pla: 0455: sx = -sx -; libsrc/lines.pla: 0456: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $90 ; NEG - !BYTE $76,$08 ; SLW [8] -_B027 -_B028 -; libsrc/lines.pla: 0457: vline(y1, y2, dy2, x1, dx2, sx) -; libsrc/lines.pla: 0458: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A011 -_F041 !WORD _A011 -_B024 -; libsrc/lines.pla: 0459: end - !BYTE $5A,$10 ; LEAVE 16 -; libsrc/lines.pla: 0460: -; libsrc/lines.pla: 0461: // -; libsrc/lines.pla: 0462: // Assembly fixups -; libsrc/lines.pla: 0463: // -; libsrc/lines.pla: 0464: majorspans:1 = @err -_INIT -; libsrc/lines.pla: 0465: majorspans:5 = @shorterr -; libsrc/lines.pla: 0466: majorspans:8 = @err -; libsrc/lines.pla: 0467: majorspans:11 = @err.1 -; libsrc/lines.pla: 0468: majorspans:14 = @shorterr.1 -; libsrc/lines.pla: 0469: majorspans:17 = @err.1 -; libsrc/lines.pla: 0470: majorspans:22 = @_majorspansA.28 -; libsrc/lines.pla: 0471: majorspans:25 = @_majorspansE.31 -; libsrc/lines.pla: 0472: majorspans:30 = @_majorspansA.29 -; libsrc/lines.pla: 0473: majorspans:33 = @_majorspansE.32 -; libsrc/lines.pla: 0474: _majorspansB:1 = @err.1 -; libsrc/lines.pla: 0475: _majorspansC:1 = @err -; libsrc/lines.pla: 0476: _majorspansC:5 = @shorterr -; libsrc/lines.pla: 0477: _majorspansC:8 = @err -; libsrc/lines.pla: 0478: _majorspansC:12 = @shorterr.1 -; libsrc/lines.pla: 0479: _majorspansC:15 = @err.1 -; libsrc/lines.pla: 0480: _majorspansC:21 = @shortlen -; libsrc/lines.pla: 0481: _majorspansC:28 = @shortlen.1 -; libsrc/lines.pla: 0482: _majorspansD:1 = @err -; libsrc/lines.pla: 0483: _majorspansD:5 = @longerr -; libsrc/lines.pla: 0484: _majorspansD:8 = @err -; libsrc/lines.pla: 0485: _majorspansD:12 = @longerr.1 -; libsrc/lines.pla: 0486: _majorspansD:15 = @err.1 -; libsrc/lines.pla: 0487: _majorspansD:21 = @longlen -; libsrc/lines.pla: 0488: _majorspansD:28 = @longlen.1 -; libsrc/lines.pla: 0489: _majorspansE:1 = @_majorspansA -; libsrc/lines.pla: 0490: hline:16 = @err -; libsrc/lines.pla: 0491: hline:23 = @err.1 -; libsrc/lines.pla: 0492: _hlineA:1 = @jmpplot -; libsrc/lines.pla: 0493: _hlineA:4 = @err.1 -; libsrc/lines.pla: 0494: _hlineB:6 = @err -; libsrc/lines.pla: 0495: _hlineB:9 = @err -; libsrc/lines.pla: 0496: _hlineB:13 = @err.1 -; libsrc/lines.pla: 0497: _hlineB:16 = @err.1 -; libsrc/lines.pla: 0498: vline:16 = @err -; libsrc/lines.pla: 0499: vline:23 = @err.1 -; libsrc/lines.pla: 0500: _vlineA:1 = @jmpplot -; libsrc/lines.pla: 0501: _vlineA:4 = @err.1 -; libsrc/lines.pla: 0502: _vlineB:6 = @err -; libsrc/lines.pla: 0503: _vlineB:9 = @err -; libsrc/lines.pla: 0504: _vlineB:13 = @err.1 -; libsrc/lines.pla: 0505: _vlineB:16 = @err.1 -; libsrc/lines.pla: 0506: // -; libsrc/lines.pla: 0507: // Keep module in memory -; libsrc/lines.pla: 0508: // -; libsrc/lines.pla: 0509: return modkeep - !BYTE $26 ; LA _D034+0 -_F042 !WORD _D034+0 - !BYTE $7A ; SAW _A000+1 -_F043 !WORD _A000+1 - !BYTE $26 ; LA _D035+0 -_F044 !WORD _D035+0 - !BYTE $7A ; SAW _A000+5 -_F045 !WORD _A000+5 - !BYTE $26 ; LA _D034+0 -_F046 !WORD _D034+0 - !BYTE $7A ; SAW _A000+8 -_F047 !WORD _A000+8 - !BYTE $26 ; LA _D034+1 -_F048 !WORD _D034+1 - !BYTE $7A ; SAW _A000+11 -_F049 !WORD _A000+11 - !BYTE $26 ; LA _D035+1 -_F050 !WORD _D035+1 - !BYTE $7A ; SAW _A000+14 -_F051 !WORD _A000+14 - !BYTE $26 ; LA _D034+1 -_F052 !WORD _D034+1 - !BYTE $7A ; SAW _A000+17 -_F053 !WORD _A000+17 - !BYTE $26 ; LA _A001+28 -_F054 !WORD _A001+28 - !BYTE $7A ; SAW _A000+22 -_F055 !WORD _A000+22 - !BYTE $26 ; LA _A005+31 -_F056 !WORD _A005+31 - !BYTE $7A ; SAW _A000+25 -_F057 !WORD _A000+25 - !BYTE $26 ; LA _A001+29 -_F058 !WORD _A001+29 - !BYTE $7A ; SAW _A000+30 -_F059 !WORD _A000+30 - !BYTE $26 ; LA _A005+32 -_F060 !WORD _A005+32 - !BYTE $7A ; SAW _A000+33 -_F061 !WORD _A000+33 - !BYTE $26 ; LA _D034+1 -_F062 !WORD _D034+1 - !BYTE $7A ; SAW _A002+1 -_F063 !WORD _A002+1 - !BYTE $26 ; LA _D034+0 -_F064 !WORD _D034+0 - !BYTE $7A ; SAW _A003+1 -_F065 !WORD _A003+1 - !BYTE $26 ; LA _D035+0 -_F066 !WORD _D035+0 - !BYTE $7A ; SAW _A003+5 -_F067 !WORD _A003+5 - !BYTE $26 ; LA _D034+0 -_F068 !WORD _D034+0 - !BYTE $7A ; SAW _A003+8 -_F069 !WORD _A003+8 - !BYTE $26 ; LA _D035+1 -_F070 !WORD _D035+1 - !BYTE $7A ; SAW _A003+12 -_F071 !WORD _A003+12 - !BYTE $26 ; LA _D034+1 -_F072 !WORD _D034+1 - !BYTE $7A ; SAW _A003+15 -_F073 !WORD _A003+15 - !BYTE $26 ; LA _D036+0 -_F074 !WORD _D036+0 - !BYTE $7A ; SAW _A003+21 -_F075 !WORD _A003+21 - !BYTE $26 ; LA _D036+1 -_F076 !WORD _D036+1 - !BYTE $7A ; SAW _A003+28 -_F077 !WORD _A003+28 - !BYTE $26 ; LA _D034+0 -_F078 !WORD _D034+0 - !BYTE $7A ; SAW _A004+1 -_F079 !WORD _A004+1 - !BYTE $26 ; LA _D037+0 -_F080 !WORD _D037+0 - !BYTE $7A ; SAW _A004+5 -_F081 !WORD _A004+5 - !BYTE $26 ; LA _D034+0 -_F082 !WORD _D034+0 - !BYTE $7A ; SAW _A004+8 -_F083 !WORD _A004+8 - !BYTE $26 ; LA _D037+1 -_F084 !WORD _D037+1 - !BYTE $7A ; SAW _A004+12 -_F085 !WORD _A004+12 - !BYTE $26 ; LA _D034+1 -_F086 !WORD _D034+1 - !BYTE $7A ; SAW _A004+15 -_F087 !WORD _A004+15 - !BYTE $26 ; LA _D038+0 -_F088 !WORD _D038+0 - !BYTE $7A ; SAW _A004+21 -_F089 !WORD _A004+21 - !BYTE $26 ; LA _D038+1 -_F090 !WORD _D038+1 - !BYTE $7A ; SAW _A004+28 -_F091 !WORD _A004+28 - !BYTE $26 ; LA _A001+0 -_F092 !WORD _A001+0 - !BYTE $7A ; SAW _A005+1 -_F093 !WORD _A005+1 - !BYTE $26 ; LA _D034+0 -_F094 !WORD _D034+0 - !BYTE $7A ; SAW _A008+16 -_F095 !WORD _A008+16 - !BYTE $26 ; LA _D034+1 -_F096 !WORD _D034+1 - !BYTE $7A ; SAW _A008+23 -_F097 !WORD _A008+23 - !BYTE $26 ; LA _D030+0 -_F098 !WORD _D030+0 - !BYTE $7A ; SAW _A009+1 -_F099 !WORD _A009+1 - !BYTE $26 ; LA _D034+1 -_F100 !WORD _D034+1 - !BYTE $7A ; SAW _A009+4 -_F101 !WORD _A009+4 - !BYTE $26 ; LA _D034+0 -_F102 !WORD _D034+0 - !BYTE $7A ; SAW _A010+6 -_F103 !WORD _A010+6 - !BYTE $26 ; LA _D034+0 -_F104 !WORD _D034+0 - !BYTE $7A ; SAW _A010+9 -_F105 !WORD _A010+9 - !BYTE $26 ; LA _D034+1 -_F106 !WORD _D034+1 - !BYTE $7A ; SAW _A010+13 -_F107 !WORD _A010+13 - !BYTE $26 ; LA _D034+1 -_F108 !WORD _D034+1 - !BYTE $7A ; SAW _A010+16 -_F109 !WORD _A010+16 - !BYTE $26 ; LA _D034+0 -_F110 !WORD _D034+0 - !BYTE $7A ; SAW _A011+16 -_F111 !WORD _A011+16 - !BYTE $26 ; LA _D034+1 -_F112 !WORD _D034+1 - !BYTE $7A ; SAW _A011+23 -_F113 !WORD _A011+23 - !BYTE $26 ; LA _D030+0 -_F114 !WORD _D030+0 - !BYTE $7A ; SAW _A012+1 -_F115 !WORD _A012+1 - !BYTE $26 ; LA _D034+1 -_F116 !WORD _D034+1 - !BYTE $7A ; SAW _A012+4 -_F117 !WORD _A012+4 - !BYTE $26 ; LA _D034+0 -_F118 !WORD _D034+0 - !BYTE $7A ; SAW _A013+6 -_F119 !WORD _A013+6 - !BYTE $26 ; LA _D034+0 -_F120 !WORD _D034+0 - !BYTE $7A ; SAW _A013+9 -_F121 !WORD _A013+9 - !BYTE $26 ; LA _D034+1 -_F122 !WORD _D034+1 - !BYTE $7A ; SAW _A013+13 -_F123 !WORD _A013+13 - !BYTE $26 ; LA _D034+1 -_F124 !WORD _D034+1 - !BYTE $7A ; SAW _A013+16 -_F125 !WORD _A013+16 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/lines.pla: 0510: done -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: DIVMOD - !BYTE $C4,$C9,$D6,$CD,$CF,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 23 ; ESD INDEX - ; DCI STRING: SETLINESPANS - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: LINESPANS - !BYTE $CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: SETLINEPLOT - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D0,$CC,$CF,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: LINE - !BYTE $CC,$C9,$CE,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/longjmp.a b/src/libsrc/longjmp.a deleted file mode 100644 index aca9258..0000000 --- a/src/libsrc/longjmp.a +++ /dev/null @@ -1,175 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/longjmp.pla: 0001: asm incs - !BYTE $00 ; END OF MODULE DEPENDENCIES -_A000 ; incs() -; libsrc/longjmp.pla: 0002: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/longjmp.pla: 0003: XPAGE = $1600 -XPAGE = $1600 -; libsrc/longjmp.pla: 0004: NEXTOP = $F0 -NEXTOP = $F0 -; libsrc/longjmp.pla: 0005: FETCHOP = NEXTOP+1 -FETCHOP = NEXTOP+1 -; libsrc/longjmp.pla: 0006: IP = FETCHOP+1 -IP = FETCHOP+1 -; libsrc/longjmp.pla: 0007: IPL = IP -IPL = IP -; libsrc/longjmp.pla: 0008: IPH = IPL+1 -IPH = IPL+1 -; libsrc/longjmp.pla: 0009: IPX = XPAGE+IPH -IPX = XPAGE+IPH -; libsrc/longjmp.pla: 0010: end -; libsrc/longjmp.pla: 0011: // -; libsrc/longjmp.pla: 0012: // Save environment (PLASMA ZP and stack) for below and return 0 -; libsrc/longjmp.pla: 0013: // -; libsrc/longjmp.pla: 0014: export asm except(env) -_A001 ; except() -; libsrc/longjmp.pla: 0015: LDA ESTKL,X - LDA ESTKL,X -; libsrc/longjmp.pla: 0016: STA SRC - STA SRC -; libsrc/longjmp.pla: 0017: LDA ESTKH,X - LDA ESTKH,X -; libsrc/longjmp.pla: 0018: STA SRC+1 - STA SRC+1 -; libsrc/longjmp.pla: 0019: STX ESP - STX ESP -; libsrc/longjmp.pla: 0020: TSX - TSX -; libsrc/longjmp.pla: 0021: STX TMPL - STX TMPL -; libsrc/longjmp.pla: 0022: LDY TMPL - LDY TMPL -; libsrc/longjmp.pla: 0023: - LDA $0100,Y -- LDA $0100,Y -; libsrc/longjmp.pla: 0024: STA (SRC),Y - STA (SRC),Y -; libsrc/longjmp.pla: 0025: INY - INY -; libsrc/longjmp.pla: 0026: BNE - - BNE - -; libsrc/longjmp.pla: 0027: INC SRC+1 - INC SRC+1 -; libsrc/longjmp.pla: 0028: LDX #ESTK - LDX #ESTK -; libsrc/longjmp.pla: 0029: - LDA $00,X -- LDA $00,X -; libsrc/longjmp.pla: 0030: STA (SRC),Y - STA (SRC),Y -; libsrc/longjmp.pla: 0031: INY - INY -; libsrc/longjmp.pla: 0032: INX - INX -; libsrc/longjmp.pla: 0033: BNE - - BNE - -; libsrc/longjmp.pla: 0034: TXA - TXA -; libsrc/longjmp.pla: 0035: LDX ESP - LDX ESP -; libsrc/longjmp.pla: 0036: STA ESTKL,X - STA ESTKL,X -; libsrc/longjmp.pla: 0037: STA ESTKH,X - STA ESTKH,X -; libsrc/longjmp.pla: 0038: RTS - RTS -; libsrc/longjmp.pla: 0039: end -; libsrc/longjmp.pla: 0040: // -; libsrc/longjmp.pla: 0041: // Restore environment saved above and return retval -; libsrc/longjmp.pla: 0042: // -; libsrc/longjmp.pla: 0043: export asm throw(env, retval) -_A002 ; throw() -; libsrc/longjmp.pla: 0044: LDA ESTKL,X - LDA ESTKL,X -; libsrc/longjmp.pla: 0045: STA SRC - STA SRC -; libsrc/longjmp.pla: 0046: LDA ESTKH,X - LDA ESTKH,X -; libsrc/longjmp.pla: 0047: STA SRC+1 - STA SRC+1 -; libsrc/longjmp.pla: 0048: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/longjmp.pla: 0049: STA DST - STA DST -; libsrc/longjmp.pla: 0050: LDY ESTKH+1,X - LDY ESTKH+1,X -; libsrc/longjmp.pla: 0051: INY - INY -; libsrc/longjmp.pla: 0052: STY DST+1 - STY DST+1 -; libsrc/longjmp.pla: 0053: LDX #ESTK - LDX #ESTK -; libsrc/longjmp.pla: 0054: LDY #$00 - LDY #$00 -; libsrc/longjmp.pla: 0055: - LDA (DST),Y -- LDA (DST),Y -; libsrc/longjmp.pla: 0056: STA $00,X - STA $00,X -; libsrc/longjmp.pla: 0057: INY - INY -; libsrc/longjmp.pla: 0058: INX - INX -; libsrc/longjmp.pla: 0059: BNE - - BNE - -; libsrc/longjmp.pla: 0060: DEC DST+1 - DEC DST+1 -; libsrc/longjmp.pla: 0061: LDX TMPL - LDX TMPL -; libsrc/longjmp.pla: 0062: TXS - TXS -; libsrc/longjmp.pla: 0063: LDY #$FE - LDY #$FE -; libsrc/longjmp.pla: 0064: - LDA (DST),Y -- LDA (DST),Y -; libsrc/longjmp.pla: 0065: STA $0100,Y - STA $0100,Y -; libsrc/longjmp.pla: 0066: DEY - DEY -; libsrc/longjmp.pla: 0067: CPY TMPL - CPY TMPL -; libsrc/longjmp.pla: 0068: BNE - - BNE - -; libsrc/longjmp.pla: 0069: LDX ESP - LDX ESP -; libsrc/longjmp.pla: 0070: LDA SRC - LDA SRC -; libsrc/longjmp.pla: 0071: STA ESTKL,X - STA ESTKL,X -; libsrc/longjmp.pla: 0072: LDA SRC+1 - LDA SRC+1 -; libsrc/longjmp.pla: 0073: STA ESTKH,X - STA ESTKH,X -; libsrc/longjmp.pla: 0074: RTS - RTS -; libsrc/longjmp.pla: 0075: end -; libsrc/longjmp.pla: 0076: done - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A001 - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _A002 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/lz4.a b/src/libsrc/lz4.a deleted file mode 100644 index 0676305..0000000 --- a/src/libsrc/lz4.a +++ /dev/null @@ -1,991 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/lz4.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/lz4.pla: 0001: -; libsrc/lz4.pla: 0002: include "inc/lz4.plh" -; inc/lz4.plh: 0001: import lz4 -; inc/lz4.plh: 0002: const LZ4_OK = 0 - ; LZ4_OK = 0 -; inc/lz4.plh: 0003: const LZ4_INVALID = -1 - ; LZ4_INVALID = -1 -; inc/lz4.plh: 0004: const LZ4_WRONG_VERSION = -2 - ; LZ4_WRONG_VERSION = -2 -; inc/lz4.plh: 0005: const LZ4_NOT_64K = -3 - ; LZ4_NOT_64K = -3 -; inc/lz4.plh: 0006: struc t_lz4header -; inc/lz4.plh: 0007: word lz4magic[2] - ; lz4magic = 0 -; inc/lz4.plh: 0008: byte lz4FLG - ; lz4FLG = 4 -; inc/lz4.plh: 0009: byte lz4BD - ; lz4BD = 5 -; inc/lz4.plh: 0010: end - ; t_lz4header = 6 -; inc/lz4.plh: 0011: predef lz4Unpack(seq, seqend, buff, buffend) - ; LZ4UNPACK -> X028 -; inc/lz4.plh: 0012: predef lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1 - ; LZ4READ -> X029 -; inc/lz4.plh: 0013: end -; libsrc/lz4.pla: 0002: -; libsrc/lz4.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X030 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X031 -; inc/fileio.plh: 0082: end -; libsrc/lz4.pla: 0003: -; libsrc/lz4.pla: 0004: asm incs - !BYTE $00 ; END OF MODULE DEPENDENCIES -_A000 ; incs() -; libsrc/lz4.pla: 0005: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/lz4.pla: 0006: end -; libsrc/lz4.pla: 0007: // -; libsrc/lz4.pla: 0008: // Always forward copy memory - important for overlapping match sequences -; libsrc/lz4.pla: 0009: // -; libsrc/lz4.pla: 0010: asm bcpy(dst, src, len)#0 -_A001 ; bcpy() -; libsrc/lz4.pla: 0011: INX - INX -; libsrc/lz4.pla: 0012: INX - INX -; libsrc/lz4.pla: 0013: INX - INX -; libsrc/lz4.pla: 0014: LDA ESTKL-3,X - LDA ESTKL-3,X -; libsrc/lz4.pla: 0015: ORA ESTKH-3,X - ORA ESTKH-3,X -; libsrc/lz4.pla: 0016: BEQ CPYEX - BEQ CPYEX -; libsrc/lz4.pla: 0017: LDA ESTKL-1,X - LDA ESTKL-1,X -; libsrc/lz4.pla: 0018: STA DSTL - STA DSTL -; libsrc/lz4.pla: 0019: LDA ESTKH-1,X - LDA ESTKH-1,X -; libsrc/lz4.pla: 0020: STA DSTH - STA DSTH -; libsrc/lz4.pla: 0021: LDA ESTKL-2,X - LDA ESTKL-2,X -; libsrc/lz4.pla: 0022: STA SRCL - STA SRCL -; libsrc/lz4.pla: 0023: LDA ESTKH-2,X - LDA ESTKH-2,X -; libsrc/lz4.pla: 0024: STA SRCH - STA SRCH -; libsrc/lz4.pla: 0025: LDY ESTKL-3,X - LDY ESTKL-3,X -; libsrc/lz4.pla: 0026: BEQ CPYLP - BEQ CPYLP -; libsrc/lz4.pla: 0027: INC ESTKH-3,X - INC ESTKH-3,X -; libsrc/lz4.pla: 0028: LDY #$00 - LDY #$00 -; libsrc/lz4.pla: 0029: CPYLP LDA (SRC),Y -CPYLP LDA (SRC),Y -; libsrc/lz4.pla: 0030: STA (DST),Y - STA (DST),Y -; libsrc/lz4.pla: 0031: INY - INY -; libsrc/lz4.pla: 0032: BNE + - BNE + -; libsrc/lz4.pla: 0033: INC DSTH - INC DSTH -; libsrc/lz4.pla: 0034: INC SRCH - INC SRCH -; libsrc/lz4.pla: 0035: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; libsrc/lz4.pla: 0036: BNE CPYLP - BNE CPYLP -; libsrc/lz4.pla: 0037: DEC ESTKH-3,X - DEC ESTKH-3,X -; libsrc/lz4.pla: 0038: BNE CPYLP - BNE CPYLP -; libsrc/lz4.pla: 0039: CPYEX RTS -CPYEX RTS -; libsrc/lz4.pla: 0040: end -; libsrc/lz4.pla: 0041: // -; libsrc/lz4.pla: 0042: // Unpack LZ4 sequence into buffer, return unpacked length -; libsrc/lz4.pla: 0043: // -; libsrc/lz4.pla: 0044: export def lz4Unpack(seq, seqend, buff, buffend) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; seq -> [0] - ; seqend -> [2] - ; buff -> [4] - ; buffend -> [6] -_P028 ; lz4Unpack(seq, seqend, buff, buffend)() -_C000 ; lz4Unpack() -; libsrc/lz4.pla: 0045: word data, len, match, i - ; data -> [8] - ; len -> [10] - ; match -> [12] - ; i -> [14] -; libsrc/lz4.pla: 0046: byte token - ; token -> [16] -; libsrc/lz4.pla: 0047: -; libsrc/lz4.pla: 0048: data = buff - !BYTE $58,$11,$04 ; ENTER 17,4 -; libsrc/lz4.pla: 0049: while isult(seq, seqend) - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; libsrc/lz4.pla: 0050: token = ^seq -; libsrc/lz4.pla: 0051: seq++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$10 ; SLB [16] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/lz4.pla: 0052: len = token >> 4 -; libsrc/lz4.pla: 0053: if len -; libsrc/lz4.pla: 0054: // -; libsrc/lz4.pla: 0055: // Literal sequence -; libsrc/lz4.pla: 0056: // -; libsrc/lz4.pla: 0057: if len == 15 -; libsrc/lz4.pla: 0058: while ^seq == 255 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$10 ; LLB [16] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $6E,$0A ; DLW [10] - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $66,$0A ; LLW [10] - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B006 - !WORD _B006-* - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B008 -; libsrc/lz4.pla: 0059: len = len + 255 -; libsrc/lz4.pla: 0060: seq++ - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$FF ; ADDI 255 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/lz4.pla: 0061: loop - !BYTE $76,$00 ; SLW [0] -_B010 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B008 - !WORD _B008-* -_B009 -; libsrc/lz4.pla: 0062: len = len + ^seq -; libsrc/lz4.pla: 0063: seq++ - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/lz4.pla: 0064: fin - !BYTE $76,$00 ; SLW [0] -_B006 -_B007 -; libsrc/lz4.pla: 0065: if isuge(data + len, buffend); return 0; fin - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X025 -_F000 !WORD 0 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $00 ; CN 0 - !BYTE $5A,$11 ; LEAVE 17 -_B011 -_B012 -; libsrc/lz4.pla: 0066: bcpy(data, seq, len) -; libsrc/lz4.pla: 0067: data = data + len -; libsrc/lz4.pla: 0068: seq = seq + len -; libsrc/lz4.pla: 0069: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _A001 -_F001 !WORD _A001 - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $76,$00 ; SLW [0] -_B004 -_B005 -; libsrc/lz4.pla: 0070: len = token & $0F -; libsrc/lz4.pla: 0071: if len or isult(seq, seqend) -; libsrc/lz4.pla: 0072: // -; libsrc/lz4.pla: 0073: // Match sequence -; libsrc/lz4.pla: 0074: // -; libsrc/lz4.pla: 0075: match = data - *seq -; libsrc/lz4.pla: 0076: seq = seq + 2 -; libsrc/lz4.pla: 0077: len = len + 4 -; libsrc/lz4.pla: 0078: if len == 19 // $0F + 4 -; libsrc/lz4.pla: 0079: while ^seq == 255 - !BYTE $64,$10 ; LLB [16] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $6E,$0A ; DLW [10] - !BYTE $AE ; BROR _B013 - !WORD _B013-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X026 -_F002 !WORD 0 -_B013 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $6E,$0A ; DLW [10] - !BYTE $2A,$13 ; CB 19 - !BYTE $24 ; BRNE _B016 - !WORD _B016-* - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -_B018 -; libsrc/lz4.pla: 0080: len = len + 255 -; libsrc/lz4.pla: 0081: seq++ - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$FF ; ADDI 255 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/lz4.pla: 0082: loop - !BYTE $76,$00 ; SLW [0] -_B020 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B018 - !WORD _B018-* -_B019 -; libsrc/lz4.pla: 0083: len = len + ^seq -; libsrc/lz4.pla: 0084: seq++ - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/lz4.pla: 0085: fin - !BYTE $76,$00 ; SLW [0] -_B016 -_B017 -; libsrc/lz4.pla: 0086: if isuge(data + len, buffend); return 0; fin - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X025 -_F003 !WORD 0 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $00 ; CN 0 - !BYTE $5A,$11 ; LEAVE 17 -_B021 -_B022 -; libsrc/lz4.pla: 0087: bcpy(data, match, len) -; libsrc/lz4.pla: 0088: data = data + len -; libsrc/lz4.pla: 0089: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _A001 -_F004 !WORD _A001 - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $76,$08 ; SLW [8] -_B014 -_B015 -; libsrc/lz4.pla: 0090: loop -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X026 -_F005 !WORD 0 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/lz4.pla: 0091: return data - buff - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $5A,$11 ; LEAVE 17 -; libsrc/lz4.pla: 0092: end -; libsrc/lz4.pla: 0093: def lz4ReadBlock(ref, flags, dstbuf, dstend, unpackbuf, unpackend)#1 - ; ref -> [0] - ; flags -> [2] - ; dstbuf -> [4] - ; dstend -> [6] - ; unpackbuf -> [8] - ; unpackend -> [10] -_C001 ; lz4ReadBlock() -; libsrc/lz4.pla: 0094: word size[2], block, len - ; size -> [12] - ; block -> [16] - ; len -> [18] -; libsrc/lz4.pla: 0095: -; libsrc/lz4.pla: 0096: len = fileio:read(ref, @size, 4) - !BYTE $58,$14,$06 ; ENTER 20,6 -; libsrc/lz4.pla: 0097: if len <> 4 or size[0] == 0 or size[1] & $7FFF -; libsrc/lz4.pla: 0098: return 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$0C ; LLA [12] - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X030+18 -_F006 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$12 ; DLW [18] - !BYTE $08 ; CN 4 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B023 - !WORD _B023-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B024 - !WORD _B024-* - !BYTE $66,$0E ; LLW [14] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND -_B024 -_B023 - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $00 ; CN 0 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lz4.pla: 0099: fin -_B025 -_B026 -; libsrc/lz4.pla: 0100: if size[1] & $8000 -; libsrc/lz4.pla: 0101: // -; libsrc/lz4.pla: 0102: // Uncompressed block, read directly into dst buffer -; libsrc/lz4.pla: 0103: // -; libsrc/lz4.pla: 0104: if dstbuf + size[0] > dstend -; libsrc/lz4.pla: 0105: size[0] = dstend - dstbuf -; libsrc/lz4.pla: 0106: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $76,$0C ; SLW [12] -_B029 -_B030 -; libsrc/lz4.pla: 0107: len = fileio:read(ref, dstbuf, size[0]) -; libsrc/lz4.pla: 0108: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _X030+18 -_F007 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$12 ; SLW [18] - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B027 -; libsrc/lz4.pla: 0109: // -; libsrc/lz4.pla: 0110: // Decompress from end of destination buffer -; libsrc/lz4.pla: 0111: // -; libsrc/lz4.pla: 0112: block = unpackend - size[0] -; libsrc/lz4.pla: 0113: fileio:read(ref, block, size[0]) -; libsrc/lz4.pla: 0114: len = lz4Unpack(block, block + size[0], dstbuf, dstend) -; libsrc/lz4.pla: 0115: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $84 ; SUB - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$10 ; LLW [16] - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _X030+18 -_F008 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$10 ; LLW [16] - !BYTE $34 ; DUP - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F009 !WORD _C000 - !BYTE $76,$12 ; SLW [18] -_B028 -; libsrc/lz4.pla: 0116: if flags & $10 // Block Checksum -; libsrc/lz4.pla: 0117: fileio:read(ref, @size, 4) -; libsrc/lz4.pla: 0118: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$0C ; LLA [12] - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X030+18 -_F010 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B031 -_B032 -; libsrc/lz4.pla: 0119: return len - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lz4.pla: 0120: end -; libsrc/lz4.pla: 0121: export def lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1 - ; filestr -> [0] - ; dstbuf -> [2] - ; dstend -> [4] - ; unpackbuf -> [6] - ; unpackend -> [8] -_P029 ; lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1() -_C002 ; lz4Read() -; libsrc/lz4.pla: 0122: word len - ; len -> [10] -; libsrc/lz4.pla: 0123: byte ref, header[t_lz4header], opt - ; ref -> [12] - ; header -> [13] - ; opt -> [19] -; libsrc/lz4.pla: 0124: -; libsrc/lz4.pla: 0125: ref = fileio:open(filestr) - !BYTE $58,$14,$05 ; ENTER 20,5 -; libsrc/lz4.pla: 0126: if not ref; return LZ4_INVALID; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X030+14 -_F011 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0C ; DLB [12] - !BYTE $4E ; BRTRU _B033 - !WORD _B033-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$14 ; LEAVE 20 -_B033 -_B034 -; libsrc/lz4.pla: 0127: fileio:read(ref, @header, t_lz4header) -; libsrc/lz4.pla: 0128: if header:lz4magic[1] <> $184D or header:lz4magic[0] <> $2204 -; libsrc/lz4.pla: 0129: return LZ4_INVALID - !BYTE $64,$0C ; LLB [12] - !BYTE $28,$0D ; LLA [13] - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _X030+18 -_F012 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$0F ; LLW [15] - !BYTE $2C,$4D,$18 ; CW 6221 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B035 - !WORD _B035-* - !BYTE $66,$0D ; LLW [13] - !BYTE $2C,$04,$22 ; CW 8708 - !BYTE $42 ; ISNE -_B035 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lz4.pla: 0130: fin -_B036 -_B037 -; libsrc/lz4.pla: 0131: if header.lz4FLG & $C0 <> $40 -; libsrc/lz4.pla: 0132: return LZ4_WRONG_VERSION - !BYTE $64,$11 ; LLB [17] - !BYTE $3C,$C0 ; ANDI 192 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B038 - !WORD _B038-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lz4.pla: 0133: fin -_B038 -_B039 -; libsrc/lz4.pla: 0134: if header.lz4BD & $70 <> $40 -; libsrc/lz4.pla: 0135: return LZ4_NOT_64K - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B040 - !WORD _B040-* - !BYTE $5E,$FD ; CFFB -3 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lz4.pla: 0136: fin -_B040 -_B041 -; libsrc/lz4.pla: 0137: opt = 1 -; libsrc/lz4.pla: 0138: if header.lz4FLG & $08 // Content Size -; libsrc/lz4.pla: 0139: opt = opt + 8 -; libsrc/lz4.pla: 0140: fin - !BYTE $02 ; CN 1 - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$11 ; LLB [17] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $64,$13 ; LLB [19] - !BYTE $38,$08 ; ADDI 8 - !BYTE $74,$13 ; SLB [19] -_B042 -_B043 -; libsrc/lz4.pla: 0141: if header.lz4FLG & $01 // Dictionary ID -; libsrc/lz4.pla: 0142: opt = opt + 4 -; libsrc/lz4.pla: 0143: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $64,$13 ; LLB [19] - !BYTE $38,$04 ; ADDI 4 - !BYTE $74,$13 ; SLB [19] -_B044 -_B045 -; libsrc/lz4.pla: 0144: fileio:read(ref, heapmark, opt) // Read rest of header and throw away -; libsrc/lz4.pla: 0145: repeat - !BYTE $64,$0C ; LLB [12] - !BYTE $54 ; CALL _X012 -_F013 !WORD 0 - !BYTE $64,$13 ; LLB [19] - !BYTE $6A ; LAW _X030+18 -_F014 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B047 -; libsrc/lz4.pla: 0146: len = lz4ReadBlock(ref, header.lz4FLG, dstbuf, dstend, unpackbuf, unpackend) -; libsrc/lz4.pla: 0147: dstbuf = len + dstbuf -; libsrc/lz4.pla: 0148: until len == 0 - !BYTE $64,$0C ; LLB [12] - !BYTE $64,$11 ; LLB [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C001 -_F015 !WORD _C001 - !BYTE $6E,$0A ; DLW [10] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $76,$02 ; SLW [2] -_B048 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B047 - !WORD _B047-* -_B046 -; libsrc/lz4.pla: 0149: fileio:close(ref) -; libsrc/lz4.pla: 0150: return LZ4_OK - !BYTE $64,$0C ; LLB [12] - !BYTE $6A ; LAW _X030+16 -_F016 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$14 ; LEAVE 20 -; libsrc/lz4.pla: 0151: end -; libsrc/lz4.pla: 0152: done -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: LZ4UNPACK - !BYTE $CC,$DA,$B4,$D5,$CE,$D0,$C1,$C3,$4B - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: LZ4READ - !BYTE $CC,$DA,$B4,$D2,$C5,$C1,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/memmgr.a b/src/libsrc/memmgr.a deleted file mode 100644 index 7ad1d2a..0000000 --- a/src/libsrc/memmgr.a +++ /dev/null @@ -1,4077 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/memmgr.pla: 0001: // -; libsrc/memmgr.pla: 0002: // Handle based swapping memory manager -; libsrc/memmgr.pla: 0003: // -; libsrc/memmgr.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/memmgr.pla: 0004: -; libsrc/memmgr.pla: 0005: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; libsrc/memmgr.pla: 0005: -; libsrc/memmgr.pla: 0006: -; libsrc/memmgr.pla: 0007: struc t_initdata - !BYTE $00 ; END OF MODULE DEPENDENCIES -; libsrc/memmgr.pla: 0008: word volptr - ; volptr = 0 -; libsrc/memmgr.pla: 0009: word freeblks - ; freeblks = 2 -; libsrc/memmgr.pla: 0010: word ramvol - ; ramvol = 4 -; libsrc/memmgr.pla: 0011: word bestvol - ; bestvol = 6 -; libsrc/memmgr.pla: 0012: word ramfree - ; ramfree = 8 -; libsrc/memmgr.pla: 0013: word bestfree - ; bestfree = 10 -; libsrc/memmgr.pla: 0014: word filecnt - ; filecnt = 12 -; libsrc/memmgr.pla: 0015: word catentry - ; catentry = 14 -; libsrc/memmgr.pla: 0016: byte catref - ; catref = 16 -; libsrc/memmgr.pla: 0017: byte firstblk - ; firstblk = 17 -; libsrc/memmgr.pla: 0018: byte entrylen - ; entrylen = 18 -; libsrc/memmgr.pla: 0019: byte entriesblk - ; entriesblk = 19 -; libsrc/memmgr.pla: 0020: byte swapstrlen - ; swapstrlen = 20 -; libsrc/memmgr.pla: 0021: byte[4] volparms - ; volparms = 21 -; libsrc/memmgr.pla: 0022: byte[] volinfo - ; volinfo = 25 -; libsrc/memmgr.pla: 0023: byte[] catalog - ; catalog = 25 -; libsrc/memmgr.pla: 0024: end - ; t_initdata = 25 -; libsrc/memmgr.pla: 0025: word initdata -_D030 !FILL 2 ; initdata -; libsrc/memmgr.pla: 0026: // -; libsrc/memmgr.pla: 0027: // Access bytes within a word -; libsrc/memmgr.pla: 0028: // -; libsrc/memmgr.pla: 0029: struc t_word -; libsrc/memmgr.pla: 0030: byte lsb - ; lsb = 0 -; libsrc/memmgr.pla: 0031: byte msb - ; msb = 1 -; libsrc/memmgr.pla: 0032: end - ; t_word = 2 -; libsrc/memmgr.pla: 0033: // -; libsrc/memmgr.pla: 0034: // Alloced memory block structure -; libsrc/memmgr.pla: 0035: // -; libsrc/memmgr.pla: 0036: struc t_memblk -; libsrc/memmgr.pla: 0037: word blksiz - ; blksiz = 0 -; libsrc/memmgr.pla: 0038: byte blkref - ; blkref = 2 -; libsrc/memmgr.pla: 0039: byte blklok - ; blklok = 3 -; libsrc/memmgr.pla: 0040: end - ; t_memblk = 4 -; libsrc/memmgr.pla: 0041: // -; libsrc/memmgr.pla: 0042: // Free memory block structure -; libsrc/memmgr.pla: 0043: // -; libsrc/memmgr.pla: 0044: struc t_freblk -; libsrc/memmgr.pla: 0045: word fresiz - ; fresiz = 0 -; libsrc/memmgr.pla: 0046: word frenxt - ; frenxt = 2 -; libsrc/memmgr.pla: 0047: end - ; t_freblk = 4 -; libsrc/memmgr.pla: 0048: // -; libsrc/memmgr.pla: 0049: // Block size -; libsrc/memmgr.pla: 0050: // -; libsrc/memmgr.pla: 0051: const MAX_BLK_SIZE = $2010 - ; MAX_BLK_SIZE = 8208 -; libsrc/memmgr.pla: 0052: const MAX_BLK_MASK = $1FFF - ; MAX_BLK_MASK = 8191 -; libsrc/memmgr.pla: 0053: const MIN_BLK_SIZE = $04 - ; MIN_BLK_SIZE = 4 -; libsrc/memmgr.pla: 0054: const MIN_BLK_MASK = $03 - ; MIN_BLK_MASK = 3 -; libsrc/memmgr.pla: 0055: // -; libsrc/memmgr.pla: 0056: // Block states -; libsrc/memmgr.pla: 0057: // -; libsrc/memmgr.pla: 0058: const HMEM_ADDR = $FFFC - ; HMEM_ADDR = 65532 -; libsrc/memmgr.pla: 0059: const HMEM_SIZE = $FFFC - ; HMEM_SIZE = 65532 -; libsrc/memmgr.pla: 0060: const HMEM_STATE = $03 - ; HMEM_STATE = 3 -; libsrc/memmgr.pla: 0061: const HMEM_MOVEABLE = $00 // Many dependencies on this being $00 - ; HMEM_MOVEABLE = 0 -; libsrc/memmgr.pla: 0062: const HMEM_AVAIL = $01 - ; HMEM_AVAIL = 1 -; libsrc/memmgr.pla: 0063: const HMEM_LOCKED = $02 - ; HMEM_LOCKED = 2 -; libsrc/memmgr.pla: 0064: const HMEM_SWAPPED = $03 - ; HMEM_SWAPPED = 3 -; libsrc/memmgr.pla: 0065: // -; libsrc/memmgr.pla: 0066: // Block flags -; libsrc/memmgr.pla: 0067: // -; libsrc/memmgr.pla: 0068: const HMEM_ACCESSED = $80 - ; HMEM_ACCESSED = 128 -; libsrc/memmgr.pla: 0069: // -; libsrc/memmgr.pla: 0070: // Handle modifier -; libsrc/memmgr.pla: 0071: // -; libsrc/memmgr.pla: 0072: const HMOD = $4321 - ; HMOD = 17185 -; libsrc/memmgr.pla: 0073: // -; libsrc/memmgr.pla: 0074: // Handle tables/lists -; libsrc/memmgr.pla: 0075: // -; libsrc/memmgr.pla: 0076: const PG_SIZE = 512 - ; PG_SIZE = 512 -; libsrc/memmgr.pla: 0077: const PG_ENTRIES = 256 - ; PG_ENTRIES = 256 -; libsrc/memmgr.pla: 0078: const PG_TBL_SIZE = 8 - ; PG_TBL_SIZE = 8 -; libsrc/memmgr.pla: 0079: word sysbuf -_D031 !FILL 2 ; sysbuf -; libsrc/memmgr.pla: 0080: word[PG_TBL_SIZE] hpgtbl // Handle page table -_D032 !FILL 16 ; hpgtbl // Handle page table -; libsrc/memmgr.pla: 0081: word pooladdr -_D033 !FILL 2 ; pooladdr -; libsrc/memmgr.pla: 0082: word poolsize -_D034 !FILL 2 ; poolsize -; libsrc/memmgr.pla: 0083: word frelst // Free list -_D035 !FILL 2 ; frelst // Free list -; libsrc/memmgr.pla: 0084: byte sweeppg, sweepen -_D036 !FILL 1 ; sweeppg, sweepen -_D037 !FILL 1 ; sweepen -; libsrc/memmgr.pla: 0085: byte[64] swapvol = "/" // Swap volume -_D038 ; swapvol = "/" // Swap volume - !BYTE $01 - !BYTE $2F - !FILL $3E -; libsrc/memmgr.pla: 0086: byte swapdir = "/SWAP/" -_D039 ; swapdir = "/SWAP/" - !BYTE $06 - !BYTE $2F,$53,$57,$41,$50,$2F -; libsrc/memmgr.pla: 0087: byte hexchar = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D040 ; hexchar = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' - !BYTE $30 - !BYTE $31 - !BYTE $32 - !BYTE $33 - !BYTE $34 - !BYTE $35 - !BYTE $36 - !BYTE $37 - !BYTE $38 - !BYTE $39 - !BYTE $41 - !BYTE $42 - !BYTE $43 - !BYTE $44 - !BYTE $45 - !BYTE $46 -; libsrc/memmgr.pla: 0088: // -; libsrc/memmgr.pla: 0089: // DEBUG -; libsrc/memmgr.pla: 0090: // -; libsrc/memmgr.pla: 0091: //byte swapinstr = "Swap in:" -; libsrc/memmgr.pla: 0092: //byte swapoutstr = "Swap out:" -; libsrc/memmgr.pla: 0093: //byte getblkstr = "Get block = " -; libsrc/memmgr.pla: 0094: //byte allocpgstr = "Alloc page:" -; libsrc/memmgr.pla: 0095: // -; libsrc/memmgr.pla: 0096: //def putln -; libsrc/memmgr.pla: 0097: // return putc($0D) -; libsrc/memmgr.pla: 0098: //end -; libsrc/memmgr.pla: 0099: //def putb(hexb) -; libsrc/memmgr.pla: 0100: // return call($FDDA, hexb, 0, 0, 0) -; libsrc/memmgr.pla: 0101: //end -; libsrc/memmgr.pla: 0102: //def puth(hex) -; libsrc/memmgr.pla: 0103: // return call($F941, hex >> 8, hex, 0, 0) -; libsrc/memmgr.pla: 0104: //end -; libsrc/memmgr.pla: 0105: // -; libsrc/memmgr.pla: 0106: // Fill block filename -; libsrc/memmgr.pla: 0107: // -; libsrc/memmgr.pla: 0108: def strcharadd(str, chr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; str -> [0] - ; chr -> [2] -_C000 ; strcharadd() -; libsrc/memmgr.pla: 0109: ^str = ^str + 1 - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/memmgr.pla: 0110: str->.[^str] = chr -; libsrc/memmgr.pla: 0111: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0112: def swapfile(filestr, hmem)#0 - ; filestr -> [0] - ; hmem -> [2] -_C001 ; swapfile() -; libsrc/memmgr.pla: 0113: memcpy(filestr, @swapvol, swapvol + 1) - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/memmgr.pla: 0114: strcharadd(filestr, 'H') -; libsrc/memmgr.pla: 0115: strcharadd(filestr, hexchar[(hmem >> 12) & $0F]) -; libsrc/memmgr.pla: 0116: strcharadd(filestr, hexchar[(hmem >> 8) & $0F]) -; libsrc/memmgr.pla: 0117: strcharadd(filestr, hexchar[(hmem >> 4) & $0F]) -; libsrc/memmgr.pla: 0118: strcharadd(filestr, hexchar[ hmem & $0F]) -; libsrc/memmgr.pla: 0119: end - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D038+0 -_F000 !WORD _D038+0 - !BYTE $68 ; LAB _D038+0 -_F001 !WORD _D038+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F002 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$48 ; CB 72 - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+0 -_F004 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $18 ; CN 12 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C000 -_F005 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+0 -_F006 !WORD _D040+0 - !BYTE $64,$03 ; LLB [3] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C000 -_F007 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+0 -_F008 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C000 -_F009 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D040+0 -_F010 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C000 -_F011 !WORD _C000 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0120: // -; libsrc/memmgr.pla: 0121: // Find exact/best free memory match -; libsrc/memmgr.pla: 0122: // -; libsrc/memmgr.pla: 0123: def unlink(freblk, freprv) - ; freblk -> [0] - ; freprv -> [2] -_C002 ; unlink() -; libsrc/memmgr.pla: 0124: // -; libsrc/memmgr.pla: 0125: // Unlink free block -; libsrc/memmgr.pla: 0126: // -; libsrc/memmgr.pla: 0127: if freprv - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/memmgr.pla: 0128: freprv=>frenxt = freblk=>frenxt -; libsrc/memmgr.pla: 0129: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; libsrc/memmgr.pla: 0130: frelst = freblk=>frenxt -; libsrc/memmgr.pla: 0131: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D035+0 -_F012 !WORD _D035+0 -_B002 -; libsrc/memmgr.pla: 0132: return freblk - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0133: end -; libsrc/memmgr.pla: 0134: def unfre(freblk, freprv, size) - ; freblk -> [0] - ; freprv -> [2] - ; size -> [4] -_C003 ; unfre() -; libsrc/memmgr.pla: 0135: word shrink - ; shrink -> [6] -; libsrc/memmgr.pla: 0136: -; libsrc/memmgr.pla: 0137: if freblk=>fresiz == size - !BYTE $58,$08,$03 ; ENTER 8,3 -; libsrc/memmgr.pla: 0138: // -; libsrc/memmgr.pla: 0139: // Unlink free block -; libsrc/memmgr.pla: 0140: // -; libsrc/memmgr.pla: 0141: unlink(freblk, freprv) -; libsrc/memmgr.pla: 0142: elsif freblk=>fresiz > size - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $24 ; BRNE _B003 - !WORD _B003-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F013 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; libsrc/memmgr.pla: 0143: // -; libsrc/memmgr.pla: 0144: // Shrink free block -; libsrc/memmgr.pla: 0145: // -; libsrc/memmgr.pla: 0146: shrink = freblk + size -; libsrc/memmgr.pla: 0147: if freprv -; libsrc/memmgr.pla: 0148: freprv=>frenxt = shrink -; libsrc/memmgr.pla: 0149: else - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; libsrc/memmgr.pla: 0150: frelst = shrink -; libsrc/memmgr.pla: 0151: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D035+0 -_F014 !WORD _D035+0 -_B007 -; libsrc/memmgr.pla: 0152: shrink=>fresiz = freblk=>fresiz - size -; libsrc/memmgr.pla: 0153: shrink=>frenxt = freblk=>frenxt -; libsrc/memmgr.pla: 0154: else - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B005 -; libsrc/memmgr.pla: 0155: freblk = 0 -; libsrc/memmgr.pla: 0156: fin - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B004 -; libsrc/memmgr.pla: 0157: return freblk - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/memmgr.pla: 0158: end -; libsrc/memmgr.pla: 0159: def addfre(freblk)#0 - ; freblk -> [0] -_C004 ; addfre() -; libsrc/memmgr.pla: 0160: word srch - ; srch -> [2] -; libsrc/memmgr.pla: 0161: -; libsrc/memmgr.pla: 0162: //freblk=>fresiz = freblk=>blksiz -; libsrc/memmgr.pla: 0163: if frelst and frelst < freblk - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/memmgr.pla: 0164: srch = frelst -; libsrc/memmgr.pla: 0165: while srch=>frenxt - !BYTE $6A ; LAW _D035+0 -_F015 !WORD _D035+0 - !BYTE $AC ; BRAND _B008 - !WORD _B008-* - !BYTE $6A ; LAW _D035+0 -_F016 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $46 ; ISLT -_B008 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D035+0 -_F017 !WORD _D035+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -_B011 -; libsrc/memmgr.pla: 0166: if srch=>frenxt > freblk -; libsrc/memmgr.pla: 0167: // -; libsrc/memmgr.pla: 0168: // Insert into list -; libsrc/memmgr.pla: 0169: // -; libsrc/memmgr.pla: 0170: freblk=>frenxt = srch=>frenxt -; libsrc/memmgr.pla: 0171: srch=>frenxt = freblk -; libsrc/memmgr.pla: 0172: return - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0173: fin -_B014 -_B015 -; libsrc/memmgr.pla: 0174: srch = srch=>frenxt -; libsrc/memmgr.pla: 0175: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B013 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B011 - !WORD _B011-* -_B012 -; libsrc/memmgr.pla: 0176: // -; libsrc/memmgr.pla: 0177: // Add to end of list -; libsrc/memmgr.pla: 0178: // -; libsrc/memmgr.pla: 0179: freblk=>frenxt = 0 -; libsrc/memmgr.pla: 0180: srch=>frenxt = freblk -; libsrc/memmgr.pla: 0181: else - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; libsrc/memmgr.pla: 0182: // -; libsrc/memmgr.pla: 0183: // Add to beginning of list -; libsrc/memmgr.pla: 0184: // -; libsrc/memmgr.pla: 0185: freblk=>frenxt = frelst -; libsrc/memmgr.pla: 0186: frelst = freblk -; libsrc/memmgr.pla: 0187: fin - !BYTE $6A ; LAW _D035+0 -_F018 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D035+0 -_F019 !WORD _D035+0 -_B010 -; libsrc/memmgr.pla: 0188: end - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0189: // -; libsrc/memmgr.pla: 0190: // Memory coallesce/compaction/swap out routines -; libsrc/memmgr.pla: 0191: // -; libsrc/memmgr.pla: 0192: def coallesce -_C005 ; coallesce() -; libsrc/memmgr.pla: 0193: word srch, combined - ; srch -> [0] - ; combined -> [2] -; libsrc/memmgr.pla: 0194: -; libsrc/memmgr.pla: 0195: combined = 0 - !BYTE $58,$04,$00 ; ENTER 4,0 -; libsrc/memmgr.pla: 0196: srch = frelst -; libsrc/memmgr.pla: 0197: while srch and srch=>frenxt - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D035+0 -_F020 !WORD _D035+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B016 -; libsrc/memmgr.pla: 0198: if srch + srch=>fresiz == srch=>frenxt -; libsrc/memmgr.pla: 0199: // -; libsrc/memmgr.pla: 0200: // Combine adjacent free space -; libsrc/memmgr.pla: 0201: // -; libsrc/memmgr.pla: 0202: //putc('C');putc(' ');puth(srch);putc('+');puth(srch=>frenxt);putc(' ') -; libsrc/memmgr.pla: 0203: srch=>fresiz = srch=>fresiz + srch=>frenxt=>fresiz -; libsrc/memmgr.pla: 0204: srch=>frenxt = srch=>frenxt=>frenxt -; libsrc/memmgr.pla: 0205: combined = 1 -; libsrc/memmgr.pla: 0206: else - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $24 ; BRNE _B020 - !WORD _B020-* - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B020 -; libsrc/memmgr.pla: 0207: srch = srch=>frenxt -; libsrc/memmgr.pla: 0208: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B021 -; libsrc/memmgr.pla: 0209: loop -_B018 - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B019 - !WORD _B019-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW -_B019 - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* -_B017 -; libsrc/memmgr.pla: 0210: return combined - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0211: end -; libsrc/memmgr.pla: 0212: def compact -_C006 ; compact() -; libsrc/memmgr.pla: 0213: word page, entry, memblk, moveblk, size, srch, prev - ; page -> [0] - ; entry -> [2] - ; memblk -> [4] - ; moveblk -> [6] - ; size -> [8] - ; srch -> [10] - ; prev -> [12] -; libsrc/memmgr.pla: 0214: byte moved - ; moved -> [14] -; libsrc/memmgr.pla: 0215: -; libsrc/memmgr.pla: 0216: moved = 0 - !BYTE $58,$0F,$00 ; ENTER 15,0 -; libsrc/memmgr.pla: 0217: for page = PG_TBL_SIZE - 1 downto 0 - !BYTE $00 ; CN 0 - !BYTE $74,$0E ; SLB [14] - !BYTE $00 ; CN 0 - !BYTE $0E ; CN 7 -_B023 - !BYTE $6E,$00 ; DLW [0] -; libsrc/memmgr.pla: 0218: if hpgtbl[page] -; libsrc/memmgr.pla: 0219: for entry = 255 downto 0 - !BYTE $26 ; LA _D032+0 -_F021 !WORD _D032+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $00 ; CN 0 - !BYTE $2A,$FF ; CB 255 -_B028 - !BYTE $6E,$02 ; DLW [2] -; libsrc/memmgr.pla: 0220: if hpgtbl:[page, entry].lsb & HMEM_STATE == HMEM_MOVEABLE -; libsrc/memmgr.pla: 0221: memblk = hpgtbl:[page, entry] -; libsrc/memmgr.pla: 0222: size = memblk=>blksiz -; libsrc/memmgr.pla: 0223: moveblk = 0 -; libsrc/memmgr.pla: 0224: prev = 0 -; libsrc/memmgr.pla: 0225: srch = frelst -; libsrc/memmgr.pla: 0226: while srch and srch < memblk - !BYTE $26 ; LA _D032+0 -_F022 !WORD _D032+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $60 ; LB - !BYTE $3C,$03 ; ANDI 3 - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* - !BYTE $26 ; LA _D032+0 -_F023 !WORD _D032+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $6A ; LAW _D035+0 -_F024 !WORD _D035+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B032 -; libsrc/memmgr.pla: 0227: if srch=>fresiz >= size -; libsrc/memmgr.pla: 0228: moveblk = unfre(srch, prev, size) -; libsrc/memmgr.pla: 0229: break - !BYTE $66,$0A ; LLW [10] - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C003 -_F025 !WORD _C003 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -; libsrc/memmgr.pla: 0230: fin -_B036 -_B037 -; libsrc/memmgr.pla: 0231: prev = srch -; libsrc/memmgr.pla: 0232: srch = srch=>frenxt -; libsrc/memmgr.pla: 0233: loop - !BYTE $66,$0A ; LLW [10] - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] -_B034 - !BYTE $66,$0A ; LLW [10] - !BYTE $AC ; BRAND _B035 - !WORD _B035-* - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $46 ; ISLT -_B035 - !BYTE $4E ; BRTRU _B032 - !WORD _B032-* -_B033 -; libsrc/memmgr.pla: 0234: if moveblk -; libsrc/memmgr.pla: 0235: //putc('M');putc(' ');puth(moveblk);putc('=');puth(memblk);putc(' ') -; libsrc/memmgr.pla: 0236: memcpy(moveblk, memblk, size) -; libsrc/memmgr.pla: 0237: hpgtbl:[page, entry] = moveblk -; libsrc/memmgr.pla: 0238: addfre(memblk) -; libsrc/memmgr.pla: 0239: moved = 1 -; libsrc/memmgr.pla: 0240: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X018 -_F026 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $26 ; LA _D032+0 -_F027 !WORD _D032+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C004 -_F028 !WORD _C004 - !BYTE $02 ; CN 1 - !BYTE $74,$0E ; SLB [14] -_B038 -_B039 -; libsrc/memmgr.pla: 0241: fin -_B030 -_B031 -; libsrc/memmgr.pla: 0242: next -_B029 - !BYTE $A8 ; DECBRGE _B028 - !WORD _B028-* -_B027 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0243: else - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -_B025 -; libsrc/memmgr.pla: 0244: break - !BYTE $50 ; BRNCH _B022 - !WORD _B022-* -; libsrc/memmgr.pla: 0245: fin -_B026 -; libsrc/memmgr.pla: 0246: next -_B024 - !BYTE $A8 ; DECBRGE _B023 - !WORD _B023-* -_B022 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0247: if moved -; libsrc/memmgr.pla: 0248: coallesce -; libsrc/memmgr.pla: 0249: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $54 ; CALL _C005 -_F029 !WORD _C005 - !BYTE $30 ; DROP -_B040 -_B041 -; libsrc/memmgr.pla: 0250: return moved - !BYTE $64,$0E ; LLB [14] - !BYTE $5A,$0F ; LEAVE 15 -; libsrc/memmgr.pla: 0251: end -; libsrc/memmgr.pla: 0252: // -; libsrc/memmgr.pla: 0253: // Swap out memory block -; libsrc/memmgr.pla: 0254: // -; libsrc/memmgr.pla: 0255: def swapout(accessed) - ; accessed -> [0] -_C007 ; swapout() -; libsrc/memmgr.pla: 0256: byte[64] filename - ; filename -> [2] -; libsrc/memmgr.pla: 0257: byte ref - ; ref -> [66] -; libsrc/memmgr.pla: 0258: word page, entry, memblk, hmem, size - ; page -> [67] - ; entry -> [69] - ; memblk -> [71] - ; hmem -> [73] - ; size -> [75] -; libsrc/memmgr.pla: 0259: byte swapped - ; swapped -> [77] -; libsrc/memmgr.pla: 0260: -; libsrc/memmgr.pla: 0261: swapped = 0 - !BYTE $58,$4E,$01 ; ENTER 78,1 -; libsrc/memmgr.pla: 0262: for page = PG_TBL_SIZE - 1 downto 0 - !BYTE $00 ; CN 0 - !BYTE $74,$4D ; SLB [77] - !BYTE $00 ; CN 0 - !BYTE $0E ; CN 7 -_B043 - !BYTE $6E,$43 ; DLW [67] -; libsrc/memmgr.pla: 0263: if hpgtbl[page] -; libsrc/memmgr.pla: 0264: for entry = 255 downto 0 - !BYTE $26 ; LA _D032+0 -_F030 !WORD _D032+0 - !BYTE $BA,$43 ; IDXLW [67] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $00 ; CN 0 - !BYTE $2A,$FF ; CB 255 -_B048 - !BYTE $6E,$45 ; DLW [69] -; libsrc/memmgr.pla: 0265: if hpgtbl:[page, entry].lsb & HMEM_STATE == HMEM_MOVEABLE -; libsrc/memmgr.pla: 0266: memblk = hpgtbl:[page, entry] -; libsrc/memmgr.pla: 0267: if not (memblk->blklok & accessed) -; libsrc/memmgr.pla: 0268: // -; libsrc/memmgr.pla: 0269: // Swap this block out -; libsrc/memmgr.pla: 0270: // -; libsrc/memmgr.pla: 0271: size = memblk=>blksiz -; libsrc/memmgr.pla: 0272: hmem.lsb = page -; libsrc/memmgr.pla: 0273: hmem.msb = entry -; libsrc/memmgr.pla: 0274: swapfile(@filename, hmem) -; libsrc/memmgr.pla: 0275: fileio:create(@filename, $00, size) // embed size in aux type -; libsrc/memmgr.pla: 0276: //puts(@swapoutstr);puts(@filename);putc('@');puth(memblk);putc(':');puth(size);putln -; libsrc/memmgr.pla: 0277: ref = fileio:open(@filename) -; libsrc/memmgr.pla: 0278: if ref -; libsrc/memmgr.pla: 0279: // -; libsrc/memmgr.pla: 0280: // Write it out -; libsrc/memmgr.pla: 0281: // -; libsrc/memmgr.pla: 0282: if fileio:write(ref, memblk, size) == size -; libsrc/memmgr.pla: 0283: // -; libsrc/memmgr.pla: 0284: // Zero size in page table flags swapin to read from disk -; libsrc/memmgr.pla: 0285: // -; libsrc/memmgr.pla: 0286: hpgtbl:[page, entry] = HMEM_SWAPPED -; libsrc/memmgr.pla: 0287: addfre(memblk) -; libsrc/memmgr.pla: 0288: swapped = 1 -; libsrc/memmgr.pla: 0289: fin - !BYTE $26 ; LA _D032+0 -_F031 !WORD _D032+0 - !BYTE $BA,$43 ; IDXLW [67] - !BYTE $62 ; LW - !BYTE $BA,$45 ; IDXLW [69] - !BYTE $60 ; LB - !BYTE $3C,$03 ; ANDI 3 - !BYTE $4E ; BRTRU _B050 - !WORD _B050-* - !BYTE $26 ; LA _D032+0 -_F032 !WORD _D032+0 - !BYTE $BA,$43 ; IDXLW [67] - !BYTE $62 ; LW - !BYTE $BA,$45 ; IDXLW [69] - !BYTE $62 ; LW - !BYTE $6E,$47 ; DLW [71] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* - !BYTE $66,$47 ; LLW [71] - !BYTE $62 ; LW - !BYTE $76,$4B ; SLW [75] - !BYTE $66,$43 ; LLW [67] - !BYTE $74,$49 ; SLB [73] - !BYTE $66,$45 ; LLW [69] - !BYTE $74,$4A ; SLB [74] - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$49 ; LLW [73] - !BYTE $54 ; CALL _C001 -_F033 !WORD _C001 - !BYTE $28,$02 ; LLA [2] - !BYTE $00 ; CN 0 - !BYTE $66,$4B ; LLW [75] - !BYTE $6A ; LAW _X028+22 -_F034 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X028+14 -_F035 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$42 ; DLB [66] - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $64,$42 ; LLB [66] - !BYTE $66,$47 ; LLW [71] - !BYTE $66,$4B ; LLW [75] - !BYTE $6A ; LAW _X028+20 -_F036 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $66,$4B ; LLW [75] - !BYTE $24 ; BRNE _B056 - !WORD _B056-* - !BYTE $06 ; CN 3 - !BYTE $26 ; LA _D032+0 -_F037 !WORD _D032+0 - !BYTE $BA,$43 ; IDXLW [67] - !BYTE $62 ; LW - !BYTE $BA,$45 ; IDXLW [69] - !BYTE $72 ; SW - !BYTE $66,$47 ; LLW [71] - !BYTE $54 ; CALL _C004 -_F038 !WORD _C004 - !BYTE $02 ; CN 1 - !BYTE $74,$4D ; SLB [77] -_B056 -_B057 -; libsrc/memmgr.pla: 0290: fileio:close(ref) -; libsrc/memmgr.pla: 0291: fin - !BYTE $64,$42 ; LLB [66] - !BYTE $6A ; LAW _X028+16 -_F039 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B054 -_B055 -; libsrc/memmgr.pla: 0292: fin -_B052 -_B053 -; libsrc/memmgr.pla: 0293: fin -_B050 -_B051 -; libsrc/memmgr.pla: 0294: next -_B049 - !BYTE $A8 ; DECBRGE _B048 - !WORD _B048-* -_B047 - !BYTE $76,$45 ; SLW [69] - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0295: else - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B045 -; libsrc/memmgr.pla: 0296: break - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -; libsrc/memmgr.pla: 0297: fin -_B046 -; libsrc/memmgr.pla: 0298: next -_B044 - !BYTE $A8 ; DECBRGE _B043 - !WORD _B043-* -_B042 - !BYTE $76,$43 ; SLW [67] - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0299: if swapped -; libsrc/memmgr.pla: 0300: coallesce -; libsrc/memmgr.pla: 0301: compact -; libsrc/memmgr.pla: 0302: fin - !BYTE $64,$4D ; LLB [77] - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $54 ; CALL _C005 -_F040 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C006 -_F041 !WORD _C006 - !BYTE $30 ; DROP -_B058 -_B059 -; libsrc/memmgr.pla: 0303: return swapped - !BYTE $64,$4D ; LLB [77] - !BYTE $5A,$4E ; LEAVE 78 -; libsrc/memmgr.pla: 0304: end -; libsrc/memmgr.pla: 0305: // -; libsrc/memmgr.pla: 0306: // Find a memory block -; libsrc/memmgr.pla: 0307: // -; libsrc/memmgr.pla: 0308: def findexact(size) - ; size -> [0] -_C008 ; findexact() -; libsrc/memmgr.pla: 0309: word srch, prev - ; srch -> [2] - ; prev -> [4] -; libsrc/memmgr.pla: 0310: -; libsrc/memmgr.pla: 0311: srch = frelst - !BYTE $58,$06,$01 ; ENTER 6,1 -; libsrc/memmgr.pla: 0312: prev = 0 -; libsrc/memmgr.pla: 0313: while srch - !BYTE $6A ; LAW _D035+0 -_F042 !WORD _D035+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B060 -; libsrc/memmgr.pla: 0314: if srch=>fresiz == size -; libsrc/memmgr.pla: 0315: //putc('E') -; libsrc/memmgr.pla: 0316: return unlink(srch, prev) - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B063 - !WORD _B063-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C002 -_F043 !WORD _C002 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/memmgr.pla: 0317: fin -_B063 -_B064 -; libsrc/memmgr.pla: 0318: prev = srch -; libsrc/memmgr.pla: 0319: srch = srch=>frenxt -; libsrc/memmgr.pla: 0320: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B062 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B060 - !WORD _B060-* -_B061 -; libsrc/memmgr.pla: 0321: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/memmgr.pla: 0322: end -; libsrc/memmgr.pla: 0323: def findbest(size) - ; size -> [0] -_C009 ; findbest() -; libsrc/memmgr.pla: 0324: word srch, prev - ; srch -> [2] - ; prev -> [4] -; libsrc/memmgr.pla: 0325: -; libsrc/memmgr.pla: 0326: prev = 0 - !BYTE $58,$06,$01 ; ENTER 6,1 -; libsrc/memmgr.pla: 0327: srch = frelst -; libsrc/memmgr.pla: 0328: while srch - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D035+0 -_F044 !WORD _D035+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B065 -; libsrc/memmgr.pla: 0329: if srch=>fresiz >= size -; libsrc/memmgr.pla: 0330: //putc('B') -; libsrc/memmgr.pla: 0331: return unfre(srch, prev, size) - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C003 -_F045 !WORD _C003 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/memmgr.pla: 0332: fin -_B068 -_B069 -; libsrc/memmgr.pla: 0333: prev = srch -; libsrc/memmgr.pla: 0334: srch = srch=>frenxt -; libsrc/memmgr.pla: 0335: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B067 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B065 - !WORD _B065-* -_B066 -; libsrc/memmgr.pla: 0336: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/memmgr.pla: 0337: end -; libsrc/memmgr.pla: 0338: def findblk(size) - ; size -> [0] -_C010 ; findblk() -; libsrc/memmgr.pla: 0339: word addr - ; addr -> [2] -; libsrc/memmgr.pla: 0340: -; libsrc/memmgr.pla: 0341: if size > MAX_BLK_SIZE; return 0; fin - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$20 ; CW 8208 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -_B070 -_B071 -; libsrc/memmgr.pla: 0342: addr = findexact(size) -; libsrc/memmgr.pla: 0343: if !addr -; libsrc/memmgr.pla: 0344: coallesce -; libsrc/memmgr.pla: 0345: addr = findexact(size) -; libsrc/memmgr.pla: 0346: if !addr -; libsrc/memmgr.pla: 0347: compact -; libsrc/memmgr.pla: 0348: addr = findbest(size) -; libsrc/memmgr.pla: 0349: if !addr -; libsrc/memmgr.pla: 0350: swapout(HMEM_ACCESSED) -; libsrc/memmgr.pla: 0351: addr = findbest(size) -; libsrc/memmgr.pla: 0352: if !addr -; libsrc/memmgr.pla: 0353: swapout(0) -; libsrc/memmgr.pla: 0354: addr = findbest(size) -; libsrc/memmgr.pla: 0355: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C008 -_F046 !WORD _C008 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* - !BYTE $54 ; CALL _C005 -_F047 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C008 -_F048 !WORD _C008 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B074 - !WORD _B074-* - !BYTE $54 ; CALL _C006 -_F049 !WORD _C006 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F050 !WORD _C009 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B076 - !WORD _B076-* - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C007 -_F051 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F052 !WORD _C009 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B078 - !WORD _B078-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C007 -_F053 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F054 !WORD _C009 - !BYTE $76,$02 ; SLW [2] -_B078 -_B079 -; libsrc/memmgr.pla: 0356: fin -_B076 -_B077 -; libsrc/memmgr.pla: 0357: fin -_B074 -_B075 -; libsrc/memmgr.pla: 0358: fin -_B072 -_B073 -; libsrc/memmgr.pla: 0359: // -; libsrc/memmgr.pla: 0360: // Fill in the block -; libsrc/memmgr.pla: 0361: // -; libsrc/memmgr.pla: 0362: //puts(@getblkstr);puth(addr);putc(':');puth(size);putln -; libsrc/memmgr.pla: 0363: if addr -; libsrc/memmgr.pla: 0364: addr=>blksiz = size -; libsrc/memmgr.pla: 0365: addr->blkref = 1 -; libsrc/memmgr.pla: 0366: addr->blklok = 0 -; libsrc/memmgr.pla: 0367: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB -_B080 -_B081 -; libsrc/memmgr.pla: 0368: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0369: end -; libsrc/memmgr.pla: 0370: // -; libsrc/memmgr.pla: 0371: // Swap in a memory block (or allocate an uninitialized block) -; libsrc/memmgr.pla: 0372: // -; libsrc/memmgr.pla: 0373: def swapin(hmem) - ; hmem -> [0] -_C011 ; swapin() -; libsrc/memmgr.pla: 0374: byte[64] filename - ; filename -> [2] -; libsrc/memmgr.pla: 0375: byte[15] info - ; info -> [66] -; libsrc/memmgr.pla: 0376: byte ref - ; ref -> [81] -; libsrc/memmgr.pla: 0377: word memblk, size - ; memblk -> [82] - ; size -> [84] -; libsrc/memmgr.pla: 0378: -; libsrc/memmgr.pla: 0379: size = hpgtbl:[hmem.lsb, hmem.msb] & HMEM_SIZE - !BYTE $58,$56,$01 ; ENTER 86,1 -; libsrc/memmgr.pla: 0380: if size -; libsrc/memmgr.pla: 0381: // -; libsrc/memmgr.pla: 0382: // This was just uninitialized memory, don't bother reading from file -; libsrc/memmgr.pla: 0383: // -; libsrc/memmgr.pla: 0384: memblk = findblk(size) -; libsrc/memmgr.pla: 0385: else - !BYTE $26 ; LA _D032+0 -_F055 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $5E,$FC ; CFFB 65532 - !BYTE $94 ; AND - !BYTE $6E,$54 ; DLW [84] - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $66,$54 ; LLW [84] - !BYTE $54 ; CALL _C010 -_F056 !WORD _C010 - !BYTE $76,$52 ; SLW [82] - !BYTE $50 ; BRNCH _B083 - !WORD _B083-* -_B082 -; libsrc/memmgr.pla: 0386: // -; libsrc/memmgr.pla: 0387: // Swap this block back in -; libsrc/memmgr.pla: 0388: // -; libsrc/memmgr.pla: 0389: swapfile(@filename, hmem) -; libsrc/memmgr.pla: 0390: fileio:getfileinfo(@filename, @info) -; libsrc/memmgr.pla: 0391: size = info:2 // Size encoded in aux type -; libsrc/memmgr.pla: 0392: memblk = findblk(size) -; libsrc/memmgr.pla: 0393: //puts(@swapinstr);puts(@filename);putc('@');puth(memblk);putc(':');puth(size);putln -; libsrc/memmgr.pla: 0394: if memblk -; libsrc/memmgr.pla: 0395: // -; libsrc/memmgr.pla: 0396: // Read it in -; libsrc/memmgr.pla: 0397: // -; libsrc/memmgr.pla: 0398: ref = fileio:open(@filename) -; libsrc/memmgr.pla: 0399: if ref -; libsrc/memmgr.pla: 0400: fileio:read(ref, memblk, size) -; libsrc/memmgr.pla: 0401: fileio:close(ref) -; libsrc/memmgr.pla: 0402: fileio:destroy(@filename) -; libsrc/memmgr.pla: 0403: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F057 !WORD _C001 - !BYTE $28,$02 ; LLA [2] - !BYTE $28,$42 ; LLA [66] - !BYTE $6A ; LAW _X028+4 -_F058 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$44 ; LLW [68] - !BYTE $6E,$54 ; DLW [84] - !BYTE $54 ; CALL _C010 -_F059 !WORD _C010 - !BYTE $6E,$52 ; DLW [82] - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X028+14 -_F060 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$51 ; DLB [81] - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $64,$51 ; LLB [81] - !BYTE $66,$52 ; LLW [82] - !BYTE $66,$54 ; LLW [84] - !BYTE $6A ; LAW _X028+18 -_F061 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$51 ; LLB [81] - !BYTE $6A ; LAW _X028+16 -_F062 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X028+24 -_F063 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B086 -_B087 -; libsrc/memmgr.pla: 0404: fin -_B084 -_B085 -; libsrc/memmgr.pla: 0405: fin -_B083 -; libsrc/memmgr.pla: 0406: if memblk -; libsrc/memmgr.pla: 0407: hpgtbl:[hmem.lsb, hmem.msb] = memblk -; libsrc/memmgr.pla: 0408: fin - !BYTE $66,$52 ; LLW [82] - !BYTE $4C ; BRFLS _B088 - !WORD _B088-* - !BYTE $66,$52 ; LLW [82] - !BYTE $26 ; LA _D032+0 -_F064 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $72 ; SW -_B088 -_B089 -; libsrc/memmgr.pla: 0409: return memblk - !BYTE $66,$52 ; LLW [82] - !BYTE $5A,$56 ; LEAVE 86 -; libsrc/memmgr.pla: 0410: end -; libsrc/memmgr.pla: 0411: // -; libsrc/memmgr.pla: 0412: // Incrementally clear the ACCESSED BIT -; libsrc/memmgr.pla: 0413: // -; libsrc/memmgr.pla: 0414: export def sweep#0 -_C012 ; sweep() -; libsrc/memmgr.pla: 0415: word memblk - ; memblk -> [0] -; libsrc/memmgr.pla: 0416: -; libsrc/memmgr.pla: 0417: if hpgtbl[sweeppg] - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/memmgr.pla: 0418: memblk = hpgtbl:[sweeppg, sweepen] -; libsrc/memmgr.pla: 0419: when memblk.lsb & HMEM_STATE - !BYTE $26 ; LA _D032+0 -_F065 !WORD _D032+0 - !BYTE $BC ; IDXAB _D036+0 -_F066 !WORD _D036+0 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B090 - !WORD _B090-* - !BYTE $26 ; LA _D032+0 -_F067 !WORD _D032+0 - !BYTE $BC ; IDXAB _D036+0 -_F068 !WORD _D036+0 - !BYTE $62 ; LW - !BYTE $BC ; IDXAB _D037+0 -_F069 !WORD _D037+0 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $52 ; SEL - !WORD _B093-* -; libsrc/memmgr.pla: 0420: is HMEM_MOVEABLE -_B094 -; libsrc/memmgr.pla: 0421: is HMEM_LOCKED -_B095 -; libsrc/memmgr.pla: 0422: memblk = memblk & HMEM_ADDR -; libsrc/memmgr.pla: 0423: if memblk->blklok & HMEM_ACCESSED -; libsrc/memmgr.pla: 0424: memblk->blklok = memblk->blklok & $7F -; libsrc/memmgr.pla: 0425: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$FC ; CFFB 65532 - !BYTE $94 ; AND - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB -_B096 -_B097 -; libsrc/memmgr.pla: 0426: wend - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B093 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B094-* - !WORD $0002 - !WORD _B095-* -_B092 -; libsrc/memmgr.pla: 0427: if sweepen == 255 -; libsrc/memmgr.pla: 0428: sweepen = 0 -; libsrc/memmgr.pla: 0429: if sweeppg == 0 -; libsrc/memmgr.pla: 0430: sweeppg = PG_TBL_SIZE - 1 -; libsrc/memmgr.pla: 0431: else - !BYTE $68 ; LAB _D037+0 -_F070 !WORD _D037+0 - !BYTE $2A,$FF ; CB 255 - !BYTE $24 ; BRNE _B098 - !WORD _B098-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D037+0 -_F071 !WORD _D037+0 - !BYTE $68 ; LAB _D036+0 -_F072 !WORD _D036+0 - !BYTE $4E ; BRTRU _B100 - !WORD _B100-* - !BYTE $0E ; CN 7 - !BYTE $78 ; SAB _D036+0 -_F073 !WORD _D036+0 - !BYTE $50 ; BRNCH _B101 - !WORD _B101-* -_B100 -; libsrc/memmgr.pla: 0432: sweeppg = sweeppg - 1 -; libsrc/memmgr.pla: 0433: fin - !BYTE $68 ; LAB _D036+0 -_F074 !WORD _D036+0 - !BYTE $8E ; DECR - !BYTE $78 ; SAB _D036+0 -_F075 !WORD _D036+0 -_B101 -; libsrc/memmgr.pla: 0434: else - !BYTE $50 ; BRNCH _B099 - !WORD _B099-* -_B098 -; libsrc/memmgr.pla: 0435: sweepen = sweepen + 1 -; libsrc/memmgr.pla: 0436: fin - !BYTE $68 ; LAB _D037+0 -_F076 !WORD _D037+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D037+0 -_F077 !WORD _D037+0 -_B099 -; libsrc/memmgr.pla: 0437: else - !BYTE $50 ; BRNCH _B091 - !WORD _B091-* -_B090 -; libsrc/memmgr.pla: 0438: sweeppg = PG_TBL_SIZE - 1 -; libsrc/memmgr.pla: 0439: fin - !BYTE $0E ; CN 7 - !BYTE $78 ; SAB _D036+0 -_F078 !WORD _D036+0 -_B091 -; libsrc/memmgr.pla: 0440: end - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/memmgr.pla: 0441: // -; libsrc/memmgr.pla: 0442: // Set end of memory pool -; libsrc/memmgr.pla: 0443: // -; libsrc/memmgr.pla: 0444: export def brk(addr) - ; addr -> [0] -_C013 ; brk() -; libsrc/memmgr.pla: 0445: word heapalign, brkblk, brksiz, srch - ; heapalign -> [2] - ; brkblk -> [4] - ; brksiz -> [6] - ; srch -> [8] -; libsrc/memmgr.pla: 0446: -; libsrc/memmgr.pla: 0447: // -; libsrc/memmgr.pla: 0448: // Check if addr is too high or low -; libsrc/memmgr.pla: 0449: // -; libsrc/memmgr.pla: 0450: if isuge(addr, @heapalign); return 0; fin - !BYTE $58,$0A,$01 ; ENTER 10,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X025 -_F079 !WORD 0 - !BYTE $4C ; BRFLS _B102 - !WORD _B102-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -_B102 -_B103 -; libsrc/memmgr.pla: 0451: if isule(addr, heapmark); return 0; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X012 -_F080 !WORD 0 - !BYTE $54 ; CALL _X027 -_F081 !WORD 0 - !BYTE $4C ; BRFLS _B104 - !WORD _B104-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -_B104 -_B105 -; libsrc/memmgr.pla: 0452: if not pooladdr -; libsrc/memmgr.pla: 0453: // -; libsrc/memmgr.pla: 0454: // Allocate the memory pool -; libsrc/memmgr.pla: 0455: // -; libsrc/memmgr.pla: 0456: heapalign = (heapmark | MIN_BLK_MASK) + 1 -; libsrc/memmgr.pla: 0457: brksiz = addr - heapalign -; libsrc/memmgr.pla: 0458: if isult(brksiz, MAX_BLK_SIZE); return 0; fin // Not enough heap - !BYTE $6A ; LAW _D033+0 -_F082 !WORD _D033+0 - !BYTE $4E ; BRTRU _B106 - !WORD _B106-* - !BYTE $54 ; CALL _X012 -_F083 !WORD 0 - !BYTE $3E,$03 ; ORI 3 - !BYTE $8C ; INCR - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $6E,$06 ; DLW [6] - !BYTE $2C,$10,$20 ; CW 8208 - !BYTE $54 ; CALL _X026 -_F084 !WORD 0 - !BYTE $4C ; BRFLS _B108 - !WORD _B108-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -_B108 -_B109 -; libsrc/memmgr.pla: 0459: poolsize = addr - heapmark -; libsrc/memmgr.pla: 0460: pooladdr = heapalloc(poolsize) -; libsrc/memmgr.pla: 0461: if pooladdr -; libsrc/memmgr.pla: 0462: frelst = heapalign -; libsrc/memmgr.pla: 0463: frelst=>fresiz = brksiz -; libsrc/memmgr.pla: 0464: frelst=>frenxt = 0 -; libsrc/memmgr.pla: 0465: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X012 -_F085 !WORD 0 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D034+0 -_F086 !WORD _D034+0 - !BYTE $54 ; CALL _X014 -_F087 !WORD 0 - !BYTE $7E ; DAW _D033+0 -_F088 !WORD _D033+0 - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D035+0 -_F089 !WORD _D035+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D035+0 -_F090 !WORD _D035+0 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D035+0 -_F091 !WORD _D035+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B110 -; libsrc/memmgr.pla: 0466: poolsize = 0 -; libsrc/memmgr.pla: 0467: fin - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D034+0 -_F092 !WORD _D034+0 -_B111 -; libsrc/memmgr.pla: 0468: else - !BYTE $50 ; BRNCH _B107 - !WORD _B107-* -_B106 -; libsrc/memmgr.pla: 0469: // -; libsrc/memmgr.pla: 0470: // Can we extend the memory pool? -; libsrc/memmgr.pla: 0471: // -; libsrc/memmgr.pla: 0472: if pooladdr + poolsize == heapmark -; libsrc/memmgr.pla: 0473: brksiz = addr - heapmark -; libsrc/memmgr.pla: 0474: brkblk = heapalloc(brksiz) -; libsrc/memmgr.pla: 0475: if brkblk -; libsrc/memmgr.pla: 0476: // -; libsrc/memmgr.pla: 0477: // Add block to end of free list -; libsrc/memmgr.pla: 0478: // -; libsrc/memmgr.pla: 0479: poolsize = poolsize + brksiz -; libsrc/memmgr.pla: 0480: brkblk=>fresiz = brksiz -; libsrc/memmgr.pla: 0481: brkblk=>frenxt = 0 -; libsrc/memmgr.pla: 0482: if frelst -; libsrc/memmgr.pla: 0483: srch = frelst -; libsrc/memmgr.pla: 0484: while srch=>frenxt; srch = srch=>frenxt; loop - !BYTE $6A ; LAW _D033+0 -_F093 !WORD _D033+0 - !BYTE $B6 ; ADDAW _D034+0 -_F094 !WORD _D034+0 - !BYTE $54 ; CALL _X012 -_F095 !WORD 0 - !BYTE $24 ; BRNE _B112 - !WORD _B112-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X012 -_F096 !WORD 0 - !BYTE $84 ; SUB - !BYTE $6E,$06 ; DLW [6] - !BYTE $54 ; CALL _X014 -_F097 !WORD 0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $6A ; LAW _D034+0 -_F098 !WORD _D034+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $7A ; SAW _D034+0 -_F099 !WORD _D034+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D035+0 -_F100 !WORD _D035+0 - !BYTE $4C ; BRFLS _B116 - !WORD _B116-* - !BYTE $6A ; LAW _D035+0 -_F101 !WORD _D035+0 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B118 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B120 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B118 - !WORD _B118-* -_B119 -; libsrc/memmgr.pla: 0485: srch=>frenxt = brkblk -; libsrc/memmgr.pla: 0486: else - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B117 - !WORD _B117-* -_B116 -; libsrc/memmgr.pla: 0487: frelst = brkblk -; libsrc/memmgr.pla: 0488: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D035+0 -_F102 !WORD _D035+0 -_B117 -; libsrc/memmgr.pla: 0489: coallesce // combine adjacent free space -; libsrc/memmgr.pla: 0490: fin - !BYTE $54 ; CALL _C005 -_F103 !WORD _C005 - !BYTE $30 ; DROP -_B114 -_B115 -; libsrc/memmgr.pla: 0491: fin -_B112 -_B113 -; libsrc/memmgr.pla: 0492: fin -_B107 -; libsrc/memmgr.pla: 0493: return poolsize - !BYTE $6A ; LAW _D034+0 -_F104 !WORD _D034+0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/memmgr.pla: 0494: end -; libsrc/memmgr.pla: 0495: export def sbrk(size) - ; size -> [0] -_C014 ; sbrk() -; libsrc/memmgr.pla: 0496: return brk((heapmark | MIN_BLK_MASK) + 1 + size + MIN_BLK_SIZE) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $54 ; CALL _X012 -_F105 !WORD 0 - !BYTE $3E,$03 ; ORI 3 - !BYTE $8C ; INCR - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $54 ; CALL _C013 -_F106 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/memmgr.pla: 0497: end -; libsrc/memmgr.pla: 0498: // -; libsrc/memmgr.pla: 0499: // Return the amount of free memory available, after garbage -; libsrc/memmgr.pla: 0500: // collection, swaps -; libsrc/memmgr.pla: 0501: // -; libsrc/memmgr.pla: 0502: export def hmemFre(lptr) - ; lptr -> [0] -_C015 ; hmemFre() -; libsrc/memmgr.pla: 0503: word srch, free, largest - ; srch -> [2] - ; free -> [4] - ; largest -> [6] -; libsrc/memmgr.pla: 0504: -; libsrc/memmgr.pla: 0505: coallesce - !BYTE $58,$08,$01 ; ENTER 8,1 -; libsrc/memmgr.pla: 0506: while compact; loop - !BYTE $54 ; CALL _C005 -_F107 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B121 -_B123 - !BYTE $54 ; CALL _C006 -_F108 !WORD _C006 - !BYTE $4E ; BRTRU _B121 - !WORD _B121-* -_B122 -; libsrc/memmgr.pla: 0507: free = 0 -; libsrc/memmgr.pla: 0508: largest = 0 -; libsrc/memmgr.pla: 0509: srch = frelst -; libsrc/memmgr.pla: 0510: while srch - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D035+0 -_F109 !WORD _D035+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B124 -; libsrc/memmgr.pla: 0511: //putc('F'); putc(' '); puth(srch); putc(':'); puth(srch=>fresiz); putln -; libsrc/memmgr.pla: 0512: free = free + srch=>fresiz -; libsrc/memmgr.pla: 0513: if srch=>fresiz > largest -; libsrc/memmgr.pla: 0514: largest = srch=>fresiz -; libsrc/memmgr.pla: 0515: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B127 - !WORD _B127-* - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B127 -_B128 -; libsrc/memmgr.pla: 0516: srch = srch=>frenxt -; libsrc/memmgr.pla: 0517: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B126 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B124 - !WORD _B124-* -_B125 -; libsrc/memmgr.pla: 0518: if lptr -; libsrc/memmgr.pla: 0519: *lptr = largest - MIN_BLK_SIZE -; libsrc/memmgr.pla: 0520: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B129 - !WORD _B129-* - !BYTE $66,$06 ; LLW [6] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW -_B129 -_B130 -; libsrc/memmgr.pla: 0521: return free - MIN_BLK_SIZE - !BYTE $66,$04 ; LLW [4] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/memmgr.pla: 0522: end -; libsrc/memmgr.pla: 0523: // -; libsrc/memmgr.pla: 0524: // Allocate memory block -; libsrc/memmgr.pla: 0525: // -; libsrc/memmgr.pla: 0526: export def hmemNew(size) - ; size -> [0] -_C016 ; hmemNew() -; libsrc/memmgr.pla: 0527: word page, entry, hnew, memblk - ; page -> [2] - ; entry -> [4] - ; hnew -> [6] - ; memblk -> [8] -; libsrc/memmgr.pla: 0528: -; libsrc/memmgr.pla: 0529: // -; libsrc/memmgr.pla: 0530: // First, find a free handle -; libsrc/memmgr.pla: 0531: // -; libsrc/memmgr.pla: 0532: for page = PG_TBL_SIZE - 1 downto 0 - !BYTE $58,$0A,$01 ; ENTER 10,1 - !BYTE $00 ; CN 0 - !BYTE $0E ; CN 7 -_B132 - !BYTE $6E,$02 ; DLW [2] -; libsrc/memmgr.pla: 0533: if !hpgtbl[page] -; libsrc/memmgr.pla: 0534: // -; libsrc/memmgr.pla: 0535: // Allocate a new page table -; libsrc/memmgr.pla: 0536: // -; libsrc/memmgr.pla: 0537: hpgtbl[page] = heapalloc(PG_SIZE) -; libsrc/memmgr.pla: 0538: memset(hpgtbl[page], HMEM_AVAIL, PG_SIZE) -; libsrc/memmgr.pla: 0539: //puts(@allocpgstr);puth(hpgtbl[page]);putln -; libsrc/memmgr.pla: 0540: // -; libsrc/memmgr.pla: 0541: // Check if we need to allocate the memory pool -; libsrc/memmgr.pla: 0542: // -; libsrc/memmgr.pla: 0543: if not pooladdr -; libsrc/memmgr.pla: 0544: // -; libsrc/memmgr.pla: 0545: // Allocate 3/4 of available heap on 128K machine, 1/2 on 64K machine -; libsrc/memmgr.pla: 0546: // -; libsrc/memmgr.pla: 0547: poolsize = (heapavail >> 1) & $7FFF -; libsrc/memmgr.pla: 0548: if MACHID & $30 == $30 -; libsrc/memmgr.pla: 0549: poolsize = poolsize + (poolsize >> 1) -; libsrc/memmgr.pla: 0550: fin - !BYTE $26 ; LA _D032+0 -_F110 !WORD _D032+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B134 - !WORD _B134-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F111 !WORD 0 - !BYTE $26 ; LA _D032+0 -_F112 !WORD _D032+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $72 ; SW - !BYTE $26 ; LA _D032+0 -_F113 !WORD _D032+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X017 -_F114 !WORD 0 - !BYTE $6A ; LAW _D033+0 -_F115 !WORD _D033+0 - !BYTE $4E ; BRTRU _B136 - !WORD _B136-* - !BYTE $54 ; CALL _X016 -_F116 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D034+0 -_F117 !WORD _D034+0 - !BYTE $68 ; LAB _X001+0 -_F118 !WORD 0+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $2A,$30 ; CB 48 - !BYTE $24 ; BRNE _B138 - !WORD _B138-* - !BYTE $6A ; LAW _D034+0 -_F119 !WORD _D034+0 - !BYTE $34 ; DUP - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D034+0 -_F120 !WORD _D034+0 -_B138 -_B139 -; libsrc/memmgr.pla: 0551: if isult(poolsize, MAX_BLK_SIZE) -; libsrc/memmgr.pla: 0552: poolsize = MAX_BLK_SIZE -; libsrc/memmgr.pla: 0553: fin - !BYTE $6A ; LAW _D034+0 -_F121 !WORD _D034+0 - !BYTE $2C,$10,$20 ; CW 8208 - !BYTE $54 ; CALL _X026 -_F122 !WORD 0 - !BYTE $4C ; BRFLS _B140 - !WORD _B140-* - !BYTE $2C,$10,$20 ; CW 8208 - !BYTE $7A ; SAW _D034+0 -_F123 !WORD _D034+0 -_B140 -_B141 -; libsrc/memmgr.pla: 0554: sbrk(poolsize) -; libsrc/memmgr.pla: 0555: fin - !BYTE $6A ; LAW _D034+0 -_F124 !WORD _D034+0 - !BYTE $54 ; CALL _C014 -_F125 !WORD _C014 - !BYTE $30 ; DROP -_B136 -_B137 -; libsrc/memmgr.pla: 0556: fin -_B134 -_B135 -; libsrc/memmgr.pla: 0557: for entry = 255 downto 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$FF ; CB 255 -_B143 - !BYTE $6E,$04 ; DLW [4] -; libsrc/memmgr.pla: 0558: if hpgtbl:[page, entry].lsb == HMEM_AVAIL -; libsrc/memmgr.pla: 0559: // -; libsrc/memmgr.pla: 0560: // Reserve handle as swapped out block -; libsrc/memmgr.pla: 0561: // Nonzero size will flag swapin to not read from disk -; libsrc/memmgr.pla: 0562: // -; libsrc/memmgr.pla: 0563: //putc('N');putc(' ');putb(entry);putb(page);putc('@') -; libsrc/memmgr.pla: 0564: size = ((size + t_memblk) | MIN_BLK_MASK) + 1 -; libsrc/memmgr.pla: 0565: hpgtbl:[page, entry] = size | HMEM_SWAPPED -; libsrc/memmgr.pla: 0566: hnew.lsb = page -; libsrc/memmgr.pla: 0567: hnew.msb = entry -; libsrc/memmgr.pla: 0568: return hnew - !BYTE $26 ; LA _D032+0 -_F126 !WORD _D032+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B145 - !WORD _B145-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $3E,$03 ; ORI 3 - !BYTE $8C ; INCR - !BYTE $6E,$00 ; DLW [0] - !BYTE $3E,$03 ; ORI 3 - !BYTE $26 ; LA _D032+0 -_F127 !WORD _D032+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$07 ; SLB [7] - !BYTE $32 ; DROP2 - !BYTE $32 ; DROP2 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/memmgr.pla: 0569: fin -_B145 -_B146 -; libsrc/memmgr.pla: 0570: next -_B144 - !BYTE $A8 ; DECBRGE _B143 - !WORD _B143-* -_B142 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0571: next -_B133 - !BYTE $A8 ; DECBRGE _B132 - !WORD _B132-* -_B131 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0572: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/memmgr.pla: 0573: end -; libsrc/memmgr.pla: 0574: // -; libsrc/memmgr.pla: 0575: // Lock memory block in place -; libsrc/memmgr.pla: 0576: // -; libsrc/memmgr.pla: 0577: export def hmemLock(hmem) - ; hmem -> [0] -_C017 ; hmemLock() -; libsrc/memmgr.pla: 0578: word memblk - ; memblk -> [2] -; libsrc/memmgr.pla: 0579: -; libsrc/memmgr.pla: 0580: memblk = hpgtbl:[hmem.lsb, hmem.msb] - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/memmgr.pla: 0581: when memblk.lsb & HMEM_STATE - !BYTE $26 ; LA _D032+0 -_F128 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$02 ; LLB [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $52 ; SEL - !WORD _B148-* -; libsrc/memmgr.pla: 0582: is HMEM_SWAPPED -_B149 -; libsrc/memmgr.pla: 0583: memblk = swapin(hmem) -; libsrc/memmgr.pla: 0584: if not memblk; return 0; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C011 -_F129 !WORD _C011 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B150 - !WORD _B150-* - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -_B150 -_B151 -; libsrc/memmgr.pla: 0585: is HMEM_MOVEABLE -_B152 -; libsrc/memmgr.pla: 0586: hpgtbl:[hmem.lsb, hmem.msb] = memblk | HMEM_LOCKED -; libsrc/memmgr.pla: 0587: is HMEM_LOCKED - !BYTE $66,$02 ; LLW [2] - !BYTE $3E,$02 ; ORI 2 - !BYTE $26 ; LA _D032+0 -_F130 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $72 ; SW -_B153 -; libsrc/memmgr.pla: 0588: memblk = memblk & HMEM_ADDR -; libsrc/memmgr.pla: 0589: memblk->blklok = (memblk->blklok + 1) | HMEM_ACCESSED -; libsrc/memmgr.pla: 0590: //putc('L');putc(' ');puth(hmem);putc('@');puth(memblk);putln -; libsrc/memmgr.pla: 0591: return memblk + t_memblk - !BYTE $66,$02 ; LLW [2] - !BYTE $5E,$FC ; CFFB 65532 - !BYTE $94 ; AND - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $3E,$80 ; ORI 128 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0592: wend - !BYTE $50 ; BRNCH _B147 - !WORD _B147-* -_B148 - !BYTE $03 ; CASEBLOCK - !WORD $0000 - !WORD _B152-* - !WORD $0002 - !WORD _B153-* - !WORD $0003 - !WORD _B149-* -_B147 -; libsrc/memmgr.pla: 0593: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0594: end -; libsrc/memmgr.pla: 0595: // -; libsrc/memmgr.pla: 0596: // Unlock memory block -; libsrc/memmgr.pla: 0597: // -; libsrc/memmgr.pla: 0598: export def hmemUnlock(hmem)#0 - ; hmem -> [0] -_C018 ; hmemUnlock() -; libsrc/memmgr.pla: 0599: byte lock - ; lock -> [2] -; libsrc/memmgr.pla: 0600: word memblk - ; memblk -> [3] -; libsrc/memmgr.pla: 0601: -; libsrc/memmgr.pla: 0602: memblk = hpgtbl:[hmem.lsb, hmem.msb] - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/memmgr.pla: 0603: if memblk.lsb & HMEM_STATE == HMEM_LOCKED -; libsrc/memmgr.pla: 0604: memblk = memblk & HMEM_ADDR -; libsrc/memmgr.pla: 0605: lock = memblk->blklok - 1 -; libsrc/memmgr.pla: 0606: if lock == HMEM_ACCESSED -; libsrc/memmgr.pla: 0607: // -; libsrc/memmgr.pla: 0608: // Block is now moveable -; libsrc/memmgr.pla: 0609: // -; libsrc/memmgr.pla: 0610: hpgtbl:[hmem.lsb, hmem.msb] = memblk -; libsrc/memmgr.pla: 0611: fin - !BYTE $26 ; LA _D032+0 -_F131 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $76,$03 ; SLW [3] - !BYTE $64,$03 ; LLB [3] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B154 - !WORD _B154-* - !BYTE $66,$03 ; LLW [3] - !BYTE $5E,$FC ; CFFB 65532 - !BYTE $94 ; AND - !BYTE $6E,$03 ; DLW [3] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$80 ; CB 128 - !BYTE $24 ; BRNE _B156 - !WORD _B156-* - !BYTE $66,$03 ; LLW [3] - !BYTE $26 ; LA _D032+0 -_F132 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $72 ; SW -_B156 -_B157 -; libsrc/memmgr.pla: 0612: memblk->blklok = lock -; libsrc/memmgr.pla: 0613: //putc('U');putc(' ');puth(hmem);putln -; libsrc/memmgr.pla: 0614: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB -_B154 -_B155 -; libsrc/memmgr.pla: 0615: end - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/memmgr.pla: 0616: // -; libsrc/memmgr.pla: 0617: // Increment reference count -; libsrc/memmgr.pla: 0618: // -; libsrc/memmgr.pla: 0619: export def hmemRef(hmem)#0 - ; hmem -> [0] -_C019 ; hmemRef() -; libsrc/memmgr.pla: 0620: word memblk - ; memblk -> [2] -; libsrc/memmgr.pla: 0621: -; libsrc/memmgr.pla: 0622: memblk = hpgtbl:[hmem.lsb, hmem.msb] - !BYTE $58,$04,$01 ; ENTER 4,1 -; libsrc/memmgr.pla: 0623: when memblk.lsb & HMEM_STATE - !BYTE $26 ; LA _D032+0 -_F133 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$02 ; LLB [2] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $52 ; SEL - !WORD _B159-* -; libsrc/memmgr.pla: 0624: is HMEM_SWAPPED -_B160 -; libsrc/memmgr.pla: 0625: memblk = swapin(hmem) -; libsrc/memmgr.pla: 0626: is HMEM_LOCKED - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C011 -_F134 !WORD _C011 - !BYTE $76,$02 ; SLW [2] -_B161 -; libsrc/memmgr.pla: 0627: is HMEM_MOVEABLE -_B162 -; libsrc/memmgr.pla: 0628: memblk = memblk & HMEM_ADDR -; libsrc/memmgr.pla: 0629: if not memblk; return; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $5E,$FC ; CFFB 65532 - !BYTE $94 ; AND - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B163 - !WORD _B163-* - !BYTE $5A,$04 ; LEAVE 4 -_B163 -_B164 -; libsrc/memmgr.pla: 0630: memblk->blkref = memblk->blkref + 1 -; libsrc/memmgr.pla: 0631: wend - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -_B159 - !BYTE $03 ; CASEBLOCK - !WORD $0000 - !WORD _B162-* - !WORD $0002 - !WORD _B161-* - !WORD $0003 - !WORD _B160-* -_B158 -; libsrc/memmgr.pla: 0632: end - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/memmgr.pla: 0633: // -; libsrc/memmgr.pla: 0634: // Decrement reference count -; libsrc/memmgr.pla: 0635: // -; libsrc/memmgr.pla: 0636: export def hmemDel(hmem)#0 - ; hmem -> [0] -_C020 ; hmemDel() -; libsrc/memmgr.pla: 0637: byte ref - ; ref -> [2] -; libsrc/memmgr.pla: 0638: word memblk - ; memblk -> [3] -; libsrc/memmgr.pla: 0639: -; libsrc/memmgr.pla: 0640: memblk = hpgtbl:[hmem.lsb, hmem.msb] - !BYTE $58,$05,$01 ; ENTER 5,1 -; libsrc/memmgr.pla: 0641: when memblk & HMEM_STATE - !BYTE $26 ; LA _D032+0 -_F135 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $6E,$03 ; DLW [3] - !BYTE $3C,$03 ; ANDI 3 - !BYTE $52 ; SEL - !WORD _B166-* -; libsrc/memmgr.pla: 0642: is HMEM_SWAPPED -_B167 -; libsrc/memmgr.pla: 0643: memblk = swapin(hmem) -; libsrc/memmgr.pla: 0644: is HMEM_LOCKED - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C011 -_F136 !WORD _C011 - !BYTE $76,$03 ; SLW [3] -_B168 -; libsrc/memmgr.pla: 0645: is HMEM_MOVEABLE -_B169 -; libsrc/memmgr.pla: 0646: memblk = memblk & HMEM_ADDR -; libsrc/memmgr.pla: 0647: if not memblk; return; fin - !BYTE $66,$03 ; LLW [3] - !BYTE $5E,$FC ; CFFB 65532 - !BYTE $94 ; AND - !BYTE $6E,$03 ; DLW [3] - !BYTE $4E ; BRTRU _B170 - !WORD _B170-* - !BYTE $5A,$05 ; LEAVE 5 -_B170 -_B171 -; libsrc/memmgr.pla: 0648: ref = memblk->blkref - 1 -; libsrc/memmgr.pla: 0649: if ref == 0 -; libsrc/memmgr.pla: 0650: // -; libsrc/memmgr.pla: 0651: // No more references, free block -; libsrc/memmgr.pla: 0652: // -; libsrc/memmgr.pla: 0653: hpgtbl:[hmem.lsb, hmem.msb] = HMEM_AVAIL -; libsrc/memmgr.pla: 0654: addfre(memblk) -; libsrc/memmgr.pla: 0655: else - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $6C,$02 ; DLB [2] - !BYTE $4E ; BRTRU _B172 - !WORD _B172-* - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D032+0 -_F137 !WORD _D032+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $72 ; SW - !BYTE $66,$03 ; LLW [3] - !BYTE $54 ; CALL _C004 -_F138 !WORD _C004 - !BYTE $50 ; BRNCH _B173 - !WORD _B173-* -_B172 -; libsrc/memmgr.pla: 0656: memblk->blkref = ref -; libsrc/memmgr.pla: 0657: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB -_B173 -; libsrc/memmgr.pla: 0658: break - !BYTE $50 ; BRNCH _B165 - !WORD _B165-* -; libsrc/memmgr.pla: 0659: wend - !BYTE $50 ; BRNCH _B165 - !WORD _B165-* -_B166 - !BYTE $03 ; CASEBLOCK - !WORD $0000 - !WORD _B169-* - !WORD $0002 - !WORD _B168-* - !WORD $0003 - !WORD _B167-* -_B165 -; libsrc/memmgr.pla: 0660: end - !BYTE $5A,$05 ; LEAVE 5 -; libsrc/memmgr.pla: 0661: // -; libsrc/memmgr.pla: 0662: // Initialization: -; libsrc/memmgr.pla: 0663: // -; libsrc/memmgr.pla: 0664: // Search for best swap volume -; libsrc/memmgr.pla: 0665: // -; libsrc/memmgr.pla: 0666: // !!! Does this work on Apple ///??? -; libsrc/memmgr.pla: 0667: // -; libsrc/memmgr.pla: 0668: sysbuf = $0800 // heapallocalign(1024, 8, 0) -_INIT -; libsrc/memmgr.pla: 0669: initdata = heapalloc(t_initdata) // Use data on heap for initialization -; libsrc/memmgr.pla: 0670: initdata=>volparms.0 = 2 -; libsrc/memmgr.pla: 0671: initdata=>volparms.1 = 0 -; libsrc/memmgr.pla: 0672: initdata=>volparms:2 = sysbuf -; libsrc/memmgr.pla: 0673: syscall($C5, @initdata=>volparms) -; libsrc/memmgr.pla: 0674: initdata=>volptr = sysbuf -; libsrc/memmgr.pla: 0675: initdata=>ramfree = 0 -; libsrc/memmgr.pla: 0676: initdata=>bestfree = 0 -; libsrc/memmgr.pla: 0677: for sweepen = 0 to 15 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $7A ; SAW _D031+0 -_F139 !WORD _D031+0 - !BYTE $2A,$19 ; CB 25 - !BYTE $54 ; CALL _X014 -_F140 !WORD 0 - !BYTE $7A ; SAW _D030+0 -_F141 !WORD _D030+0 - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _D030+0 -_F142 !WORD _D030+0 - !BYTE $38,$15 ; ADDI 21 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D030+0 -_F143 !WORD _D030+0 - !BYTE $38,$15 ; ADDI 21 - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $6A ; LAW _D031+0 -_F144 !WORD _D031+0 - !BYTE $6A ; LAW _D030+0 -_F145 !WORD _D030+0 - !BYTE $38,$15 ; ADDI 21 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$C5 ; CB 197 - !BYTE $6A ; LAW _D030+0 -_F146 !WORD _D030+0 - !BYTE $38,$15 ; ADDI 21 - !BYTE $54 ; CALL _X011 -_F147 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D031+0 -_F148 !WORD _D031+0 - !BYTE $6A ; LAW _D030+0 -_F149 !WORD _D030+0 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D030+0 -_F150 !WORD _D030+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D030+0 -_F151 !WORD _D030+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B175 - !BYTE $7C ; DAB _D037+0 -_F152 !WORD _D037+0 -; libsrc/memmgr.pla: 0678: ^initdata=>volptr = ^initdata=>volptr & $0F -; libsrc/memmgr.pla: 0679: if ^initdata=>volptr -; libsrc/memmgr.pla: 0680: memcpy(@swapvol + 2, initdata=>volptr + 1, ^initdata=>volptr) -; libsrc/memmgr.pla: 0681: swapvol = ^initdata=>volptr + 1 -; libsrc/memmgr.pla: 0682: fileio:getfileinfo(@swapvol, @initdata->volinfo) -; libsrc/memmgr.pla: 0683: initdata=>freeblks = initdata=>volinfo:2 - initdata=>volinfo:5 -; libsrc/memmgr.pla: 0684: if initdata=>volptr:1 == $522F and initdata=>volptr:3 == $4D41 // '/RAM' -; libsrc/memmgr.pla: 0685: if isugt(initdata=>freeblks, initdata=>ramfree) -; libsrc/memmgr.pla: 0686: initdata=>ramvol = initdata=>volptr -; libsrc/memmgr.pla: 0687: initdata=>ramfree = initdata=>freeblks -; libsrc/memmgr.pla: 0688: fin - !BYTE $6A ; LAW _D030+0 -_F153 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $6A ; LAW _D030+0 -_F154 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $70 ; SB - !BYTE $6A ; LAW _D030+0 -_F155 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B177 - !WORD _B177-* - !BYTE $26 ; LA _D038+2 -_F156 !WORD _D038+2 - !BYTE $6A ; LAW _D030+0 -_F157 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $6A ; LAW _D030+0 -_F158 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F159 !WORD 0 - !BYTE $6A ; LAW _D030+0 -_F160 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D038+0 -_F161 !WORD _D038+0 - !BYTE $26 ; LA _D038+0 -_F162 !WORD _D038+0 - !BYTE $6A ; LAW _D030+0 -_F163 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $6A ; LAW _X028+4 -_F164 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D030+0 -_F165 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F166 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D030+0 -_F167 !WORD _D030+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F168 !WORD _D030+0 - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $2C,$2F,$52 ; CW 21039 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B179 - !WORD _B179-* - !BYTE $6A ; LAW _D030+0 -_F169 !WORD _D030+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $2C,$41,$4D ; CW 19777 - !BYTE $40 ; ISEQ -_B179 - !BYTE $4C ; BRFLS _B180 - !WORD _B180-* - !BYTE $6A ; LAW _D030+0 -_F170 !WORD _D030+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F171 !WORD _D030+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X024 -_F172 !WORD 0 - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $6A ; LAW _D030+0 -_F173 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F174 !WORD _D030+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F175 !WORD _D030+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F176 !WORD _D030+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW -_B182 -_B183 -; libsrc/memmgr.pla: 0689: elsif isugt(initdata=>freeblks, initdata=>bestfree) - !BYTE $50 ; BRNCH _B181 - !WORD _B181-* -_B180 -; libsrc/memmgr.pla: 0690: initdata=>bestvol = initdata=>volptr -; libsrc/memmgr.pla: 0691: initdata=>bestfree = initdata=>freeblks -; libsrc/memmgr.pla: 0692: fin - !BYTE $6A ; LAW _D030+0 -_F177 !WORD _D030+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F178 !WORD _D030+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X024 -_F179 !WORD 0 - !BYTE $4C ; BRFLS _B184 - !WORD _B184-* - !BYTE $6A ; LAW _D030+0 -_F180 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F181 !WORD _D030+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F182 !WORD _D030+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F183 !WORD _D030+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW -_B184 -_B181 -; libsrc/memmgr.pla: 0693: fin -_B177 -_B178 -; libsrc/memmgr.pla: 0694: initdata=>volptr = initdata=>volptr + 16 -; libsrc/memmgr.pla: 0695: next - !BYTE $6A ; LAW _D030+0 -_F184 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $38,$10 ; ADDI 16 - !BYTE $6A ; LAW _D030+0 -_F185 !WORD _D030+0 - !BYTE $72 ; SW -_B176 - !BYTE $A4 ; INCBRLE _B175 - !WORD _B175-* -_B174 - !BYTE $78 ; SAB _D037+0 -_F186 !WORD _D037+0 - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0696: if isugt(initdata=>ramfree, $40) or isugt(initdata=>ramfree, initdata=>bestfree) // RAMdrive greater than 64K? Use it -; libsrc/memmgr.pla: 0697: initdata=>bestvol = initdata=>ramvol -; libsrc/memmgr.pla: 0698: initdata=>bestfree = initdata=>ramfree -; libsrc/memmgr.pla: 0699: fin - !BYTE $6A ; LAW _D030+0 -_F187 !WORD _D030+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _X024 -_F188 !WORD 0 - !BYTE $AE ; BROR _B185 - !WORD _B185-* - !BYTE $6A ; LAW _D030+0 -_F189 !WORD _D030+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F190 !WORD _D030+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X024 -_F191 !WORD 0 -_B185 - !BYTE $4C ; BRFLS _B186 - !WORD _B186-* - !BYTE $6A ; LAW _D030+0 -_F192 !WORD _D030+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F193 !WORD _D030+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F194 !WORD _D030+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F195 !WORD _D030+0 - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW -_B186 -_B187 -; libsrc/memmgr.pla: 0700: memcpy(@swapvol + 2, initdata=>bestvol + 1, ^initdata=>bestvol) -; libsrc/memmgr.pla: 0701: swapvol = ^initdata=>bestvol + 1 -; libsrc/memmgr.pla: 0702: memcpy(@swapvol + swapvol + 1, @swapdir + 1, swapdir) -; libsrc/memmgr.pla: 0703: swapvol = swapvol + swapdir -; libsrc/memmgr.pla: 0704: fileio:create(@swapvol, $0F, $0000) // Create the swap directory -; libsrc/memmgr.pla: 0705: // -; libsrc/memmgr.pla: 0706: // Clear out left over swap files -; libsrc/memmgr.pla: 0707: // -; libsrc/memmgr.pla: 0708: initdata->catref = fileio:open(@swapvol) -; libsrc/memmgr.pla: 0709: initdata->firstblk = 1 -; libsrc/memmgr.pla: 0710: initdata->swapstrlen = swapvol -; libsrc/memmgr.pla: 0711: repeat - !BYTE $26 ; LA _D038+2 -_F196 !WORD _D038+2 - !BYTE $6A ; LAW _D030+0 -_F197 !WORD _D030+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $6A ; LAW _D030+0 -_F198 !WORD _D030+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F199 !WORD 0 - !BYTE $6A ; LAW _D030+0 -_F200 !WORD _D030+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D038+0 -_F201 !WORD _D038+0 - !BYTE $26 ; LA _D038+0 -_F202 !WORD _D038+0 - !BYTE $B4 ; ADDAB _D038+0 -_F203 !WORD _D038+0 - !BYTE $8C ; INCR - !BYTE $26 ; LA _D039+1 -_F204 !WORD _D039+1 - !BYTE $68 ; LAB _D039+0 -_F205 !WORD _D039+0 - !BYTE $54 ; CALL _X018 -_F206 !WORD 0 - !BYTE $68 ; LAB _D038+0 -_F207 !WORD _D038+0 - !BYTE $B4 ; ADDAB _D039+0 -_F208 !WORD _D039+0 - !BYTE $78 ; SAB _D038+0 -_F209 !WORD _D038+0 - !BYTE $26 ; LA _D038+0 -_F210 !WORD _D038+0 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+22 -_F211 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D038+0 -_F212 !WORD _D038+0 - !BYTE $6A ; LAW _X028+14 -_F213 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _D030+0 -_F214 !WORD _D030+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D030+0 -_F215 !WORD _D030+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D038+0 -_F216 !WORD _D038+0 - !BYTE $6A ; LAW _D030+0 -_F217 !WORD _D030+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $70 ; SB -_B189 -; libsrc/memmgr.pla: 0712: if fileio:read(initdata->catref, @initdata->catalog, 512) == 512 -; libsrc/memmgr.pla: 0713: initdata=>catentry = @initdata->catalog.4 -; libsrc/memmgr.pla: 0714: if initdata->firstblk -; libsrc/memmgr.pla: 0715: initdata->entrylen = initdata->catalog.$23 -; libsrc/memmgr.pla: 0716: initdata->entriesblk = initdata->catalog.$24 -; libsrc/memmgr.pla: 0717: initdata=>filecnt = initdata=>catalog:$25 -; libsrc/memmgr.pla: 0718: initdata=>catentry = initdata=>catentry + initdata->entrylen -; libsrc/memmgr.pla: 0719: fin - !BYTE $6A ; LAW _D030+0 -_F218 !WORD _D030+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D030+0 -_F219 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X028+18 -_F220 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $24 ; BRNE _B191 - !WORD _B191-* - !BYTE $6A ; LAW _D030+0 -_F221 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $38,$04 ; ADDI 4 - !BYTE $6A ; LAW _D030+0 -_F222 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F223 !WORD _D030+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B193 - !WORD _B193-* - !BYTE $6A ; LAW _D030+0 -_F224 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D030+0 -_F225 !WORD _D030+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D030+0 -_F226 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D030+0 -_F227 !WORD _D030+0 - !BYTE $38,$13 ; ADDI 19 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D030+0 -_F228 !WORD _D030+0 - !BYTE $38,$19 ; ADDI 25 - !BYTE $38,$25 ; ADDI 37 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F229 !WORD _D030+0 - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D030+0 -_F230 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F231 !WORD _D030+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D030+0 -_F232 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW -_B193 -_B194 -; libsrc/memmgr.pla: 0720: for sweepen = initdata->firstblk to initdata->entriesblk - !BYTE $6A ; LAW _D030+0 -_F233 !WORD _D030+0 - !BYTE $38,$13 ; ADDI 19 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D030+0 -_F234 !WORD _D030+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $60 ; LB - !BYTE $A0 ; BRGT _B195 - !WORD _B195-* -_B196 - !BYTE $7C ; DAB _D037+0 -_F235 !WORD _D037+0 -; libsrc/memmgr.pla: 0721: ^initdata=>catentry = ^initdata=>catentry & $0F -; libsrc/memmgr.pla: 0722: if ^initdata=>catentry -; libsrc/memmgr.pla: 0723: memcpy(@swapvol + swapvol + 1, initdata=>catentry + 1, ^initdata=>catentry) -; libsrc/memmgr.pla: 0724: swapvol = swapvol + ^initdata=>catentry -; libsrc/memmgr.pla: 0725: fileio:destroy(@swapvol) -; libsrc/memmgr.pla: 0726: swapvol = initdata->swapstrlen -; libsrc/memmgr.pla: 0727: fin - !BYTE $6A ; LAW _D030+0 -_F236 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $6A ; LAW _D030+0 -_F237 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $70 ; SB - !BYTE $6A ; LAW _D030+0 -_F238 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B198 - !WORD _B198-* - !BYTE $26 ; LA _D038+0 -_F239 !WORD _D038+0 - !BYTE $B4 ; ADDAB _D038+0 -_F240 !WORD _D038+0 - !BYTE $8C ; INCR - !BYTE $6A ; LAW _D030+0 -_F241 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $6A ; LAW _D030+0 -_F242 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F243 !WORD 0 - !BYTE $68 ; LAB _D038+0 -_F244 !WORD _D038+0 - !BYTE $6A ; LAW _D030+0 -_F245 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $78 ; SAB _D038+0 -_F246 !WORD _D038+0 - !BYTE $26 ; LA _D038+0 -_F247 !WORD _D038+0 - !BYTE $6A ; LAW _X028+24 -_F248 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D030+0 -_F249 !WORD _D030+0 - !BYTE $38,$14 ; ADDI 20 - !BYTE $60 ; LB - !BYTE $78 ; SAB _D038+0 -_F250 !WORD _D038+0 -_B198 -_B199 -; libsrc/memmgr.pla: 0728: initdata=>catentry = initdata=>catentry + initdata->entrylen -; libsrc/memmgr.pla: 0729: next - !BYTE $6A ; LAW _D030+0 -_F251 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D030+0 -_F252 !WORD _D030+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D030+0 -_F253 !WORD _D030+0 - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW -_B197 - !BYTE $A4 ; INCBRLE _B196 - !WORD _B196-* -_B195 - !BYTE $78 ; SAB _D037+0 -_F254 !WORD _D037+0 - !BYTE $30 ; DROP -; libsrc/memmgr.pla: 0730: initdata->firstblk = 0 -; libsrc/memmgr.pla: 0731: else - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D030+0 -_F255 !WORD _D030+0 - !BYTE $38,$11 ; ADDI 17 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -_B191 -; libsrc/memmgr.pla: 0732: initdata->filecnt = 0 -; libsrc/memmgr.pla: 0733: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D030+0 -_F256 !WORD _D030+0 - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB -_B192 -; libsrc/memmgr.pla: 0734: until !initdata->filecnt -_B190 - !BYTE $6A ; LAW _D030+0 -_F257 !WORD _D030+0 - !BYTE $38,$0C ; ADDI 12 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B189 - !WORD _B189-* -_B188 -; libsrc/memmgr.pla: 0735: fileio:close(initdata->catref) -; libsrc/memmgr.pla: 0736: heaprelease(initdata) -; libsrc/memmgr.pla: 0737: //puts(@swapvol); putln -; libsrc/memmgr.pla: 0738: done - !BYTE $6A ; LAW _D030+0 -_F258 !WORD _D030+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $6A ; LAW _X028+16 -_F259 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D030+0 -_F260 !WORD _D030+0 - !BYTE $54 ; CALL _X015 -_F261 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 22 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: ISUGT - !BYTE $C9,$D3,$D5,$C7,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 24 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ISULE - !BYTE $C9,$D3,$D5,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 27 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: SWEEP - !BYTE $D3,$D7,$C5,$C5,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C012 - ; DCI STRING: BRK - !BYTE $C2,$D2,$4B - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C013 - ; DCI STRING: SBRK - !BYTE $D3,$C2,$D2,$4B - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C014 - ; DCI STRING: HMEMFRE - !BYTE $C8,$CD,$C5,$CD,$C6,$D2,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C015 - ; DCI STRING: HMEMNEW - !BYTE $C8,$CD,$C5,$CD,$CE,$C5,$57 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C016 - ; DCI STRING: HMEMLOCK - !BYTE $C8,$CD,$C5,$CD,$CC,$CF,$C3,$4B - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C017 - ; DCI STRING: HMEMUNLOCK - !BYTE $C8,$CD,$C5,$CD,$D5,$CE,$CC,$CF,$C3,$4B - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C018 - ; DCI STRING: HMEMREF - !BYTE $C8,$CD,$C5,$CD,$D2,$C5,$46 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C019 - ; DCI STRING: HMEMDEL - !BYTE $C8,$CD,$C5,$CD,$C4,$C5,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C020 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/sane.a b/src/libsrc/sane.a deleted file mode 100644 index 1d58e66..0000000 --- a/src/libsrc/sane.a +++ /dev/null @@ -1,2852 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/sane.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/sane.pla: 0001: -; libsrc/sane.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; libsrc/sane.pla: 0002: -; libsrc/sane.pla: 0003: const AUXADDR = $E000 // Location of SANE on 128K //e or //c - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; AUXADDR = 57344 -; libsrc/sane.pla: 0004: struc t_diskinfo -; libsrc/sane.pla: 0005: word codelen - ; codelen = 0 -; libsrc/sane.pla: 0006: word codeaddr - ; codeaddr = 2 -; libsrc/sane.pla: 0007: end - ; t_diskinfo = 4 -; libsrc/sane.pla: 0008: struc t_codefile -; libsrc/sane.pla: 0009: byte[16*t_diskinfo] diskinfo - ; diskinfo = 0 -; libsrc/sane.pla: 0010: byte[16*8] segname - ; segname = 64 -; libsrc/sane.pla: 0011: word[16] segkind - ; segkind = 192 -; libsrc/sane.pla: 0012: word[16] textaddr - ; textaddr = 224 -; libsrc/sane.pla: 0013: word[16] seginfo - ; seginfo = 256 -; libsrc/sane.pla: 0014: end - ; t_codefile = 288 -; libsrc/sane.pla: 0015: // -; libsrc/sane.pla: 0016: // External interface to SANE libraries -; libsrc/sane.pla: 0017: // -; libsrc/sane.pla: 0018: predef fpInit(), fpDefaultHalt(pstatus), uninit0(), uninit1(op, dst), uninit2(op, dst, src), uninit3(op, dst, src, src2) -; libsrc/sane.pla: 0019: //export word sane = @fpInit, @fpDefaultHalt, @uninit0, @uninit1, @uninit2, @uninit3, @uninit1, @uninit2, @uninit3, @uninit0, @uninit0 -; libsrc/sane.pla: 0020: word sane = @fpInit, @fpDefaultHalt, @uninit0, @uninit1, @uninit2, @uninit3, @uninit1, @uninit2, @uninit3, @uninit0, @uninit0 -_D036 ; sane = @fpInit, @fpDefaultHalt, @uninit0, @uninit1, @uninit2, @uninit3, @uninit1, @uninit2, @uninit3, @uninit0, @uninit0 -_F000 !WORD _P000 -_F001 !WORD _P001 -_F002 !WORD _P002 -_F003 !WORD _P003 -_F004 !WORD _P004 -_F005 !WORD _P005 -_F006 !WORD _P003 -_F007 !WORD _P004 -_F008 !WORD _P005 -_F009 !WORD _P002 -_F010 !WORD _P002 -; libsrc/sane.pla: 0021: // -; libsrc/sane.pla: 0022: // Pointer to FP6502 entry -; libsrc/sane.pla: 0023: // -; libsrc/sane.pla: 0024: word fp6502 -_D037 !FILL 2 ; fp6502 -; libsrc/sane.pla: 0025: // -; libsrc/sane.pla: 0026: // PLASMA <-> SANE interface routines -; libsrc/sane.pla: 0027: // -; libsrc/sane.pla: 0028: asm equates -_A000 ; equates() -; libsrc/sane.pla: 0029: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; libsrc/sane.pla: 0030: end -; libsrc/sane.pla: 0031: // -; libsrc/sane.pla: 0032: // HALT exception handling -; libsrc/sane.pla: 0033: // -; libsrc/sane.pla: 0034: asm xfpHalt -_A001 ; xfpHalt() -; libsrc/sane.pla: 0035: STX SRC ; COPY STATUS RECORD TO MAIN MEMORY - STX SRC ; COPY STATUS RECORD TO MAIN MEMORY -; libsrc/sane.pla: 0036: STY SRC+1 - STY SRC+1 -; libsrc/sane.pla: 0037: LDY #$08 - LDY #$08 -; libsrc/sane.pla: 0038: - LDA (SRC),Y -- LDA (SRC),Y -; libsrc/sane.pla: 0039: STA $02F7,Y - STA $02F7,Y -; libsrc/sane.pla: 0040: DEY - DEY -; libsrc/sane.pla: 0041: BPL - - BPL - -; libsrc/sane.pla: 0042: PLA - PLA -; libsrc/sane.pla: 0043: TAX - TAX -; libsrc/sane.pla: 0044: PLA - PLA -; libsrc/sane.pla: 0045: TAY - TAY -; libsrc/sane.pla: 0046: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0047: PLP - PLP -; libsrc/sane.pla: 0048: TYA - TYA -; libsrc/sane.pla: 0049: PHA - PHA -; libsrc/sane.pla: 0050: TXA - TXA -; libsrc/sane.pla: 0051: PHA - PHA -; libsrc/sane.pla: 0052: LDY #$02 ; POINT TO MOVED STATUS RECORD - LDY #$02 ; POINT TO MOVED STATUS RECORD -; libsrc/sane.pla: 0053: LDX #$F7 - LDX #$F7 -; libsrc/sane.pla: 0054: end -; libsrc/sane.pla: 0055: asm fpHalt -_A002 ; fpHalt() -; libsrc/sane.pla: 0056: STA $C008 - STA $C008 -; libsrc/sane.pla: 0057: TXA - TXA -; libsrc/sane.pla: 0058: LDX ESP - LDX ESP -; libsrc/sane.pla: 0059: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0060: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0061: PLA ; POP RETURN TO fpOp? - PLA ; POP RETURN TO fpOp? -; libsrc/sane.pla: 0062: PLA - PLA -; libsrc/sane.pla: 0063: end -; libsrc/sane.pla: 0064: asm fixupHLT -_A003 ; fixupHLT() -; libsrc/sane.pla: 0065: JMP ($FFF0) ; JUMP THROUGH PLASMA HALT VECTOR - JMP ($FFF0) ; JUMP THROUGH PLASMA HALT VECTOR -; libsrc/sane.pla: 0066: end -; libsrc/sane.pla: 0067: // -; libsrc/sane.pla: 0068: // Main memory FP6502 API -; libsrc/sane.pla: 0069: // -; libsrc/sane.pla: 0070: asm fpOp0(op)#1 -_A004 ; fpOp0() -; libsrc/sane.pla: 0071: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0072: PHA - PHA -; libsrc/sane.pla: 0073: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0074: PHA - PHA -; libsrc/sane.pla: 0075: STX ESP - STX ESP -; libsrc/sane.pla: 0076: end -; libsrc/sane.pla: 0077: asm fixupFP0 -_A005 ; fixupFP0() -; libsrc/sane.pla: 0078: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0079: TXA - TXA -; libsrc/sane.pla: 0080: LDX ESP - LDX ESP -; libsrc/sane.pla: 0081: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0082: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0083: RTS - RTS -; libsrc/sane.pla: 0084: end -; libsrc/sane.pla: 0085: asm fpOp1(op, dst)#1 -_A006 ; fpOp1() -; libsrc/sane.pla: 0086: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0087: PHA - PHA -; libsrc/sane.pla: 0088: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0089: PHA - PHA -; libsrc/sane.pla: 0090: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0091: PHA - PHA -; libsrc/sane.pla: 0092: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0093: PHA - PHA -; libsrc/sane.pla: 0094: INX - INX -; libsrc/sane.pla: 0095: STX ESP - STX ESP -; libsrc/sane.pla: 0096: end -; libsrc/sane.pla: 0097: asm fixupFP1 -_A007 ; fixupFP1() -; libsrc/sane.pla: 0098: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0099: TXA - TXA -; libsrc/sane.pla: 0100: LDX ESP - LDX ESP -; libsrc/sane.pla: 0101: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0102: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0103: RTS - RTS -; libsrc/sane.pla: 0104: end -; libsrc/sane.pla: 0105: asm fpOp2(op, dst, src)#1 -_A008 ; fpOp2() -; libsrc/sane.pla: 0106: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0107: PHA - PHA -; libsrc/sane.pla: 0108: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0109: PHA - PHA -; libsrc/sane.pla: 0110: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0111: PHA - PHA -; libsrc/sane.pla: 0112: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0113: PHA - PHA -; libsrc/sane.pla: 0114: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0115: PHA - PHA -; libsrc/sane.pla: 0116: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0117: PHA - PHA -; libsrc/sane.pla: 0118: INX - INX -; libsrc/sane.pla: 0119: INX - INX -; libsrc/sane.pla: 0120: STX ESP - STX ESP -; libsrc/sane.pla: 0121: end -; libsrc/sane.pla: 0122: asm fixupFP2 -_A009 ; fixupFP2() -; libsrc/sane.pla: 0123: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0124: TXA - TXA -; libsrc/sane.pla: 0125: LDX ESP - LDX ESP -; libsrc/sane.pla: 0126: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0127: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0128: RTS - RTS -; libsrc/sane.pla: 0129: end -; libsrc/sane.pla: 0130: asm fpOp3(op, dst, src, src2)#1 -_A010 ; fpOp3() -; libsrc/sane.pla: 0131: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0132: PHA - PHA -; libsrc/sane.pla: 0133: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0134: PHA - PHA -; libsrc/sane.pla: 0135: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0136: PHA - PHA -; libsrc/sane.pla: 0137: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0138: PHA - PHA -; libsrc/sane.pla: 0139: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0140: PHA - PHA -; libsrc/sane.pla: 0141: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0142: PHA - PHA -; libsrc/sane.pla: 0143: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/sane.pla: 0144: PHA - PHA -; libsrc/sane.pla: 0145: LDA ESTKL+3,X - LDA ESTKL+3,X -; libsrc/sane.pla: 0146: PHA - PHA -; libsrc/sane.pla: 0147: INX - INX -; libsrc/sane.pla: 0148: INX - INX -; libsrc/sane.pla: 0149: INX - INX -; libsrc/sane.pla: 0150: STX ESP - STX ESP -; libsrc/sane.pla: 0151: end -; libsrc/sane.pla: 0152: asm fixupFP3 -_A011 ; fixupFP3() -; libsrc/sane.pla: 0153: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0154: TXA - TXA -; libsrc/sane.pla: 0155: LDX ESP - LDX ESP -; libsrc/sane.pla: 0156: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0157: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0158: RTS - RTS -; libsrc/sane.pla: 0159: end -; libsrc/sane.pla: 0160: // -; libsrc/sane.pla: 0161: // AUX memory FP6502 API -; libsrc/sane.pla: 0162: // -; libsrc/sane.pla: 0163: asm xfpOp0(op)#1 -_A012 ; xfpOp0() -; libsrc/sane.pla: 0164: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0165: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0166: STX ESP - STX ESP -; libsrc/sane.pla: 0167: PHP - PHP -; libsrc/sane.pla: 0168: SEI - SEI -; libsrc/sane.pla: 0169: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0170: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0171: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0172: PHA - PHA -; libsrc/sane.pla: 0173: TYA - TYA -; libsrc/sane.pla: 0174: PHA - PHA -; libsrc/sane.pla: 0175: JSR $E000 - JSR $E000 -; libsrc/sane.pla: 0176: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0177: PLP - PLP -; libsrc/sane.pla: 0178: TXA - TXA -; libsrc/sane.pla: 0179: LDX ESP - LDX ESP -; libsrc/sane.pla: 0180: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0181: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0182: RTS - RTS -; libsrc/sane.pla: 0183: end -; libsrc/sane.pla: 0184: asm xfpOp1(op, dst)#1 -_A013 ; xfpOp1() -; libsrc/sane.pla: 0185: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0186: STA $02FE - STA $02FE -; libsrc/sane.pla: 0187: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0188: STA $02FF - STA $02FF -; libsrc/sane.pla: 0189: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0190: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0191: INX - INX -; libsrc/sane.pla: 0192: STX ESP - STX ESP -; libsrc/sane.pla: 0193: PHP - PHP -; libsrc/sane.pla: 0194: SEI - SEI -; libsrc/sane.pla: 0195: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0196: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0197: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0198: PHA - PHA -; libsrc/sane.pla: 0199: TYA - TYA -; libsrc/sane.pla: 0200: PHA - PHA -; libsrc/sane.pla: 0201: LDA $02FF - LDA $02FF -; libsrc/sane.pla: 0202: PHA - PHA -; libsrc/sane.pla: 0203: LDA $02FE - LDA $02FE -; libsrc/sane.pla: 0204: PHA - PHA -; libsrc/sane.pla: 0205: JSR $E000 - JSR $E000 -; libsrc/sane.pla: 0206: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0207: PLP - PLP -; libsrc/sane.pla: 0208: TXA - TXA -; libsrc/sane.pla: 0209: LDX ESP - LDX ESP -; libsrc/sane.pla: 0210: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0211: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0212: RTS - RTS -; libsrc/sane.pla: 0213: end -; libsrc/sane.pla: 0214: asm xfpOp2(op, dst, src)#1 -_A014 ; xfpOp2() -; libsrc/sane.pla: 0215: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0216: STA $02FC - STA $02FC -; libsrc/sane.pla: 0217: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0218: STA $02FD - STA $02FD -; libsrc/sane.pla: 0219: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0220: STA $02FE - STA $02FE -; libsrc/sane.pla: 0221: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0222: STA $02FF - STA $02FF -; libsrc/sane.pla: 0223: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0224: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0225: INX - INX -; libsrc/sane.pla: 0226: INX - INX -; libsrc/sane.pla: 0227: STX ESP - STX ESP -; libsrc/sane.pla: 0228: PHP - PHP -; libsrc/sane.pla: 0229: SEI - SEI -; libsrc/sane.pla: 0230: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0231: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0232: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0233: PHA - PHA -; libsrc/sane.pla: 0234: TYA - TYA -; libsrc/sane.pla: 0235: PHA - PHA -; libsrc/sane.pla: 0236: LDA $02FF - LDA $02FF -; libsrc/sane.pla: 0237: PHA - PHA -; libsrc/sane.pla: 0238: LDA $02FE - LDA $02FE -; libsrc/sane.pla: 0239: PHA - PHA -; libsrc/sane.pla: 0240: LDA $02FD - LDA $02FD -; libsrc/sane.pla: 0241: PHA - PHA -; libsrc/sane.pla: 0242: LDA $02FC - LDA $02FC -; libsrc/sane.pla: 0243: PHA - PHA -; libsrc/sane.pla: 0244: JSR $E000 - JSR $E000 -; libsrc/sane.pla: 0245: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0246: PLP - PLP -; libsrc/sane.pla: 0247: TXA - TXA -; libsrc/sane.pla: 0248: LDX ESP - LDX ESP -; libsrc/sane.pla: 0249: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0250: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0251: RTS - RTS -; libsrc/sane.pla: 0252: end -; libsrc/sane.pla: 0253: asm xfpOp3(op, dst, src, src2)#1 -_A015 ; xfpOp3() -; libsrc/sane.pla: 0254: LDA ESTKL+3,X - LDA ESTKL+3,X -; libsrc/sane.pla: 0255: STA $02FA - STA $02FA -; libsrc/sane.pla: 0256: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/sane.pla: 0257: STA $02FB - STA $02FB -; libsrc/sane.pla: 0258: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0259: STA $02FC - STA $02FC -; libsrc/sane.pla: 0260: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0261: STA $02FD - STA $02FD -; libsrc/sane.pla: 0262: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0263: STA $02FE - STA $02FE -; libsrc/sane.pla: 0264: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0265: STA $02FF - STA $02FF -; libsrc/sane.pla: 0266: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0267: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0268: INX - INX -; libsrc/sane.pla: 0269: INX - INX -; libsrc/sane.pla: 0270: INX - INX -; libsrc/sane.pla: 0271: STX ESP - STX ESP -; libsrc/sane.pla: 0272: PHP - PHP -; libsrc/sane.pla: 0273: SEI - SEI -; libsrc/sane.pla: 0274: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0275: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0276: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0277: PHA - PHA -; libsrc/sane.pla: 0278: TYA - TYA -; libsrc/sane.pla: 0279: PHA - PHA -; libsrc/sane.pla: 0280: LDA $02FF - LDA $02FF -; libsrc/sane.pla: 0281: PHA - PHA -; libsrc/sane.pla: 0282: LDA $02FE - LDA $02FE -; libsrc/sane.pla: 0283: PHA - PHA -; libsrc/sane.pla: 0284: LDA $02FD - LDA $02FD -; libsrc/sane.pla: 0285: PHA - PHA -; libsrc/sane.pla: 0286: LDA $02FC - LDA $02FC -; libsrc/sane.pla: 0287: PHA - PHA -; libsrc/sane.pla: 0288: LDA $02FB - LDA $02FB -; libsrc/sane.pla: 0289: PHA - PHA -; libsrc/sane.pla: 0290: LDA $02FA - LDA $02FA -; libsrc/sane.pla: 0291: PHA - PHA -; libsrc/sane.pla: 0292: JSR $E000 - JSR $E000 -; libsrc/sane.pla: 0293: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0294: PLP - PLP -; libsrc/sane.pla: 0295: TXA - TXA -; libsrc/sane.pla: 0296: LDX ESP - LDX ESP -; libsrc/sane.pla: 0297: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0298: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0299: RTS - RTS -; libsrc/sane.pla: 0300: end -; libsrc/sane.pla: 0301: // -; libsrc/sane.pla: 0302: // Main memory ELEMS6502 API -; libsrc/sane.pla: 0303: // -; libsrc/sane.pla: 0304: asm elemsOp1(op, dst)#1 -_A016 ; elemsOp1() -; libsrc/sane.pla: 0305: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0306: PHA - PHA -; libsrc/sane.pla: 0307: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0308: PHA - PHA -; libsrc/sane.pla: 0309: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0310: PHA - PHA -; libsrc/sane.pla: 0311: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0312: PHA - PHA -; libsrc/sane.pla: 0313: INX - INX -; libsrc/sane.pla: 0314: STX ESP - STX ESP -; libsrc/sane.pla: 0315: end -; libsrc/sane.pla: 0316: asm fixupEL1 -_A017 ; fixupEL1() -; libsrc/sane.pla: 0317: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0318: TXA - TXA -; libsrc/sane.pla: 0319: LDX ESP - LDX ESP -; libsrc/sane.pla: 0320: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0321: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0322: RTS - RTS -; libsrc/sane.pla: 0323: end -; libsrc/sane.pla: 0324: asm elemsOp2(op, dst, src)#1 -_A018 ; elemsOp2() -; libsrc/sane.pla: 0325: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0326: PHA - PHA -; libsrc/sane.pla: 0327: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0328: PHA - PHA -; libsrc/sane.pla: 0329: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0330: PHA - PHA -; libsrc/sane.pla: 0331: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0332: PHA - PHA -; libsrc/sane.pla: 0333: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0334: PHA - PHA -; libsrc/sane.pla: 0335: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0336: PHA - PHA -; libsrc/sane.pla: 0337: INX - INX -; libsrc/sane.pla: 0338: INX - INX -; libsrc/sane.pla: 0339: STX ESP - STX ESP -; libsrc/sane.pla: 0340: end -; libsrc/sane.pla: 0341: asm fixupEL2 -_A019 ; fixupEL2() -; libsrc/sane.pla: 0342: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0343: TXA - TXA -; libsrc/sane.pla: 0344: LDX ESP - LDX ESP -; libsrc/sane.pla: 0345: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0346: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0347: RTS - RTS -; libsrc/sane.pla: 0348: end -; libsrc/sane.pla: 0349: asm elemsOp3(op, dst, src, src2)#1 -_A020 ; elemsOp3() -; libsrc/sane.pla: 0350: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0351: PHA - PHA -; libsrc/sane.pla: 0352: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0353: PHA - PHA -; libsrc/sane.pla: 0354: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0355: PHA - PHA -; libsrc/sane.pla: 0356: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0357: PHA - PHA -; libsrc/sane.pla: 0358: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0359: PHA - PHA -; libsrc/sane.pla: 0360: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0361: PHA - PHA -; libsrc/sane.pla: 0362: LDA ESTKH+3,X - LDA ESTKH+3,X -; libsrc/sane.pla: 0363: PHA - PHA -; libsrc/sane.pla: 0364: LDA ESTKL+3,X - LDA ESTKL+3,X -; libsrc/sane.pla: 0365: PHA - PHA -; libsrc/sane.pla: 0366: INX - INX -; libsrc/sane.pla: 0367: INX - INX -; libsrc/sane.pla: 0368: INX - INX -; libsrc/sane.pla: 0369: STX ESP - STX ESP -; libsrc/sane.pla: 0370: end -; libsrc/sane.pla: 0371: asm fixupEL3 -_A021 ; fixupEL3() -; libsrc/sane.pla: 0372: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0373: TXA - TXA -; libsrc/sane.pla: 0374: LDX ESP - LDX ESP -; libsrc/sane.pla: 0375: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0376: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0377: RTS - RTS -; libsrc/sane.pla: 0378: end -; libsrc/sane.pla: 0379: // -; libsrc/sane.pla: 0380: // AUX memory ELEMS6502 API -; libsrc/sane.pla: 0381: // -; libsrc/sane.pla: 0382: asm xelemsOp1(op, dst)#1 -_A022 ; xelemsOp1() -; libsrc/sane.pla: 0383: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0384: STA $02FE - STA $02FE -; libsrc/sane.pla: 0385: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0386: STA $02FF - STA $02FF -; libsrc/sane.pla: 0387: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0388: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0389: INX - INX -; libsrc/sane.pla: 0390: STX ESP - STX ESP -; libsrc/sane.pla: 0391: PHP - PHP -; libsrc/sane.pla: 0392: SEI - SEI -; libsrc/sane.pla: 0393: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0394: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0395: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0396: PHA - PHA -; libsrc/sane.pla: 0397: TYA - TYA -; libsrc/sane.pla: 0398: PHA - PHA -; libsrc/sane.pla: 0399: LDA $02FF - LDA $02FF -; libsrc/sane.pla: 0400: PHA - PHA -; libsrc/sane.pla: 0401: LDA $02FE - LDA $02FE -; libsrc/sane.pla: 0402: PHA - PHA -; libsrc/sane.pla: 0403: end -; libsrc/sane.pla: 0404: asm fixupXEL1 -_A023 ; fixupXEL1() -; libsrc/sane.pla: 0405: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0406: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0407: PLP - PLP -; libsrc/sane.pla: 0408: TXA - TXA -; libsrc/sane.pla: 0409: LDX ESP - LDX ESP -; libsrc/sane.pla: 0410: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0411: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0412: RTS - RTS -; libsrc/sane.pla: 0413: end -; libsrc/sane.pla: 0414: asm xelemsOp2(op, dst, src)#1 -_A024 ; xelemsOp2() -; libsrc/sane.pla: 0415: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0416: STA $02FC - STA $02FC -; libsrc/sane.pla: 0417: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0418: STA $02FD - STA $02FD -; libsrc/sane.pla: 0419: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0420: STA $02FE - STA $02FE -; libsrc/sane.pla: 0421: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0422: STA $02FF - STA $02FF -; libsrc/sane.pla: 0423: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0424: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0425: INX - INX -; libsrc/sane.pla: 0426: INX - INX -; libsrc/sane.pla: 0427: STX ESP - STX ESP -; libsrc/sane.pla: 0428: PHP - PHP -; libsrc/sane.pla: 0429: SEI - SEI -; libsrc/sane.pla: 0430: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0431: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0432: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0433: PHA - PHA -; libsrc/sane.pla: 0434: TYA - TYA -; libsrc/sane.pla: 0435: PHA - PHA -; libsrc/sane.pla: 0436: LDA $02FF - LDA $02FF -; libsrc/sane.pla: 0437: PHA - PHA -; libsrc/sane.pla: 0438: LDA $02FE - LDA $02FE -; libsrc/sane.pla: 0439: PHA - PHA -; libsrc/sane.pla: 0440: LDA $02FD - LDA $02FD -; libsrc/sane.pla: 0441: PHA - PHA -; libsrc/sane.pla: 0442: LDA $02FC - LDA $02FC -; libsrc/sane.pla: 0443: PHA - PHA -; libsrc/sane.pla: 0444: end -; libsrc/sane.pla: 0445: asm fixupXEL2 -_A025 ; fixupXEL2() -; libsrc/sane.pla: 0446: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0447: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0448: PLP - PLP -; libsrc/sane.pla: 0449: TXA - TXA -; libsrc/sane.pla: 0450: LDX ESP - LDX ESP -; libsrc/sane.pla: 0451: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0452: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0453: RTS - RTS -; libsrc/sane.pla: 0454: end -; libsrc/sane.pla: 0455: asm xelemsOp3(op, dst, src, src2)#1 -_A026 ; xelemsOp3() -; libsrc/sane.pla: 0456: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0457: STA $02FA - STA $02FA -; libsrc/sane.pla: 0458: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0459: STA $02FB - STA $02FB -; libsrc/sane.pla: 0460: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0461: STA $02FC - STA $02FC -; libsrc/sane.pla: 0462: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0463: STA $02FD - STA $02FD -; libsrc/sane.pla: 0464: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0465: STA $02FE - STA $02FE -; libsrc/sane.pla: 0466: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0467: STA $02FF - STA $02FF -; libsrc/sane.pla: 0468: LDY ESTKL,X - LDY ESTKL,X -; libsrc/sane.pla: 0469: LDA ESTKH,X - LDA ESTKH,X -; libsrc/sane.pla: 0470: INX - INX -; libsrc/sane.pla: 0471: INX - INX -; libsrc/sane.pla: 0472: INX - INX -; libsrc/sane.pla: 0473: STX ESP - STX ESP -; libsrc/sane.pla: 0474: PHP - PHP -; libsrc/sane.pla: 0475: SEI - SEI -; libsrc/sane.pla: 0476: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0477: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0478: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0479: PHA - PHA -; libsrc/sane.pla: 0480: TYA - TYA -; libsrc/sane.pla: 0481: PHA - PHA -; libsrc/sane.pla: 0482: LDA $02FF - LDA $02FF -; libsrc/sane.pla: 0483: PHA - PHA -; libsrc/sane.pla: 0484: LDA $02FE - LDA $02FE -; libsrc/sane.pla: 0485: PHA - PHA -; libsrc/sane.pla: 0486: LDA $02FD - LDA $02FD -; libsrc/sane.pla: 0487: PHA - PHA -; libsrc/sane.pla: 0488: LDA $02FC - LDA $02FC -; libsrc/sane.pla: 0489: PHA - PHA -; libsrc/sane.pla: 0490: LDA $02FB - LDA $02FB -; libsrc/sane.pla: 0491: PHA - PHA -; libsrc/sane.pla: 0492: LDA $02FA - LDA $02FA -; libsrc/sane.pla: 0493: PHA - PHA -; libsrc/sane.pla: 0494: end -; libsrc/sane.pla: 0495: asm fixupXEL3 -_A027 ; fixupXEL3() -; libsrc/sane.pla: 0496: JSR $FFF0 - JSR $FFF0 -; libsrc/sane.pla: 0497: STA $C008 ; BACK TO MAINZP - STA $C008 ; BACK TO MAINZP -; libsrc/sane.pla: 0498: PLP - PLP -; libsrc/sane.pla: 0499: TXA - TXA -; libsrc/sane.pla: 0500: LDX ESP - LDX ESP -; libsrc/sane.pla: 0501: STA ESTKL,X - STA ESTKL,X -; libsrc/sane.pla: 0502: STY ESTKH,X - STY ESTKH,X -; libsrc/sane.pla: 0503: RTS - RTS -; libsrc/sane.pla: 0504: end -; libsrc/sane.pla: 0505: asm zpSaveX#1 // Save Apple /// XDATA -_A028 ; zpSaveX() -; libsrc/sane.pla: 0506: XPAGE = $1600 -XPAGE = $1600 -; libsrc/sane.pla: 0507: STX ESP - STX ESP -; libsrc/sane.pla: 0508: LDX #$00 - LDX #$00 -; libsrc/sane.pla: 0509: LDY #$33 - LDY #$33 -; libsrc/sane.pla: 0510: - LDA XPAGE,Y -- LDA XPAGE,Y -; libsrc/sane.pla: 0511: end -; libsrc/sane.pla: 0512: asm fixupXS -_A029 ; fixupXS() -; libsrc/sane.pla: 0513: STA $FFFF,Y - STA $FFFF,Y -; libsrc/sane.pla: 0514: TXA - TXA -; libsrc/sane.pla: 0515: STA XPAGE,Y - STA XPAGE,Y -; libsrc/sane.pla: 0516: DEY - DEY -; libsrc/sane.pla: 0517: BPL - - BPL - -; libsrc/sane.pla: 0518: LDX ESP - LDX ESP -; libsrc/sane.pla: 0519: end -; libsrc/sane.pla: 0520: asm zpSave#1 -_A030 ; zpSave() -; libsrc/sane.pla: 0521: LDY #$33 - LDY #$33 -; libsrc/sane.pla: 0522: - LDA $00,Y -- LDA $00,Y -; libsrc/sane.pla: 0523: end -; libsrc/sane.pla: 0524: asm fixupZPS -_A031 ; fixupZPS() -; libsrc/sane.pla: 0525: STA $FFFF,Y - STA $FFFF,Y -; libsrc/sane.pla: 0526: DEY - DEY -; libsrc/sane.pla: 0527: BPL - - BPL - -; libsrc/sane.pla: 0528: end -; libsrc/sane.pla: 0529: asm zpNopSave -_A032 ; zpNopSave() -; libsrc/sane.pla: 0530: DEX - DEX -; libsrc/sane.pla: 0531: RTS - RTS -; libsrc/sane.pla: 0532: end -; libsrc/sane.pla: 0533: asm zpRestoreX(passthru)#1 // Restore Apple /// XDATA -_A033 ; zpRestoreX() -; libsrc/sane.pla: 0534: LDY #$33 - LDY #$33 -; libsrc/sane.pla: 0535: end -; libsrc/sane.pla: 0536: asm fixupXR -_A034 ; fixupXR() -; libsrc/sane.pla: 0537: - LDA $FFFF,Y -- LDA $FFFF,Y -; libsrc/sane.pla: 0538: STA XPAGE,Y - STA XPAGE,Y -; libsrc/sane.pla: 0539: DEY - DEY -; libsrc/sane.pla: 0540: BPL - - BPL - -; libsrc/sane.pla: 0541: end -; libsrc/sane.pla: 0542: asm zpRestore(passthru)#1 -_A035 ; zpRestore() -; libsrc/sane.pla: 0543: LDY #$33 - LDY #$33 -; libsrc/sane.pla: 0544: end -; libsrc/sane.pla: 0545: asm fixupZPR -_A036 ; fixupZPR() -; libsrc/sane.pla: 0546: - LDA $FFFF,Y -- LDA $FFFF,Y -; libsrc/sane.pla: 0547: STA $00,Y - STA $00,Y -; libsrc/sane.pla: 0548: DEY - DEY -; libsrc/sane.pla: 0549: BPL - - BPL - -; libsrc/sane.pla: 0550: end -; libsrc/sane.pla: 0551: asm zpNopRestore(passthru)#1 -_A037 ; zpNopRestore() -; libsrc/sane.pla: 0552: RTS - RTS -; libsrc/sane.pla: 0553: end -; libsrc/sane.pla: 0554: asm auxmove(dst, src, len)#0 -_A038 ; auxmove() -; libsrc/sane.pla: 0555: LDA ESTKL+2,X - LDA ESTKL+2,X -; libsrc/sane.pla: 0556: STA $02FA - STA $02FA -; libsrc/sane.pla: 0557: LDA ESTKH+2,X - LDA ESTKH+2,X -; libsrc/sane.pla: 0558: STA $02FB - STA $02FB -; libsrc/sane.pla: 0559: LDA ESTKL+1,X - LDA ESTKL+1,X -; libsrc/sane.pla: 0560: STA $02FC - STA $02FC -; libsrc/sane.pla: 0561: LDA ESTKH+1,X - LDA ESTKH+1,X -; libsrc/sane.pla: 0562: STA $02FD - STA $02FD -; libsrc/sane.pla: 0563: LDA ESTKL,X - LDA ESTKL,X -; libsrc/sane.pla: 0564: STA $02FE - STA $02FE -; libsrc/sane.pla: 0565: CLC - CLC -; libsrc/sane.pla: 0566: BEQ + - BEQ + -; libsrc/sane.pla: 0567: SEC - SEC -; libsrc/sane.pla: 0568: + LDA #$00 -+ LDA #$00 -; libsrc/sane.pla: 0569: TAY - TAY -; libsrc/sane.pla: 0570: ADC ESTKH,X - ADC ESTKH,X -; libsrc/sane.pla: 0571: INX - INX -; libsrc/sane.pla: 0572: INX - INX -; libsrc/sane.pla: 0573: INX - INX -; libsrc/sane.pla: 0574: STX ESP - STX ESP -; libsrc/sane.pla: 0575: TAX - TAX -; libsrc/sane.pla: 0576: PHP - PHP -; libsrc/sane.pla: 0577: SEI - SEI -; libsrc/sane.pla: 0578: STA $C009 ; SELECT ALTZP - STA $C009 ; SELECT ALTZP -; libsrc/sane.pla: 0579: BIT $C083 ; R/W LC BANK2 - BIT $C083 ; R/W LC BANK2 -; libsrc/sane.pla: 0580: BIT $C083 - BIT $C083 -; libsrc/sane.pla: 0581: LDA $02FA ; DST ADDRESS - LDA $02FA ; DST ADDRESS -; libsrc/sane.pla: 0582: STA $42 - STA $42 -; libsrc/sane.pla: 0583: LDA $02FB - LDA $02FB -; libsrc/sane.pla: 0584: STA $43 - STA $43 -; libsrc/sane.pla: 0585: LDA $02FC ; SRC ADDRESS - LDA $02FC ; SRC ADDRESS -; libsrc/sane.pla: 0586: STA $3C - STA $3C -; libsrc/sane.pla: 0587: LDA $02FD - LDA $02FD -; libsrc/sane.pla: 0588: STA $3D - STA $3D -; libsrc/sane.pla: 0589: - LDA ($3C),Y -- LDA ($3C),Y -; libsrc/sane.pla: 0590: STA ($42),Y - STA ($42),Y -; libsrc/sane.pla: 0591: INY - INY -; libsrc/sane.pla: 0592: BNE + - BNE + -; libsrc/sane.pla: 0593: INC $3D - INC $3D -; libsrc/sane.pla: 0594: INC $43 - INC $43 -; libsrc/sane.pla: 0595: + DEC $02FE -+ DEC $02FE -; libsrc/sane.pla: 0596: BNE - - BNE - -; libsrc/sane.pla: 0597: DEX - DEX -; libsrc/sane.pla: 0598: BNE - - BNE - -; libsrc/sane.pla: 0599: STA $C008 ; SELECT MAINZP - STA $C008 ; SELECT MAINZP -; libsrc/sane.pla: 0600: PLP - PLP -; libsrc/sane.pla: 0601: LDX ESP - LDX ESP -; libsrc/sane.pla: 0602: RTS - RTS -; libsrc/sane.pla: 0603: end -; libsrc/sane.pla: 0604: // -; libsrc/sane.pla: 0605: // Default HALT handler -; libsrc/sane.pla: 0606: // -; libsrc/sane.pla: 0607: def fpDefaultHalt(pstatus) -_SUBSEG ; BYTECODE STARTS - ; pstatus -> [0] -_P001 ; fpDefaultHalt(pstatus)() -_C000 ; fpDefaultHalt() -; libsrc/sane.pla: 0608: sane[10](0) // zpRestore - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/sane.pla: 0609: puts("SANE Exception="); puti(pstatus->8); puts("!\n") - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D036+20 -_F011 !WORD _D036+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $0F - !BYTE $53,$41,$4E,$45,$20,$45,$78,$63 - !BYTE $65,$70,$74,$69,$6F,$6E,$3D - !BYTE $54 ; CALL _X004 -_F012 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F013 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $21,$0D - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 -; libsrc/sane.pla: 0610: sane[9]() // zpSave -; libsrc/sane.pla: 0611: return pstatus=>4 - !BYTE $6A ; LAW _D036+18 -_F015 !WORD _D036+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0612: end -; libsrc/sane.pla: 0613: // -; libsrc/sane.pla: 0614: // Utility test routines -; libsrc/sane.pla: 0615: // -; libsrc/sane.pla: 0616: //byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F' -; libsrc/sane.pla: 0617: //def prhex(h)#0 -; libsrc/sane.pla: 0618: // putc(hexchar[(h>>4)&$0F]);putc(hexchar[h&$0F]) -; libsrc/sane.pla: 0619: //end -; libsrc/sane.pla: 0620: //def prbyte(h)#0 -; libsrc/sane.pla: 0621: // putc('$'); prhex(h) -; libsrc/sane.pla: 0622: // //call($FDDA, h, 0, 0, 0) -; libsrc/sane.pla: 0623: //end -; libsrc/sane.pla: 0624: //def prword(h)#0 -; libsrc/sane.pla: 0625: // putc('$') -; libsrc/sane.pla: 0626: // prhex(h>>8);prhex(h) -; libsrc/sane.pla: 0627: // //call($F941, h >> 8, h, 0, 0) -; libsrc/sane.pla: 0628: //end -; libsrc/sane.pla: 0629: //def putname(pchr)#0 -; libsrc/sane.pla: 0630: // byte c -; libsrc/sane.pla: 0631: // -; libsrc/sane.pla: 0632: // for c = 0 to 7 -; libsrc/sane.pla: 0633: // putc(pchr->[c]) -; libsrc/sane.pla: 0634: // next -; libsrc/sane.pla: 0635: //end -; libsrc/sane.pla: 0636: //def dumpheader(phdr)#0 -; libsrc/sane.pla: 0637: // byte i -; libsrc/sane.pla: 0638: // -; libsrc/sane.pla: 0639: // puts("Seg Info\n") -; libsrc/sane.pla: 0640: // for i = 0 to 15 -; libsrc/sane.pla: 0641: // if (phdr + i * t_diskinfo)=>codelen -; libsrc/sane.pla: 0642: // prword((phdr + i * t_diskinfo)=>codelen) -; libsrc/sane.pla: 0643: // putc(':') -; libsrc/sane.pla: 0644: // prword((phdr + i * t_diskinfo)=>codeaddr) -; libsrc/sane.pla: 0645: // putc('=') -; libsrc/sane.pla: 0646: // putname(phdr + i * 8 + segname) -; libsrc/sane.pla: 0647: // putc(',') -; libsrc/sane.pla: 0648: // prword((phdr + segkind)=>[i]) -; libsrc/sane.pla: 0649: // putc(',') -; libsrc/sane.pla: 0650: // prword((phdr + textaddr)=>[i]) -; libsrc/sane.pla: 0651: // putc(',') -; libsrc/sane.pla: 0652: // prword((phdr + seginfo)=>[i]) -; libsrc/sane.pla: 0653: // putln -; libsrc/sane.pla: 0654: // fin -; libsrc/sane.pla: 0655: // next -; libsrc/sane.pla: 0656: // putname(phdr + $01F4); putln -; libsrc/sane.pla: 0657: //end -; libsrc/sane.pla: 0658: // -; libsrc/sane.pla: 0659: // Fix-up external references and local relocations -; libsrc/sane.pla: 0660: // -; libsrc/sane.pla: 0661: def fixup(base, list) - ; base -> [0] - ; list -> [2] -_C001 ; fixup() -; libsrc/sane.pla: 0662: word len - ; len -> [4] -; libsrc/sane.pla: 0663: byte listcnt - ; listcnt -> [6] -; libsrc/sane.pla: 0664: -; libsrc/sane.pla: 0665: //puts("Reloc = "); prword(list); putln -; libsrc/sane.pla: 0666: if *list <> $0101 - !BYTE $58,$07,$02 ; ENTER 7,2 -; libsrc/sane.pla: 0667: //puts("Reloc table not found!\n") -; libsrc/sane.pla: 0668: return list - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $2C,$01,$01 ; CW 257 - !BYTE $22 ; BREQ _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/sane.pla: 0669: fin -_B001 -_B002 -; libsrc/sane.pla: 0670: list = list - 10 -; libsrc/sane.pla: 0671: // -; libsrc/sane.pla: 0672: // External reference fixup (only have fp6502 in our case) -; libsrc/sane.pla: 0673: // -; libsrc/sane.pla: 0674: len = *list -; libsrc/sane.pla: 0675: list = list - 2 -; libsrc/sane.pla: 0676: //puts("Extern list len = "); prword(len); putln; getc -; libsrc/sane.pla: 0677: while len - !BYTE $66,$02 ; LLW [2] - !BYTE $3A,$0A ; SUBI 10 - !BYTE $6E,$02 ; DLW [2] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -_B003 -; libsrc/sane.pla: 0678: //puts(" *"); prword(list - *list); putln -; libsrc/sane.pla: 0679: *(list - *list) = fp6502 -; libsrc/sane.pla: 0680: list = list - 2 -; libsrc/sane.pla: 0681: len-- - !BYTE $6A ; LAW _D037+0 -_F016 !WORD _D037+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; libsrc/sane.pla: 0682: loop - !BYTE $76,$04 ; SLW [4] -_B005 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B003 - !WORD _B003-* -_B004 -; libsrc/sane.pla: 0683: // -; libsrc/sane.pla: 0684: // Internal relocation -; libsrc/sane.pla: 0685: // -; libsrc/sane.pla: 0686: len = *list -; libsrc/sane.pla: 0687: list = list - 2 -; libsrc/sane.pla: 0688: //puts("Reloc list len = "); prword(len); putln; getc -; libsrc/sane.pla: 0689: while len - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B006 -; libsrc/sane.pla: 0690: //puts(" *"); prword(list - *list); putln -; libsrc/sane.pla: 0691: *(list - *list) = *(list - *list) + base -; libsrc/sane.pla: 0692: list = list - 2 -; libsrc/sane.pla: 0693: len-- - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; libsrc/sane.pla: 0694: loop - !BYTE $76,$04 ; SLW [4] -_B008 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B006 - !WORD _B006-* -_B007 -; libsrc/sane.pla: 0695: return list - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$07 ; LEAVE 7 -; libsrc/sane.pla: 0696: end -; libsrc/sane.pla: 0697: // -; libsrc/sane.pla: 0698: // Linker Information that we don't need -; libsrc/sane.pla: 0699: // -; libsrc/sane.pla: 0700: //def resolve(base, pli) -; libsrc/sane.pla: 0701: // byte fixups -; libsrc/sane.pla: 0702: // word basend -; libsrc/sane.pla: 0703: // -; libsrc/sane.pla: 0704: // puts("LinkInfo "); prword(pli); putc(':'); putln -; libsrc/sane.pla: 0705: // basend = preloc -; libsrc/sane.pla: 0706: // while ^pli -; libsrc/sane.pla: 0707: // putname(pli); putc(':') -; libsrc/sane.pla: 0708: // prword(pli=>8); putc(' ') -; libsrc/sane.pla: 0709: // prword(pli=>10); putc(' ') -; libsrc/sane.pla: 0710: // prword(pli=>12); putc(' ') -; libsrc/sane.pla: 0711: // prword(pli=>14); putln -; libsrc/sane.pla: 0712: // fixups = 0 -; libsrc/sane.pla: 0713: // if pli=>8 == $0002 -; libsrc/sane.pla: 0714: // fixups = pli=>12 -; libsrc/sane.pla: 0715: // fin -; libsrc/sane.pla: 0716: // pli = pli + 16 -; libsrc/sane.pla: 0717: // while fixups -; libsrc/sane.pla: 0718: // *(base + *pli) = fp6502 -; libsrc/sane.pla: 0719: // pli = pli + 2 -; libsrc/sane.pla: 0720: // fixups-- -; libsrc/sane.pla: 0721: // loop -; libsrc/sane.pla: 0722: // loop -; libsrc/sane.pla: 0723: //end -; libsrc/sane.pla: 0724: // -; libsrc/sane.pla: 0725: // Load Pascal CODE file -; libsrc/sane.pla: 0726: // -; libsrc/sane.pla: 0727: def loadcode(codefile) - ; codefile -> [0] -_C002 ; loadcode() -; libsrc/sane.pla: 0728: byte ref - ; ref -> [2] -; libsrc/sane.pla: 0729: word pcode, seglen - ; pcode -> [3] - ; seglen -> [5] -; libsrc/sane.pla: 0730: byte filepath[64] - ; filepath -> [7] -; libsrc/sane.pla: 0731: -; libsrc/sane.pla: 0732: //puts(codefile); puts(":\n") -; libsrc/sane.pla: 0733: pcode = 0 - !BYTE $58,$47,$01 ; ENTER 71,1 -; libsrc/sane.pla: 0734: ref = fileio:open(strcat(strcpy(@filepath, cmdsys:syspath), codefile)) -; libsrc/sane.pla: 0735: //puts("ref = "); puti(ref); puts(" perr = "); puti(perr); putln -; libsrc/sane.pla: 0736: if ref -; libsrc/sane.pla: 0737: pcode = heapalloc(512) -; libsrc/sane.pla: 0738: if pcode -; libsrc/sane.pla: 0739: fileio:read(ref, pcode, 512) -; libsrc/sane.pla: 0740: seglen = (pcode + t_diskinfo)=>codeaddr // Length of first code segment = start of second - 1 -; libsrc/sane.pla: 0741: //puts("Read header bytes: "); puti(seglen) -; libsrc/sane.pla: 0742: //if seglen == 0; puts(" perr = "); prbyte(perr); fin -; libsrc/sane.pla: 0743: //getc; putln -; libsrc/sane.pla: 0744: //dumpheader(pcode) -; libsrc/sane.pla: 0745: //putname(pcode + segname + 8); putc('='); prword(pcode); putln -; libsrc/sane.pla: 0746: heaprelease(pcode) -; libsrc/sane.pla: 0747: pcode = heapalloc(seglen) -; libsrc/sane.pla: 0748: if pcode // Reserve heap to end of buffer -; libsrc/sane.pla: 0749: seglen = fileio:read(ref, pcode, seglen) -; libsrc/sane.pla: 0750: //puts("Read segment bytes: "); puti(seglen); putln -; libsrc/sane.pla: 0751: if !fp6502 and (MACHID & $F0 == $B0) // 128K Apple //e or //c -; libsrc/sane.pla: 0752: seglen = fixup(AUXADDR, pcode + seglen - 2) - pcode -; libsrc/sane.pla: 0753: auxmove(AUXADDR, pcode, seglen) -; libsrc/sane.pla: 0754: heaprelease(pcode) -; libsrc/sane.pla: 0755: pcode = AUXADDR -; libsrc/sane.pla: 0756: else - !BYTE $00 ; CN 0 - !BYTE $76,$03 ; SLW [3] - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _X000+2 -_F017 !WORD 0+2 - !BYTE $54 ; CALL _X019 -_F018 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X020 -_F019 !WORD 0 - !BYTE $6A ; LAW _X028+14 -_F020 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F021 !WORD 0 - !BYTE $6E,$03 ; DLW [3] - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X028+18 -_F022 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$04 ; ADDI 4 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$03 ; LLW [3] - !BYTE $54 ; CALL _X015 -_F023 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$05 ; LLW [5] - !BYTE $54 ; CALL _X014 -_F024 !WORD 0 - !BYTE $6E,$03 ; DLW [3] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $66,$05 ; LLW [5] - !BYTE $6A ; LAW _X028+18 -_F025 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$05 ; SLW [5] - !BYTE $6A ; LAW _D037+0 -_F026 !WORD _D037+0 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B015 - !WORD _B015-* - !BYTE $68 ; LAB _X001+0 -_F027 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$B0 ; CB 176 - !BYTE $40 ; ISEQ -_B015 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $66,$03 ; LLW [3] - !BYTE $B2,$05 ; ADDLW [5] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $54 ; CALL _C001 -_F028 !WORD _C001 - !BYTE $66,$03 ; LLW [3] - !BYTE $84 ; SUB - !BYTE $76,$05 ; SLW [5] - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $66,$03 ; LLW [3] - !BYTE $66,$05 ; LLW [5] - !BYTE $54 ; CALL _A038 -_F029 !WORD _A038 - !BYTE $66,$03 ; LLW [3] - !BYTE $54 ; CALL _X015 -_F030 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $76,$03 ; SLW [3] - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B016 -; libsrc/sane.pla: 0757: heaprelease(fixup(pcode, pcode + seglen - 2)) // Set heap to beginning of relocation list -; libsrc/sane.pla: 0758: fin - !BYTE $66,$03 ; LLW [3] - !BYTE $34 ; DUP - !BYTE $B2,$05 ; ADDLW [5] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $54 ; CALL _C001 -_F031 !WORD _C001 - !BYTE $54 ; CALL _X015 -_F032 !WORD 0 - !BYTE $30 ; DROP -_B017 -; libsrc/sane.pla: 0759: fin -_B013 -_B014 -; libsrc/sane.pla: 0760: fin -_B011 -_B012 -; libsrc/sane.pla: 0761: fileio:close(ref) -; libsrc/sane.pla: 0762: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+16 -_F033 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B009 -_B010 -; libsrc/sane.pla: 0763: return pcode - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$47 ; LEAVE 71 -; libsrc/sane.pla: 0764: end -; libsrc/sane.pla: 0765: // -; libsrc/sane.pla: 0766: // Load ELEMS6502 library -; libsrc/sane.pla: 0767: // -; libsrc/sane.pla: 0768: def loadElems -_C003 ; loadElems() -; libsrc/sane.pla: 0769: word elems - ; elems -> [0] -; libsrc/sane.pla: 0770: -; libsrc/sane.pla: 0771: elems = loadcode("ELEMS.CODE") - !BYTE $58,$02,$00 ; ENTER 2,0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $45,$4C,$45,$4D,$53,$2E,$43,$4F - !BYTE $44,$45 - !BYTE $54 ; CALL _C002 -_F034 !WORD _C002 - !BYTE $76,$00 ; SLW [0] -; libsrc/sane.pla: 0772: if !elems -; libsrc/sane.pla: 0773: puts("ELEMS library not found.\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$4C,$45,$4D,$53,$20,$6C,$69 - !BYTE $62,$72,$61,$72,$79,$20,$6E,$6F - !BYTE $74,$20,$66,$6F,$75,$6E,$64,$2E - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F035 !WORD 0 -; libsrc/sane.pla: 0774: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0775: fin -_B018 -_B019 -; libsrc/sane.pla: 0776: if fp6502 == AUXADDR -; libsrc/sane.pla: 0777: (@fixupXEL1)=>1 = elems -; libsrc/sane.pla: 0778: (@fixupXEL2)=>1 = elems -; libsrc/sane.pla: 0779: (@fixupXEL3)=>1 = elems -; libsrc/sane.pla: 0780: sane[6] = @xelemsOp1 -; libsrc/sane.pla: 0781: sane[7] = @xelemsOp2 -; libsrc/sane.pla: 0782: sane[8] = @xelemsOp3 -; libsrc/sane.pla: 0783: else - !BYTE $6A ; LAW _D037+0 -_F036 !WORD _D037+0 - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $24 ; BRNE _B020 - !WORD _B020-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A023+1 -_F037 !WORD _A023+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A025+1 -_F038 !WORD _A025+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A027+1 -_F039 !WORD _A027+1 - !BYTE $26 ; LA _A022+0 -_F040 !WORD _A022+0 - !BYTE $7A ; SAW _D036+12 -_F041 !WORD _D036+12 - !BYTE $26 ; LA _A024+0 -_F042 !WORD _A024+0 - !BYTE $7A ; SAW _D036+14 -_F043 !WORD _D036+14 - !BYTE $26 ; LA _A026+0 -_F044 !WORD _A026+0 - !BYTE $7A ; SAW _D036+16 -_F045 !WORD _D036+16 - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B020 -; libsrc/sane.pla: 0784: (@fixupEL1)=>1 = elems -; libsrc/sane.pla: 0785: (@fixupEL2)=>1 = elems -; libsrc/sane.pla: 0786: (@fixupEL3)=>1 = elems -; libsrc/sane.pla: 0787: sane[6] = @elemsOp1 -; libsrc/sane.pla: 0788: sane[7] = @elemsOp2 -; libsrc/sane.pla: 0789: sane[8] = @elemsOp3 -; libsrc/sane.pla: 0790: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A017+1 -_F046 !WORD _A017+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A019+1 -_F047 !WORD _A019+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A021+1 -_F048 !WORD _A021+1 - !BYTE $26 ; LA _A016+0 -_F049 !WORD _A016+0 - !BYTE $7A ; SAW _D036+12 -_F050 !WORD _D036+12 - !BYTE $26 ; LA _A018+0 -_F051 !WORD _A018+0 - !BYTE $7A ; SAW _D036+14 -_F052 !WORD _D036+14 - !BYTE $26 ; LA _A020+0 -_F053 !WORD _A020+0 - !BYTE $7A ; SAW _D036+16 -_F054 !WORD _D036+16 -_B021 -; libsrc/sane.pla: 0791: return 1 - !BYTE $02 ; CN 1 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0792: end -; libsrc/sane.pla: 0793: // -; libsrc/sane.pla: 0794: // Don't load ELEMS6502 until referenced -; libsrc/sane.pla: 0795: // -; libsrc/sane.pla: 0796: def elemsLoad1(op, dst)#1 - ; op -> [0] - ; dst -> [2] -_C004 ; elemsLoad1() -; libsrc/sane.pla: 0797: if loadElems - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/sane.pla: 0798: return sane[6](op, dst) - !BYTE $54 ; CALL _C003 -_F055 !WORD _C003 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D036+12 -_F056 !WORD _D036+12 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/sane.pla: 0799: fin -_B022 -_B023 -; libsrc/sane.pla: 0800: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/sane.pla: 0801: end -; libsrc/sane.pla: 0802: def elemsLoad2(op, dst, src)#1 - ; op -> [0] - ; dst -> [2] - ; src -> [4] -_C005 ; elemsLoad2() -; libsrc/sane.pla: 0803: if loadElems - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/sane.pla: 0804: return sane[7](op, dst, src) - !BYTE $54 ; CALL _C003 -_F057 !WORD _C003 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D036+14 -_F058 !WORD _D036+14 - !BYTE $56 ; ICAL - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sane.pla: 0805: fin -_B024 -_B025 -; libsrc/sane.pla: 0806: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sane.pla: 0807: end -; libsrc/sane.pla: 0808: def elemsLoad3(op, dst, src, src2)#1 - ; op -> [0] - ; dst -> [2] - ; src -> [4] - ; src2 -> [6] -_C006 ; elemsLoad3() -; libsrc/sane.pla: 0809: if loadElems - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/sane.pla: 0810: return sane[8](op, dst, src, src2) - !BYTE $54 ; CALL _C003 -_F059 !WORD _C003 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D036+16 -_F060 !WORD _D036+16 - !BYTE $56 ; ICAL - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sane.pla: 0811: fin -_B026 -_B027 -; libsrc/sane.pla: 0812: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sane.pla: 0813: end -; libsrc/sane.pla: 0814: // -; libsrc/sane.pla: 0815: // Load SANE library and fixup function pointers -; libsrc/sane.pla: 0816: // -; libsrc/sane.pla: 0817: def fpInit() -_P000 ; fpInit()() -_C007 ; fpInit() -; libsrc/sane.pla: 0818: word fpzpsave - ; fpzpsave -> [0] -; libsrc/sane.pla: 0819: -; libsrc/sane.pla: 0820: if !fp6502 - !BYTE $58,$02,$00 ; ENTER 2,0 -; libsrc/sane.pla: 0821: fp6502 = loadcode("FP6502.CODE") - !BYTE $6A ; LAW _D037+0 -_F061 !WORD _D037+0 - !BYTE $4E ; BRTRU _B028 - !WORD _B028-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $46,$50,$36,$35,$30,$32,$2E,$43 - !BYTE $4F,$44,$45 - !BYTE $54 ; CALL _C002 -_F062 !WORD _C002 - !BYTE $7A ; SAW _D037+0 -_F063 !WORD _D037+0 -; libsrc/sane.pla: 0822: if !fp6502 -; libsrc/sane.pla: 0823: puts("SANE library not loaded.\n") - !BYTE $6A ; LAW _D037+0 -_F064 !WORD _D037+0 - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $53,$41,$4E,$45,$20,$6C,$69,$62 - !BYTE $72,$61,$72,$79,$20,$6E,$6F,$74 - !BYTE $20,$6C,$6F,$61,$64,$65,$64,$2E - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F065 !WORD 0 -; libsrc/sane.pla: 0824: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0825: fin -_B030 -_B031 -; libsrc/sane.pla: 0826: if fp6502 == AUXADDR -; libsrc/sane.pla: 0827: // -; libsrc/sane.pla: 0828: // Fixup AUX calls in interface routines -; libsrc/sane.pla: 0829: // -; libsrc/sane.pla: 0830: sane[2] = @xfpOp0 -; libsrc/sane.pla: 0831: sane[3] = @xfpOp1 -; libsrc/sane.pla: 0832: sane[4] = @xfpOp2 -; libsrc/sane.pla: 0833: sane[5] = @xfpOp3 -; libsrc/sane.pla: 0834: sane[9] = @zpNopSave -; libsrc/sane.pla: 0835: sane[10] = @zpNopRestore -; libsrc/sane.pla: 0836: // -; libsrc/sane.pla: 0837: // Install AUX HALT handler -; libsrc/sane.pla: 0838: // -; libsrc/sane.pla: 0839: xfpOp1($0005, @xfpHalt) -; libsrc/sane.pla: 0840: else - !BYTE $6A ; LAW _D037+0 -_F066 !WORD _D037+0 - !BYTE $2C,$00,$E0 ; CW 57344 - !BYTE $24 ; BRNE _B032 - !WORD _B032-* - !BYTE $26 ; LA _A012+0 -_F067 !WORD _A012+0 - !BYTE $7A ; SAW _D036+4 -_F068 !WORD _D036+4 - !BYTE $26 ; LA _A013+0 -_F069 !WORD _A013+0 - !BYTE $7A ; SAW _D036+6 -_F070 !WORD _D036+6 - !BYTE $26 ; LA _A014+0 -_F071 !WORD _A014+0 - !BYTE $7A ; SAW _D036+8 -_F072 !WORD _D036+8 - !BYTE $26 ; LA _A015+0 -_F073 !WORD _A015+0 - !BYTE $7A ; SAW _D036+10 -_F074 !WORD _D036+10 - !BYTE $26 ; LA _A032+0 -_F075 !WORD _A032+0 - !BYTE $7A ; SAW _D036+18 -_F076 !WORD _D036+18 - !BYTE $26 ; LA _A037+0 -_F077 !WORD _A037+0 - !BYTE $7A ; SAW _D036+20 -_F078 !WORD _D036+20 - !BYTE $0A ; CN 5 - !BYTE $26 ; LA _A001+0 -_F079 !WORD _A001+0 - !BYTE $54 ; CALL _A013 -_F080 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -_B032 -; libsrc/sane.pla: 0841: // -; libsrc/sane.pla: 0842: // Fixup MAIN calls in interface routines -; libsrc/sane.pla: 0843: // -; libsrc/sane.pla: 0844: if MACHID & $F0 == $F0 // Apple /// -; libsrc/sane.pla: 0845: fpzpsave = heapalloc($0034*2) -; libsrc/sane.pla: 0846: (@fixupXS)=>1 = fpzpsave+$34 -; libsrc/sane.pla: 0847: (@fixupXR)=>1 = fpzpsave+$34 -; libsrc/sane.pla: 0848: sane[9] = @zpSaveX -; libsrc/sane.pla: 0849: sane[10] = @zpRestoreX -; libsrc/sane.pla: 0850: else // Apple II - !BYTE $68 ; LAB _X001+0 -_F081 !WORD 0+0 - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$F0 ; CB 240 - !BYTE $24 ; BRNE _B034 - !WORD _B034-* - !BYTE $2A,$68 ; CB 104 - !BYTE $54 ; CALL _X014 -_F082 !WORD 0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$34 ; ADDI 52 - !BYTE $7A ; SAW _A029+1 -_F083 !WORD _A029+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$34 ; ADDI 52 - !BYTE $7A ; SAW _A034+1 -_F084 !WORD _A034+1 - !BYTE $26 ; LA _A028+0 -_F085 !WORD _A028+0 - !BYTE $7A ; SAW _D036+18 -_F086 !WORD _D036+18 - !BYTE $26 ; LA _A033+0 -_F087 !WORD _A033+0 - !BYTE $7A ; SAW _D036+20 -_F088 !WORD _D036+20 - !BYTE $50 ; BRNCH _B035 - !WORD _B035-* -_B034 -; libsrc/sane.pla: 0851: fpzpsave = heapalloc($0034) -; libsrc/sane.pla: 0852: sane[9] = @zpSave -; libsrc/sane.pla: 0853: sane[10] = @zpRestore -; libsrc/sane.pla: 0854: fin - !BYTE $2A,$34 ; CB 52 - !BYTE $54 ; CALL _X014 -_F089 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _A030+0 -_F090 !WORD _A030+0 - !BYTE $7A ; SAW _D036+18 -_F091 !WORD _D036+18 - !BYTE $26 ; LA _A035+0 -_F092 !WORD _A035+0 - !BYTE $7A ; SAW _D036+20 -_F093 !WORD _D036+20 -_B035 -; libsrc/sane.pla: 0855: (@fixupFP0)=>1 = fp6502 -; libsrc/sane.pla: 0856: (@fixupFP1)=>1 = fp6502 -; libsrc/sane.pla: 0857: (@fixupFP2)=>1 = fp6502 -; libsrc/sane.pla: 0858: (@fixupFP3)=>1 = fp6502 -; libsrc/sane.pla: 0859: (@fixupZPS)=>1 = fpzpsave -; libsrc/sane.pla: 0860: (@fixupZPR)=>1 = fpzpsave -; libsrc/sane.pla: 0861: sane[2] = @fpOp0 -; libsrc/sane.pla: 0862: sane[3] = @fpOp1 -; libsrc/sane.pla: 0863: sane[4] = @fpOp2 -; libsrc/sane.pla: 0864: sane[5] = @fpOp3 -; libsrc/sane.pla: 0865: // -; libsrc/sane.pla: 0866: // Install MAIN HALT handler -; libsrc/sane.pla: 0867: // -; libsrc/sane.pla: 0868: sane[9]() -; libsrc/sane.pla: 0869: sane[10](fpOp1($0005, @fpHalt)) -; libsrc/sane.pla: 0870: fin - !BYTE $6A ; LAW _D037+0 -_F094 !WORD _D037+0 - !BYTE $7A ; SAW _A005+1 -_F095 !WORD _A005+1 - !BYTE $6A ; LAW _D037+0 -_F096 !WORD _D037+0 - !BYTE $7A ; SAW _A007+1 -_F097 !WORD _A007+1 - !BYTE $6A ; LAW _D037+0 -_F098 !WORD _D037+0 - !BYTE $7A ; SAW _A009+1 -_F099 !WORD _A009+1 - !BYTE $6A ; LAW _D037+0 -_F100 !WORD _D037+0 - !BYTE $7A ; SAW _A011+1 -_F101 !WORD _A011+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A031+1 -_F102 !WORD _A031+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _A036+1 -_F103 !WORD _A036+1 - !BYTE $26 ; LA _A004+0 -_F104 !WORD _A004+0 - !BYTE $7A ; SAW _D036+4 -_F105 !WORD _D036+4 - !BYTE $26 ; LA _A006+0 -_F106 !WORD _A006+0 - !BYTE $7A ; SAW _D036+6 -_F107 !WORD _D036+6 - !BYTE $26 ; LA _A008+0 -_F108 !WORD _A008+0 - !BYTE $7A ; SAW _D036+8 -_F109 !WORD _D036+8 - !BYTE $26 ; LA _A010+0 -_F110 !WORD _A010+0 - !BYTE $7A ; SAW _D036+10 -_F111 !WORD _D036+10 - !BYTE $6A ; LAW _D036+18 -_F112 !WORD _D036+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0A ; CN 5 - !BYTE $26 ; LA _A002+0 -_F113 !WORD _A002+0 - !BYTE $54 ; CALL _A006 -_F114 !WORD _A006 - !BYTE $6A ; LAW _D036+20 -_F115 !WORD _D036+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B033 -; libsrc/sane.pla: 0871: sane[6] = @elemsLoad1 -; libsrc/sane.pla: 0872: sane[7] = @elemsLoad2 -; libsrc/sane.pla: 0873: sane[8] = @elemsLoad3 -; libsrc/sane.pla: 0874: fin - !BYTE $26 ; LA _C004+0 -_F116 !WORD _C004+0 - !BYTE $7A ; SAW _D036+12 -_F117 !WORD _D036+12 - !BYTE $26 ; LA _C005+0 -_F118 !WORD _C005+0 - !BYTE $7A ; SAW _D036+14 -_F119 !WORD _D036+14 - !BYTE $26 ; LA _C006+0 -_F120 !WORD _C006+0 - !BYTE $7A ; SAW _D036+16 -_F121 !WORD _D036+16 -_B028 -_B029 -; libsrc/sane.pla: 0875: (@fixupHLT)=>1 = @sane+2 -; libsrc/sane.pla: 0876: sane[1] = @fpDefaultHalt -; libsrc/sane.pla: 0877: // -; libsrc/sane.pla: 0878: // Reset environment word -; libsrc/sane.pla: 0879: // -; libsrc/sane.pla: 0880: sane[9]() -; libsrc/sane.pla: 0881: sane[3]($0001, $0000) -; libsrc/sane.pla: 0882: return sane[10](0) - !BYTE $26 ; LA _D036+2 -_F122 !WORD _D036+2 - !BYTE $7A ; SAW _A003+1 -_F123 !WORD _A003+1 - !BYTE $26 ; LA _C000+0 -_F124 !WORD _C000+0 - !BYTE $7A ; SAW _D036+2 -_F125 !WORD _D036+2 - !BYTE $6A ; LAW _D036+18 -_F126 !WORD _D036+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D036+6 -_F127 !WORD _D036+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D036+20 -_F128 !WORD _D036+20 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/sane.pla: 0883: end -; libsrc/sane.pla: 0884: // -; libsrc/sane.pla: 0885: // Uninitialized placeholders of API -; libsrc/sane.pla: 0886: // -; libsrc/sane.pla: 0887: def uninit -_C008 ; uninit() -; libsrc/sane.pla: 0888: puts("SANE not initialized\n") - !BYTE $2E ; CS - !BYTE $15 - !BYTE $53,$41,$4E,$45,$20,$6E,$6F,$74 - !BYTE $20,$69,$6E,$69,$74,$69,$61,$6C - !BYTE $69,$7A,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F129 !WORD 0 -; libsrc/sane.pla: 0889: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; libsrc/sane.pla: 0890: end -; libsrc/sane.pla: 0891: def uninit0() -_P002 ; uninit0()() -_C009 ; uninit0() -; libsrc/sane.pla: 0892: return uninit - !BYTE $54 ; CALL _C008 -_F130 !WORD _C008 - !BYTE $5C ; RET -; libsrc/sane.pla: 0893: end -; libsrc/sane.pla: 0894: def uninit1(op, dst) - ; op -> [0] - ; dst -> [2] -_P003 ; uninit1(op, dst)() -_C010 ; uninit1() -; libsrc/sane.pla: 0895: return uninit - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $54 ; CALL _C008 -_F131 !WORD _C008 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/sane.pla: 0896: end -; libsrc/sane.pla: 0897: def uninit2(op, dst, src) - ; op -> [0] - ; dst -> [2] - ; src -> [4] -_P004 ; uninit2(op, dst, src)() -_C011 ; uninit2() -; libsrc/sane.pla: 0898: return uninit - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $54 ; CALL _C008 -_F132 !WORD _C008 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sane.pla: 0899: end -; libsrc/sane.pla: 0900: def uninit3(op, dst, src, src2) - ; op -> [0] - ; dst -> [2] - ; src -> [4] - ; src2 -> [6] -_P005 ; uninit3(op, dst, src, src2)() -_C012 ; uninit3() -; libsrc/sane.pla: 0901: return uninit - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $54 ; CALL _C008 -_F133 !WORD _C008 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sane.pla: 0902: end -; libsrc/sane.pla: 0903: // -; libsrc/sane.pla: 0904: // Keep module in memory -; libsrc/sane.pla: 0905: // -; libsrc/sane.pla: 0906: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/sane.pla: 0907: done -_SYSFLAGS = 0 -_DEFCNT = 14 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/sincos.a b/src/libsrc/sincos.a deleted file mode 100644 index 447d171..0000000 --- a/src/libsrc/sincos.a +++ /dev/null @@ -1,640 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/sincos.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/sincos.pla: 0001: -; libsrc/sincos.pla: 0002: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X028 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X029 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X030 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X031 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X032 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X033 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X034 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X035 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X036 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X037 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X038 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X039 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X040 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X041 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X042 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X043 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X044 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X045 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X046 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X047 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X048 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X049 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X050 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X051 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X052 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X053 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X054 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X055 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X056 -; inc/int32.plh: 0032: end -; libsrc/sincos.pla: 0002: -; libsrc/sincos.pla: 0003: -; libsrc/sincos.pla: 0004: word sin90[] - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D057 ; sin90[] -; libsrc/sincos.pla: 0005: word = $0000,$0478,$08EF,$0D66,$11DC,$1650,$1AC2,$1F33,$23A1,$280C - !WORD $0000 - !WORD $0478 - !WORD $08EF - !WORD $0D66 - !WORD $11DC - !WORD $1650 - !WORD $1AC2 - !WORD $1F33 - !WORD $23A1 - !WORD $280C -; libsrc/sincos.pla: 0006: word = $2C74,$30D9,$353A,$3996,$3DEF,$4242,$4690,$4AD9,$4F1C,$5358 - !WORD $2C74 - !WORD $30D9 - !WORD $353A - !WORD $3996 - !WORD $3DEF - !WORD $4242 - !WORD $4690 - !WORD $4AD9 - !WORD $4F1C - !WORD $5358 -; libsrc/sincos.pla: 0007: word = $578F,$5BBE,$5FE6,$6407,$6820,$6C31,$7039,$7439,$782F,$7C1C - !WORD $578F - !WORD $5BBE - !WORD $5FE6 - !WORD $6407 - !WORD $6820 - !WORD $6C31 - !WORD $7039 - !WORD $7439 - !WORD $782F - !WORD $7C1C -; libsrc/sincos.pla: 0008: word = $8000,$83DA,$87A9,$8B6D,$8F27,$92D6,$9679,$9A11,$9D9C,$A11B - !WORD $8000 - !WORD $83DA - !WORD $87A9 - !WORD $8B6D - !WORD $8F27 - !WORD $92D6 - !WORD $9679 - !WORD $9A11 - !WORD $9D9C - !WORD $A11B -; libsrc/sincos.pla: 0009: word = $A48E,$A7F3,$AB4C,$AE97,$B1D5,$B505,$B827,$BB3A,$BE3F,$C135 - !WORD $A48E - !WORD $A7F3 - !WORD $AB4C - !WORD $AE97 - !WORD $B1D5 - !WORD $B505 - !WORD $B827 - !WORD $BB3A - !WORD $BE3F - !WORD $C135 -; libsrc/sincos.pla: 0010: word = $C41B,$C6F3,$C9BB,$CC73,$CF1C,$D1B4,$D43C,$D6B3,$D91A,$DB6F - !WORD $C41B - !WORD $C6F3 - !WORD $C9BB - !WORD $CC73 - !WORD $CF1C - !WORD $D1B4 - !WORD $D43C - !WORD $D6B3 - !WORD $D91A - !WORD $DB6F -; libsrc/sincos.pla: 0011: word = $DDB4,$DFE7,$E209,$E419,$E617,$E804,$E9DE,$EBA6,$ED5C,$EEFF - !WORD $DDB4 - !WORD $DFE7 - !WORD $E209 - !WORD $E419 - !WORD $E617 - !WORD $E804 - !WORD $E9DE - !WORD $EBA6 - !WORD $ED5C - !WORD $EEFF -; libsrc/sincos.pla: 0012: word = $F090,$F20E,$F378,$F4D0,$F615,$F747,$F865,$F970,$FA68,$FB4C - !WORD $F090 - !WORD $F20E - !WORD $F378 - !WORD $F4D0 - !WORD $F615 - !WORD $F747 - !WORD $F865 - !WORD $F970 - !WORD $FA68 - !WORD $FB4C -; libsrc/sincos.pla: 0013: word = $FC1C,$FCD9,$FD82,$FE18,$FE99,$FF07,$FF60,$FFA6,$FFD8,$FFF6 - !WORD $FC1C - !WORD $FCD9 - !WORD $FD82 - !WORD $FE18 - !WORD $FE99 - !WORD $FF07 - !WORD $FF60 - !WORD $FFA6 - !WORD $FFD8 - !WORD $FFF6 -; libsrc/sincos.pla: 0014: word[2] fprounding = $8000, $0000 -_D058 ; fprounding = $8000, $0000 - !WORD $8000 - !WORD $0000 -; libsrc/sincos.pla: 0015: -; libsrc/sincos.pla: 0016: def sin32(deg)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; deg -> [0] -_C000 ; sin32() -; libsrc/sincos.pla: 0017: word[2] i32 - ; i32 -> [2] -; libsrc/sincos.pla: 0018: -; libsrc/sincos.pla: 0019: while deg >= 360; deg = deg - 360; loop - !BYTE $58,$06,$01 ; ENTER 6,1 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $84 ; SUB - !BYTE $76,$00 ; SLW [0] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/sincos.pla: 0020: while deg < 0; deg = deg + 360; loop - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $82 ; ADD - !BYTE $76,$00 ; SLW [0] -_B006 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/sincos.pla: 0021: if deg < 90 -; libsrc/sincos.pla: 0022: i32[0] = (sin90[deg]) -; libsrc/sincos.pla: 0023: i32[1] = 0 -; libsrc/sincos.pla: 0024: elsif deg == 90 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$5A ; CB 90 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $26 ; LA _D057+0 -_F000 !WORD _D057+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; libsrc/sincos.pla: 0025: i32[0] = 0 -; libsrc/sincos.pla: 0026: i32[1] = 1 -; libsrc/sincos.pla: 0027: elsif deg <= 180 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$5A ; CB 90 - !BYTE $24 ; BRNE _B009 - !WORD _B009-* - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B009 -; libsrc/sincos.pla: 0028: i32[0] = (sin90[180 - deg]) -; libsrc/sincos.pla: 0029: i32[1] = 0 -; libsrc/sincos.pla: 0030: elsif deg < 270 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$B4 ; CB 180 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $26 ; LA _D057+0 -_F001 !WORD _D057+0 - !BYTE $2A,$B4 ; CB 180 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B010 -; libsrc/sincos.pla: 0031: i32[0] = ~(sin90[deg - 180]) -; libsrc/sincos.pla: 0032: i32[1] = -1 -; libsrc/sincos.pla: 0033: elsif deg == 270 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $26 ; LA _D057+0 -_F002 !WORD _D057+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$B4 ; SUBI 180 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $92 ; COMP - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B011 -; libsrc/sincos.pla: 0034: i32[0] = 0 -; libsrc/sincos.pla: 0035: i32[1] = -1 -; libsrc/sincos.pla: 0036: else - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $24 ; BRNE _B012 - !WORD _B012-* - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B012 -; libsrc/sincos.pla: 0037: i32[0] = ~(sin90[360 - deg]) -; libsrc/sincos.pla: 0038: i32[1] = -1 -; libsrc/sincos.pla: 0039: fin - !BYTE $26 ; LA _D057+0 -_F003 !WORD _D057+0 - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $92 ; COMP - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] -_B008 -; libsrc/sincos.pla: 0040: load32(@i32) -; libsrc/sincos.pla: 0041: end - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X032 -_F004 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/sincos.pla: 0042: -; libsrc/sincos.pla: 0043: export def mulsin(val, deg) - ; val -> [0] - ; deg -> [2] -_C001 ; mulsin() -; libsrc/sincos.pla: 0044: word[2] i32 - ; i32 -> [4] -; libsrc/sincos.pla: 0045: sin32(deg) - !BYTE $58,$08,$02 ; ENTER 8,2 -; libsrc/sincos.pla: 0046: muli16(val) -; libsrc/sincos.pla: 0047: add32(@fprounding) // Round up -; libsrc/sincos.pla: 0048: store32(@i32) -; libsrc/sincos.pla: 0049: return i32[1] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F005 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X042 -_F006 !WORD 0 - !BYTE $26 ; LA _D058+0 -_F007 !WORD _D058+0 - !BYTE $54 ; CALL _X035 -_F008 !WORD 0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X034 -_F009 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sincos.pla: 0050: end -; libsrc/sincos.pla: 0051: -; libsrc/sincos.pla: 0052: export def mulcos(val, deg) - ; val -> [0] - ; deg -> [2] -_C002 ; mulcos() -; libsrc/sincos.pla: 0053: word[2] i32 - ; i32 -> [4] -; libsrc/sincos.pla: 0054: sin32(deg + 90) - !BYTE $58,$08,$02 ; ENTER 8,2 -; libsrc/sincos.pla: 0055: muli16(val) -; libsrc/sincos.pla: 0056: add32(@fprounding) // Round up -; libsrc/sincos.pla: 0057: store32(@i32) -; libsrc/sincos.pla: 0058: return i32[1] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$5A ; ADDI 90 - !BYTE $54 ; CALL _C000 -_F010 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X042 -_F011 !WORD 0 - !BYTE $26 ; LA _D058+0 -_F012 !WORD _D058+0 - !BYTE $54 ; CALL _X035 -_F013 !WORD 0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X034 -_F014 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/sincos.pla: 0059: end -; libsrc/sincos.pla: 0060: -; libsrc/sincos.pla: 0061: // -; libsrc/sincos.pla: 0062: // Keep module in memory -; libsrc/sincos.pla: 0063: // -; libsrc/sincos.pla: 0064: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/sincos.pla: 0065: done -_SYSFLAGS = 0 -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: LOAD32 - !BYTE $CC,$CF,$C1,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: ADD32 - !BYTE $C1,$C4,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: MULI16 - !BYTE $CD,$D5,$CC,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: MULSIN - !BYTE $CD,$D5,$CC,$D3,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: MULCOS - !BYTE $CD,$D5,$CC,$C3,$CF,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - !BYTE $00 ; END OF ESD diff --git a/src/libsrc/turtle.a b/src/libsrc/turtle.a deleted file mode 100644 index 56300b6..0000000 --- a/src/libsrc/turtle.a +++ /dev/null @@ -1,1419 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; libsrc/turtle.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; libsrc/turtle.pla: 0001: -; libsrc/turtle.pla: 0002: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X028 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X029 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X030 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X031 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X032 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X033 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X034 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X035 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X036 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X037 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X038 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X039 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X040 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X041 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X042 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X043 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X044 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X045 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X046 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X047 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X048 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X049 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X050 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X051 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X052 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X053 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X054 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X055 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X056 -; inc/int32.plh: 0032: end -; libsrc/turtle.pla: 0002: -; libsrc/turtle.pla: 0003: include "inc/sincos.plh" -; inc/sincos.plh: 0001: import sincos - ; DCI STRING: SINCOS - !BYTE $D3,$C9,$CE,$C3,$CF,$53 - ; SINCOS -> X057 -; inc/sincos.plh: 0002: predef mulsin(val, angle)#1 - ; MULSIN -> X058 -; inc/sincos.plh: 0003: predef mulcos(val, angle)#1 - ; MULCOS -> X059 -; inc/sincos.plh: 0004: end -; libsrc/turtle.pla: 0003: -; libsrc/turtle.pla: 0004: -; libsrc/turtle.pla: 0005: const CLIP_LEFT = 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; CLIP_LEFT = 1 -; libsrc/turtle.pla: 0006: const CLIP_RIGHT = 2 - ; CLIP_RIGHT = 2 -; libsrc/turtle.pla: 0007: const CLIP_TOP = 4 - ; CLIP_TOP = 4 -; libsrc/turtle.pla: 0008: const CLIP_BOTTOM = 8 - ; CLIP_BOTTOM = 8 -; libsrc/turtle.pla: 0009: -; libsrc/turtle.pla: 0010: var turtleXp4, turtleYp4, turtleAngle -_D060 !FILL 2 ; turtleXp4, turtleYp4, turtleAngle -_D061 !FILL 2 ; turtleYp4, turtleAngle -_D062 !FILL 2 ; turtleAngle -; libsrc/turtle.pla: 0011: byte pen -_D063 !FILL 1 ; pen -; libsrc/turtle.pla: 0012: var clipLeft, clipRight, clipTop, clipBottom -_D064 !FILL 2 ; clipLeft, clipRight, clipTop, clipBottom -_D065 !FILL 2 ; clipRight, clipTop, clipBottom -_D066 !FILL 2 ; clipTop, clipBottom -_D067 !FILL 2 ; clipBottom -; libsrc/turtle.pla: 0013: var drawLine -_D068 !FILL 2 ; drawLine -; libsrc/turtle.pla: 0014: -; libsrc/turtle.pla: 0015: def clipCode(x, y)#1 -_SUBSEG ; BYTECODE STARTS - ; x -> [0] - ; y -> [2] -_C000 ; clipCode() -; libsrc/turtle.pla: 0016: byte xcode, ycode - ; xcode -> [4] - ; ycode -> [5] -; libsrc/turtle.pla: 0017: -; libsrc/turtle.pla: 0018: if x < clipLeft - !BYTE $58,$06,$02 ; ENTER 6,2 -; libsrc/turtle.pla: 0019: xcode = CLIP_LEFT -; libsrc/turtle.pla: 0020: elsif x > clipRight - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D064+0 -_F000 !WORD _D064+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $02 ; CN 1 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; libsrc/turtle.pla: 0021: xcode = CLIP_RIGHT -; libsrc/turtle.pla: 0022: else - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D065+0 -_F001 !WORD _D065+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $04 ; CN 2 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B003 -; libsrc/turtle.pla: 0023: xcode = 0 -; libsrc/turtle.pla: 0024: fin - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] -_B002 -; libsrc/turtle.pla: 0025: if y < clipTop -; libsrc/turtle.pla: 0026: ycode = CLIP_TOP -; libsrc/turtle.pla: 0027: elsif y > clipBottom - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D066+0 -_F002 !WORD _D066+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $08 ; CN 4 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -_B004 -; libsrc/turtle.pla: 0028: ycode = CLIP_BOTTOM -; libsrc/turtle.pla: 0029: else - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D067+0 -_F003 !WORD _D067+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $10 ; CN 8 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -_B006 -; libsrc/turtle.pla: 0030: ycode = 0 -; libsrc/turtle.pla: 0031: fin - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] -_B005 -; libsrc/turtle.pla: 0032: return xcode | ycode - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $96 ; OR - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/turtle.pla: 0033: end -; libsrc/turtle.pla: 0034: -; libsrc/turtle.pla: 0035: def lerp(a1, b1, a2, b2, n)#1 - ; a1 -> [0] - ; b1 -> [2] - ; a2 -> [4] - ; b2 -> [6] - ; n -> [8] -_C001 ; lerp() -; libsrc/turtle.pla: 0036: word[2] i32 - ; i32 -> [10] -; libsrc/turtle.pla: 0037: -; libsrc/turtle.pla: 0038: if b2 == b1; return b1; fin // Horizontal lerp - !BYTE $58,$0E,$05 ; ENTER 14,5 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $24 ; BRNE _B007 - !WORD _B007-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0E ; LEAVE 14 -_B007 -_B008 -; libsrc/turtle.pla: 0039: if a2 == a1; return n; fin // Vertical lerp - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B009 - !WORD _B009-* - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0E ; LEAVE 14 -_B009 -_B010 -; libsrc/turtle.pla: 0040: loadi16(b2 - b1) -; libsrc/turtle.pla: 0041: muli16(n - a1) -; libsrc/turtle.pla: 0042: divi16(a2 - a1) -; libsrc/turtle.pla: 0043: store32(@i32) -; libsrc/turtle.pla: 0044: return i32[0] + b1 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X033 -_F004 !WORD 0 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X042 -_F005 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X044 -_F006 !WORD 0 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X034 -_F007 !WORD 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $5A,$0E ; LEAVE 14 -; libsrc/turtle.pla: 0045: end -; libsrc/turtle.pla: 0046: -; libsrc/turtle.pla: 0047: export def clipLine(x1, y1, x2, y2)#0 - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C002 ; clipLine() -; libsrc/turtle.pla: 0048: byte outcode1, outcode2 - ; outcode1 -> [8] - ; outcode2 -> [9] -; libsrc/turtle.pla: 0049: -; libsrc/turtle.pla: 0050: outcode1 = clipCode(x1, y1) - !BYTE $58,$0A,$04 ; ENTER 10,4 -; libsrc/turtle.pla: 0051: outcode2 = clipCode(x2, y2) -; libsrc/turtle.pla: 0052: if outcode1 & outcode2; return; fin // Early exit - clipped away - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F008 !WORD _C000 - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F009 !WORD _C000 - !BYTE $74,$09 ; SLB [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $5A,$0A ; LEAVE 10 -_B011 -_B012 -; libsrc/turtle.pla: 0053: if outcode1 | outcode2 // Something is getting clipped -; libsrc/turtle.pla: 0054: if outcode1 & CLIP_LEFT -; libsrc/turtle.pla: 0055: y1 = lerp(x1, y1, x2, y2, clipLeft) -; libsrc/turtle.pla: 0056: x1 = clipLeft -; libsrc/turtle.pla: 0057: outcode1 = clipCode(x1, y1) -; libsrc/turtle.pla: 0058: elsif outcode1 & CLIP_RIGHT - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $96 ; OR - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D064+0 -_F010 !WORD _D064+0 - !BYTE $54 ; CALL _C001 -_F011 !WORD _C001 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D064+0 -_F012 !WORD _D064+0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F013 !WORD _C000 - !BYTE $74,$08 ; SLB [8] - !BYTE $50 ; BRNCH _B016 - !WORD _B016-* -_B015 -; libsrc/turtle.pla: 0059: y1 = lerp(x1, y1, x2, y2, clipRight) -; libsrc/turtle.pla: 0060: x1 = clipRight -; libsrc/turtle.pla: 0061: outcode1 = clipCode(x1, y1) -; libsrc/turtle.pla: 0062: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D065+0 -_F014 !WORD _D065+0 - !BYTE $54 ; CALL _C001 -_F015 !WORD _C001 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D065+0 -_F016 !WORD _D065+0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F017 !WORD _C000 - !BYTE $74,$08 ; SLB [8] -_B017 -_B016 -; libsrc/turtle.pla: 0063: if outcode1 & CLIP_TOP -; libsrc/turtle.pla: 0064: x1 = lerp(y1, x1, y2, x2, clipTop) -; libsrc/turtle.pla: 0065: y1 = clipTop -; libsrc/turtle.pla: 0066: outcode1 = clipCode(x1, y1) -; libsrc/turtle.pla: 0067: elsif outcode1 & CLIP_BOTTOM - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D066+0 -_F018 !WORD _D066+0 - !BYTE $54 ; CALL _C001 -_F019 !WORD _C001 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D066+0 -_F020 !WORD _D066+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F021 !WORD _C000 - !BYTE $74,$08 ; SLB [8] - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B018 -; libsrc/turtle.pla: 0068: x1 = lerp(y1, x1, y2, x2, clipBottom) -; libsrc/turtle.pla: 0069: y1 = clipBottom -; libsrc/turtle.pla: 0070: outcode1 = clipCode(x1, y1) -; libsrc/turtle.pla: 0071: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D067+0 -_F022 !WORD _D067+0 - !BYTE $54 ; CALL _C001 -_F023 !WORD _C001 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D067+0 -_F024 !WORD _D067+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F025 !WORD _C000 - !BYTE $74,$08 ; SLB [8] -_B020 -_B019 -; libsrc/turtle.pla: 0072: if outcode2 & CLIP_LEFT -; libsrc/turtle.pla: 0073: y2 = lerp(x1, y1, x2, y2, clipLeft) -; libsrc/turtle.pla: 0074: x2 = clipLeft -; libsrc/turtle.pla: 0075: outcode2 = clipCode(x2, y2) -; libsrc/turtle.pla: 0076: elsif outcode2 & CLIP_RIGHT - !BYTE $64,$09 ; LLB [9] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D064+0 -_F026 !WORD _D064+0 - !BYTE $54 ; CALL _C001 -_F027 !WORD _C001 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D064+0 -_F028 !WORD _D064+0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F029 !WORD _C000 - !BYTE $74,$09 ; SLB [9] - !BYTE $50 ; BRNCH _B022 - !WORD _B022-* -_B021 -; libsrc/turtle.pla: 0077: y2 = lerp(x1, y1, x2, y2, clipRight) -; libsrc/turtle.pla: 0078: x2 = clipRight -; libsrc/turtle.pla: 0079: outcode2 = clipCode(x2, y2) -; libsrc/turtle.pla: 0080: fin - !BYTE $64,$09 ; LLB [9] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D065+0 -_F030 !WORD _D065+0 - !BYTE $54 ; CALL _C001 -_F031 !WORD _C001 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D065+0 -_F032 !WORD _D065+0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F033 !WORD _C000 - !BYTE $74,$09 ; SLB [9] -_B023 -_B022 -; libsrc/turtle.pla: 0081: if outcode2 & CLIP_TOP -; libsrc/turtle.pla: 0082: x2 = lerp(y1, x1, y2, x2, clipTop) -; libsrc/turtle.pla: 0083: y2 = clipTop -; libsrc/turtle.pla: 0084: outcode2 = clipCode(x2, y2) -; libsrc/turtle.pla: 0085: elsif outcode2 & CLIP_BOTTOM - !BYTE $64,$09 ; LLB [9] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D066+0 -_F034 !WORD _D066+0 - !BYTE $54 ; CALL _C001 -_F035 !WORD _C001 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D066+0 -_F036 !WORD _D066+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F037 !WORD _C000 - !BYTE $74,$09 ; SLB [9] - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B024 -; libsrc/turtle.pla: 0086: x2 = lerp(y1, x1, y2, x2, clipBottom) -; libsrc/turtle.pla: 0087: y2 = clipBottom -; libsrc/turtle.pla: 0088: outcode2 = clipCode(x2, y2) -; libsrc/turtle.pla: 0089: fin - !BYTE $64,$09 ; LLB [9] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D067+0 -_F038 !WORD _D067+0 - !BYTE $54 ; CALL _C001 -_F039 !WORD _C001 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D067+0 -_F040 !WORD _D067+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C000 -_F041 !WORD _C000 - !BYTE $74,$09 ; SLB [9] -_B026 -_B025 -; libsrc/turtle.pla: 0090: if outcode1 | outcode2; return; fin // Clipped away - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $96 ; OR - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $5A,$0A ; LEAVE 10 -_B027 -_B028 -; libsrc/turtle.pla: 0091: fin -_B013 -_B014 -; libsrc/turtle.pla: 0092: drawLine(x1, y1, x2, y2)#0 -; libsrc/turtle.pla: 0093: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D068+0 -_F042 !WORD _D068+0 - !BYTE $56 ; ICAL - !BYTE $5A,$0A ; LEAVE 10 -; libsrc/turtle.pla: 0094: -; libsrc/turtle.pla: 0095: export def clipRect(left, top, right, bottom)#0 - ; left -> [0] - ; top -> [2] - ; right -> [4] - ; bottom -> [6] -_C003 ; clipRect() -; libsrc/turtle.pla: 0096: clipLeft = left - !BYTE $58,$08,$04 ; ENTER 8,4 -; libsrc/turtle.pla: 0097: clipTop = top -; libsrc/turtle.pla: 0098: clipRight = right -; libsrc/turtle.pla: 0099: clipBottom = bottom -; libsrc/turtle.pla: 0100: end - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D064+0 -_F043 !WORD _D064+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D066+0 -_F044 !WORD _D066+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D065+0 -_F045 !WORD _D065+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D067+0 -_F046 !WORD _D067+0 - !BYTE $5A,$08 ; LEAVE 8 -; libsrc/turtle.pla: 0101: -; libsrc/turtle.pla: 0102: export def initTurtle(width, height, linefunc)#0 - ; width -> [0] - ; height -> [2] - ; linefunc -> [4] -_C004 ; initTurtle() -; libsrc/turtle.pla: 0103: drawLine = linefunc - !BYTE $58,$06,$03 ; ENTER 6,3 -; libsrc/turtle.pla: 0104: clipRect(0, 0, width - 1, height - 1) -; libsrc/turtle.pla: 0105: turtleXp4 = width << 3 -; libsrc/turtle.pla: 0106: turtleYp4 = height << 3 -; libsrc/turtle.pla: 0107: turtleAngle = 0 -; libsrc/turtle.pla: 0108: pen = 1 -; libsrc/turtle.pla: 0109: end - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D068+0 -_F047 !WORD _D068+0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C003 -_F048 !WORD _C003 - !BYTE $66,$00 ; LLW [0] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $7A ; SAW _D060+0 -_F049 !WORD _D060+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $7A ; SAW _D061+0 -_F050 !WORD _D061+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D062+0 -_F051 !WORD _D062+0 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D063+0 -_F052 !WORD _D063+0 - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/turtle.pla: 0110: -; libsrc/turtle.pla: 0111: export def turnTo(angle)#0 - ; angle -> [0] -_C005 ; turnTo() -; libsrc/turtle.pla: 0112: turtleAngle = angle - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/turtle.pla: 0113: while turtleAngle >= 360; turtleAngle = turtleAngle - 360; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D062+0 -_F053 !WORD _D062+0 - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B029 - !BYTE $6A ; LAW _D062+0 -_F054 !WORD _D062+0 - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D062+0 -_F055 !WORD _D062+0 -_B031 - !BYTE $6A ; LAW _D062+0 -_F056 !WORD _D062+0 - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B029 - !WORD _B029-* -_B030 -; libsrc/turtle.pla: 0114: while turtleAngle < 0; turtleAngle = turtleAngle + 360; loop - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B032 - !BYTE $6A ; LAW _D062+0 -_F057 !WORD _D062+0 - !BYTE $2C,$68,$01 ; CW 360 - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D062+0 -_F058 !WORD _D062+0 -_B034 - !BYTE $6A ; LAW _D062+0 -_F059 !WORD _D062+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B032 - !WORD _B032-* -_B033 -; libsrc/turtle.pla: 0115: end - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/turtle.pla: 0116: -; libsrc/turtle.pla: 0117: export def turn(angle)#0 - ; angle -> [0] -_C006 ; turn() -; libsrc/turtle.pla: 0118: turnTo(turtleAngle + angle) - !BYTE $58,$02,$01 ; ENTER 2,1 -; libsrc/turtle.pla: 0119: end - !BYTE $6A ; LAW _D062+0 -_F060 !WORD _D062+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $54 ; CALL _C005 -_F061 !WORD _C005 - !BYTE $5A,$02 ; LEAVE 2 -; libsrc/turtle.pla: 0120: -; libsrc/turtle.pla: 0121: export def moveTo(x, y)#0 - ; x -> [0] - ; y -> [2] -_C007 ; moveTo() -; libsrc/turtle.pla: 0122: if pen - !BYTE $58,$04,$02 ; ENTER 4,2 -; libsrc/turtle.pla: 0123: clipLine(turtleXp4 >> 4, turtleYp4 >> 4, x, y) -; libsrc/turtle.pla: 0124: fin - !BYTE $68 ; LAB _D063+0 -_F062 !WORD _D063+0 - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $6A ; LAW _D060+0 -_F063 !WORD _D060+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $6A ; LAW _D061+0 -_F064 !WORD _D061+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F065 !WORD _C002 -_B035 -_B036 -; libsrc/turtle.pla: 0125: turtleXp4 = x << 4 -; libsrc/turtle.pla: 0126: turtleYp4 = y << 4 -; libsrc/turtle.pla: 0127: end - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $7A ; SAW _D060+0 -_F066 !WORD _D060+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $7A ; SAW _D061+0 -_F067 !WORD _D061+0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/turtle.pla: 0128: -; libsrc/turtle.pla: 0129: export def move(dist)#0 - ; dist -> [0] -_C008 ; move() -; libsrc/turtle.pla: 0130: var oldX, oldY - ; oldX -> [2] - ; oldY -> [4] -; libsrc/turtle.pla: 0131: -; libsrc/turtle.pla: 0132: oldX = turtleXp4 >> 4 - !BYTE $58,$06,$01 ; ENTER 6,1 -; libsrc/turtle.pla: 0133: oldY = turtleYp4 >> 4 -; libsrc/turtle.pla: 0134: turtleXp4 = turtleXp4 + mulcos(dist << 4, turtleAngle) -; libsrc/turtle.pla: 0135: turtleYp4 = turtleYp4 + mulsin(dist << 4, turtleAngle) -; libsrc/turtle.pla: 0136: if pen -; libsrc/turtle.pla: 0137: clipLine(turtleXp4 >> 4, turtleYp4 >> 4, oldX, oldY) -; libsrc/turtle.pla: 0138: fin - !BYTE $6A ; LAW _D060+0 -_F068 !WORD _D060+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D061+0 -_F069 !WORD _D061+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D060+0 -_F070 !WORD _D060+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D062+0 -_F071 !WORD _D062+0 - !BYTE $54 ; CALL _X059 -_F072 !WORD 0 - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D060+0 -_F073 !WORD _D060+0 - !BYTE $6A ; LAW _D061+0 -_F074 !WORD _D061+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D062+0 -_F075 !WORD _D062+0 - !BYTE $54 ; CALL _X058 -_F076 !WORD 0 - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D061+0 -_F077 !WORD _D061+0 - !BYTE $68 ; LAB _D063+0 -_F078 !WORD _D063+0 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $6A ; LAW _D060+0 -_F079 !WORD _D060+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $6A ; LAW _D061+0 -_F080 !WORD _D061+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C002 -_F081 !WORD _C002 -_B037 -_B038 -; libsrc/turtle.pla: 0139: end - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/turtle.pla: 0140: -; libsrc/turtle.pla: 0141: export def movep4(distp4)#0 - ; distp4 -> [0] -_C009 ; movep4() -; libsrc/turtle.pla: 0142: var oldX, oldY - ; oldX -> [2] - ; oldY -> [4] -; libsrc/turtle.pla: 0143: -; libsrc/turtle.pla: 0144: oldX = turtleXp4 >> 4 - !BYTE $58,$06,$01 ; ENTER 6,1 -; libsrc/turtle.pla: 0145: oldY = turtleYp4 >> 4 -; libsrc/turtle.pla: 0146: turtleXp4 = turtleXp4 + mulcos(distp4, turtleAngle) -; libsrc/turtle.pla: 0147: turtleYp4 = turtleYp4 + mulsin(distp4, turtleAngle) -; libsrc/turtle.pla: 0148: if pen -; libsrc/turtle.pla: 0149: clipLine(turtleXp4 >> 4, turtleYp4 >> 4, oldX, oldY) -; libsrc/turtle.pla: 0150: fin - !BYTE $6A ; LAW _D060+0 -_F082 !WORD _D060+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D061+0 -_F083 !WORD _D061+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D060+0 -_F084 !WORD _D060+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D062+0 -_F085 !WORD _D062+0 - !BYTE $54 ; CALL _X059 -_F086 !WORD 0 - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D060+0 -_F087 !WORD _D060+0 - !BYTE $6A ; LAW _D061+0 -_F088 !WORD _D061+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D062+0 -_F089 !WORD _D062+0 - !BYTE $54 ; CALL _X058 -_F090 !WORD 0 - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D061+0 -_F091 !WORD _D061+0 - !BYTE $68 ; LAB _D063+0 -_F092 !WORD _D063+0 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $6A ; LAW _D060+0 -_F093 !WORD _D060+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $6A ; LAW _D061+0 -_F094 !WORD _D061+0 - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C002 -_F095 !WORD _C002 -_B039 -_B040 -; libsrc/turtle.pla: 0151: end - !BYTE $5A,$06 ; LEAVE 6 -; libsrc/turtle.pla: 0152: -; libsrc/turtle.pla: 0153: export def penUp#0 -_C010 ; penUp() -; libsrc/turtle.pla: 0154: pen = 0 -; libsrc/turtle.pla: 0155: end - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D063+0 -_F096 !WORD _D063+0 - !BYTE $5C ; RET -; libsrc/turtle.pla: 0156: -; libsrc/turtle.pla: 0157: export def penDown#0 -_C011 ; penDown() -; libsrc/turtle.pla: 0158: pen = 1 -; libsrc/turtle.pla: 0159: end - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D063+0 -_F097 !WORD _D063+0 - !BYTE $5C ; RET -; libsrc/turtle.pla: 0160: -; libsrc/turtle.pla: 0161: // -; libsrc/turtle.pla: 0162: // Keep module in memory -; libsrc/turtle.pla: 0163: // -; libsrc/turtle.pla: 0164: return modkeep -_INIT - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; libsrc/turtle.pla: 0165: done -_SYSFLAGS = 0 -_DEFCNT = 13 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 59 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 58 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 59 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 58 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: LOADI16 - !BYTE $CC,$CF,$C1,$C4,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: MULI16 - !BYTE $CD,$D5,$CC,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: DIVI16 - !BYTE $C4,$C9,$D6,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 44 ; ESD INDEX - ; DCI STRING: MULSIN - !BYTE $CD,$D5,$CC,$D3,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 58 ; ESD INDEX - ; DCI STRING: MULCOS - !BYTE $CD,$D5,$CC,$C3,$CF,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 59 ; ESD INDEX - ; DCI STRING: CLIPLINE - !BYTE $C3,$CC,$C9,$D0,$CC,$C9,$CE,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: CLIPRECT - !BYTE $C3,$CC,$C9,$D0,$D2,$C5,$C3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: INITTURTLE - !BYTE $C9,$CE,$C9,$D4,$D4,$D5,$D2,$D4,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: TURNTO - !BYTE $D4,$D5,$D2,$CE,$D4,$4F - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: TURN - !BYTE $D4,$D5,$D2,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: MOVETO - !BYTE $CD,$CF,$D6,$C5,$D4,$4F - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - ; DCI STRING: MOVE - !BYTE $CD,$CF,$D6,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C008 - ; DCI STRING: MOVEP4 - !BYTE $CD,$CF,$D6,$C5,$D0,$34 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - ; DCI STRING: PENUP - !BYTE $D0,$C5,$CE,$D5,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C010 - ; DCI STRING: PENDOWN - !BYTE $D0,$C5,$CE,$C4,$CF,$D7,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C011 - !BYTE $00 ; END OF ESD diff --git a/src/lisp/drawl.a b/src/lisp/drawl.a deleted file mode 100644 index 69d8872..0000000 --- a/src/lisp/drawl.a +++ /dev/null @@ -1,2651 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; lisp/drawl.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; lisp/drawl.pla: 0001: -; lisp/drawl.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; lisp/drawl.pla: 0002: -; lisp/drawl.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; lisp/drawl.pla: 0003: -; lisp/drawl.pla: 0004: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X033 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; lisp/drawl.pla: 0004: -; lisp/drawl.pla: 0005: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X034 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X035 - ; THROW -> X036 -; inc/longjmp.plh: 0004: end -; lisp/drawl.pla: 0005: -; lisp/drawl.pla: 0006: -; lisp/drawl.pla: 0007: import sexpr - ; DCI STRING: SEXPR - !BYTE $D3,$C5,$D8,$D0,$52 - ; SEXPR -> X037 -; lisp/drawl.pla: 0008: const TYPE_MASK = $70 - ; TYPE_MASK = 112 -; lisp/drawl.pla: 0009: const NIL = $00 - ; NIL = 0 -; lisp/drawl.pla: 0010: const BOOL_FALSE = $00 - ; BOOL_FALSE = 0 -; lisp/drawl.pla: 0011: const BOOL_TRUE = $01 - ; BOOL_TRUE = 1 -; lisp/drawl.pla: 0012: const CONS_TYPE = $10 - ; CONS_TYPE = 16 -; lisp/drawl.pla: 0013: const SYM_TYPE = $20 - ; SYM_TYPE = 32 -; lisp/drawl.pla: 0014: const SYM_LEN = $0F - ; SYM_LEN = 15 -; lisp/drawl.pla: 0015: const NUM_TYPE = $30 - ; NUM_TYPE = 48 -; lisp/drawl.pla: 0016: const NUM_INT = $31 - ; NUM_INT = 49 -; lisp/drawl.pla: 0017: const NUM_FLOAT = $32 - ; NUM_FLOAT = 50 -; lisp/drawl.pla: 0018: const ARRAY_TYPE = $40 - ; ARRAY_TYPE = 64 -; lisp/drawl.pla: 0019: const STRING_TYPE = $50 - ; STRING_TYPE = 80 -; lisp/drawl.pla: 0020: const MARK_BIT = $80 - ; MARK_BIT = 128 -; lisp/drawl.pla: 0021: const MARK_MASK = $7F - ; MARK_MASK = 127 -; lisp/drawl.pla: 0022: const NULL_HACK = 1 // Hack so we can set APVALs to NULL - ; NULL_HACK = 1 -; lisp/drawl.pla: 0023: -; lisp/drawl.pla: 0024: struc t_elem -; lisp/drawl.pla: 0025: word link - ; link = 0 -; lisp/drawl.pla: 0026: byte type - ; type = 2 -; lisp/drawl.pla: 0027: end - ; t_elem = 3 -; lisp/drawl.pla: 0028: struc t_cons -; lisp/drawl.pla: 0029: res[t_elem] -; lisp/drawl.pla: 0030: word car - ; car = 3 -; lisp/drawl.pla: 0031: word cdr - ; cdr = 5 -; lisp/drawl.pla: 0032: end - ; t_cons = 7 -; lisp/drawl.pla: 0033: struc t_sym -; lisp/drawl.pla: 0034: res[t_elem] -; lisp/drawl.pla: 0035: word natv - ; natv = 3 -; lisp/drawl.pla: 0036: word lambda - ; lambda = 5 -; lisp/drawl.pla: 0037: word array - ; array = 7 -; lisp/drawl.pla: 0038: word apval - ; apval = 9 -; lisp/drawl.pla: 0039: char name[0] - ; name = 11 -; lisp/drawl.pla: 0040: end - ; t_sym = 11 -; lisp/drawl.pla: 0041: struc t_numint -; lisp/drawl.pla: 0042: res[t_elem] -; lisp/drawl.pla: 0043: word intval[2] - ; intval = 3 -; lisp/drawl.pla: 0044: end - ; t_numint = 7 -; lisp/drawl.pla: 0045: struc t_string -; lisp/drawl.pla: 0046: res[t_elem] -; lisp/drawl.pla: 0047: byte stringstr[1] - ; stringstr = 3 -; lisp/drawl.pla: 0048: end - ; t_string = 4 -; lisp/drawl.pla: 0049: -; lisp/drawl.pla: 0050: const ERR_INTERNAL = -1 - ; ERR_INTERNAL = -1 -; lisp/drawl.pla: 0051: const ERR_OUT_OF_MEM = -2 - ; ERR_OUT_OF_MEM = -2 -; lisp/drawl.pla: 0052: const ERR_SWEEP_OVRFLW = -3 - ; ERR_SWEEP_OVRFLW = -3 -; lisp/drawl.pla: 0053: const ERR_SWEEP_UNDFLW = -4 - ; ERR_SWEEP_UNDFLW = -4 -; lisp/drawl.pla: 0054: const ERR_BAD_DOT = -5 - ; ERR_BAD_DOT = -5 -; lisp/drawl.pla: 0055: const ERR_NOT_SYM = -6 - ; ERR_NOT_SYM = -6 -; lisp/drawl.pla: 0056: const ERR_NOT_ASSOC = -7 - ; ERR_NOT_ASSOC = -7 -; lisp/drawl.pla: 0057: const ERR_NOT_FUN = -8 - ; ERR_NOT_FUN = -8 -; lisp/drawl.pla: 0058: const ERR_NOT_NUM = -9 - ; ERR_NOT_NUM = -9 -; lisp/drawl.pla: 0059: const ERR_NOT_INT = -10 - ; ERR_NOT_INT = -10 -; lisp/drawl.pla: 0060: const ERR_NOT_FLOAT = -11 - ; ERR_NOT_FLOAT = -11 -; lisp/drawl.pla: 0061: const ERR_NOT_STR = -12 - ; ERR_NOT_STR = -12 -; lisp/drawl.pla: 0062: const ERR_BAD_INDEX = -13 - ; ERR_BAD_INDEX = -13 -; lisp/drawl.pla: 0063: const ERR_BAD_GO = -14 - ; ERR_BAD_GO = -14 -; lisp/drawl.pla: 0064: -; lisp/drawl.pla: 0065: var exception - ; EXCEPTION -> X038 -; lisp/drawl.pla: 0066: var err_expr - ; ERR_EXPR -> X039 -; lisp/drawl.pla: 0067: var hook_eval - ; HOOK_EVAL -> X040 -; lisp/drawl.pla: 0068: byte trace - ; TRACE -> X041 -; lisp/drawl.pla: 0069: -; lisp/drawl.pla: 0070: var fmt_fpint - ; FMT_FPINT -> X042 -; lisp/drawl.pla: 0071: var fmt_fpfrac - ; FMT_FPFRAC -> X043 -; lisp/drawl.pla: 0072: -; lisp/drawl.pla: 0073: predef gc#0 - ; GC -> X044 -; lisp/drawl.pla: 0074: predef new_int(intlo, inthi)#1 - ; NEW_INT -> X045 -; lisp/drawl.pla: 0075: predef new_string(strptr)#1 - ; NEW_STRING -> X046 -; lisp/drawl.pla: 0076: predef new_sym(symstr)#1 - ; NEW_SYM -> X047 -; lisp/drawl.pla: 0077: predef print_expr(expr)#0 - ; PRINT_EXPR -> X048 -; lisp/drawl.pla: 0078: predef parse_expr(evalptr, level, refill)#2 - ; PARSE_EXPR -> X049 -; lisp/drawl.pla: 0079: predef eval_expr(expr)#1 - ; EVAL_EXPR -> X050 -; lisp/drawl.pla: 0080: predef eval_quote(expr)#1 - ; EVAL_QUOTE -> X051 -; lisp/drawl.pla: 0081: predef bool_pred(bool)#1 - ; BOOL_PRED -> X052 -; lisp/drawl.pla: 0082: end -; lisp/drawl.pla: 0083: -; lisp/drawl.pla: 0084: import smath - ; DCI STRING: SMATH - !BYTE $D3,$CD,$C1,$D4,$48 - ; SMATH -> X053 -; lisp/drawl.pla: 0085: predef eval_int(expr)#1 - ; EVAL_INT -> X054 -; lisp/drawl.pla: 0086: predef eval_int16(expr)#1 - ; EVAL_INT16 -> X055 -; lisp/drawl.pla: 0087: predef load_elem#0 - ; LOAD_ELEM -> X056 -; lisp/drawl.pla: 0088: end -; lisp/drawl.pla: 0089: -; lisp/drawl.pla: 0090: var sym_fpint, sym_fpfrac - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D057 !FILL 2 ; sym_fpint, sym_fpfrac -_D058 !FILL 2 ; sym_fpfrac -; lisp/drawl.pla: 0091: -; lisp/drawl.pla: 0092: res[t_except] break_repl // Break out of eval processing -_D059 !FILL 352 ; break_repl // Break out of eval processing -; lisp/drawl.pla: 0093: -; lisp/drawl.pla: 0094: const csw = $0036 // Output switch vector - ; csw = 54 -; lisp/drawl.pla: 0095: var scrncsw = 0 // Output screen value -_D060 ; scrncsw = 0 // Output screen value - !WORD $0000 -; lisp/drawl.pla: 0096: -; lisp/drawl.pla: 0097: const FILEBUF_SIZE = 128 - ; FILEBUF_SIZE = 128 -; lisp/drawl.pla: 0098: var readfn // Read input routine -_D061 !FILL 2 ; readfn // Read input routine -; lisp/drawl.pla: 0099: var fileref, filebuf // File read vars -_D062 !FILL 2 ; fileref, filebuf // File read vars -_D063 !FILL 2 ; filebuf // File read vars -; lisp/drawl.pla: 0100: byte quit = FALSE // Quit interpreter flag -_D064 ; quit = FALSE // Quit interpreter flag - !BYTE $00 -; lisp/drawl.pla: 0101: var error -_D065 !FILL 2 ; error -; lisp/drawl.pla: 0102: -; lisp/drawl.pla: 0103: // -; lisp/drawl.pla: 0104: // REPL native helper functions -; lisp/drawl.pla: 0105: // -; lisp/drawl.pla: 0106: -; lisp/drawl.pla: 0107: def natv_fpint(symptr, expr) -_SUBSEG ; BYTECODE STARTS - ; symptr -> [0] - ; expr -> [2] -_C000 ; natv_fpint() -; lisp/drawl.pla: 0108: fmt_fpint = eval_int16(expr) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0109: sym_fpint=>apval = new_int(fmt_fpint, 0) ^ NULL_HACK -; lisp/drawl.pla: 0110: return sym_fpint - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X055 -_F000 !WORD 0 - !BYTE $7E ; DAW _X042+0 -_F001 !WORD 0+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F002 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $6A ; LAW _D057+0 -_F003 !WORD _D057+0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D057+0 -_F004 !WORD _D057+0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0111: end -; lisp/drawl.pla: 0112: -; lisp/drawl.pla: 0113: def natv_fpfrac(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C001 ; natv_fpfrac() -; lisp/drawl.pla: 0114: fmt_fpfrac = eval_int16(expr) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0115: sym_fpfrac=>apval = new_int(fmt_fpfrac, 0) ^ NULL_HACK -; lisp/drawl.pla: 0116: return sym_fpfrac - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X055 -_F005 !WORD 0 - !BYTE $7E ; DAW _X043+0 -_F006 !WORD 0+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F007 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $6A ; LAW _D058+0 -_F008 !WORD _D058+0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D058+0 -_F009 !WORD _D058+0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0117: end -; lisp/drawl.pla: 0118: -; lisp/drawl.pla: 0119: def natv_gc(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C002 ; natv_gc() -; lisp/drawl.pla: 0120: gc - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0121: return new_int(heapavail, 0) - !BYTE $54 ; CALL _X044 -_F010 !WORD 0 - !BYTE $54 ; CALL _X016 -_F011 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F012 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0122: end -; lisp/drawl.pla: 0123: -; lisp/drawl.pla: 0124: def natv_bye(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C003 ; natv_bye() -; lisp/drawl.pla: 0125: quit = TRUE - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0126: return new_sym("GOODBYE!") - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D064+0 -_F013 !WORD _D064+0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $47,$4F,$4F,$44,$42,$59,$45,$21 - !BYTE $54 ; CALL _X047 -_F014 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0127: end -; lisp/drawl.pla: 0128: -; lisp/drawl.pla: 0129: // -; lisp/drawl.pla: 0130: // Useful Apple II features -; lisp/drawl.pla: 0131: // -; lisp/drawl.pla: 0132: -; lisp/drawl.pla: 0133: def natv_gr(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C004 ; natv_gr() -; lisp/drawl.pla: 0134: -; lisp/drawl.pla: 0135: if eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0136: conio:grmode(TRUE) // Mixed mode -; lisp/drawl.pla: 0137: else - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X050 -_F015 !WORD 0 - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $20 ; MINUS ONE - !BYTE $6A ; LAW _X033+16 -_F016 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; lisp/drawl.pla: 0138: conio:textmode(0) // Text mode -; lisp/drawl.pla: 0139: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+14 -_F017 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B002 -; lisp/drawl.pla: 0140: return expr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0141: end -; lisp/drawl.pla: 0142: -; lisp/drawl.pla: 0143: def natv_color(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C005 ; natv_color() -; lisp/drawl.pla: 0144: conio:grcolor(eval_int16(expr) & $0F) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0145: return expr - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X055 -_F018 !WORD 0 - !BYTE $3C,$0F ; ANDI 15 - !BYTE $6A ; LAW _X033+18 -_F019 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0146: end -; lisp/drawl.pla: 0147: -; lisp/drawl.pla: 0148: def natv_plot(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C006 ; natv_plot() -; lisp/drawl.pla: 0149: byte x, y - ; x -> [4] - ; y -> [5] -; lisp/drawl.pla: 0150: -; lisp/drawl.pla: 0151: x = eval_int16(expr) - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/drawl.pla: 0152: y = eval_int16(expr=>cdr) -; lisp/drawl.pla: 0153: conio:grplot(x, y) -; lisp/drawl.pla: 0154: return expr - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X055 -_F020 !WORD 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X055 -_F021 !WORD 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $6A ; LAW _X033+20 -_F022 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/drawl.pla: 0155: end -; lisp/drawl.pla: 0156: -; lisp/drawl.pla: 0157: def natv_printer(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C007 ; natv_printer() -; lisp/drawl.pla: 0158: byte slot - ; slot -> [4] -; lisp/drawl.pla: 0159: -; lisp/drawl.pla: 0160: slot = eval_int16(expr) & 7 - !BYTE $58,$05,$02 ; ENTER 5,2 -; lisp/drawl.pla: 0161: if slot -; lisp/drawl.pla: 0162: if !scrncsw -; lisp/drawl.pla: 0163: scrncsw = *csw -; lisp/drawl.pla: 0164: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X055 -_F023 !WORD 0 - !BYTE $3C,$07 ; ANDI 7 - !BYTE $6C,$04 ; DLB [4] - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $6A ; LAW _D060+0 -_F024 !WORD _D060+0 - !BYTE $4E ; BRTRU _B005 - !WORD _B005-* - !BYTE $6A,$36,$00 ; LAW 54 - !BYTE $7A ; SAW _D060+0 -_F025 !WORD _D060+0 -_B005 -_B006 -; lisp/drawl.pla: 0165: *csw = $C000 | (slot << 8) -; lisp/drawl.pla: 0166: else - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $64,$04 ; LLB [4] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; lisp/drawl.pla: 0167: if scrncsw -; lisp/drawl.pla: 0168: *csw = scrncsw -; lisp/drawl.pla: 0169: fin - !BYTE $6A ; LAW _D060+0 -_F026 !WORD _D060+0 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D060+0 -_F027 !WORD _D060+0 - !BYTE $7A,$36,$00 ; SAW 54 -_B007 -_B008 -; lisp/drawl.pla: 0170: scrncsw = 0 -; lisp/drawl.pla: 0171: fin - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D060+0 -_F028 !WORD _D060+0 -_B004 -; lisp/drawl.pla: 0172: return new_int(slot, 0) - !BYTE $64,$04 ; LLB [4] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F029 !WORD 0 - !BYTE $5A,$05 ; LEAVE 5 -; lisp/drawl.pla: 0173: end -; lisp/drawl.pla: 0174: -; lisp/drawl.pla: 0175: def natv_home(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C008 ; natv_home() -; lisp/drawl.pla: 0176: conio:textmode(40) // 40 column text - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0177: return NULL - !BYTE $2A,$28 ; CB 40 - !BYTE $6A ; LAW _X033+14 -_F030 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0178: end -; lisp/drawl.pla: 0179: -; lisp/drawl.pla: 0180: def natv_gotoxy(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C009 ; natv_gotoxy() -; lisp/drawl.pla: 0181: byte x, y - ; x -> [4] - ; y -> [5] -; lisp/drawl.pla: 0182: -; lisp/drawl.pla: 0183: x = eval_int16(expr) - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/drawl.pla: 0184: y = eval_int16(expr=>cdr) -; lisp/drawl.pla: 0185: conio:gotoxy(x, y) -; lisp/drawl.pla: 0186: return NULL - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X055 -_F031 !WORD 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X055 -_F032 !WORD 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $6A ; LAW _X033+8 -_F033 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; lisp/drawl.pla: 0187: end -; lisp/drawl.pla: 0188: -; lisp/drawl.pla: 0189: def natv_keypressed(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C010 ; natv_keypressed() -; lisp/drawl.pla: 0190: return bool_pred(conio:keypressed()) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _X033+0 -_F034 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X052 -_F035 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0191: end -; lisp/drawl.pla: 0192: -; lisp/drawl.pla: 0193: def natv_readkey(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C011 ; natv_readkey() -; lisp/drawl.pla: 0194: return new_int(conio:getkey(), 0) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _X033+2 -_F036 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F037 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0195: end -; lisp/drawl.pla: 0196: -; lisp/drawl.pla: 0197: def natv_read(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C012 ; natv_read() -; lisp/drawl.pla: 0198: return readfn() - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _D061+0 -_F038 !WORD _D061+0 - !BYTE $56 ; ICAL - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0199: end -; lisp/drawl.pla: 0200: -; lisp/drawl.pla: 0201: def natv_readstring(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C013 ; natv_readstring() -; lisp/drawl.pla: 0202: var len - ; len -> [4] -; lisp/drawl.pla: 0203: -; lisp/drawl.pla: 0204: if fileref // Reading from file - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/drawl.pla: 0205: len = fileio:read(fileref, filebuf, FILEBUF_SIZE-1) -; lisp/drawl.pla: 0206: if len -; lisp/drawl.pla: 0207: if ^(filebuf + len - 1) == $0D -; lisp/drawl.pla: 0208: len-- // Remove trailing carriage return - !BYTE $6A ; LAW _D062+0 -_F039 !WORD _D062+0 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D062+0 -_F040 !WORD _D062+0 - !BYTE $6A ; LAW _D063+0 -_F041 !WORD _D063+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _X031+18 -_F042 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $6A ; LAW _D063+0 -_F043 !WORD _D063+0 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B013 - !WORD _B013-* - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; lisp/drawl.pla: 0209: fin - !BYTE $76,$04 ; SLW [4] -_B013 -_B014 -; lisp/drawl.pla: 0210: return new_string(filebuf) - !BYTE $6A ; LAW _D063+0 -_F044 !WORD _D063+0 - !BYTE $54 ; CALL _X046 -_F045 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; lisp/drawl.pla: 0211: fin -_B011 -_B012 -; lisp/drawl.pla: 0212: fileio:close(fileref) // End of file, fall through to keyboard -; lisp/drawl.pla: 0213: fileref = 0 -; lisp/drawl.pla: 0214: fin - !BYTE $6A ; LAW _D062+0 -_F046 !WORD _D062+0 - !BYTE $6A ; LAW _X031+16 -_F047 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D062+0 -_F048 !WORD _D062+0 -_B009 -_B010 -; lisp/drawl.pla: 0215: return new_string(gets(':'|$80)) - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F049 !WORD 0 - !BYTE $54 ; CALL _X046 -_F050 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; lisp/drawl.pla: 0216: end -; lisp/drawl.pla: 0217: -; lisp/drawl.pla: 0218: // -; lisp/drawl.pla: 0219: // Keyboard and file input routines -; lisp/drawl.pla: 0220: // -; lisp/drawl.pla: 0221: -; lisp/drawl.pla: 0222: def refill_keybd -_C014 ; refill_keybd() -; lisp/drawl.pla: 0223: var readline - ; readline -> [0] -; lisp/drawl.pla: 0224: -; lisp/drawl.pla: 0225: repeat - !BYTE $58,$02,$00 ; ENTER 2,0 -_B016 -; lisp/drawl.pla: 0226: readline = gets('>'|$80) -; lisp/drawl.pla: 0227: ^(readline + ^readline + 1) = 0 -; lisp/drawl.pla: 0228: until ^readline - !BYTE $2A,$BE ; CB 190 - !BYTE $54 ; CALL _X007 -_F051 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $70 ; SB -_B017 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* -_B015 -; lisp/drawl.pla: 0229: return readline + 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $5A,$02 ; LEAVE 2 -; lisp/drawl.pla: 0230: end -; lisp/drawl.pla: 0231: -; lisp/drawl.pla: 0232: def read_keybd -_C015 ; read_keybd() -; lisp/drawl.pla: 0233: var readline, expr - ; readline -> [0] - ; expr -> [2] -; lisp/drawl.pla: 0234: -; lisp/drawl.pla: 0235: repeat - !BYTE $58,$04,$00 ; ENTER 4,0 -_B019 -; lisp/drawl.pla: 0236: readline = gets('?'|$80) -; lisp/drawl.pla: 0237: ^(readline + ^readline + 1) = 0 -; lisp/drawl.pla: 0238: until ^readline - !BYTE $2A,$BF ; CB 191 - !BYTE $54 ; CALL _X007 -_F052 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $70 ; SB -_B020 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* -_B018 -; lisp/drawl.pla: 0239: drop, expr = parse_expr(readline + 1, 0, @refill_keybd) -; lisp/drawl.pla: 0240: return expr - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _C014+0 -_F053 !WORD _C014+0 - !BYTE $54 ; CALL _X049 -_F054 !WORD 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0241: end -; lisp/drawl.pla: 0242: -; lisp/drawl.pla: 0243: def read_fileline -_C016 ; read_fileline() -; lisp/drawl.pla: 0244: var len - ; len -> [0] -; lisp/drawl.pla: 0245: -; lisp/drawl.pla: 0246: repeat - !BYTE $58,$02,$00 ; ENTER 2,0 -_B022 -; lisp/drawl.pla: 0247: len = fileio:read(fileref, filebuf, FILEBUF_SIZE-1) -; lisp/drawl.pla: 0248: if len -; lisp/drawl.pla: 0249: if ^(filebuf + len - 1) == $0D -; lisp/drawl.pla: 0250: len-- // Remove trailing carriage return - !BYTE $6A ; LAW _D062+0 -_F055 !WORD _D062+0 - !BYTE $6A ; LAW _D063+0 -_F056 !WORD _D063+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _X031+18 -_F057 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $6A ; LAW _D063+0 -_F058 !WORD _D063+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; lisp/drawl.pla: 0251: fin - !BYTE $76,$00 ; SLW [0] -_B026 -_B027 -; lisp/drawl.pla: 0252: ^(filebuf + len) = 0 // NULL terminate -; lisp/drawl.pla: 0253: else - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D063+0 -_F059 !WORD _D063+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B024 -; lisp/drawl.pla: 0254: fileio:close(fileref) -; lisp/drawl.pla: 0255: fileref = 0 -; lisp/drawl.pla: 0256: readfn = @read_keybd -; lisp/drawl.pla: 0257: return FALSE - !BYTE $6A ; LAW _D062+0 -_F060 !WORD _D062+0 - !BYTE $6A ; LAW _X031+16 -_F061 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D062+0 -_F062 !WORD _D062+0 - !BYTE $26 ; LA _C015+0 -_F063 !WORD _C015+0 - !BYTE $7A ; SAW _D061+0 -_F064 !WORD _D061+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/drawl.pla: 0258: fin -_B025 -; lisp/drawl.pla: 0259: until len -_B023 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* -_B021 -; lisp/drawl.pla: 0260: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; lisp/drawl.pla: 0261: end -; lisp/drawl.pla: 0262: -; lisp/drawl.pla: 0263: def refill_file -_C017 ; refill_file() -; lisp/drawl.pla: 0264: if not read_fileline -; lisp/drawl.pla: 0265: return refill_keybd - !BYTE $54 ; CALL _C016 -_F065 !WORD _C016 - !BYTE $4E ; BRTRU _B028 - !WORD _B028-* - !BYTE $54 ; CALL _C014 -_F066 !WORD _C014 - !BYTE $5C ; RET -; lisp/drawl.pla: 0266: fin -_B028 -_B029 -; lisp/drawl.pla: 0267: return filebuf - !BYTE $6A ; LAW _D063+0 -_F067 !WORD _D063+0 - !BYTE $5C ; RET -; lisp/drawl.pla: 0268: end -; lisp/drawl.pla: 0269: -; lisp/drawl.pla: 0270: def read_file -_C018 ; read_file() -; lisp/drawl.pla: 0271: var expr - ; expr -> [0] -; lisp/drawl.pla: 0272: -; lisp/drawl.pla: 0273: if not read_fileline - !BYTE $58,$02,$00 ; ENTER 2,0 -; lisp/drawl.pla: 0274: return read_keybd - !BYTE $54 ; CALL _C016 -_F068 !WORD _C016 - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* - !BYTE $54 ; CALL _C015 -_F069 !WORD _C015 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/drawl.pla: 0275: fin -_B030 -_B031 -; lisp/drawl.pla: 0276: drop, expr = parse_expr(filebuf, 0, @refill_file) -; lisp/drawl.pla: 0277: return expr - !BYTE $6A ; LAW _D063+0 -_F070 !WORD _D063+0 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _C017+0 -_F071 !WORD _C017+0 - !BYTE $54 ; CALL _X049 -_F072 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; lisp/drawl.pla: 0278: end -; lisp/drawl.pla: 0279: -; lisp/drawl.pla: 0280: def natv_readfile(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C019 ; natv_readfile() -; lisp/drawl.pla: 0281: symptr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/drawl.pla: 0282: if symptr->type <> STRING_TYPE -; lisp/drawl.pla: 0283: puts("Not string in READFILE:"); print_expr(expr); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X050 -_F073 !WORD 0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$50 ; CB 80 - !BYTE $22 ; BREQ _B032 - !WORD _B032-* - !BYTE $2E ; CS - !BYTE $17 - !BYTE $4E,$6F,$74,$20,$73,$74,$72,$69 - !BYTE $6E,$67,$20,$69,$6E,$20,$52,$45 - !BYTE $41,$44,$46,$49,$4C,$45,$3A - !BYTE $54 ; CALL _X004 -_F074 !WORD 0 -; lisp/drawl.pla: 0284: return NULL - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X048 -_F075 !WORD 0 - !BYTE $54 ; CALL _X003 -_F076 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0285: fin -_B032 -_B033 -; lisp/drawl.pla: 0286: fileref = fileio:open(symptr + stringstr) -; lisp/drawl.pla: 0287: if fileref -; lisp/drawl.pla: 0288: fileio:newline(fileref, $7F, $0D) -; lisp/drawl.pla: 0289: readfn = @read_file -; lisp/drawl.pla: 0290: if !filebuf -; lisp/drawl.pla: 0291: filebuf = heapalloc(FILEBUF_SIZE) -; lisp/drawl.pla: 0292: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $6A ; LAW _X031+14 -_F077 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D062+0 -_F078 !WORD _D062+0 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $6A ; LAW _D062+0 -_F079 !WORD _D062+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F080 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _C018+0 -_F081 !WORD _C018+0 - !BYTE $7A ; SAW _D061+0 -_F082 !WORD _D061+0 - !BYTE $6A ; LAW _D063+0 -_F083 !WORD _D063+0 - !BYTE $4E ; BRTRU _B036 - !WORD _B036-* - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F084 !WORD 0 - !BYTE $7A ; SAW _D063+0 -_F085 !WORD _D063+0 -_B036 -_B037 -; lisp/drawl.pla: 0293: else - !BYTE $50 ; BRNCH _B035 - !WORD _B035-* -_B034 -; lisp/drawl.pla: 0294: puts("Unable to open: "); puts(symptr + stringstr); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$3A,$20 - !BYTE $54 ; CALL _X004 -_F086 !WORD 0 -; lisp/drawl.pla: 0295: symptr = NULL -; lisp/drawl.pla: 0296: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F087 !WORD 0 - !BYTE $54 ; CALL _X003 -_F088 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B035 -; lisp/drawl.pla: 0297: return symptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/drawl.pla: 0298: end -; lisp/drawl.pla: 0299: -; lisp/drawl.pla: 0300: // -; lisp/drawl.pla: 0301: // Handle command line options -; lisp/drawl.pla: 0302: // -; lisp/drawl.pla: 0303: -; lisp/drawl.pla: 0304: def parse_cmdline#0 -_C020 ; parse_cmdline() -; lisp/drawl.pla: 0305: var opt, filename, skip_elem - ; opt -> [0] - ; filename -> [2] - ; skip_elem -> [4] -; lisp/drawl.pla: 0306: -; lisp/drawl.pla: 0307: skip_elem = FALSE - !BYTE $58,$06,$00 ; ENTER 6,0 -; lisp/drawl.pla: 0308: readfn = @read_keybd -; lisp/drawl.pla: 0309: opt = argNext(argFirst) -; lisp/drawl.pla: 0310: while opt and ^(opt + 1) == '-' - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $26 ; LA _C015+0 -_F089 !WORD _C015+0 - !BYTE $7A ; SAW _D061+0 -_F090 !WORD _D061+0 - !BYTE $54 ; CALL _X029 -_F091 !WORD 0 - !BYTE $54 ; CALL _X030 -_F092 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B038 -; lisp/drawl.pla: 0311: when toupper(^(opt + 2)) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F093 !WORD 0 - !BYTE $52 ; SEL - !WORD _B043-* -; lisp/drawl.pla: 0312: is 'E' -_B044 -; lisp/drawl.pla: 0313: skip_elem = TRUE -; lisp/drawl.pla: 0314: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -; lisp/drawl.pla: 0315: is 'T' -_B045 -; lisp/drawl.pla: 0316: trace = TRUE -; lisp/drawl.pla: 0317: break - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _X041+0 -_F094 !WORD 0+0 - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -; lisp/drawl.pla: 0318: wend - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -_B043 - !BYTE $02 ; CASEBLOCK - !WORD $0045 - !WORD _B044-* - !WORD $0054 - !WORD _B045-* -_B042 -; lisp/drawl.pla: 0319: opt = argNext(opt) -; lisp/drawl.pla: 0320: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X030 -_F095 !WORD 0 - !BYTE $76,$00 ; SLW [0] -_B040 - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B041 - !WORD _B041-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B041 - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* -_B039 -; lisp/drawl.pla: 0321: if not skip_elem; load_elem; fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* - !BYTE $54 ; CALL _X056 -_F096 !WORD 0 -_B046 -_B047 -; lisp/drawl.pla: 0322: filename = opt -; lisp/drawl.pla: 0323: if ^filename -; lisp/drawl.pla: 0324: fileref = fileio:open(filename) -; lisp/drawl.pla: 0325: if fileref -; lisp/drawl.pla: 0326: fileio:newline(fileref, $7F, $0D) -; lisp/drawl.pla: 0327: readfn = @read_file -; lisp/drawl.pla: 0328: filebuf = heapalloc(FILEBUF_SIZE) -; lisp/drawl.pla: 0329: else - !BYTE $66,$00 ; LLW [0] - !BYTE $6E,$02 ; DLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X031+14 -_F097 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D062+0 -_F098 !WORD _D062+0 - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* - !BYTE $6A ; LAW _D062+0 -_F099 !WORD _D062+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F100 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _C018+0 -_F101 !WORD _C018+0 - !BYTE $7A ; SAW _D061+0 -_F102 !WORD _D061+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F103 !WORD 0 - !BYTE $7A ; SAW _D063+0 -_F104 !WORD _D063+0 - !BYTE $50 ; BRNCH _B051 - !WORD _B051-* -_B050 -; lisp/drawl.pla: 0330: puts("Unable to open: "); puts(filename); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$3A,$20 - !BYTE $54 ; CALL _X004 -_F105 !WORD 0 -; lisp/drawl.pla: 0331: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F106 !WORD 0 - !BYTE $54 ; CALL _X003 -_F107 !WORD 0 -_B051 -; lisp/drawl.pla: 0332: fin -_B048 -_B049 -; lisp/drawl.pla: 0333: end - !BYTE $5A,$06 ; LEAVE 6 -; lisp/drawl.pla: 0334: -; lisp/drawl.pla: 0335: def hookfn(expr) - ; expr -> [0] -_C021 ; hookfn() -; lisp/drawl.pla: 0336: if conio:keypressed() == $83 // CTRL-C - !BYTE $58,$02,$01 ; ENTER 2,1 -; lisp/drawl.pla: 0337: conio:getkey() // Clear KB -; lisp/drawl.pla: 0338: puts("\n^C\n") - !BYTE $6A ; LAW _X033+0 -_F108 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $2A,$83 ; CB 131 - !BYTE $24 ; BRNE _B052 - !WORD _B052-* - !BYTE $6A ; LAW _X033+2 -_F109 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $04 - !BYTE $0D,$5E,$43,$0D - !BYTE $54 ; CALL _X004 -_F110 !WORD 0 -; lisp/drawl.pla: 0339: if fileref -; lisp/drawl.pla: 0340: fileio:close(fileref) -; lisp/drawl.pla: 0341: readfn = @read_keybd -; lisp/drawl.pla: 0342: fin - !BYTE $6A ; LAW _D062+0 -_F111 !WORD _D062+0 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $6A ; LAW _D062+0 -_F112 !WORD _D062+0 - !BYTE $6A ; LAW _X031+16 -_F113 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _C015+0 -_F114 !WORD _C015+0 - !BYTE $7A ; SAW _D061+0 -_F115 !WORD _D061+0 -_B054 -_B055 -; lisp/drawl.pla: 0343: throw(@break_repl, 0) -; lisp/drawl.pla: 0344: fin - !BYTE $26 ; LA _D059+0 -_F116 !WORD _D059+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X036 -_F117 !WORD 0 - !BYTE $30 ; DROP -_B052 -_B053 -; lisp/drawl.pla: 0345: return expr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; lisp/drawl.pla: 0346: end -; lisp/drawl.pla: 0347: -; lisp/drawl.pla: 0348: // -; lisp/drawl.pla: 0349: // REPL -; lisp/drawl.pla: 0350: // -; lisp/drawl.pla: 0351: -; lisp/drawl.pla: 0352: puts("PLEIADES Symbolic Processor v2.20\n") -_INIT - !BYTE $2E ; CS - !BYTE $22 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$53,$79,$6D,$62,$6F,$6C,$69 - !BYTE $63,$20,$50,$72,$6F,$63,$65,$73 - !BYTE $73,$6F,$72,$20,$76,$32,$2E,$32 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F118 !WORD 0 -; lisp/drawl.pla: 0353: sym_fpint = new_sym("FMTFPI") - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$4D,$54,$46,$50,$49 - !BYTE $54 ; CALL _X047 -_F119 !WORD 0 - !BYTE $7A ; SAW _D057+0 -_F120 !WORD _D057+0 -; lisp/drawl.pla: 0354: sym_fpfrac = new_sym("FMTFPF") - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$4D,$54,$46,$50,$46 - !BYTE $54 ; CALL _X047 -_F121 !WORD 0 - !BYTE $7A ; SAW _D058+0 -_F122 !WORD _D058+0 -; lisp/drawl.pla: 0355: sym_fpint=>natv = @natv_fpint -; lisp/drawl.pla: 0356: sym_fpfrac=>natv = @natv_fpfrac -; lisp/drawl.pla: 0357: sym_fpint=>apval = new_int(fmt_fpint, 0) ^ NULL_HACK -; lisp/drawl.pla: 0358: sym_fpfrac=>apval = new_int(fmt_fpfrac, 0) ^ NULL_HACK -; lisp/drawl.pla: 0359: new_sym("QUIT")=>natv = @natv_bye - !BYTE $26 ; LA _C000+0 -_F123 !WORD _C000+0 - !BYTE $6A ; LAW _D057+0 -_F124 !WORD _D057+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $26 ; LA _C001+0 -_F125 !WORD _C001+0 - !BYTE $6A ; LAW _D058+0 -_F126 !WORD _D058+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $6A ; LAW _X042+0 -_F127 !WORD 0+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F128 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $6A ; LAW _D057+0 -_F129 !WORD _D057+0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $6A ; LAW _X043+0 -_F130 !WORD 0+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F131 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $6A ; LAW _D058+0 -_F132 !WORD _D058+0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $26 ; LA _C003+0 -_F133 !WORD _C003+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $51,$55,$49,$54 - !BYTE $54 ; CALL _X047 -_F134 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0360: new_sym("GC")=>natv = @natv_gc - !BYTE $26 ; LA _C002+0 -_F135 !WORD _C002+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $47,$43 - !BYTE $54 ; CALL _X047 -_F136 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0361: new_sym("GR")=>natv = @natv_gr - !BYTE $26 ; LA _C004+0 -_F137 !WORD _C004+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $47,$52 - !BYTE $54 ; CALL _X047 -_F138 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0362: new_sym("COLOR")=>natv = @natv_color - !BYTE $26 ; LA _C005+0 -_F139 !WORD _C005+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $43,$4F,$4C,$4F,$52 - !BYTE $54 ; CALL _X047 -_F140 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0363: new_sym("PLOT")=>natv = @natv_plot - !BYTE $26 ; LA _C006+0 -_F141 !WORD _C006+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $50,$4C,$4F,$54 - !BYTE $54 ; CALL _X047 -_F142 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0364: new_sym("PRINTER")=>natv = @natv_printer - !BYTE $26 ; LA _C007+0 -_F143 !WORD _C007+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $50,$52,$49,$4E,$54,$45,$52 - !BYTE $54 ; CALL _X047 -_F144 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0365: new_sym("HOME")=>natv = @natv_home - !BYTE $26 ; LA _C008+0 -_F145 !WORD _C008+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $48,$4F,$4D,$45 - !BYTE $54 ; CALL _X047 -_F146 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0366: new_sym("GOTOXY")=>natv = @natv_gotoxy - !BYTE $26 ; LA _C009+0 -_F147 !WORD _C009+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $47,$4F,$54,$4F,$58,$59 - !BYTE $54 ; CALL _X047 -_F148 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0367: new_sym("KEYPRESSED?")=>natv = @natv_keypressed - !BYTE $26 ; LA _C010+0 -_F149 !WORD _C010+0 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $4B,$45,$59,$50,$52,$45,$53,$53 - !BYTE $45,$44,$3F - !BYTE $54 ; CALL _X047 -_F150 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0368: new_sym("READ")=>natv = @natv_read - !BYTE $26 ; LA _C012+0 -_F151 !WORD _C012+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $52,$45,$41,$44 - !BYTE $54 ; CALL _X047 -_F152 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0369: new_sym("READKEY")=>natv = @natv_readkey - !BYTE $26 ; LA _C011+0 -_F153 !WORD _C011+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $52,$45,$41,$44,$4B,$45,$59 - !BYTE $54 ; CALL _X047 -_F154 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0370: new_sym("READSTRING")=>natv = @natv_readstring - !BYTE $26 ; LA _C013+0 -_F155 !WORD _C013+0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $52,$45,$41,$44,$53,$54,$52,$49 - !BYTE $4E,$47 - !BYTE $54 ; CALL _X047 -_F156 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0371: new_sym("READFILE")=>natv = @natv_readfile - !BYTE $26 ; LA _C019+0 -_F157 !WORD _C019+0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $52,$45,$41,$44,$46,$49,$4C,$45 - !BYTE $54 ; CALL _X047 -_F158 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/drawl.pla: 0372: -; lisp/drawl.pla: 0373: parse_cmdline -; lisp/drawl.pla: 0374: hook_eval = @hookfn -; lisp/drawl.pla: 0375: exception = @break_repl -; lisp/drawl.pla: 0376: error = except(@break_repl) -; lisp/drawl.pla: 0377: if error -; lisp/drawl.pla: 0378: puts("\nError "); puti(error) - !BYTE $54 ; CALL _C020 -_F159 !WORD _C020 - !BYTE $26 ; LA _C021+0 -_F160 !WORD _C021+0 - !BYTE $7A ; SAW _X040+0 -_F161 !WORD 0+0 - !BYTE $26 ; LA _D059+0 -_F162 !WORD _D059+0 - !BYTE $7A ; SAW _X038+0 -_F163 !WORD 0+0 - !BYTE $26 ; LA _D059+0 -_F164 !WORD _D059+0 - !BYTE $54 ; CALL _X035 -_F165 !WORD 0 - !BYTE $7E ; DAW _D065+0 -_F166 !WORD _D065+0 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $0D,$45,$72,$72,$6F,$72,$20 - !BYTE $54 ; CALL _X004 -_F167 !WORD 0 -; lisp/drawl.pla: 0379: if err_expr; putc(':'); print_expr(err_expr); err_expr = NULL; fin - !BYTE $6A ; LAW _D065+0 -_F168 !WORD _D065+0 - !BYTE $54 ; CALL _X005 -_F169 !WORD 0 - !BYTE $6A ; LAW _X039+0 -_F170 !WORD 0+0 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $2A,$3A ; CB 58 - !BYTE $54 ; CALL _X002 -_F171 !WORD 0 - !BYTE $6A ; LAW _X039+0 -_F172 !WORD 0+0 - !BYTE $54 ; CALL _X048 -_F173 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _X039+0 -_F174 !WORD 0+0 -_B058 -_B059 -; lisp/drawl.pla: 0380: putln -; lisp/drawl.pla: 0381: fin - !BYTE $54 ; CALL _X003 -_F175 !WORD 0 -_B056 -_B057 -; lisp/drawl.pla: 0382: while not quit - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B060 -; lisp/drawl.pla: 0383: putln; print_expr(eval_quote(readfn())) -; lisp/drawl.pla: 0384: loop - !BYTE $54 ; CALL _X003 -_F176 !WORD 0 - !BYTE $6A ; LAW _D061+0 -_F177 !WORD _D061+0 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X051 -_F178 !WORD 0 - !BYTE $54 ; CALL _X048 -_F179 !WORD 0 -_B062 - !BYTE $68 ; LAB _D064+0 -_F180 !WORD _D064+0 - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* -_B061 -; lisp/drawl.pla: 0385: putln -; lisp/drawl.pla: 0386: done - !BYTE $54 ; CALL _X003 -_F181 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 23 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 43 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 49 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 49 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 56 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 43 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 47 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: EXCEPTION - !BYTE $C5,$D8,$C3,$C5,$D0,$D4,$C9,$CF,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: ERR_EXPR - !BYTE $C5,$D2,$D2,$DF,$C5,$D8,$D0,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 39 ; ESD INDEX - ; DCI STRING: HOOK_EVAL - !BYTE $C8,$CF,$CF,$CB,$DF,$C5,$D6,$C1,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: TRACE - !BYTE $D4,$D2,$C1,$C3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: FMT_FPINT - !BYTE $C6,$CD,$D4,$DF,$C6,$D0,$C9,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: FMT_FPFRAC - !BYTE $C6,$CD,$D4,$DF,$C6,$D0,$C6,$D2,$C1,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 43 ; ESD INDEX - ; DCI STRING: GC - !BYTE $C7,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 44 ; ESD INDEX - ; DCI STRING: NEW_INT - !BYTE $CE,$C5,$D7,$DF,$C9,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: NEW_STRING - !BYTE $CE,$C5,$D7,$DF,$D3,$D4,$D2,$C9,$CE,$47 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 46 ; ESD INDEX - ; DCI STRING: NEW_SYM - !BYTE $CE,$C5,$D7,$DF,$D3,$D9,$4D - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 47 ; ESD INDEX - ; DCI STRING: PRINT_EXPR - !BYTE $D0,$D2,$C9,$CE,$D4,$DF,$C5,$D8,$D0,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 48 ; ESD INDEX - ; DCI STRING: PARSE_EXPR - !BYTE $D0,$C1,$D2,$D3,$C5,$DF,$C5,$D8,$D0,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 49 ; ESD INDEX - ; DCI STRING: EVAL_EXPR - !BYTE $C5,$D6,$C1,$CC,$DF,$C5,$D8,$D0,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 50 ; ESD INDEX - ; DCI STRING: EVAL_QUOTE - !BYTE $C5,$D6,$C1,$CC,$DF,$D1,$D5,$CF,$D4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 51 ; ESD INDEX - ; DCI STRING: BOOL_PRED - !BYTE $C2,$CF,$CF,$CC,$DF,$D0,$D2,$C5,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 52 ; ESD INDEX - ; DCI STRING: EVAL_INT16 - !BYTE $C5,$D6,$C1,$CC,$DF,$C9,$CE,$D4,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 55 ; ESD INDEX - ; DCI STRING: LOAD_ELEM - !BYTE $CC,$CF,$C1,$C4,$DF,$C5,$CC,$C5,$4D - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 56 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/lisp/s-expr.a b/src/lisp/s-expr.a deleted file mode 100644 index 0f415a9..0000000 --- a/src/lisp/s-expr.a +++ /dev/null @@ -1,10254 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; lisp/s-expr.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; lisp/s-expr.pla: 0001: -; lisp/s-expr.pla: 0002: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X028 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X029 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X030 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X031 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X032 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X033 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X034 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X035 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X036 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X037 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X038 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X039 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X040 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X041 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X042 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X043 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X044 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X045 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X046 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X047 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X048 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X049 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X050 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X051 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X052 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X053 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X054 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X055 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X056 -; inc/int32.plh: 0032: end -; lisp/s-expr.pla: 0002: -; lisp/s-expr.pla: 0003: include "inc/fpstr.plh" -; inc/fpstr.plh: 0001: import fpstr - ; DCI STRING: FPSTR - !BYTE $C6,$D0,$D3,$D4,$52 - ; FPSTR -> X057 -; inc/fpstr.plh: 0002: // -; inc/fpstr.plh: 0003: // String formatting bits -; inc/fpstr.plh: 0004: // -; inc/fpstr.plh: 0005: const FPSTR_FIXED = 1 // Fixed count of fractional digits - ; FPSTR_FIXED = 1 -; inc/fpstr.plh: 0006: const FPSTR_FLOAT = 0 // Floating count of fractional digits - ; FPSTR_FLOAT = 0 -; inc/fpstr.plh: 0007: const FPSTR_STRIP = 2 // Strip trailing fractional zeros - ; FPSTR_STRIP = 2 -; inc/fpstr.plh: 0008: const FPSTR_EXP = 4 // Force exponential format - ; FPSTR_EXP = 4 -; inc/fpstr.plh: 0009: const FPSTR_FLEX = 8 // Flexible switch to EXP format if over/underflow - ; FPSTR_FLEX = 8 -; inc/fpstr.plh: 0010: // -; inc/fpstr.plh: 0011: // Parse string into decrecord, return SANE conversion output -; inc/fpstr.plh: 0012: // -; inc/fpstr.plh: 0013: predef str2ext(str, ext)#1 - ; STR2EXT -> X058 -; inc/fpstr.plh: 0014: // -; inc/fpstr.plh: 0015: // Convert extended FP to string using , return string -; inc/fpstr.plh: 0016: // -; inc/fpstr.plh: 0017: predef ext2str(ext, str, intdigits, fracdigits, format)#1 - ; EXT2STR -> X059 -; inc/fpstr.plh: 0018: end -; lisp/s-expr.pla: 0003: -; lisp/s-expr.pla: 0004: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X060 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X061 - ; THROW -> X062 -; inc/longjmp.plh: 0004: end -; lisp/s-expr.pla: 0004: -; lisp/s-expr.pla: 0005: -; lisp/s-expr.pla: 0006: const TYPE_MASK = $70 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; TYPE_MASK = 112 -; lisp/s-expr.pla: 0007: const NIL = $00 - ; NIL = 0 -; lisp/s-expr.pla: 0008: const CONS_TYPE = $10 - ; CONS_TYPE = 16 -; lisp/s-expr.pla: 0009: const SYM_TYPE = $20 - ; SYM_TYPE = 32 -; lisp/s-expr.pla: 0010: const SYM_LEN = $0F - ; SYM_LEN = 15 -; lisp/s-expr.pla: 0011: const NUM_TYPE = $30 - ; NUM_TYPE = 48 -; lisp/s-expr.pla: 0012: const NUM_INT = $31 - ; NUM_INT = 49 -; lisp/s-expr.pla: 0013: const NUM_FLOAT = $32 - ; NUM_FLOAT = 50 -; lisp/s-expr.pla: 0014: const ARRAY_TYPE = $40 - ; ARRAY_TYPE = 64 -; lisp/s-expr.pla: 0015: const STRING_TYPE = $50 - ; STRING_TYPE = 80 -; lisp/s-expr.pla: 0016: const MARK_BIT = $80 - ; MARK_BIT = 128 -; lisp/s-expr.pla: 0017: const MARK_MASK = $7F - ; MARK_MASK = 127 -; lisp/s-expr.pla: 0018: const NULL_HACK = 1 // Hack so we can set APVALs to NULL - ; NULL_HACK = 1 -; lisp/s-expr.pla: 0019: -; lisp/s-expr.pla: 0020: struc t_elem -; lisp/s-expr.pla: 0021: word link - ; link = 0 -; lisp/s-expr.pla: 0022: byte type - ; type = 2 -; lisp/s-expr.pla: 0023: end - ; t_elem = 3 -; lisp/s-expr.pla: 0024: struc t_cons -; lisp/s-expr.pla: 0025: res[t_elem] -; lisp/s-expr.pla: 0026: word car - ; car = 3 -; lisp/s-expr.pla: 0027: word cdr - ; cdr = 5 -; lisp/s-expr.pla: 0028: end - ; t_cons = 7 -; lisp/s-expr.pla: 0029: struc t_sym -; lisp/s-expr.pla: 0030: res[t_elem] -; lisp/s-expr.pla: 0031: word natv - ; natv = 3 -; lisp/s-expr.pla: 0032: word lambda - ; lambda = 5 -; lisp/s-expr.pla: 0033: word array - ; array = 7 -; lisp/s-expr.pla: 0034: word apval - ; apval = 9 -; lisp/s-expr.pla: 0035: char name[0] - ; name = 11 -; lisp/s-expr.pla: 0036: end - ; t_sym = 11 -; lisp/s-expr.pla: 0037: struc t_numint -; lisp/s-expr.pla: 0038: res[t_elem] -; lisp/s-expr.pla: 0039: word intval[2] - ; intval = 3 -; lisp/s-expr.pla: 0040: end - ; t_numint = 7 -; lisp/s-expr.pla: 0041: struc t_numfloat -; lisp/s-expr.pla: 0042: res[t_elem] -; lisp/s-expr.pla: 0043: res floatval[10] - ; floatval = 3 -; lisp/s-expr.pla: 0044: end - ; t_numfloat = 13 -; lisp/s-expr.pla: 0045: struc t_array -; lisp/s-expr.pla: 0046: res[t_elem] -; lisp/s-expr.pla: 0047: word dimension[4] - ; dimension = 3 -; lisp/s-expr.pla: 0048: word offset[4] - ; offset = 11 -; lisp/s-expr.pla: 0049: word arraysize - ; arraysize = 19 -; lisp/s-expr.pla: 0050: word arraymem - ; arraymem = 21 -; lisp/s-expr.pla: 0051: end - ; t_array = 23 -; lisp/s-expr.pla: 0052: struc t_string -; lisp/s-expr.pla: 0053: res[t_elem] -; lisp/s-expr.pla: 0054: byte stringstr[1] - ; stringstr = 3 -; lisp/s-expr.pla: 0055: end - ; t_string = 4 -; lisp/s-expr.pla: 0056: -; lisp/s-expr.pla: 0057: // -; lisp/s-expr.pla: 0058: // Errors -; lisp/s-expr.pla: 0059: // -; lisp/s-expr.pla: 0060: -; lisp/s-expr.pla: 0061: const ERR_INTERNAL = -1 - ; ERR_INTERNAL = -1 -; lisp/s-expr.pla: 0062: const ERR_OUT_OF_MEM = -2 - ; ERR_OUT_OF_MEM = -2 -; lisp/s-expr.pla: 0063: const ERR_SWEEP_OVRFLW = -3 - ; ERR_SWEEP_OVRFLW = -3 -; lisp/s-expr.pla: 0064: const ERR_SWEEP_UNDFLW = -4 - ; ERR_SWEEP_UNDFLW = -4 -; lisp/s-expr.pla: 0065: const ERR_BAD_DOT = -5 - ; ERR_BAD_DOT = -5 -; lisp/s-expr.pla: 0066: const ERR_NOT_SYM = -6 - ; ERR_NOT_SYM = -6 -; lisp/s-expr.pla: 0067: const ERR_NOT_ASSOC = -7 - ; ERR_NOT_ASSOC = -7 -; lisp/s-expr.pla: 0068: const ERR_NOT_FUN = -8 - ; ERR_NOT_FUN = -8 -; lisp/s-expr.pla: 0069: const ERR_NOT_NUM = -9 - ; ERR_NOT_NUM = -9 -; lisp/s-expr.pla: 0070: const ERR_NOT_INT = -10 - ; ERR_NOT_INT = -10 -; lisp/s-expr.pla: 0071: const ERR_NOT_FLOAT = -11 - ; ERR_NOT_FLOAT = -11 -; lisp/s-expr.pla: 0072: const ERR_NOT_STR = -12 - ; ERR_NOT_STR = -12 -; lisp/s-expr.pla: 0073: const ERR_BAD_INDEX = -13 - ; ERR_BAD_INDEX = -13 -; lisp/s-expr.pla: 0074: const ERR_BAD_GO = -14 - ; ERR_BAD_GO = -14 -; lisp/s-expr.pla: 0075: -; lisp/s-expr.pla: 0076: // -; lisp/s-expr.pla: 0077: // Temp string size -; lisp/s-expr.pla: 0078: // -; lisp/s-expr.pla: 0079: -; lisp/s-expr.pla: 0080: const TMPSTR_SIZE = 128 - ; TMPSTR_SIZE = 128 -; lisp/s-expr.pla: 0081: -; lisp/s-expr.pla: 0082: // -; lisp/s-expr.pla: 0083: // Variables -; lisp/s-expr.pla: 0084: // -; lisp/s-expr.pla: 0085: -; lisp/s-expr.pla: 0086: byte prhex = FALSE // Hex output flag for integers -_D063 ; prhex = FALSE // Hex output flag for integers - !BYTE $00 -; lisp/s-expr.pla: 0087: const fmt_fp = FPSTR_FIXED|FPSTR_STRIP|FPSTR_FLEX - ; fmt_fp = 11 -; lisp/s-expr.pla: 0088: export var fmt_fpint = 6 -_D064 ; fmt_fpint = 6 - !WORD $0006 -; lisp/s-expr.pla: 0089: export var fmt_fpfrac = 4 -_D065 ; fmt_fpfrac = 4 - !WORD $0004 -; lisp/s-expr.pla: 0090: export byte trace = FALSE -_D066 ; trace = FALSE - !BYTE $00 -; lisp/s-expr.pla: 0091: export var exception = NULL -_D067 ; exception = NULL - !WORD $0000 -; lisp/s-expr.pla: 0092: export var err_expr = NULL -_D068 ; err_expr = NULL - !WORD $0000 -; lisp/s-expr.pla: 0093: export var hook_eval = NULL // Installable hook for eval_expr() -_D069 ; hook_eval = NULL // Installable hook for eval_expr() - !WORD $0000 -; lisp/s-expr.pla: 0094: var assoc_list = NULL // SYM->value association list -_D070 ; assoc_list = NULL // SYM->value association list - !WORD $0000 -; lisp/s-expr.pla: 0095: var cons_list = NULL -_D071 ; cons_list = NULL - !WORD $0000 -; lisp/s-expr.pla: 0096: var cons_free = NULL -_D072 ; cons_free = NULL - !WORD $0000 -; lisp/s-expr.pla: 0097: var int_list = NULL -_D073 ; int_list = NULL - !WORD $0000 -; lisp/s-expr.pla: 0098: var int_free = NULL -_D074 ; int_free = NULL - !WORD $0000 -; lisp/s-expr.pla: 0099: var float_list = NULL -_D075 ; float_list = NULL - !WORD $0000 -; lisp/s-expr.pla: 0100: var float_free = NULL -_D076 ; float_free = NULL - !WORD $0000 -; lisp/s-expr.pla: 0101: var string_list = NULL -_D077 ; string_list = NULL - !WORD $0000 -; lisp/s-expr.pla: 0102: var string_free = NULL -_D078 ; string_free = NULL - !WORD $0000 -; lisp/s-expr.pla: 0103: -; lisp/s-expr.pla: 0104: // -; lisp/s-expr.pla: 0105: // Symbol hash table -; lisp/s-expr.pla: 0106: // -; lisp/s-expr.pla: 0107: -; lisp/s-expr.pla: 0108: const HASH_SIZE = 64 // Must be power of two! - ; HASH_SIZE = 64 -; lisp/s-expr.pla: 0109: const HASH_MASK = HASH_SIZE-1 - ; HASH_MASK = 63 -; lisp/s-expr.pla: 0110: word hashtbl[HASH_SIZE] -_D079 !FILL 128 ; hashtbl[HASH_SIZE] -; lisp/s-expr.pla: 0111: -; lisp/s-expr.pla: 0112: var sym_nil, sym_true, sym_quote, sym_lambda, sym_funarg, sym_set -_D080 !FILL 2 ; sym_nil, sym_true, sym_quote, sym_lambda, sym_funarg, sym_set -_D081 !FILL 2 ; sym_true, sym_quote, sym_lambda, sym_funarg, sym_set -_D082 !FILL 2 ; sym_quote, sym_lambda, sym_funarg, sym_set -_D083 !FILL 2 ; sym_lambda, sym_funarg, sym_set -_D084 !FILL 2 ; sym_funarg, sym_set -_D085 !FILL 2 ; sym_set -; lisp/s-expr.pla: 0113: var sym_macro, sym_cond, sym_if, sym_label, sym_for -_D086 !FILL 2 ; sym_macro, sym_cond, sym_if, sym_label, sym_for -_D087 !FILL 2 ; sym_cond, sym_if, sym_label, sym_for -_D088 !FILL 2 ; sym_if, sym_label, sym_for -_D089 !FILL 2 ; sym_label, sym_for -_D090 !FILL 2 ; sym_for -; lisp/s-expr.pla: 0114: var prog, prog_expr, prog_return // Current PROG expressions -_D091 !FILL 2 ; prog, prog_expr, prog_return // Current PROG expressions -_D092 !FILL 2 ; prog_expr, prog_return // Current PROG expressions -_D093 !FILL 2 ; prog_return // Current PROG expressions -; lisp/s-expr.pla: 0115: -; lisp/s-expr.pla: 0116: predef print_expr(expr)#0 -; lisp/s-expr.pla: 0117: predef eval_expr(expr)#1 -; lisp/s-expr.pla: 0118: -; lisp/s-expr.pla: 0119: // -; lisp/s-expr.pla: 0120: // Garbage collector -; lisp/s-expr.pla: 0121: // - note, anytime eval_expr is called there is the possibility of -; lisp/s-expr.pla: 0122: // garbage collecting. If there are any in-flight elements (cons, -; lisp/s-expr.pla: 0123: // int, float) they may be collected and returned to the free list. -; lisp/s-expr.pla: 0124: // Use the sweep_stack to temporarily keep a reference to these elements. -; lisp/s-expr.pla: 0125: // -; lisp/s-expr.pla: 0126: -; lisp/s-expr.pla: 0127: const SWEEPSTACK_MAX = 16 - ; SWEEPSTACK_MAX = 16 -; lisp/s-expr.pla: 0128: byte sweep_stack_top = 0 -_D096 ; sweep_stack_top = 0 - !BYTE $00 -; lisp/s-expr.pla: 0129: var sweep_stack[SWEEPSTACK_MAX] // In-flight expressions -_D097 !FILL 32 ; sweep_stack[SWEEPSTACK_MAX] // In-flight expressions -; lisp/s-expr.pla: 0130: -; lisp/s-expr.pla: 0131: const GC_SHIFT_AVAIL = 6 - ; GC_SHIFT_AVAIL = 6 -; lisp/s-expr.pla: 0132: word gc_trigger, gc_pull // GC tigger points -_D098 !FILL 2 ; gc_trigger, gc_pull // GC tigger points -_D099 !FILL 2 ; gc_pull // GC tigger points -; lisp/s-expr.pla: 0133: -; lisp/s-expr.pla: 0134: //def hashstr(str)#1 -; lisp/s-expr.pla: 0135: // return (^str ^ ((^(str+1) << 1) ^ ^(str + ^str/2) << 2)) & HASH_MASK -; lisp/s-expr.pla: 0136: //end -; lisp/s-expr.pla: 0137: asm hashstr(str)#1 -_A000 ; hashstr() -; lisp/s-expr.pla: 0138: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; lisp/s-expr.pla: 0139: LDA ESTKL,X - LDA ESTKL,X -; lisp/s-expr.pla: 0140: STA SRCL - STA SRCL -; lisp/s-expr.pla: 0141: LDA ESTKH,X - LDA ESTKH,X -; lisp/s-expr.pla: 0142: STA SRCH - STA SRCH -; lisp/s-expr.pla: 0143: LDY #$00 - LDY #$00 -; lisp/s-expr.pla: 0144: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0145: STA ESTKL,X - STA ESTKL,X -; lisp/s-expr.pla: 0146: STY ESTKH,X - STY ESTKH,X -; lisp/s-expr.pla: 0147: LSR - LSR -; lisp/s-expr.pla: 0148: TAY - TAY -; lisp/s-expr.pla: 0149: INY - INY -; lisp/s-expr.pla: 0150: LDA (SRC), Y - LDA (SRC), Y -; lisp/s-expr.pla: 0151: ASL - ASL -; lisp/s-expr.pla: 0152: ASL - ASL -; lisp/s-expr.pla: 0153: EOR ESTKL,X - EOR ESTKL,X -; lisp/s-expr.pla: 0154: STA ESTKL,X - STA ESTKL,X -; lisp/s-expr.pla: 0155: LDY #$01 - LDY #$01 -; lisp/s-expr.pla: 0156: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0157: ASL - ASL -; lisp/s-expr.pla: 0158: EOR ESTKL,X - EOR ESTKL,X -; lisp/s-expr.pla: 0159: AND #63 ; HASH_MASK - AND #63 ; HASH_MASK -; lisp/s-expr.pla: 0160: STA ESTKL,X - STA ESTKL,X -; lisp/s-expr.pla: 0161: RTS - RTS -; lisp/s-expr.pla: 0162: end -; lisp/s-expr.pla: 0163: -; lisp/s-expr.pla: 0164: //def mark_list(list)#0 -; lisp/s-expr.pla: 0165: // while list -; lisp/s-expr.pla: 0166: // list->type = list->type | MARK_BIT -; lisp/s-expr.pla: 0167: // list = list=>link -; lisp/s-expr.pla: 0168: // loop -; lisp/s-expr.pla: 0169: //end -; lisp/s-expr.pla: 0170: asm mark_list(list)#0 -_A001 ; mark_list() -; lisp/s-expr.pla: 0171: LDA ESTKL,X - LDA ESTKL,X -; lisp/s-expr.pla: 0172: STA SRCL - STA SRCL -; lisp/s-expr.pla: 0173: LDA ESTKH,X - LDA ESTKH,X -; lisp/s-expr.pla: 0174: STA SRCH - STA SRCH -; lisp/s-expr.pla: 0175: BEQ + ; CHECK FOR NULL (MSB, ANYWAY) - BEQ + ; CHECK FOR NULL (MSB, ANYWAY) -; lisp/s-expr.pla: 0176: - LDY #$02 -- LDY #$02 -; lisp/s-expr.pla: 0177: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0178: ORA #$80 ; MARK_BIT - ORA #$80 ; MARK_BIT -; lisp/s-expr.pla: 0179: STA (SRC),Y - STA (SRC),Y -; lisp/s-expr.pla: 0180: DEY - DEY -; lisp/s-expr.pla: 0181: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0182: BEQ + - BEQ + -; lisp/s-expr.pla: 0183: PHA - PHA -; lisp/s-expr.pla: 0184: DEY - DEY -; lisp/s-expr.pla: 0185: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0186: STA SRCL - STA SRCL -; lisp/s-expr.pla: 0187: PLA - PLA -; lisp/s-expr.pla: 0188: STA SRCH - STA SRCH -; lisp/s-expr.pla: 0189: BNE - - BNE - -; lisp/s-expr.pla: 0190: + INX -+ INX -; lisp/s-expr.pla: 0191: RTS - RTS -; lisp/s-expr.pla: 0192: end -; lisp/s-expr.pla: 0193: -; lisp/s-expr.pla: 0194: //def match_sym(symstr, sym_list) -; lisp/s-expr.pla: 0195: // var symptr -; lisp/s-expr.pla: 0196: // byte len, typelen, i -; lisp/s-expr.pla: 0197: // -; lisp/s-expr.pla: 0198: // len = ^symstr -; lisp/s-expr.pla: 0199: // typelen = SYM_TYPE | len -; lisp/s-expr.pla: 0200: // len--; symstr++ -; lisp/s-expr.pla: 0201: // symptr = sym_list -; lisp/s-expr.pla: 0202: // while symptr -; lisp/s-expr.pla: 0203: // if symptr->type == typelen -; lisp/s-expr.pla: 0204: // for i = 0 to len -; lisp/s-expr.pla: 0205: // if symptr->name[i] <> symstr->[i]; break; fin -; lisp/s-expr.pla: 0206: // next -; lisp/s-expr.pla: 0207: // if i > len -; lisp/s-expr.pla: 0208: // return symptr -; lisp/s-expr.pla: 0209: // fin -; lisp/s-expr.pla: 0210: // fin -; lisp/s-expr.pla: 0211: // symptr = symptr=>link -; lisp/s-expr.pla: 0212: // loop -; lisp/s-expr.pla: 0213: // return NULL -; lisp/s-expr.pla: 0214: //end -; lisp/s-expr.pla: 0215: asm match_sym(symstr, sym_list) -_A002 ; match_sym() -; lisp/s-expr.pla: 0216: INX - INX -; lisp/s-expr.pla: 0217: LDA ESTKL-1,X ; sym_list - LDA ESTKL-1,X ; sym_list -; lisp/s-expr.pla: 0218: STA SRCL - STA SRCL -; lisp/s-expr.pla: 0219: LDA ESTKH-1,X - LDA ESTKH-1,X -; lisp/s-expr.pla: 0220: STA SRCH - STA SRCH -; lisp/s-expr.pla: 0221: BEQ MSYMRET ; NULL - BEQ MSYMRET ; NULL -; lisp/s-expr.pla: 0222: LDA ESTKL,X ; symstr - LDA ESTKL,X ; symstr -; lisp/s-expr.pla: 0223: SEC - SEC -; lisp/s-expr.pla: 0224: SBC #10 - SBC #10 -; lisp/s-expr.pla: 0225: STA DSTL - STA DSTL -; lisp/s-expr.pla: 0226: LDA ESTKH,X - LDA ESTKH,X -; lisp/s-expr.pla: 0227: SBC #0 - SBC #0 -; lisp/s-expr.pla: 0228: STA DSTH - STA DSTH -; lisp/s-expr.pla: 0229: LDY #10 - LDY #10 -; lisp/s-expr.pla: 0230: LDA (DST),Y - LDA (DST),Y -; lisp/s-expr.pla: 0231: ORA #$20 ; SYM_TYPE - ORA #$20 ; SYM_TYPE -; lisp/s-expr.pla: 0232: STA TMPL ; len - STA TMPL ; len -; lisp/s-expr.pla: 0233: AND #$0F - AND #$0F -; lisp/s-expr.pla: 0234: CLC - CLC -; lisp/s-expr.pla: 0235: ADC #10 - ADC #10 -; lisp/s-expr.pla: 0236: STA TMPH - STA TMPH -; lisp/s-expr.pla: 0237: -- LDA TMPL --- LDA TMPL -; lisp/s-expr.pla: 0238: LDY #$02 - LDY #$02 -; lisp/s-expr.pla: 0239: CMP (SRC),Y - CMP (SRC),Y -; lisp/s-expr.pla: 0240: BNE + ; NO MATCH, NEXT - BNE + ; NO MATCH, NEXT -; lisp/s-expr.pla: 0241: LDY TMPH - LDY TMPH -; lisp/s-expr.pla: 0242: - LDA (SRC),Y -- LDA (SRC),Y -; lisp/s-expr.pla: 0243: CMP (DST),Y - CMP (DST),Y -; lisp/s-expr.pla: 0244: BNE + ; NO MATCH, NEXT - BNE + ; NO MATCH, NEXT -; lisp/s-expr.pla: 0245: DEY - DEY -; lisp/s-expr.pla: 0246: CPY #10 - CPY #10 -; lisp/s-expr.pla: 0247: BNE - - BNE - -; lisp/s-expr.pla: 0248: MSYMRET LDA SRCL ; RETURN MATCH -MSYMRET LDA SRCL ; RETURN MATCH -; lisp/s-expr.pla: 0249: STA ESTKL,X - STA ESTKL,X -; lisp/s-expr.pla: 0250: LDA SRCH - LDA SRCH -; lisp/s-expr.pla: 0251: STA ESTKH,X - STA ESTKH,X -; lisp/s-expr.pla: 0252: RTS - RTS -; lisp/s-expr.pla: 0253: + LDY #$01 ; NEXT -+ LDY #$01 ; NEXT -; lisp/s-expr.pla: 0254: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0255: PHA - PHA -; lisp/s-expr.pla: 0256: DEY - DEY -; lisp/s-expr.pla: 0257: LDA (SRC),Y - LDA (SRC),Y -; lisp/s-expr.pla: 0258: STA SRCL - STA SRCL -; lisp/s-expr.pla: 0259: PLA - PLA -; lisp/s-expr.pla: 0260: STA SRCH - STA SRCH -; lisp/s-expr.pla: 0261: BNE -- - BNE -- -; lisp/s-expr.pla: 0262: BEQ MSYMRET - BEQ MSYMRET -; lisp/s-expr.pla: 0263: end -; lisp/s-expr.pla: 0264: -; lisp/s-expr.pla: 0265: def mark_elems#0 -_SUBSEG ; BYTECODE STARTS -_C000 ; mark_elems() -; lisp/s-expr.pla: 0266: mark_list(cons_list) -; lisp/s-expr.pla: 0267: mark_list(int_list) -; lisp/s-expr.pla: 0268: mark_list(float_list) -; lisp/s-expr.pla: 0269: mark_list(string_list) -; lisp/s-expr.pla: 0270: end - !BYTE $6A ; LAW _D071+0 -_F000 !WORD _D071+0 - !BYTE $54 ; CALL _A001 -_F001 !WORD _A001 - !BYTE $6A ; LAW _D073+0 -_F002 !WORD _D073+0 - !BYTE $54 ; CALL _A001 -_F003 !WORD _A001 - !BYTE $6A ; LAW _D075+0 -_F004 !WORD _D075+0 - !BYTE $54 ; CALL _A001 -_F005 !WORD _A001 - !BYTE $6A ; LAW _D077+0 -_F006 !WORD _D077+0 - !BYTE $54 ; CALL _A001 -_F007 !WORD _A001 - !BYTE $5C ; RET -; lisp/s-expr.pla: 0271: -; lisp/s-expr.pla: 0272: def sweep_expr(expr)#0 - ; expr -> [0] -_C001 ; sweep_expr() -; lisp/s-expr.pla: 0273: while expr - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; lisp/s-expr.pla: 0274: if not expr->type & MARK_BIT; return; fin // Stop if MARK_BIT clear - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $80 ; NOT - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $5A,$02 ; LEAVE 2 -_B004 -_B005 -; lisp/s-expr.pla: 0275: expr->type = expr->type & MARK_MASK -; lisp/s-expr.pla: 0276: if expr->type == CONS_TYPE -; lisp/s-expr.pla: 0277: sweep_expr(expr=>car) -; lisp/s-expr.pla: 0278: expr = expr=>cdr -; lisp/s-expr.pla: 0279: else - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B006 - !WORD _B006-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F008 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 -; lisp/s-expr.pla: 0280: expr = NULL -; lisp/s-expr.pla: 0281: fin - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B007 -; lisp/s-expr.pla: 0282: loop -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; lisp/s-expr.pla: 0283: end - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0284: -; lisp/s-expr.pla: 0285: def sweep_used#0 -_C002 ; sweep_used() -; lisp/s-expr.pla: 0286: var symptr, h, i, memptr, size - ; symptr -> [0] - ; h -> [2] - ; i -> [4] - ; memptr -> [6] - ; size -> [8] -; lisp/s-expr.pla: 0287: -; lisp/s-expr.pla: 0288: sweep_expr(assoc_list) - !BYTE $58,$0A,$00 ; ENTER 10,0 -; lisp/s-expr.pla: 0289: for h = 0 to HASH_SIZE-1 - !BYTE $6A ; LAW _D070+0 -_F009 !WORD _D070+0 - !BYTE $54 ; CALL _C001 -_F010 !WORD _C001 - !BYTE $2A,$3F ; CB 63 - !BYTE $00 ; CN 0 -_B009 - !BYTE $6E,$02 ; DLW [2] -; lisp/s-expr.pla: 0290: symptr = hashtbl[h] -; lisp/s-expr.pla: 0291: while symptr - !BYTE $26 ; LA _D079+0 -_F011 !WORD _D079+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -_B011 -; lisp/s-expr.pla: 0292: // -; lisp/s-expr.pla: 0293: // Sweep symbol properties -; lisp/s-expr.pla: 0294: // -; lisp/s-expr.pla: 0295: if symptr=>apval -; lisp/s-expr.pla: 0296: sweep_expr(symptr=>apval ^ NULL_HACK) -; lisp/s-expr.pla: 0297: elsif symptr=>lambda - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$09 ; ADDI 9 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$09 ; ADDI 9 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $54 ; CALL _C001 -_F012 !WORD _C001 - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -_B014 -; lisp/s-expr.pla: 0298: sweep_expr(symptr=>lambda) -; lisp/s-expr.pla: 0299: elsif symptr=>array - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F013 !WORD _C001 - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -_B016 -; lisp/s-expr.pla: 0300: memptr = symptr=>array=>arraymem -; lisp/s-expr.pla: 0301: size = symptr=>array=>arraysize - 1 -; lisp/s-expr.pla: 0302: for i = 0 to size - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $38,$15 ; ADDI 21 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $38,$13 ; ADDI 19 - !BYTE $62 ; LW - !BYTE $8E ; DECR - !BYTE $6E,$08 ; DLW [8] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B018 - !WORD _B018-* -_B019 - !BYTE $6E,$04 ; DLW [4] -; lisp/s-expr.pla: 0303: sweep_expr(memptr=>[i]) -; lisp/s-expr.pla: 0304: next - !BYTE $66,$06 ; LLW [6] - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F014 !WORD _C001 -_B020 - !BYTE $A4 ; INCBRLE _B019 - !WORD _B019-* -_B018 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0305: fin -_B017 -_B015 -; lisp/s-expr.pla: 0306: symptr = symptr=>link -; lisp/s-expr.pla: 0307: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B013 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B011 - !WORD _B011-* -_B012 -; lisp/s-expr.pla: 0308: next -_B010 - !BYTE $A4 ; INCBRLE _B009 - !WORD _B009-* -_B008 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0309: if sweep_stack_top -; lisp/s-expr.pla: 0310: // -; lisp/s-expr.pla: 0311: // Sweep in-flight parameters -; lisp/s-expr.pla: 0312: // -; lisp/s-expr.pla: 0313: for i = 0 to sweep_stack_top - 1 - !BYTE $68 ; LAB _D096+0 -_F015 !WORD _D096+0 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $68 ; LAB _D096+0 -_F016 !WORD _D096+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B023 - !WORD _B023-* -_B024 - !BYTE $6E,$04 ; DLW [4] -; lisp/s-expr.pla: 0314: sweep_expr(sweep_stack[i]) -; lisp/s-expr.pla: 0315: next - !BYTE $26 ; LA _D097+0 -_F017 !WORD _D097+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F018 !WORD _C001 -_B025 - !BYTE $A4 ; INCBRLE _B024 - !WORD _B024-* -_B023 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0316: fin -_B021 -_B022 -; lisp/s-expr.pla: 0317: end - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-expr.pla: 0318: -; lisp/s-expr.pla: 0319: def push_sweep_stack(expr)#1 - ; expr -> [0] -_C003 ; push_sweep_stack() -; lisp/s-expr.pla: 0320: if sweep_stack_top == SWEEPSTACK_MAX - 1 - !BYTE $58,$02,$01 ; ENTER 2,1 -; lisp/s-expr.pla: 0321: throw(exception, ERR_SWEEP_OVRFLW) -; lisp/s-expr.pla: 0322: fin - !BYTE $68 ; LAB _D096+0 -_F019 !WORD _D096+0 - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $6A ; LAW _D067+0 -_F020 !WORD _D067+0 - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X062 -_F021 !WORD 0 - !BYTE $30 ; DROP -_B026 -_B027 -; lisp/s-expr.pla: 0323: sweep_stack[sweep_stack_top] = expr -; lisp/s-expr.pla: 0324: sweep_stack_top++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D097+0 -_F022 !WORD _D097+0 - !BYTE $BC ; IDXAB _D096+0 -_F023 !WORD _D096+0 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D096+0 -_F024 !WORD _D096+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0325: return expr - !BYTE $78 ; SAB _D096+0 -_F025 !WORD _D096+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0326: end -; lisp/s-expr.pla: 0327: -; lisp/s-expr.pla: 0328: def pop_sweep_stack#1 -_C004 ; pop_sweep_stack() -; lisp/s-expr.pla: 0329: if sweep_stack_top == 0 -; lisp/s-expr.pla: 0330: throw(exception, ERR_SWEEP_UNDFLW) -; lisp/s-expr.pla: 0331: fin - !BYTE $68 ; LAB _D096+0 -_F026 !WORD _D096+0 - !BYTE $4E ; BRTRU _B028 - !WORD _B028-* - !BYTE $6A ; LAW _D067+0 -_F027 !WORD _D067+0 - !BYTE $5E,$FC ; CFFB -4 - !BYTE $54 ; CALL _X062 -_F028 !WORD 0 - !BYTE $30 ; DROP -_B028 -_B029 -; lisp/s-expr.pla: 0332: sweep_stack_top-- - !BYTE $68 ; LAB _D096+0 -_F029 !WORD _D096+0 - !BYTE $8E ; DECR -; lisp/s-expr.pla: 0333: return sweep_stack[sweep_stack_top] - !BYTE $78 ; SAB _D096+0 -_F030 !WORD _D096+0 - !BYTE $26 ; LA _D097+0 -_F031 !WORD _D097+0 - !BYTE $BC ; IDXAB _D096+0 -_F032 !WORD _D096+0 - !BYTE $62 ; LW - !BYTE $5C ; RET -; lisp/s-expr.pla: 0334: end -; lisp/s-expr.pla: 0335: -; lisp/s-expr.pla: 0336: def collect_list(listhead, freehead)#2 - ; listhead -> [0] - ; freehead -> [2] -_C005 ; collect_list() -; lisp/s-expr.pla: 0337: var elemptr, prevptr - ; elemptr -> [4] - ; prevptr -> [6] -; lisp/s-expr.pla: 0338: -; lisp/s-expr.pla: 0339: prevptr = NULL - !BYTE $58,$08,$02 ; ENTER 8,2 -; lisp/s-expr.pla: 0340: elemptr = listhead -; lisp/s-expr.pla: 0341: while elemptr - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B030 -; lisp/s-expr.pla: 0342: if elemptr->type & MARK_BIT -; lisp/s-expr.pla: 0343: elemptr->type = elemptr->type & MARK_MASK -; lisp/s-expr.pla: 0344: if prevptr -; lisp/s-expr.pla: 0345: prevptr=>link = elemptr=>link -; lisp/s-expr.pla: 0346: elemptr=>link = freehead -; lisp/s-expr.pla: 0347: freehead = elemptr -; lisp/s-expr.pla: 0348: elemptr = prevptr=>link -; lisp/s-expr.pla: 0349: else - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B036 - !WORD _B036-* -_B035 -; lisp/s-expr.pla: 0350: listhead = elemptr=>link -; lisp/s-expr.pla: 0351: elemptr=>link = freehead -; lisp/s-expr.pla: 0352: freehead = elemptr -; lisp/s-expr.pla: 0353: elemptr = listhead -; lisp/s-expr.pla: 0354: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] -_B036 -; lisp/s-expr.pla: 0355: else - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B033 -; lisp/s-expr.pla: 0356: prevptr = elemptr -; lisp/s-expr.pla: 0357: elemptr = elemptr=>link -; lisp/s-expr.pla: 0358: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B034 -; lisp/s-expr.pla: 0359: loop -_B032 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* -_B031 -; lisp/s-expr.pla: 0360: return listhead, freehead - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-expr.pla: 0361: end -; lisp/s-expr.pla: 0362: -; lisp/s-expr.pla: 0363: def collect_unused#0 -_C006 ; collect_unused() -; lisp/s-expr.pla: 0364: cons_list, cons_free = collect_list(cons_list, cons_free) -; lisp/s-expr.pla: 0365: int_list, int_free = collect_list(int_list, int_free) -; lisp/s-expr.pla: 0366: float_list, float_free = collect_list(float_list, float_free) -; lisp/s-expr.pla: 0367: string_list, string_free = collect_list(string_list, string_free) -; lisp/s-expr.pla: 0368: end - !BYTE $6A ; LAW _D071+0 -_F033 !WORD _D071+0 - !BYTE $6A ; LAW _D072+0 -_F034 !WORD _D072+0 - !BYTE $54 ; CALL _C005 -_F035 !WORD _C005 - !BYTE $7A ; SAW _D072+0 -_F036 !WORD _D072+0 - !BYTE $7A ; SAW _D071+0 -_F037 !WORD _D071+0 - !BYTE $6A ; LAW _D073+0 -_F038 !WORD _D073+0 - !BYTE $6A ; LAW _D074+0 -_F039 !WORD _D074+0 - !BYTE $54 ; CALL _C005 -_F040 !WORD _C005 - !BYTE $7A ; SAW _D074+0 -_F041 !WORD _D074+0 - !BYTE $7A ; SAW _D073+0 -_F042 !WORD _D073+0 - !BYTE $6A ; LAW _D075+0 -_F043 !WORD _D075+0 - !BYTE $6A ; LAW _D076+0 -_F044 !WORD _D076+0 - !BYTE $54 ; CALL _C005 -_F045 !WORD _C005 - !BYTE $7A ; SAW _D076+0 -_F046 !WORD _D076+0 - !BYTE $7A ; SAW _D075+0 -_F047 !WORD _D075+0 - !BYTE $6A ; LAW _D077+0 -_F048 !WORD _D077+0 - !BYTE $6A ; LAW _D078+0 -_F049 !WORD _D078+0 - !BYTE $54 ; CALL _C005 -_F050 !WORD _C005 - !BYTE $7A ; SAW _D078+0 -_F051 !WORD _D078+0 - !BYTE $7A ; SAW _D077+0 -_F052 !WORD _D077+0 - !BYTE $5C ; RET -; lisp/s-expr.pla: 0369: -; lisp/s-expr.pla: 0370: export def gc#0 -_C007 ; gc() -; lisp/s-expr.pla: 0371: mark_elems -; lisp/s-expr.pla: 0372: sweep_used -; lisp/s-expr.pla: 0373: collect_unused -; lisp/s-expr.pla: 0374: gc_pull = 0 -; lisp/s-expr.pla: 0375: gc_trigger = (heapavail >> GC_SHIFT_AVAIL) + 1 -; lisp/s-expr.pla: 0376: end - !BYTE $54 ; CALL _C000 -_F053 !WORD _C000 - !BYTE $54 ; CALL _C002 -_F054 !WORD _C002 - !BYTE $54 ; CALL _C006 -_F055 !WORD _C006 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D099+0 -_F056 !WORD _D099+0 - !BYTE $54 ; CALL _X016 -_F057 !WORD 0 - !BYTE $0C ; CN 6 - !BYTE $9C ; SHR - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D098+0 -_F058 !WORD _D098+0 - !BYTE $5C ; RET -; lisp/s-expr.pla: 0377: -; lisp/s-expr.pla: 0378: // -; lisp/s-expr.pla: 0379: // Build ATOMS -; lisp/s-expr.pla: 0380: // -; lisp/s-expr.pla: 0381: -; lisp/s-expr.pla: 0382: def new(size) - ; size -> [0] -_C008 ; new() -; lisp/s-expr.pla: 0383: var memptr - ; memptr -> [2] -; lisp/s-expr.pla: 0384: -; lisp/s-expr.pla: 0385: gc_pull++ - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $6A ; LAW _D099+0 -_F059 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0386: memptr = heapalloc(size) -; lisp/s-expr.pla: 0387: if !memptr -; lisp/s-expr.pla: 0388: throw(exception, ERR_OUT_OF_MEM) -; lisp/s-expr.pla: 0389: fin - !BYTE $7A ; SAW _D099+0 -_F060 !WORD _D099+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X014 -_F061 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B037 - !WORD _B037-* - !BYTE $6A ; LAW _D067+0 -_F062 !WORD _D067+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $54 ; CALL _X062 -_F063 !WORD 0 - !BYTE $30 ; DROP -_B037 -_B038 -; lisp/s-expr.pla: 0390: return memptr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0391: end -; lisp/s-expr.pla: 0392: -; lisp/s-expr.pla: 0393: export def new_cons#1 -_C009 ; new_cons() -; lisp/s-expr.pla: 0394: var consptr - ; consptr -> [0] -; lisp/s-expr.pla: 0395: -; lisp/s-expr.pla: 0396: gc_pull++ - !BYTE $58,$02,$00 ; ENTER 2,0 - !BYTE $6A ; LAW _D099+0 -_F064 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0397: if cons_free -; lisp/s-expr.pla: 0398: consptr = cons_free -; lisp/s-expr.pla: 0399: cons_free = cons_free=>link -; lisp/s-expr.pla: 0400: else - !BYTE $7A ; SAW _D099+0 -_F065 !WORD _D099+0 - !BYTE $6A ; LAW _D072+0 -_F066 !WORD _D072+0 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $6A ; LAW _D072+0 -_F067 !WORD _D072+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D072+0 -_F068 !WORD _D072+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D072+0 -_F069 !WORD _D072+0 - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B039 -; lisp/s-expr.pla: 0401: consptr = new(t_cons) -; lisp/s-expr.pla: 0402: fin - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _C008 -_F070 !WORD _C008 - !BYTE $76,$00 ; SLW [0] -_B040 -; lisp/s-expr.pla: 0403: consptr=>link = cons_list -; lisp/s-expr.pla: 0404: cons_list = consptr -; lisp/s-expr.pla: 0405: consptr->type = CONS_TYPE -; lisp/s-expr.pla: 0406: consptr=>car = NULL -; lisp/s-expr.pla: 0407: consptr=>cdr = NULL -; lisp/s-expr.pla: 0408: return consptr - !BYTE $6A ; LAW _D071+0 -_F071 !WORD _D071+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D071+0 -_F072 !WORD _D071+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0409: end -; lisp/s-expr.pla: 0410: -; lisp/s-expr.pla: 0411: export def new_int(intlo, inthi)#1 - ; intlo -> [0] - ; inthi -> [2] -_C010 ; new_int() -; lisp/s-expr.pla: 0412: var intptr - ; intptr -> [4] -; lisp/s-expr.pla: 0413: -; lisp/s-expr.pla: 0414: gc_pull++ - !BYTE $58,$06,$02 ; ENTER 6,2 - !BYTE $6A ; LAW _D099+0 -_F073 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0415: if int_free -; lisp/s-expr.pla: 0416: intptr = int_free -; lisp/s-expr.pla: 0417: int_free = int_free=>link -; lisp/s-expr.pla: 0418: else - !BYTE $7A ; SAW _D099+0 -_F074 !WORD _D099+0 - !BYTE $6A ; LAW _D074+0 -_F075 !WORD _D074+0 - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $6A ; LAW _D074+0 -_F076 !WORD _D074+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D074+0 -_F077 !WORD _D074+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D074+0 -_F078 !WORD _D074+0 - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -_B041 -; lisp/s-expr.pla: 0419: intptr = new(t_numint) -; lisp/s-expr.pla: 0420: fin - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _C008 -_F079 !WORD _C008 - !BYTE $76,$04 ; SLW [4] -_B042 -; lisp/s-expr.pla: 0421: intptr=>link = int_list -; lisp/s-expr.pla: 0422: int_list = intptr -; lisp/s-expr.pla: 0423: intptr->type = NUM_INT -; lisp/s-expr.pla: 0424: intptr=>intval[0] = intlo -; lisp/s-expr.pla: 0425: intptr=>intval[1] = inthi -; lisp/s-expr.pla: 0426: return intptr - !BYTE $6A ; LAW _D073+0 -_F080 !WORD _D073+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D073+0 -_F081 !WORD _D073+0 - !BYTE $2A,$31 ; CB 49 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 0427: end -; lisp/s-expr.pla: 0428: -; lisp/s-expr.pla: 0429: export def new_float(extptr)#1 - ; extptr -> [0] -_C011 ; new_float() -; lisp/s-expr.pla: 0430: var floatptr - ; floatptr -> [2] -; lisp/s-expr.pla: 0431: -; lisp/s-expr.pla: 0432: gc_pull++ - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $6A ; LAW _D099+0 -_F082 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0433: if float_free -; lisp/s-expr.pla: 0434: floatptr = float_free -; lisp/s-expr.pla: 0435: float_free = float_free=>link -; lisp/s-expr.pla: 0436: else - !BYTE $7A ; SAW _D099+0 -_F083 !WORD _D099+0 - !BYTE $6A ; LAW _D076+0 -_F084 !WORD _D076+0 - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $6A ; LAW _D076+0 -_F085 !WORD _D076+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D076+0 -_F086 !WORD _D076+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D076+0 -_F087 !WORD _D076+0 - !BYTE $50 ; BRNCH _B044 - !WORD _B044-* -_B043 -; lisp/s-expr.pla: 0437: floatptr = new(t_numfloat) -; lisp/s-expr.pla: 0438: fin - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _C008 -_F088 !WORD _C008 - !BYTE $76,$02 ; SLW [2] -_B044 -; lisp/s-expr.pla: 0439: floatptr=>link = float_list -; lisp/s-expr.pla: 0440: float_list = floatptr -; lisp/s-expr.pla: 0441: floatptr->type = NUM_FLOAT -; lisp/s-expr.pla: 0442: memcpy(floatptr + floatval, extptr, 10) -; lisp/s-expr.pla: 0443: return floatptr - !BYTE $6A ; LAW _D075+0 -_F089 !WORD _D075+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D075+0 -_F090 !WORD _D075+0 - !BYTE $2A,$32 ; CB 50 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F091 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0444: end -; lisp/s-expr.pla: 0445: -; lisp/s-expr.pla: 0446: def new_array(dim0, dim1, dim2, dim3) - ; dim0 -> [0] - ; dim1 -> [2] - ; dim2 -> [4] - ; dim3 -> [6] -_C012 ; new_array() -; lisp/s-expr.pla: 0447: var ofst0, ofst1, ofst2, ofst3 - ; ofst0 -> [8] - ; ofst1 -> [10] - ; ofst2 -> [12] - ; ofst3 -> [14] -; lisp/s-expr.pla: 0448: var size, aptr, memptr - ; size -> [16] - ; aptr -> [18] - ; memptr -> [20] -; lisp/s-expr.pla: 0449: -; lisp/s-expr.pla: 0450: gc_pull++ - !BYTE $58,$16,$04 ; ENTER 22,4 - !BYTE $6A ; LAW _D099+0 -_F092 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0451: if dim3 -; lisp/s-expr.pla: 0452: ofst3 = 2 -; lisp/s-expr.pla: 0453: ofst2 = dim3 * 2 -; lisp/s-expr.pla: 0454: ofst1 = ofst2 * dim2 -; lisp/s-expr.pla: 0455: ofst0 = ofst1 * dim1 -; lisp/s-expr.pla: 0456: elsif dim2 - !BYTE $7A ; SAW _D099+0 -_F093 !WORD _D099+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $04 ; CN 2 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $6E,$0C ; DLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $86 ; MUL - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B045 -; lisp/s-expr.pla: 0457: ofst2 = 2 -; lisp/s-expr.pla: 0458: ofst1 = dim2 * 2 -; lisp/s-expr.pla: 0459: ofst0 = ofst1 * dim1 -; lisp/s-expr.pla: 0460: elsif dim1 - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B047 -; lisp/s-expr.pla: 0461: ofst1 = 2 -; lisp/s-expr.pla: 0462: ofst0 = dim1 * 2 -; lisp/s-expr.pla: 0463: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $04 ; CN 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B048 -; lisp/s-expr.pla: 0464: ofst0 = 2 -; lisp/s-expr.pla: 0465: fin - !BYTE $04 ; CN 2 - !BYTE $76,$08 ; SLW [8] -_B046 -; lisp/s-expr.pla: 0466: size = dim0 * ofst0 -; lisp/s-expr.pla: 0467: memptr = new(size) -; lisp/s-expr.pla: 0468: memset(memptr, NULL, size) -; lisp/s-expr.pla: 0469: aptr = new(t_array) -; lisp/s-expr.pla: 0470: aptr=>link = NULL -; lisp/s-expr.pla: 0471: aptr->type = ARRAY_TYPE -; lisp/s-expr.pla: 0472: aptr=>dimension[0] = dim0 -; lisp/s-expr.pla: 0473: aptr=>dimension[1] = dim1 -; lisp/s-expr.pla: 0474: aptr=>dimension[2] = dim2 -; lisp/s-expr.pla: 0475: aptr=>dimension[3] = dim3 -; lisp/s-expr.pla: 0476: aptr=>offset[0] = ofst0 -; lisp/s-expr.pla: 0477: aptr=>offset[1] = ofst1 -; lisp/s-expr.pla: 0478: aptr=>offset[2] = ofst2 -; lisp/s-expr.pla: 0479: aptr=>offset[3] = ofst3 -; lisp/s-expr.pla: 0480: aptr=>arraysize = size/2 -; lisp/s-expr.pla: 0481: aptr=>arraymem = memptr -; lisp/s-expr.pla: 0482: return aptr - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $86 ; MUL - !BYTE $6E,$10 ; DLW [16] - !BYTE $54 ; CALL _C008 -_F094 !WORD _C008 - !BYTE $6E,$14 ; DLW [20] - !BYTE $00 ; CN 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _X017 -_F095 !WORD 0 - !BYTE $2A,$17 ; CB 23 - !BYTE $54 ; CALL _C008 -_F096 !WORD _C008 - !BYTE $76,$12 ; SLW [18] - !BYTE $00 ; CN 0 - !BYTE $66,$12 ; LLW [18] - !BYTE $72 ; SW - !BYTE $2A,$40 ; CB 64 - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$03 ; ADDI 3 - !BYTE $04 ; CN 2 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$03 ; ADDI 3 - !BYTE $06 ; CN 3 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$0B ; ADDI 11 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$0B ; ADDI 11 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$0B ; ADDI 11 - !BYTE $04 ; CN 2 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$0B ; ADDI 11 - !BYTE $06 ; CN 3 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$10 ; LLW [16] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$13 ; ADDI 19 - !BYTE $72 ; SW - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$12 ; LLW [18] - !BYTE $38,$15 ; ADDI 21 - !BYTE $72 ; SW - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$16 ; LEAVE 22 -; lisp/s-expr.pla: 0483: end -; lisp/s-expr.pla: 0484: -; lisp/s-expr.pla: 0485: def match_string(strptr) - ; strptr -> [0] -_C013 ; match_string() -; lisp/s-expr.pla: 0486: var stringptr - ; stringptr -> [2] -; lisp/s-expr.pla: 0487: byte len, i - ; len -> [4] - ; i -> [5] -; lisp/s-expr.pla: 0488: -; lisp/s-expr.pla: 0489: len = ^strptr - !BYTE $58,$06,$01 ; ENTER 6,1 -; lisp/s-expr.pla: 0490: stringptr = string_list -; lisp/s-expr.pla: 0491: while stringptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D077+0 -_F097 !WORD _D077+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B051 - !WORD _B051-* -_B049 -; lisp/s-expr.pla: 0492: if stringptr->stringstr== len -; lisp/s-expr.pla: 0493: for i = len downto 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $64,$04 ; LLB [4] - !BYTE $24 ; BRNE _B052 - !WORD _B052-* - !BYTE $02 ; CN 1 - !BYTE $64,$04 ; LLB [4] - !BYTE $A2 ; BRLT _B054 - !WORD _B054-* -_B055 - !BYTE $6C,$05 ; DLB [5] -; lisp/s-expr.pla: 0494: if stringptr->stringstr[i] <> ^(strptr + i) -; lisp/s-expr.pla: 0495: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B057 - !WORD _B057-* - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -; lisp/s-expr.pla: 0496: fin -_B057 -_B058 -; lisp/s-expr.pla: 0497: next -_B056 - !BYTE $A8 ; DECBRGE _B055 - !WORD _B055-* -_B054 - !BYTE $74,$05 ; SLB [5] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0498: if i == 0 -; lisp/s-expr.pla: 0499: return stringptr - !BYTE $64,$05 ; LLB [5] - !BYTE $4E ; BRTRU _B059 - !WORD _B059-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 0500: fin -_B059 -_B060 -; lisp/s-expr.pla: 0501: fin -_B052 -_B053 -; lisp/s-expr.pla: 0502: stringptr = stringptr=>link -; lisp/s-expr.pla: 0503: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B051 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B049 - !WORD _B049-* -_B050 -; lisp/s-expr.pla: 0504: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 0505: end -; lisp/s-expr.pla: 0506: -; lisp/s-expr.pla: 0507: export def new_string(strptr)#1 - ; strptr -> [0] -_C014 ; new_string() -; lisp/s-expr.pla: 0508: var stringptr, alloclen, prevptr - ; stringptr -> [2] - ; alloclen -> [4] - ; prevptr -> [6] -; lisp/s-expr.pla: 0509: -; lisp/s-expr.pla: 0510: stringptr = match_string(strptr) - !BYTE $58,$08,$01 ; ENTER 8,1 -; lisp/s-expr.pla: 0511: if stringptr; return stringptr; fin // Return matching string - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F098 !WORD _C013 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B061 - !WORD _B061-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$08 ; LEAVE 8 -_B061 -_B062 -; lisp/s-expr.pla: 0512: alloclen = ^strptr | 15 // Round up size to 15 chars in length -; lisp/s-expr.pla: 0513: gc_pull++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3E,$0F ; ORI 15 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D099+0 -_F099 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0514: if string_free -; lisp/s-expr.pla: 0515: prevptr = NULL -; lisp/s-expr.pla: 0516: stringptr = string_free -; lisp/s-expr.pla: 0517: while stringptr and (stringptr->stringstr | 15) <> alloclen - !BYTE $7A ; SAW _D099+0 -_F100 !WORD _D099+0 - !BYTE $6A ; LAW _D078+0 -_F101 !WORD _D078+0 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D078+0 -_F102 !WORD _D078+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B065 -; lisp/s-expr.pla: 0518: prevptr = stringptr -; lisp/s-expr.pla: 0519: stringptr = stringptr=>link -; lisp/s-expr.pla: 0520: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B067 - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B068 - !WORD _B068-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $3E,$0F ; ORI 15 - !BYTE $66,$04 ; LLW [4] - !BYTE $42 ; ISNE -_B068 - !BYTE $4E ; BRTRU _B065 - !WORD _B065-* -_B066 -; lisp/s-expr.pla: 0521: if stringptr -; lisp/s-expr.pla: 0522: if prevptr -; lisp/s-expr.pla: 0523: prevptr=>link = stringptr=>link -; lisp/s-expr.pla: 0524: else - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B071 -; lisp/s-expr.pla: 0525: string_free = stringptr=>link -; lisp/s-expr.pla: 0526: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $7A ; SAW _D078+0 -_F103 !WORD _D078+0 -_B072 -; lisp/s-expr.pla: 0527: fin -_B069 -_B070 -; lisp/s-expr.pla: 0528: fin -_B063 -_B064 -; lisp/s-expr.pla: 0529: if !stringptr // Nothing free -; lisp/s-expr.pla: 0530: gc_pull++ - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B073 - !WORD _B073-* - !BYTE $6A ; LAW _D099+0 -_F104 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0531: stringptr = new(t_string + alloclen) -; lisp/s-expr.pla: 0532: fin - !BYTE $7A ; SAW _D099+0 -_F105 !WORD _D099+0 - !BYTE $08 ; CN 4 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $54 ; CALL _C008 -_F106 !WORD _C008 - !BYTE $76,$02 ; SLW [2] -_B073 -_B074 -; lisp/s-expr.pla: 0533: stringptr=>link = string_list -; lisp/s-expr.pla: 0534: string_list = stringptr -; lisp/s-expr.pla: 0535: stringptr->type = STRING_TYPE -; lisp/s-expr.pla: 0536: memcpy(stringptr + stringstr, strptr, ^strptr + 1) -; lisp/s-expr.pla: 0537: return stringptr - !BYTE $6A ; LAW _D077+0 -_F107 !WORD _D077+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D077+0 -_F108 !WORD _D077+0 - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F109 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-expr.pla: 0538: end -; lisp/s-expr.pla: 0539: -; lisp/s-expr.pla: 0540: export def new_sym(symstr)#1 - ; symstr -> [0] -_C015 ; new_sym() -; lisp/s-expr.pla: 0541: var symptr, index - ; symptr -> [2] - ; index -> [4] -; lisp/s-expr.pla: 0542: -; lisp/s-expr.pla: 0543: index = hashstr(symstr) // (^symstr ^ ^(symstr + 1 + ^symstr/2) << 2) & HASH_MASK - !BYTE $58,$06,$01 ; ENTER 6,1 -; lisp/s-expr.pla: 0544: symptr = match_sym(symstr, hashtbl[index]) -; lisp/s-expr.pla: 0545: if symptr; return symptr; fin // Return already existing symbol - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A000 -_F110 !WORD _A000 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D079+0 -_F111 !WORD _D079+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _A002 -_F112 !WORD _A002 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -_B075 -_B076 -; lisp/s-expr.pla: 0546: gc_pull++ - !BYTE $6A ; LAW _D099+0 -_F113 !WORD _D099+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0547: symptr = new(t_sym + ^symstr) -; lisp/s-expr.pla: 0548: symptr=>link = hashtbl[index] -; lisp/s-expr.pla: 0549: hashtbl[index] = symptr -; lisp/s-expr.pla: 0550: symptr->type = ^symstr | SYM_TYPE -; lisp/s-expr.pla: 0551: symptr=>natv = NULL -; lisp/s-expr.pla: 0552: symptr=>lambda = NULL -; lisp/s-expr.pla: 0553: symptr=>array = NULL -; lisp/s-expr.pla: 0554: symptr=>apval = NULL -; lisp/s-expr.pla: 0555: memcpy(symptr + name, symstr + 1, ^symstr) -; lisp/s-expr.pla: 0556: return symptr - !BYTE $7A ; SAW _D099+0 -_F114 !WORD _D099+0 - !BYTE $16 ; CN 11 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C008 -_F115 !WORD _C008 - !BYTE $76,$02 ; SLW [2] - !BYTE $26 ; LA _D079+0 -_F116 !WORD _D079+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D079+0 -_F117 !WORD _D079+0 - !BYTE $BA,$04 ; IDXLW [4] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3E,$20 ; ORI 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F118 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 0557: end -; lisp/s-expr.pla: 0558: -; lisp/s-expr.pla: 0559: // -; lisp/s-expr.pla: 0560: // Print textual representation of S-expression -; lisp/s-expr.pla: 0561: // -; lisp/s-expr.pla: 0562: -; lisp/s-expr.pla: 0563: def print_atom(atom)#0 - ; atom -> [0] -_C016 ; print_atom() -; lisp/s-expr.pla: 0564: char prstr[32] - ; prstr -> [2] -; lisp/s-expr.pla: 0565: var elemptr, i, j, k, l - ; elemptr -> [34] - ; i -> [36] - ; j -> [38] - ; k -> [40] - ; l -> [42] -; lisp/s-expr.pla: 0566: -; lisp/s-expr.pla: 0567: if not atom - !BYTE $58,$2C,$01 ; ENTER 44,1 -; lisp/s-expr.pla: 0568: puts("NIL") - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B077 - !WORD _B077-* - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4E,$49,$4C - !BYTE $54 ; CALL _X004 -_F119 !WORD 0 -; lisp/s-expr.pla: 0569: else - !BYTE $50 ; BRNCH _B078 - !WORD _B078-* -_B077 -; lisp/s-expr.pla: 0570: when atom->type & TYPE_MASK - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $52 ; SEL - !WORD _B080-* -; lisp/s-expr.pla: 0571: is NUM_TYPE -_B081 -; lisp/s-expr.pla: 0572: when atom->type - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B083-* -; lisp/s-expr.pla: 0573: is NUM_INT -_B084 -; lisp/s-expr.pla: 0574: if prhex -; lisp/s-expr.pla: 0575: putc('$') -; lisp/s-expr.pla: 0576: puth(atom=>intval[1]); puth(atom=>intval[0]) -; lisp/s-expr.pla: 0577: else - !BYTE $68 ; LAB _D063+0 -_F120 !WORD _D063+0 - !BYTE $4C ; BRFLS _B085 - !WORD _B085-* - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F121 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F122 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F123 !WORD 0 - !BYTE $50 ; BRNCH _B086 - !WORD _B086-* -_B085 -; lisp/s-expr.pla: 0578: if atom=>intval[1] >= 0; putc(' '); fin // Add space for pos - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F124 !WORD 0 -_B087 -_B088 -; lisp/s-expr.pla: 0579: puti32(atom + intval) -; lisp/s-expr.pla: 0580: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X056 -_F125 !WORD 0 -_B086 -; lisp/s-expr.pla: 0581: break - !BYTE $50 ; BRNCH _B082 - !WORD _B082-* -; lisp/s-expr.pla: 0582: is NUM_FLOAT -_B089 -; lisp/s-expr.pla: 0583: puts(ext2str(atom + floatval, @prstr, fmt_fpint, fmt_fpfrac, fmt_fp)) -; lisp/s-expr.pla: 0584: break - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _D064+0 -_F126 !WORD _D064+0 - !BYTE $6A ; LAW _D065+0 -_F127 !WORD _D065+0 - !BYTE $16 ; CN 11 - !BYTE $54 ; CALL _X059 -_F128 !WORD 0 - !BYTE $54 ; CALL _X004 -_F129 !WORD 0 - !BYTE $50 ; BRNCH _B082 - !WORD _B082-* -; lisp/s-expr.pla: 0585: wend - !BYTE $50 ; BRNCH _B082 - !WORD _B082-* -_B083 - !BYTE $02 ; CASEBLOCK - !WORD $0031 - !WORD _B084-* - !WORD $0032 - !WORD _B089-* -_B082 -; lisp/s-expr.pla: 0586: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; lisp/s-expr.pla: 0587: is SYM_TYPE -_B090 -; lisp/s-expr.pla: 0588: prstr = atom->type & SYM_LEN -; lisp/s-expr.pla: 0589: memcpy(@prstr + 1, atom + name, prstr) -; lisp/s-expr.pla: 0590: puts(@prstr) -; lisp/s-expr.pla: 0591: break; - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $74,$02 ; SLB [2] - !BYTE $28,$03 ; LLA [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0B ; ADDI 11 - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X018 -_F130 !WORD 0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X004 -_F131 !WORD 0 - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; lisp/s-expr.pla: 0592: is ARRAY_TYPE -_B091 -; lisp/s-expr.pla: 0593: elemptr = atom=>arraymem -; lisp/s-expr.pla: 0594: puts("[ ") - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$15 ; ADDI 21 - !BYTE $62 ; LW - !BYTE $76,$22 ; SLW [34] - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5B,$20 - !BYTE $54 ; CALL _X004 -_F132 !WORD 0 -; lisp/s-expr.pla: 0595: for i = 1 to atom=>dimension[0] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B092 - !WORD _B092-* -_B093 - !BYTE $6E,$24 ; DLW [36] -; lisp/s-expr.pla: 0596: if atom=>dimension[1] -; lisp/s-expr.pla: 0597: puts("\n[ ") - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B095 - !WORD _B095-* - !BYTE $2E ; CS - !BYTE $03 - !BYTE $0D,$5B,$20 - !BYTE $54 ; CALL _X004 -_F133 !WORD 0 -; lisp/s-expr.pla: 0598: for j = 1 to atom=>dimension[1] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B097 - !WORD _B097-* -_B098 - !BYTE $6E,$26 ; DLW [38] -; lisp/s-expr.pla: 0599: if atom=>dimension[2] -; lisp/s-expr.pla: 0600: puts("\n[ ") - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $04 ; CN 2 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B100 - !WORD _B100-* - !BYTE $2E ; CS - !BYTE $03 - !BYTE $0D,$5B,$20 - !BYTE $54 ; CALL _X004 -_F134 !WORD 0 -; lisp/s-expr.pla: 0601: for k = 1 to atom=>dimension[2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $04 ; CN 2 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B102 - !WORD _B102-* -_B103 - !BYTE $6E,$28 ; DLW [40] -; lisp/s-expr.pla: 0602: if atom=>dimension[3] -; lisp/s-expr.pla: 0603: puts("\n[ ") - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $06 ; CN 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $2E ; CS - !BYTE $03 - !BYTE $0D,$5B,$20 - !BYTE $54 ; CALL _X004 -_F135 !WORD 0 -; lisp/s-expr.pla: 0604: for l = 1 to atom=>dimension[3] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $06 ; CN 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B107 - !WORD _B107-* -_B108 - !BYTE $6E,$2A ; DLW [42] -; lisp/s-expr.pla: 0605: print_atom(*elemptr); putc(' ') -; lisp/s-expr.pla: 0606: elemptr = elemptr + 2 -; lisp/s-expr.pla: 0607: next - !BYTE $66,$22 ; LLW [34] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C016 -_F136 !WORD _C016 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F137 !WORD 0 - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$22 ; SLW [34] -_B109 - !BYTE $A4 ; INCBRLE _B108 - !WORD _B108-* -_B107 - !BYTE $76,$2A ; SLW [42] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0608: puts("]") - !BYTE $2E ; CS - !BYTE $01 - !BYTE $5D - !BYTE $54 ; CALL _X004 -_F138 !WORD 0 -; lisp/s-expr.pla: 0609: else - !BYTE $50 ; BRNCH _B106 - !WORD _B106-* -_B105 -; lisp/s-expr.pla: 0610: print_atom(*elemptr); putc(' ') -; lisp/s-expr.pla: 0611: elemptr = elemptr + 2 -; lisp/s-expr.pla: 0612: fin - !BYTE $66,$22 ; LLW [34] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C016 -_F139 !WORD _C016 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F140 !WORD 0 - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$22 ; SLW [34] -_B106 -; lisp/s-expr.pla: 0613: next -_B104 - !BYTE $A4 ; INCBRLE _B103 - !WORD _B103-* -_B102 - !BYTE $76,$28 ; SLW [40] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0614: puts("]") - !BYTE $2E ; CS - !BYTE $01 - !BYTE $5D - !BYTE $54 ; CALL _X004 -_F141 !WORD 0 -; lisp/s-expr.pla: 0615: else - !BYTE $50 ; BRNCH _B101 - !WORD _B101-* -_B100 -; lisp/s-expr.pla: 0616: print_atom(*elemptr); putc(' ') -; lisp/s-expr.pla: 0617: elemptr = elemptr + 2 -; lisp/s-expr.pla: 0618: fin - !BYTE $66,$22 ; LLW [34] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C016 -_F142 !WORD _C016 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F143 !WORD 0 - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$22 ; SLW [34] -_B101 -; lisp/s-expr.pla: 0619: next -_B099 - !BYTE $A4 ; INCBRLE _B098 - !WORD _B098-* -_B097 - !BYTE $76,$26 ; SLW [38] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0620: puts("]") - !BYTE $2E ; CS - !BYTE $01 - !BYTE $5D - !BYTE $54 ; CALL _X004 -_F144 !WORD 0 -; lisp/s-expr.pla: 0621: else - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B095 -; lisp/s-expr.pla: 0622: print_atom(*elemptr); putc(' ') -; lisp/s-expr.pla: 0623: elemptr = elemptr + 2 -; lisp/s-expr.pla: 0624: fin - !BYTE $66,$22 ; LLW [34] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C016 -_F145 !WORD _C016 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F146 !WORD 0 - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$22 ; SLW [34] -_B096 -; lisp/s-expr.pla: 0625: next -_B094 - !BYTE $A4 ; INCBRLE _B093 - !WORD _B093-* -_B092 - !BYTE $76,$24 ; SLW [36] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 0626: puts("]\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5D,$0D - !BYTE $54 ; CALL _X004 -_F147 !WORD 0 -; lisp/s-expr.pla: 0627: break - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; lisp/s-expr.pla: 0628: is STRING_TYPE -_B110 -; lisp/s-expr.pla: 0629: puts(atom + stringstr) -; lisp/s-expr.pla: 0630: break - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F148 !WORD 0 - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; lisp/s-expr.pla: 0631: otherwise -_B080 - !BYTE $04 ; CASEBLOCK - !WORD $0020 - !WORD _B090-* - !WORD $0030 - !WORD _B081-* - !WORD $0040 - !WORD _B091-* - !WORD $0050 - !WORD _B110-* -; lisp/s-expr.pla: 0632: err_expr = atom -; lisp/s-expr.pla: 0633: throw(exception, ERR_INTERNAL) -; lisp/s-expr.pla: 0634: wend - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F149 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F150 !WORD _D067+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X062 -_F151 !WORD 0 - !BYTE $30 ; DROP -_B079 -; lisp/s-expr.pla: 0635: fin -_B078 -; lisp/s-expr.pla: 0636: end - !BYTE $5A,$2C ; LEAVE 44 -; lisp/s-expr.pla: 0637: -; lisp/s-expr.pla: 0638: export def print_expr(expr)#0 - ; expr -> [0] -_P000 ; print_expr(expr)#0() -_C017 ; print_expr() -; lisp/s-expr.pla: 0639: if not expr - !BYTE $58,$02,$01 ; ENTER 2,1 -; lisp/s-expr.pla: 0640: puts("NIL") - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B111 - !WORD _B111-* - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4E,$49,$4C - !BYTE $54 ; CALL _X004 -_F152 !WORD 0 -; lisp/s-expr.pla: 0641: else - !BYTE $50 ; BRNCH _B112 - !WORD _B112-* -_B111 -; lisp/s-expr.pla: 0642: if expr->type == CONS_TYPE -; lisp/s-expr.pla: 0643: putc('(') -; lisp/s-expr.pla: 0644: while expr and expr->type == CONS_TYPE - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B113 - !WORD _B113-* - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X002 -_F153 !WORD 0 - !BYTE $50 ; BRNCH _B117 - !WORD _B117-* -_B115 -; lisp/s-expr.pla: 0645: print_expr(expr=>car) -; lisp/s-expr.pla: 0646: expr = expr=>cdr -; lisp/s-expr.pla: 0647: if expr -; lisp/s-expr.pla: 0648: if expr->type <> CONS_TYPE -; lisp/s-expr.pla: 0649: putc('.') -; lisp/s-expr.pla: 0650: print_atom(expr) -; lisp/s-expr.pla: 0651: expr = NULL -; lisp/s-expr.pla: 0652: else - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C017 -_F154 !WORD _C017 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $22 ; BREQ _B121 - !WORD _B121-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F155 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F156 !WORD _C016 - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -_B121 -; lisp/s-expr.pla: 0653: putc(' ') -; lisp/s-expr.pla: 0654: fin - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F157 !WORD 0 -_B122 -; lisp/s-expr.pla: 0655: fin -_B119 -_B120 -; lisp/s-expr.pla: 0656: loop -_B117 - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B118 - !WORD _B118-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $40 ; ISEQ -_B118 - !BYTE $4E ; BRTRU _B115 - !WORD _B115-* -_B116 -; lisp/s-expr.pla: 0657: putc(')') -; lisp/s-expr.pla: 0658: else - !BYTE $2A,$29 ; CB 41 - !BYTE $54 ; CALL _X002 -_F158 !WORD 0 - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B113 -; lisp/s-expr.pla: 0659: print_atom(expr) -; lisp/s-expr.pla: 0660: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F159 !WORD _C016 -_B114 -; lisp/s-expr.pla: 0661: fin -_B112 -; lisp/s-expr.pla: 0662: end - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0663: -; lisp/s-expr.pla: 0664: // -; lisp/s-expr.pla: 0665: // Parse textual representation of S-expression -; lisp/s-expr.pla: 0666: // -; lisp/s-expr.pla: 0667: -; lisp/s-expr.pla: 0668: def is_num(cptr) - ; cptr -> [0] -_C018 ; is_num() -; lisp/s-expr.pla: 0669: if ^cptr == '-' or ^cptr == '+'; cptr++; fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B123 - !WORD _B123-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $40 ; ISEQ -_B123 - !BYTE $4C ; BRFLS _B124 - !WORD _B124-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B124 -_B125 -; lisp/s-expr.pla: 0670: if ^cptr == '$' -; lisp/s-expr.pla: 0671: cptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$24 ; CB 36 - !BYTE $24 ; BRNE _B126 - !WORD _B126-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0672: if toupper(^cptr) >= 'A' and toupper(^cptr) <= 'F' -; lisp/s-expr.pla: 0673: return TRUE - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F160 !WORD 0 - !BYTE $2A,$41 ; CB 65 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B128 - !WORD _B128-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F161 !WORD 0 - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B128 - !BYTE $4C ; BRFLS _B129 - !WORD _B129-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0674: fin -_B129 -_B130 -; lisp/s-expr.pla: 0675: fin -_B126 -_B127 -; lisp/s-expr.pla: 0676: return ^cptr >= '0' and ^cptr <= '9' - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B131 - !WORD _B131-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B131 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0677: end -; lisp/s-expr.pla: 0678: -; lisp/s-expr.pla: 0679: def is_alphasym(c) - ; c -> [0] -_C019 ; is_alphasym() -; lisp/s-expr.pla: 0680: return (c >= '*' and c <= 'z') and (c <> '.') and (c <> ',') - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$2A ; CB 42 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B132 - !WORD _B132-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$7A ; CB 122 - !BYTE $4A ; ISLE -_B132 - !BYTE $AC ; BRAND _B133 - !WORD _B133-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B134 - !WORD _B134-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$2C ; CB 44 - !BYTE $42 ; ISNE -_B134 -_B133 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 0681: end -; lisp/s-expr.pla: 0682: -; lisp/s-expr.pla: 0683: def parse_num(evalptr)#2 // return evalptr, intptr - ; evalptr -> [0] -_C020 ; parse_num() -; lisp/s-expr.pla: 0684: var startptr - ; startptr -> [2] -; lisp/s-expr.pla: 0685: var int[2], ext[5] - ; int -> [4] - ; ext -> [8] -; lisp/s-expr.pla: 0686: byte sign, h - ; sign -> [18] - ; h -> [19] -; lisp/s-expr.pla: 0687: -; lisp/s-expr.pla: 0688: sign = FALSE - !BYTE $58,$14,$01 ; ENTER 20,1 -; lisp/s-expr.pla: 0689: if ^evalptr == '-' -; lisp/s-expr.pla: 0690: sign = TRUE -; lisp/s-expr.pla: 0691: evalptr++ - !BYTE $00 ; CN 0 - !BYTE $74,$12 ; SLB [18] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B135 - !WORD _B135-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$12 ; SLB [18] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0692: elsif ^evalptr == '+' - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B136 - !WORD _B136-* -_B135 -; lisp/s-expr.pla: 0693: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B137 - !WORD _B137-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0694: fin - !BYTE $76,$00 ; SLW [0] -_B137 -_B136 -; lisp/s-expr.pla: 0695: if ^evalptr == '$' -; lisp/s-expr.pla: 0696: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$24 ; CB 36 - !BYTE $24 ; BRNE _B138 - !WORD _B138-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0697: h = toupper(^evalptr) -; lisp/s-expr.pla: 0698: zero32 -; lisp/s-expr.pla: 0699: while h >= '0' and h <= 'F' - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F162 !WORD 0 - !BYTE $74,$13 ; SLB [19] - !BYTE $54 ; CALL _X029 -_F163 !WORD 0 - !BYTE $50 ; BRNCH _B142 - !WORD _B142-* -_B140 -; lisp/s-expr.pla: 0700: if h > '9' -; lisp/s-expr.pla: 0701: h = h - 'A' + 10 -; lisp/s-expr.pla: 0702: if h > 16; break; fin - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $64,$13 ; LLB [19] - !BYTE $3A,$41 ; SUBI 65 - !BYTE $38,$0A ; ADDI 10 - !BYTE $6C,$13 ; DLB [19] - !BYTE $2A,$10 ; CB 16 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B146 - !WORD _B146-* - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -_B146 -_B147 -; lisp/s-expr.pla: 0703: else - !BYTE $50 ; BRNCH _B145 - !WORD _B145-* -_B144 -; lisp/s-expr.pla: 0704: h = h - '0' -; lisp/s-expr.pla: 0705: fin - !BYTE $64,$13 ; LLB [19] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $74,$13 ; SLB [19] -_B145 -; lisp/s-expr.pla: 0706: muli16(16); addi16(h) -; lisp/s-expr.pla: 0707: evalptr++ - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _X042 -_F164 !WORD 0 - !BYTE $64,$13 ; LLB [19] - !BYTE $54 ; CALL _X036 -_F165 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0708: h = toupper(^evalptr) -; lisp/s-expr.pla: 0709: loop - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F166 !WORD 0 - !BYTE $74,$13 ; SLB [19] -_B142 - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B143 - !WORD _B143-* - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B143 - !BYTE $4E ; BRTRU _B140 - !WORD _B140-* -_B141 -; lisp/s-expr.pla: 0710: else - !BYTE $50 ; BRNCH _B139 - !WORD _B139-* -_B138 -; lisp/s-expr.pla: 0711: startptr = evalptr -; lisp/s-expr.pla: 0712: while ^evalptr >= '0' and ^evalptr <= '9' - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B150 - !WORD _B150-* -_B148 -; lisp/s-expr.pla: 0713: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0714: loop - !BYTE $76,$00 ; SLW [0] -_B150 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B151 - !WORD _B151-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B151 - !BYTE $4E ; BRTRU _B148 - !WORD _B148-* -_B149 -; lisp/s-expr.pla: 0715: if (evalptr - startptr > 10) or ^evalptr == '.' or toupper(^evalptr) == 'E' -; lisp/s-expr.pla: 0716: if ^evalptr == '.' -; lisp/s-expr.pla: 0717: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $14 ; CN 10 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B152 - !WORD _B152-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B153 - !WORD _B153-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F167 !WORD 0 - !BYTE $2A,$45 ; CB 69 - !BYTE $40 ; ISEQ -_B153 -_B152 - !BYTE $4C ; BRFLS _B154 - !WORD _B154-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B156 - !WORD _B156-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0718: while ^evalptr >= '0' and ^evalptr <= '9' - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B160 - !WORD _B160-* -_B158 -; lisp/s-expr.pla: 0719: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0720: loop - !BYTE $76,$00 ; SLW [0] -_B160 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B161 - !WORD _B161-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B161 - !BYTE $4E ; BRTRU _B158 - !WORD _B158-* -_B159 -; lisp/s-expr.pla: 0721: fin -_B156 -_B157 -; lisp/s-expr.pla: 0722: if toupper(^evalptr) == 'E' -; lisp/s-expr.pla: 0723: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F168 !WORD 0 - !BYTE $2A,$45 ; CB 69 - !BYTE $24 ; BRNE _B162 - !WORD _B162-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0724: if ^evalptr == '-' or ^evalptr == '+'; evalptr++; fin - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B164 - !WORD _B164-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $40 ; ISEQ -_B164 - !BYTE $4C ; BRFLS _B165 - !WORD _B165-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B165 -_B166 -; lisp/s-expr.pla: 0725: while ^evalptr >= '0' and ^evalptr <= '9' - !BYTE $50 ; BRNCH _B169 - !WORD _B169-* -_B167 -; lisp/s-expr.pla: 0726: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0727: loop - !BYTE $76,$00 ; SLW [0] -_B169 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B170 - !WORD _B170-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B170 - !BYTE $4E ; BRTRU _B167 - !WORD _B167-* -_B168 -; lisp/s-expr.pla: 0728: fin -_B162 -_B163 -; lisp/s-expr.pla: 0729: if sign; startptr--; fin - !BYTE $64,$12 ; LLB [18] - !BYTE $4C ; BRFLS _B171 - !WORD _B171-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $76,$02 ; SLW [2] -_B171 -_B172 -; lisp/s-expr.pla: 0730: ^(startptr - 1) = evalptr - startptr -; lisp/s-expr.pla: 0731: str2ext(startptr - 1, @ext) -; lisp/s-expr.pla: 0732: return evalptr, new_float(@ext) - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X058 -_F169 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C011 -_F170 !WORD _C011 - !BYTE $5A,$14 ; LEAVE 20 -; lisp/s-expr.pla: 0733: fin -_B154 -_B155 -; lisp/s-expr.pla: 0734: zero32 -; lisp/s-expr.pla: 0735: while startptr <> evalptr - !BYTE $54 ; CALL _X029 -_F171 !WORD 0 - !BYTE $50 ; BRNCH _B175 - !WORD _B175-* -_B173 -; lisp/s-expr.pla: 0736: muli16(10); addi16(^startptr - '0') -; lisp/s-expr.pla: 0737: startptr++ - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X042 -_F172 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $3A,$30 ; SUBI 48 - !BYTE $54 ; CALL _X036 -_F173 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0738: loop - !BYTE $76,$02 ; SLW [2] -_B175 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B173 - !WORD _B173-* -_B174 -; lisp/s-expr.pla: 0739: fin -_B139 -; lisp/s-expr.pla: 0740: if sign; neg32; fin - !BYTE $64,$12 ; LLB [18] - !BYTE $4C ; BRFLS _B176 - !WORD _B176-* - !BYTE $54 ; CALL _X031 -_F174 !WORD 0 -_B176 -_B177 -; lisp/s-expr.pla: 0741: store32(@int) -; lisp/s-expr.pla: 0742: return evalptr, new_int(int[0], int[1]) - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X034 -_F175 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C010 -_F176 !WORD _C010 - !BYTE $5A,$14 ; LEAVE 20 -; lisp/s-expr.pla: 0743: end -; lisp/s-expr.pla: 0744: -; lisp/s-expr.pla: 0745: def parse_sym(evalptr)#2 // return evalptr, symptr - ; evalptr -> [0] -_C021 ; parse_sym() -; lisp/s-expr.pla: 0746: var symstr - ; symstr -> [2] -; lisp/s-expr.pla: 0747: -; lisp/s-expr.pla: 0748: symstr = evalptr - 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-expr.pla: 0749: while is_alphasym(^evalptr) - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B180 - !WORD _B180-* -_B178 -; lisp/s-expr.pla: 0750: ^evalptr = toupper(^evalptr) -; lisp/s-expr.pla: 0751: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F177 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0752: loop - !BYTE $76,$00 ; SLW [0] -_B180 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C019 -_F178 !WORD _C019 - !BYTE $4E ; BRTRU _B178 - !WORD _B178-* -_B179 -; lisp/s-expr.pla: 0753: ^symstr = evalptr - symstr - 1 -; lisp/s-expr.pla: 0754: if ^symstr > 31; ^symstr = 31; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $2A,$1F ; CB 31 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B181 - !WORD _B181-* - !BYTE $2A,$1F ; CB 31 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB -_B181 -_B182 -; lisp/s-expr.pla: 0755: return evalptr, new_sym(symstr) - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C015 -_F179 !WORD _C015 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0756: end -; lisp/s-expr.pla: 0757: -; lisp/s-expr.pla: 0758: def parse_str(evalptr)#2 // return evalptr, symptr - ; evalptr -> [0] -_C022 ; parse_str() -; lisp/s-expr.pla: 0759: var strptr - ; strptr -> [2] -; lisp/s-expr.pla: 0760: -; lisp/s-expr.pla: 0761: strptr = evalptr - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-expr.pla: 0762: ^strptr = 0 -; lisp/s-expr.pla: 0763: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0764: while ^evalptr and ^evalptr <> '"' - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B185 - !WORD _B185-* -_B183 -; lisp/s-expr.pla: 0765: ^strptr++ - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0766: evalptr++ - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0767: loop - !BYTE $76,$00 ; SLW [0] -_B185 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B186 - !WORD _B186-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$22 ; CB 34 - !BYTE $42 ; ISNE -_B186 - !BYTE $4E ; BRTRU _B183 - !WORD _B183-* -_B184 -; lisp/s-expr.pla: 0768: return evalptr + (^evalptr ?? 1 :: 0), new_string(strptr) - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B187 - !WORD _B187-* - !BYTE $02 ; CN 1 - !BYTE $50 ; BRNCH _B188 - !WORD _B188-* -_B187 - !BYTE $00 ; CN 0 -_B188 - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C014 -_F180 !WORD _C014 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0769: end -; lisp/s-expr.pla: 0770: -; lisp/s-expr.pla: 0771: export def parse_expr(evalptr, level, refill)#2 // return evalptr, exprptr - ; evalptr -> [0] - ; level -> [2] - ; refill -> [4] -_C023 ; parse_expr() -; lisp/s-expr.pla: 0772: var exprptr, consptr, elemptr, quotecons - ; exprptr -> [6] - ; consptr -> [8] - ; elemptr -> [10] - ; quotecons -> [12] -; lisp/s-expr.pla: 0773: -; lisp/s-expr.pla: 0774: exprptr = NULL - !BYTE $58,$0E,$03 ; ENTER 14,3 -; lisp/s-expr.pla: 0775: consptr = NULL -; lisp/s-expr.pla: 0776: while TRUE - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B191 - !WORD _B191-* -_B189 -; lisp/s-expr.pla: 0777: // -; lisp/s-expr.pla: 0778: // Parse textual S-expression -; lisp/s-expr.pla: 0779: // -; lisp/s-expr.pla: 0780: elemptr = NULL -; lisp/s-expr.pla: 0781: when ^evalptr - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B193-* -; lisp/s-expr.pla: 0782: is 0 // End of line -_B194 -; lisp/s-expr.pla: 0783: is ';' // Comment to end of line -_B195 -; lisp/s-expr.pla: 0784: if !exprptr or level -; lisp/s-expr.pla: 0785: evalptr = refill() // Refill input buffer -; lisp/s-expr.pla: 0786: else - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B196 - !WORD _B196-* - !BYTE $66,$02 ; LLW [2] -_B196 - !BYTE $4C ; BRFLS _B197 - !WORD _B197-* - !BYTE $66,$04 ; LLW [4] - !BYTE $56 ; ICAL - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -_B197 -; lisp/s-expr.pla: 0787: return evalptr, exprptr - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-expr.pla: 0788: fin -_B198 -; lisp/s-expr.pla: 0789: break - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; lisp/s-expr.pla: 0790: is ' ' -_B199 -; lisp/s-expr.pla: 0791: is ',' -_B200 -; lisp/s-expr.pla: 0792: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0793: break - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; lisp/s-expr.pla: 0794: is ')' -_B201 -; lisp/s-expr.pla: 0795: if not exprptr -; lisp/s-expr.pla: 0796: exprptr = sym_nil -; lisp/s-expr.pla: 0797: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B202 - !WORD _B202-* - !BYTE $6A ; LAW _D080+0 -_F181 !WORD _D080+0 - !BYTE $76,$06 ; SLW [6] -_B202 -_B203 -; lisp/s-expr.pla: 0798: return evalptr + 1, exprptr - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-expr.pla: 0799: is '(' -_B204 -; lisp/s-expr.pla: 0800: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0801: if level == 0 -; lisp/s-expr.pla: 0802: level++ - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B205 - !WORD _B205-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0803: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -_B205 -; lisp/s-expr.pla: 0804: evalptr, elemptr = parse_expr(evalptr, 1, refill) -; lisp/s-expr.pla: 0805: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C023 -_F182 !WORD _C023 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$00 ; SLW [0] -_B206 -; lisp/s-expr.pla: 0806: break - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; lisp/s-expr.pla: 0807: is '\'' -_B207 -; lisp/s-expr.pla: 0808: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0809: evalptr, elemptr = parse_expr(evalptr, 0, refill) -; lisp/s-expr.pla: 0810: quotecons = new_cons -; lisp/s-expr.pla: 0811: quotecons=>car = sym_quote -; lisp/s-expr.pla: 0812: quotecons=>cdr = new_cons -; lisp/s-expr.pla: 0813: quotecons=>cdr=>car = elemptr -; lisp/s-expr.pla: 0814: elemptr = quotecons -; lisp/s-expr.pla: 0815: if level == 0 -; lisp/s-expr.pla: 0816: return evalptr, elemptr - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C023 -_F183 !WORD _C023 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C009 -_F184 !WORD _C009 - !BYTE $76,$0C ; SLW [12] - !BYTE $6A ; LAW _D082+0 -_F185 !WORD _D082+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $54 ; CALL _C009 -_F186 !WORD _C009 - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B208 - !WORD _B208-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-expr.pla: 0817: fin -_B208 -_B209 -; lisp/s-expr.pla: 0818: break - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; lisp/s-expr.pla: 0819: is '.' -_B210 -; lisp/s-expr.pla: 0820: evalptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0821: evalptr, elemptr = parse_expr(evalptr, 0, refill) -; lisp/s-expr.pla: 0822: // -; lisp/s-expr.pla: 0823: // Add expression to CDR -; lisp/s-expr.pla: 0824: // -; lisp/s-expr.pla: 0825: if not (consptr and consptr=>car) -; lisp/s-expr.pla: 0826: err_expr = consptr -; lisp/s-expr.pla: 0827: throw(exception, ERR_BAD_DOT) -; lisp/s-expr.pla: 0828: fin - !BYTE $6E,$00 ; DLW [0] - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C023 -_F187 !WORD _C023 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $AC ; BRAND _B211 - !WORD _B211-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW -_B211 - !BYTE $4E ; BRTRU _B212 - !WORD _B212-* - !BYTE $66,$08 ; LLW [8] - !BYTE $7A ; SAW _D068+0 -_F188 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F189 !WORD _D067+0 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $54 ; CALL _X062 -_F190 !WORD 0 - !BYTE $30 ; DROP -_B212 -_B213 -; lisp/s-expr.pla: 0829: consptr=>cdr = elemptr -; lisp/s-expr.pla: 0830: elemptr = NULL -; lisp/s-expr.pla: 0831: break - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -; lisp/s-expr.pla: 0832: otherwise -_B193 - !BYTE $08 ; CASEBLOCK - !WORD $0000 - !WORD _B194-* - !WORD $0020 - !WORD _B199-* - !WORD $0027 - !WORD _B207-* - !WORD $0028 - !WORD _B204-* - !WORD $0029 - !WORD _B201-* - !WORD $002C - !WORD _B200-* - !WORD $002E - !WORD _B210-* - !WORD $003B - !WORD _B195-* -; lisp/s-expr.pla: 0833: if is_num(evalptr) -; lisp/s-expr.pla: 0834: evalptr, elemptr = parse_num(evalptr) -; lisp/s-expr.pla: 0835: elsif is_alphasym(^evalptr) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C018 -_F191 !WORD _C018 - !BYTE $4C ; BRFLS _B214 - !WORD _B214-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F192 !WORD _C020 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B215 - !WORD _B215-* -_B214 -; lisp/s-expr.pla: 0836: evalptr, elemptr = parse_sym(evalptr) -; lisp/s-expr.pla: 0837: elsif ^evalptr == '"' - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C019 -_F193 !WORD _C019 - !BYTE $4C ; BRFLS _B216 - !WORD _B216-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C021 -_F194 !WORD _C021 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B215 - !WORD _B215-* -_B216 -; lisp/s-expr.pla: 0838: evalptr, elemptr = parse_str(evalptr) -; lisp/s-expr.pla: 0839: else - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$22 ; CB 34 - !BYTE $24 ; BRNE _B217 - !WORD _B217-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C022 -_F195 !WORD _C022 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B215 - !WORD _B215-* -_B217 -; lisp/s-expr.pla: 0840: putc('\\') -; lisp/s-expr.pla: 0841: putc(^evalptr) -; lisp/s-expr.pla: 0842: evalptr++ - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _X002 -_F196 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F197 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0843: fin - !BYTE $76,$00 ; SLW [0] -_B215 -; lisp/s-expr.pla: 0844: if level == 0 -; lisp/s-expr.pla: 0845: return evalptr, elemptr - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B218 - !WORD _B218-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-expr.pla: 0846: fin -_B218 -_B219 -; lisp/s-expr.pla: 0847: wend -_B192 -; lisp/s-expr.pla: 0848: if elemptr -; lisp/s-expr.pla: 0849: // -; lisp/s-expr.pla: 0850: // Add element to S-expression -; lisp/s-expr.pla: 0851: // -; lisp/s-expr.pla: 0852: if not consptr -; lisp/s-expr.pla: 0853: consptr = new_cons -; lisp/s-expr.pla: 0854: exprptr = consptr -; lisp/s-expr.pla: 0855: else - !BYTE $66,$0A ; LLW [10] - !BYTE $4C ; BRFLS _B220 - !WORD _B220-* - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B222 - !WORD _B222-* - !BYTE $54 ; CALL _C009 -_F198 !WORD _C009 - !BYTE $6E,$08 ; DLW [8] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B223 - !WORD _B223-* -_B222 -; lisp/s-expr.pla: 0856: if consptr=>cdr -; lisp/s-expr.pla: 0857: err_expr = consptr -; lisp/s-expr.pla: 0858: throw(exception, ERR_BAD_DOT) -; lisp/s-expr.pla: 0859: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B224 - !WORD _B224-* - !BYTE $66,$08 ; LLW [8] - !BYTE $7A ; SAW _D068+0 -_F199 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F200 !WORD _D067+0 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $54 ; CALL _X062 -_F201 !WORD 0 - !BYTE $30 ; DROP -_B224 -_B225 -; lisp/s-expr.pla: 0860: consptr=>cdr = new_cons -; lisp/s-expr.pla: 0861: consptr = consptr=>cdr -; lisp/s-expr.pla: 0862: fin - !BYTE $54 ; CALL _C009 -_F202 !WORD _C009 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B223 -; lisp/s-expr.pla: 0863: // -; lisp/s-expr.pla: 0864: // Add element to CAR -; lisp/s-expr.pla: 0865: // -; lisp/s-expr.pla: 0866: consptr=>car = elemptr -; lisp/s-expr.pla: 0867: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -_B220 -_B221 -; lisp/s-expr.pla: 0868: loop -_B191 - !BYTE $50 ; BRNCH _B189 - !WORD _B189-* -_B190 -; lisp/s-expr.pla: 0869: return evalptr, exprptr - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-expr.pla: 0870: end -; lisp/s-expr.pla: 0871: -; lisp/s-expr.pla: 0872: // -; lisp/s-expr.pla: 0873: // Build/set association between symbols and values -; lisp/s-expr.pla: 0874: // -; lisp/s-expr.pla: 0875: -; lisp/s-expr.pla: 0876: def new_assoc(symptr, valptr)#0 - ; symptr -> [0] - ; valptr -> [2] -_C024 ; new_assoc() -; lisp/s-expr.pla: 0877: var pair, pairlist - ; pair -> [4] - ; pairlist -> [6] -; lisp/s-expr.pla: 0878: -; lisp/s-expr.pla: 0879: if symptr and (symptr->type & TYPE_MASK <> SYM_TYPE) - !BYTE $58,$08,$02 ; ENTER 8,2 -; lisp/s-expr.pla: 0880: err_expr = symptr -; lisp/s-expr.pla: 0881: throw(exception, ERR_NOT_SYM) -; lisp/s-expr.pla: 0882: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B226 - !WORD _B226-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $42 ; ISNE -_B226 - !BYTE $4C ; BRFLS _B227 - !WORD _B227-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F203 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F204 !WORD _D067+0 - !BYTE $5E,$FA ; CFFB -6 - !BYTE $54 ; CALL _X062 -_F205 !WORD 0 - !BYTE $30 ; DROP -_B227 -_B228 -; lisp/s-expr.pla: 0883: pair = new_cons -; lisp/s-expr.pla: 0884: pair=>car = symptr -; lisp/s-expr.pla: 0885: pair=>cdr = valptr -; lisp/s-expr.pla: 0886: pairlist = new_cons -; lisp/s-expr.pla: 0887: pairlist=>car = pair -; lisp/s-expr.pla: 0888: pairlist=>cdr = assoc_list -; lisp/s-expr.pla: 0889: assoc_list = pairlist -; lisp/s-expr.pla: 0890: if trace -; lisp/s-expr.pla: 0891: puts("\n New ASSOC:"); print_expr(pair); putln - !BYTE $54 ; CALL _C009 -_F206 !WORD _C009 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $54 ; CALL _C009 -_F207 !WORD _C009 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D070+0 -_F208 !WORD _D070+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D070+0 -_F209 !WORD _D070+0 - !BYTE $68 ; LAB _D066+0 -_F210 !WORD _D066+0 - !BYTE $4C ; BRFLS _B229 - !WORD _B229-* - !BYTE $2E ; CS - !BYTE $0C - !BYTE $0D,$20,$4E,$65,$77,$20,$41,$53 - !BYTE $53,$4F,$43,$3A - !BYTE $54 ; CALL _X004 -_F211 !WORD 0 -; lisp/s-expr.pla: 0892: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C017 -_F212 !WORD _C017 - !BYTE $54 ; CALL _X003 -_F213 !WORD 0 -_B229 -_B230 -; lisp/s-expr.pla: 0893: end - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-expr.pla: 0894: -; lisp/s-expr.pla: 0895: def assoc_pair(symptr) - ; symptr -> [0] -_C025 ; assoc_pair() -; lisp/s-expr.pla: 0896: var pair - ; pair -> [2] -; lisp/s-expr.pla: 0897: -; lisp/s-expr.pla: 0898: // -; lisp/s-expr.pla: 0899: // Search local association list for symbol -; lisp/s-expr.pla: 0900: // -; lisp/s-expr.pla: 0901: pair = assoc_list - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-expr.pla: 0902: while pair - !BYTE $6A ; LAW _D070+0 -_F214 !WORD _D070+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -_B231 -; lisp/s-expr.pla: 0903: if (pair=>car=>car == symptr) -; lisp/s-expr.pla: 0904: return pair=>car - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B234 - !WORD _B234-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0905: fin -_B234 -_B235 -; lisp/s-expr.pla: 0906: pair = pair=>cdr -; lisp/s-expr.pla: 0907: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B233 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B231 - !WORD _B231-* -_B232 -; lisp/s-expr.pla: 0908: return NULL // SYM not associated - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0909: end -; lisp/s-expr.pla: 0910: -; lisp/s-expr.pla: 0911: def set_assoc(symptr, valptr)#1 - ; symptr -> [0] - ; valptr -> [2] -_C026 ; set_assoc() -; lisp/s-expr.pla: 0912: var pair - ; pair -> [4] -; lisp/s-expr.pla: 0913: -; lisp/s-expr.pla: 0914: // -; lisp/s-expr.pla: 0915: // Search association list for symbol -; lisp/s-expr.pla: 0916: // -; lisp/s-expr.pla: 0917: pair = assoc_pair(symptr) - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/s-expr.pla: 0918: if pair -; lisp/s-expr.pla: 0919: pair=>cdr = valptr // Update association -; lisp/s-expr.pla: 0920: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C025 -_F215 !WORD _C025 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B236 - !WORD _B236-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B237 - !WORD _B237-* -_B236 -; lisp/s-expr.pla: 0921: err_expr = symptr -; lisp/s-expr.pla: 0922: throw(exception, ERR_NOT_ASSOC) -; lisp/s-expr.pla: 0923: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F216 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F217 !WORD _D067+0 - !BYTE $5E,$F9 ; CFFB -7 - !BYTE $54 ; CALL _X062 -_F218 !WORD 0 - !BYTE $30 ; DROP -_B237 -; lisp/s-expr.pla: 0924: return pair - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 0925: end -; lisp/s-expr.pla: 0926: -; lisp/s-expr.pla: 0927: def assoc(symptr) - ; symptr -> [0] -_C027 ; assoc() -; lisp/s-expr.pla: 0928: var pair - ; pair -> [2] -; lisp/s-expr.pla: 0929: -; lisp/s-expr.pla: 0930: // -; lisp/s-expr.pla: 0931: // Search local association list for symbol -; lisp/s-expr.pla: 0932: // -; lisp/s-expr.pla: 0933: pair = assoc_list - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-expr.pla: 0934: while pair - !BYTE $6A ; LAW _D070+0 -_F219 !WORD _D070+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B240 - !WORD _B240-* -_B238 -; lisp/s-expr.pla: 0935: if (pair=>car=>car == symptr) -; lisp/s-expr.pla: 0936: return pair=>car=>cdr - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B241 - !WORD _B241-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0937: fin -_B241 -_B242 -; lisp/s-expr.pla: 0938: pair = pair=>cdr -; lisp/s-expr.pla: 0939: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B240 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B238 - !WORD _B238-* -_B239 -; lisp/s-expr.pla: 0940: return NULL // SYM not associated - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0941: end -; lisp/s-expr.pla: 0942: -; lisp/s-expr.pla: 0943: // -; lisp/s-expr.pla: 0944: // Evaluate expression -; lisp/s-expr.pla: 0945: // -; lisp/s-expr.pla: 0946: -; lisp/s-expr.pla: 0947: def eval_args(argvals) - ; argvals -> [0] -_C028 ; eval_args() -; lisp/s-expr.pla: 0948: var argstart - ; argstart -> [2] -; lisp/s-expr.pla: 0949: -; lisp/s-expr.pla: 0950: // -; lisp/s-expr.pla: 0951: // Evaluate the argument parameters -; lisp/s-expr.pla: 0952: // - manipulate sweep_stack directly for performance -; lisp/s-expr.pla: 0953: // -; lisp/s-expr.pla: 0954: argstart = sweep_stack_top - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-expr.pla: 0955: while argvals - !BYTE $68 ; LAB _D096+0 -_F220 !WORD _D096+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B245 - !WORD _B245-* -_B243 -; lisp/s-expr.pla: 0956: sweep_stack[sweep_stack_top] = eval_expr(argvals=>car) -; lisp/s-expr.pla: 0957: sweep_stack_top++ - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _P001 -_F221 !WORD _P001 - !BYTE $26 ; LA _D097+0 -_F222 !WORD _D097+0 - !BYTE $BC ; IDXAB _D096+0 -_F223 !WORD _D096+0 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D096+0 -_F224 !WORD _D096+0 - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0958: if sweep_stack_top >= SWEEPSTACK_MAX -; lisp/s-expr.pla: 0959: err_expr = argvals -; lisp/s-expr.pla: 0960: throw(exception, ERR_SWEEP_OVRFLW) -; lisp/s-expr.pla: 0961: fin - !BYTE $7C ; DAB _D096+0 -_F225 !WORD _D096+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B246 - !WORD _B246-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F226 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F227 !WORD _D067+0 - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X062 -_F228 !WORD 0 - !BYTE $30 ; DROP -_B246 -_B247 -; lisp/s-expr.pla: 0962: argvals = argvals=>cdr -; lisp/s-expr.pla: 0963: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B245 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B243 - !WORD _B243-* -_B244 -; lisp/s-expr.pla: 0964: sweep_stack_top = argstart -; lisp/s-expr.pla: 0965: return sweep_stack_top - !BYTE $66,$02 ; LLW [2] - !BYTE $7C ; DAB _D096+0 -_F229 !WORD _D096+0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 0966: end -; lisp/s-expr.pla: 0967: -; lisp/s-expr.pla: 0968: def set_args(argsyms, argbase)#0 - ; argsyms -> [0] - ; argbase -> [2] -_C029 ; set_args() -; lisp/s-expr.pla: 0969: var arglist - ; arglist -> [4] -; lisp/s-expr.pla: 0970: -; lisp/s-expr.pla: 0971: if argsyms == sym_nil; return; fin - !BYTE $58,$06,$02 ; ENTER 6,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D080+0 -_F230 !WORD _D080+0 - !BYTE $24 ; BRNE _B248 - !WORD _B248-* - !BYTE $5A,$06 ; LEAVE 6 -_B248 -_B249 -; lisp/s-expr.pla: 0972: arglist = assoc_list -; lisp/s-expr.pla: 0973: while argsyms - !BYTE $6A ; LAW _D070+0 -_F231 !WORD _D070+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B252 - !WORD _B252-* -_B250 -; lisp/s-expr.pla: 0974: arglist=>car=>cdr = sweep_stack[argbase] -; lisp/s-expr.pla: 0975: arglist = arglist=>cdr -; lisp/s-expr.pla: 0976: argsyms = argsyms=>cdr -; lisp/s-expr.pla: 0977: argbase++ - !BYTE $26 ; LA _D097+0 -_F232 !WORD _D097+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 0978: loop - !BYTE $76,$02 ; SLW [2] -_B252 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B250 - !WORD _B250-* -_B251 -; lisp/s-expr.pla: 0979: end - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 0980: -; lisp/s-expr.pla: 0981: def pair_args(argsyms, argbase)#0 - ; argsyms -> [0] - ; argbase -> [2] -_C030 ; pair_args() -; lisp/s-expr.pla: 0982: var arglist, pairlist - ; arglist -> [4] - ; pairlist -> [6] -; lisp/s-expr.pla: 0983: -; lisp/s-expr.pla: 0984: if argsyms == sym_nil; return; fin - !BYTE $58,$08,$02 ; ENTER 8,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D080+0 -_F233 !WORD _D080+0 - !BYTE $24 ; BRNE _B253 - !WORD _B253-* - !BYTE $5A,$08 ; LEAVE 8 -_B253 -_B254 -; lisp/s-expr.pla: 0985: arglist = NULL -; lisp/s-expr.pla: 0986: while argsyms - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B257 - !WORD _B257-* -_B255 -; lisp/s-expr.pla: 0987: // -; lisp/s-expr.pla: 0988: // Build argument/value pairs -; lisp/s-expr.pla: 0989: // -; lisp/s-expr.pla: 0990: if arglist -; lisp/s-expr.pla: 0991: pairlist=>cdr = new_cons -; lisp/s-expr.pla: 0992: pairlist = pairlist=>cdr -; lisp/s-expr.pla: 0993: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B258 - !WORD _B258-* - !BYTE $54 ; CALL _C009 -_F234 !WORD _C009 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -_B258 -; lisp/s-expr.pla: 0994: arglist = new_cons -; lisp/s-expr.pla: 0995: pairlist = arglist -; lisp/s-expr.pla: 0996: fin - !BYTE $54 ; CALL _C009 -_F235 !WORD _C009 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$06 ; SLW [6] -_B259 -; lisp/s-expr.pla: 0997: pairlist=>car = new_cons -; lisp/s-expr.pla: 0998: pairlist=>car=>car = argsyms=>car -; lisp/s-expr.pla: 0999: pairlist=>car=>cdr = sweep_stack[argbase] -; lisp/s-expr.pla: 1000: argsyms = argsyms=>cdr -; lisp/s-expr.pla: 1001: argbase++ - !BYTE $54 ; CALL _C009 -_F236 !WORD _C009 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $26 ; LA _D097+0 -_F237 !WORD _D097+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 1002: loop - !BYTE $76,$02 ; SLW [2] -_B257 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B255 - !WORD _B255-* -_B256 -; lisp/s-expr.pla: 1003: pairlist=>cdr = assoc_list -; lisp/s-expr.pla: 1004: assoc_list = arglist -; lisp/s-expr.pla: 1005: end - !BYTE $6A ; LAW _D070+0 -_F238 !WORD _D070+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D070+0 -_F239 !WORD _D070+0 - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-expr.pla: 1006: -; lisp/s-expr.pla: 1007: def apply_funargs(funarg, argvals) - ; funarg -> [0] - ; argvals -> [2] -_C031 ; apply_funargs() -; lisp/s-expr.pla: 1008: var funexpr, argbase, funalist - ; funexpr -> [4] - ; argbase -> [6] - ; funalist -> [8] -; lisp/s-expr.pla: 1009: -; lisp/s-expr.pla: 1010: funexpr = funarg=>cdr=>car // Lambda expression - !BYTE $58,$0A,$02 ; ENTER 10,2 -; lisp/s-expr.pla: 1011: if funexpr->type <> CONS_TYPE -; lisp/s-expr.pla: 1012: return funexpr=>natv(funexpr, argvals) // Native function - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $22 ; BREQ _B260 - !WORD _B260-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-expr.pla: 1013: fin -_B260 -_B261 -; lisp/s-expr.pla: 1014: // -; lisp/s-expr.pla: 1015: // Build arg list before prepending to new assoc_list -; lisp/s-expr.pla: 1016: // -; lisp/s-expr.pla: 1017: push_sweep_stack(assoc_list) // Save current association list -; lisp/s-expr.pla: 1018: argbase = eval_args(argvals) -; lisp/s-expr.pla: 1019: funalist = funarg=>cdr=>cdr -; lisp/s-expr.pla: 1020: assoc_list = funalist=>car // Swap association list pointer -; lisp/s-expr.pla: 1021: pair_args(funexpr=>cdr=>car, argbase) -; lisp/s-expr.pla: 1022: funexpr = eval_expr(funexpr=>cdr=>cdr=>car) -; lisp/s-expr.pla: 1023: funalist=>car = assoc_list // Save updated FUNARG associations -; lisp/s-expr.pla: 1024: assoc_list = pop_sweep_stack // Restore association list -; lisp/s-expr.pla: 1025: return funexpr - !BYTE $6A ; LAW _D070+0 -_F240 !WORD _D070+0 - !BYTE $54 ; CALL _C003 -_F241 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C028 -_F242 !WORD _C028 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D070+0 -_F243 !WORD _D070+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C030 -_F244 !WORD _C030 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _P001 -_F245 !WORD _P001 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D070+0 -_F246 !WORD _D070+0 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $54 ; CALL _C004 -_F247 !WORD _C004 - !BYTE $7A ; SAW _D070+0 -_F248 !WORD _D070+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-expr.pla: 1026: end -; lisp/s-expr.pla: 1027: -; lisp/s-expr.pla: 1028: def eval_atom(atom)#1 - ; atom -> [0] -_C032 ; eval_atom() -; lisp/s-expr.pla: 1029: // -; lisp/s-expr.pla: 1030: // Atom - return the symbol value or the atom itself -; lisp/s-expr.pla: 1031: // -; lisp/s-expr.pla: 1032: if atom and atom->type & TYPE_MASK == SYM_TYPE - !BYTE $58,$02,$01 ; ENTER 2,1 -; lisp/s-expr.pla: 1033: if atom=>lambda // DEFINEd lambda S-expression -; lisp/s-expr.pla: 1034: return atom=>lambda - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B262 - !WORD _B262-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $40 ; ISEQ -_B262 - !BYTE $4C ; BRFLS _B263 - !WORD _B263-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B265 - !WORD _B265-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1035: fin -_B265 -_B266 -; lisp/s-expr.pla: 1036: if atom=>apval // Constant -; lisp/s-expr.pla: 1037: return atom=>apval ^ NULL_HACK - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$09 ; ADDI 9 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B267 - !WORD _B267-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$09 ; ADDI 9 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1038: fin -_B267 -_B268 -; lisp/s-expr.pla: 1039: if atom=>array // Array -; lisp/s-expr.pla: 1040: return atom=>array - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B269 - !WORD _B269-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1041: fin // Look on the association list last -_B269 -_B270 -; lisp/s-expr.pla: 1042: return assoc(atom) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C027 -_F249 !WORD _C027 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1043: fin -_B263 -_B264 -; lisp/s-expr.pla: 1044: return atom - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1045: end -; lisp/s-expr.pla: 1046: -; lisp/s-expr.pla: 1047: export def eval_expr(expr)#1 - ; expr -> [0] -_P001 ; eval_expr(expr)#1() -_C033 ; eval_expr() -; lisp/s-expr.pla: 1048: var alist_enter, curl, func, args - ; alist_enter -> [2] - ; curl -> [4] - ; func -> [6] - ; args -> [8] -; lisp/s-expr.pla: 1049: -; lisp/s-expr.pla: 1050: if expr - !BYTE $58,$0A,$01 ; ENTER 10,1 -; lisp/s-expr.pla: 1051: if expr->type <> CONS_TYPE; return eval_atom(expr); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B271 - !WORD _B271-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $22 ; BREQ _B273 - !WORD _B273-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C032 -_F250 !WORD _C032 - !BYTE $5A,$0A ; LEAVE 10 -_B273 -_B274 -; lisp/s-expr.pla: 1052: if hook_eval; expr = hook_eval(expr); fin - !BYTE $6A ; LAW _D069+0 -_F251 !WORD _D069+0 - !BYTE $4C ; BRFLS _B275 - !WORD _B275-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D069+0 -_F252 !WORD _D069+0 - !BYTE $56 ; ICAL - !BYTE $76,$00 ; SLW [0] -_B275 -_B276 -; lisp/s-expr.pla: 1053: if gc_pull > gc_trigger; gc; fin - !BYTE $6A ; LAW _D099+0 -_F253 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F254 !WORD _D098+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B277 - !WORD _B277-* - !BYTE $54 ; CALL _C007 -_F255 !WORD _C007 -_B277 -_B278 -; lisp/s-expr.pla: 1054: alist_enter = assoc_list -; lisp/s-expr.pla: 1055: curl = NULL // Current lambda -; lisp/s-expr.pla: 1056: while expr - !BYTE $6A ; LAW _D070+0 -_F256 !WORD _D070+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B281 - !WORD _B281-* -_B279 -; lisp/s-expr.pla: 1057: if expr->type == CONS_TYPE -; lisp/s-expr.pla: 1058: // -; lisp/s-expr.pla: 1059: // List - first element better be a function -; lisp/s-expr.pla: 1060: // -; lisp/s-expr.pla: 1061: func = expr=>car -; lisp/s-expr.pla: 1062: args = expr=>cdr -; lisp/s-expr.pla: 1063: if func->type & TYPE_MASK == SYM_TYPE -; lisp/s-expr.pla: 1064: if func=>natv -; lisp/s-expr.pla: 1065: expr = func=>natv(func, args) // Native function -; lisp/s-expr.pla: 1066: break - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B282 - !WORD _B282-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B284 - !WORD _B284-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B286 - !WORD _B286-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B280 - !WORD _B280-* -; lisp/s-expr.pla: 1067: elsif func == sym_cond // Inline cond() evaluation - !BYTE $50 ; BRNCH _B287 - !WORD _B287-* -_B286 -; lisp/s-expr.pla: 1068: while args - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D087+0 -_F257 !WORD _D087+0 - !BYTE $24 ; BRNE _B288 - !WORD _B288-* - !BYTE $50 ; BRNCH _B291 - !WORD _B291-* -_B289 -; lisp/s-expr.pla: 1069: if eval_expr(args=>car=>car) -; lisp/s-expr.pla: 1070: expr = args=>car=>cdr=>car -; lisp/s-expr.pla: 1071: break - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F258 !WORD _C033 - !BYTE $4C ; BRFLS _B292 - !WORD _B292-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B290 - !WORD _B290-* -; lisp/s-expr.pla: 1072: fin -_B292 -_B293 -; lisp/s-expr.pla: 1073: args = args=>cdr -; lisp/s-expr.pla: 1074: loop - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B291 - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B289 - !WORD _B289-* -_B290 -; lisp/s-expr.pla: 1075: elsif func == sym_if // Inline if() evaluation - !BYTE $50 ; BRNCH _B287 - !WORD _B287-* -_B288 -; lisp/s-expr.pla: 1076: if eval_expr(args=>car) -; lisp/s-expr.pla: 1077: expr = args=>cdr=>car // THEN clause -; lisp/s-expr.pla: 1078: else - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D088+0 -_F259 !WORD _D088+0 - !BYTE $24 ; BRNE _B294 - !WORD _B294-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F260 !WORD _C033 - !BYTE $4C ; BRFLS _B295 - !WORD _B295-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B296 - !WORD _B296-* -_B295 -; lisp/s-expr.pla: 1079: expr = args=>cdr=>cdr -; lisp/s-expr.pla: 1080: if expr // Check for ELSE clause -; lisp/s-expr.pla: 1081: expr = expr=>car -; lisp/s-expr.pla: 1082: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B297 - !WORD _B297-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B297 -_B298 -; lisp/s-expr.pla: 1083: fin -_B296 -; lisp/s-expr.pla: 1084: else // Associated symbol - !BYTE $50 ; BRNCH _B287 - !WORD _B287-* -_B294 -; lisp/s-expr.pla: 1085: func = eval_atom(func) -; lisp/s-expr.pla: 1086: if !func or func->type <> CONS_TYPE -; lisp/s-expr.pla: 1087: err_expr = expr -; lisp/s-expr.pla: 1088: throw(exception, ERR_NOT_FUN) -; lisp/s-expr.pla: 1089: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C032 -_F261 !WORD _C032 - !BYTE $6E,$06 ; DLW [6] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B299 - !WORD _B299-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $42 ; ISNE -_B299 - !BYTE $4C ; BRFLS _B300 - !WORD _B300-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F262 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F263 !WORD _D067+0 - !BYTE $5E,$F8 ; CFFB -8 - !BYTE $54 ; CALL _X062 -_F264 !WORD 0 - !BYTE $30 ; DROP -_B300 -_B301 -; lisp/s-expr.pla: 1090: fin -_B287 -; lisp/s-expr.pla: 1091: else - !BYTE $50 ; BRNCH _B285 - !WORD _B285-* -_B284 -; lisp/s-expr.pla: 1092: curl = NULL // Set-up for in-line function -; lisp/s-expr.pla: 1093: fin - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B285 -; lisp/s-expr.pla: 1094: if func->type == CONS_TYPE -; lisp/s-expr.pla: 1095: if func=>car == sym_label // LABEL -; lisp/s-expr.pla: 1096: new_assoc(func=>cdr=>car, func=>cdr=>cdr=>car) // Add LABEL -; lisp/s-expr.pla: 1097: func = func=>cdr=>cdr=>car // Continue evaluating LAMBDA -; lisp/s-expr.pla: 1098: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B302 - !WORD _B302-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D089+0 -_F265 !WORD _D089+0 - !BYTE $24 ; BRNE _B304 - !WORD _B304-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C024 -_F266 !WORD _C024 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B304 -_B305 -; lisp/s-expr.pla: 1099: if func=>car == sym_lambda // LAMBDA -; lisp/s-expr.pla: 1100: if curl == func // Tail recursion: overwrite associations -; lisp/s-expr.pla: 1101: set_args(func=>cdr=>car, eval_args(args)) -; lisp/s-expr.pla: 1102: else // Add argument association pair list - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D083+0 -_F267 !WORD _D083+0 - !BYTE $24 ; BRNE _B306 - !WORD _B306-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $24 ; BRNE _B308 - !WORD _B308-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C028 -_F268 !WORD _C028 - !BYTE $54 ; CALL _C029 -_F269 !WORD _C029 - !BYTE $50 ; BRNCH _B309 - !WORD _B309-* -_B308 -; lisp/s-expr.pla: 1103: pair_args(func=>cdr=>car, eval_args(args)) -; lisp/s-expr.pla: 1104: curl = func -; lisp/s-expr.pla: 1105: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C028 -_F270 !WORD _C028 - !BYTE $54 ; CALL _C030 -_F271 !WORD _C030 - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$04 ; SLW [4] -_B309 -; lisp/s-expr.pla: 1106: expr = func=>cdr=>cdr=>car -; lisp/s-expr.pla: 1107: elsif func=>car == sym_funarg // FUNARG - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -_B306 -; lisp/s-expr.pla: 1108: expr = apply_funargs(func, expr=>cdr) -; lisp/s-expr.pla: 1109: break - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D084+0 -_F272 !WORD _D084+0 - !BYTE $24 ; BRNE _B310 - !WORD _B310-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C031 -_F273 !WORD _C031 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B280 - !WORD _B280-* -; lisp/s-expr.pla: 1110: elsif func=>car == sym_macro // MACRO - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -_B310 -; lisp/s-expr.pla: 1111: new_assoc(func=>cdr=>car=>car, args) // Add args list argument -; lisp/s-expr.pla: 1112: curl = NULL -; lisp/s-expr.pla: 1113: expr = func=>cdr=>cdr=>car -; lisp/s-expr.pla: 1114: else - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D086+0 -_F274 !WORD _D086+0 - !BYTE $24 ; BRNE _B311 - !WORD _B311-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C024 -_F275 !WORD _C024 - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -_B311 -; lisp/s-expr.pla: 1115: err_expr = expr -; lisp/s-expr.pla: 1116: throw(exception, ERR_NOT_FUN) -; lisp/s-expr.pla: 1117: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F276 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F277 !WORD _D067+0 - !BYTE $5E,$F8 ; CFFB -8 - !BYTE $54 ; CALL _X062 -_F278 !WORD 0 - !BYTE $30 ; DROP -_B307 -; lisp/s-expr.pla: 1118: if trace -; lisp/s-expr.pla: 1119: puts("\nTRACE:"); print_expr(func) - !BYTE $68 ; LAB _D066+0 -_F279 !WORD _D066+0 - !BYTE $4C ; BRFLS _B312 - !WORD _B312-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $0D,$54,$52,$41,$43,$45,$3A - !BYTE $54 ; CALL _X004 -_F280 !WORD 0 -; lisp/s-expr.pla: 1120: puts("\n ASSOC:"); print_expr(assoc_list); putln - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C017 -_F281 !WORD _C017 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$20,$41,$53,$53,$4F,$43,$3A - !BYTE $54 ; CALL _X004 -_F282 !WORD 0 -; lisp/s-expr.pla: 1121: fin - !BYTE $6A ; LAW _D070+0 -_F283 !WORD _D070+0 - !BYTE $54 ; CALL _C017 -_F284 !WORD _C017 - !BYTE $54 ; CALL _X003 -_F285 !WORD 0 -_B312 -_B313 -; lisp/s-expr.pla: 1122: fin -_B302 -_B303 -; lisp/s-expr.pla: 1123: else - !BYTE $50 ; BRNCH _B283 - !WORD _B283-* -_B282 -; lisp/s-expr.pla: 1124: expr = eval_atom(expr) -; lisp/s-expr.pla: 1125: break - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C032 -_F286 !WORD _C032 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B280 - !WORD _B280-* -; lisp/s-expr.pla: 1126: fin -_B283 -; lisp/s-expr.pla: 1127: loop -_B281 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B279 - !WORD _B279-* -_B280 -; lisp/s-expr.pla: 1128: assoc_list = alist_enter // Unwind assoc_list -; lisp/s-expr.pla: 1129: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D070+0 -_F287 !WORD _D070+0 -_B271 -_B272 -; lisp/s-expr.pla: 1130: return expr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-expr.pla: 1131: end -; lisp/s-expr.pla: 1132: -; lisp/s-expr.pla: 1133: export def eval_quote(expr)#1 - ; expr -> [0] -_C034 ; eval_quote() -; lisp/s-expr.pla: 1134: assoc_list = NULL - !BYTE $58,$02,$01 ; ENTER 2,1 -; lisp/s-expr.pla: 1135: sweep_stack_top = 0 -; lisp/s-expr.pla: 1136: push_sweep_stack(expr) // Keep expr from being GC'ed -; lisp/s-expr.pla: 1137: expr = eval_expr(expr) -; lisp/s-expr.pla: 1138: pop_sweep_stack -; lisp/s-expr.pla: 1139: return expr - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D070+0 -_F288 !WORD _D070+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D096+0 -_F289 !WORD _D096+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C003 -_F290 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C033 -_F291 !WORD _C033 - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C004 -_F292 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1140: end -; lisp/s-expr.pla: 1141: -; lisp/s-expr.pla: 1142: // -; lisp/s-expr.pla: 1143: // Make a copy of an expr -; lisp/s-expr.pla: 1144: // -; lisp/s-expr.pla: 1145: -; lisp/s-expr.pla: 1146: def copy_expr(expr) - ; expr -> [0] -_C035 ; copy_expr() -; lisp/s-expr.pla: 1147: var copy - ; copy -> [2] -; lisp/s-expr.pla: 1148: -; lisp/s-expr.pla: 1149: if expr and expr->type == CONS_TYPE - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-expr.pla: 1150: // -; lisp/s-expr.pla: 1151: // Copy cons structure -; lisp/s-expr.pla: 1152: // -; lisp/s-expr.pla: 1153: copy = push_sweep_stack(new_cons) -; lisp/s-expr.pla: 1154: while expr - !BYTE $66,$00 ; LLW [0] - !BYTE $AC ; BRAND _B314 - !WORD _B314-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $40 ; ISEQ -_B314 - !BYTE $4C ; BRFLS _B315 - !WORD _B315-* - !BYTE $54 ; CALL _C009 -_F293 !WORD _C009 - !BYTE $54 ; CALL _C003 -_F294 !WORD _C003 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B319 - !WORD _B319-* -_B317 -; lisp/s-expr.pla: 1155: if expr=>car and expr=>car->type == CONS_TYPE -; lisp/s-expr.pla: 1156: copy=>car = copy_expr(expr=>car) -; lisp/s-expr.pla: 1157: else - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $AC ; BRAND _B320 - !WORD _B320-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $40 ; ISEQ -_B320 - !BYTE $4C ; BRFLS _B321 - !WORD _B321-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C035 -_F295 !WORD _C035 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B322 - !WORD _B322-* -_B321 -; lisp/s-expr.pla: 1158: copy=>car = expr=>car -; lisp/s-expr.pla: 1159: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -_B322 -; lisp/s-expr.pla: 1160: if expr=>cdr and expr=>cdr->type == CONS_TYPE -; lisp/s-expr.pla: 1161: copy=>cdr = new_cons -; lisp/s-expr.pla: 1162: copy = copy=>cdr -; lisp/s-expr.pla: 1163: expr = expr=>cdr -; lisp/s-expr.pla: 1164: else // End of list - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $AC ; BRAND _B323 - !WORD _B323-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $40 ; ISEQ -_B323 - !BYTE $4C ; BRFLS _B324 - !WORD _B324-* - !BYTE $54 ; CALL _C009 -_F296 !WORD _C009 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B325 - !WORD _B325-* -_B324 -; lisp/s-expr.pla: 1165: copy=>cdr = expr=>cdr -; lisp/s-expr.pla: 1166: expr = NULL -; lisp/s-expr.pla: 1167: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B325 -; lisp/s-expr.pla: 1168: loop -_B319 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B317 - !WORD _B317-* -_B318 -; lisp/s-expr.pla: 1169: return pop_sweep_stack - !BYTE $54 ; CALL _C004 -_F297 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1170: fin -_B315 -_B316 -; lisp/s-expr.pla: 1171: return expr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1172: end -; lisp/s-expr.pla: 1173: -; lisp/s-expr.pla: 1174: // -; lisp/s-expr.pla: 1175: // Base native functions -; lisp/s-expr.pla: 1176: // -; lisp/s-expr.pla: 1177: -; lisp/s-expr.pla: 1178: export def bool_pred(bool) - ; bool -> [0] -_C036 ; bool_pred() -; lisp/s-expr.pla: 1179: return bool ?? sym_true :: NULL - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B326 - !WORD _B326-* - !BYTE $6A ; LAW _D081+0 -_F298 !WORD _D081+0 - !BYTE $50 ; BRNCH _B327 - !WORD _B327-* -_B326 - !BYTE $00 ; CN 0 -_B327 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-expr.pla: 1180: end -; lisp/s-expr.pla: 1181: -; lisp/s-expr.pla: 1182: def natv_atom(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C037 ; natv_atom() -; lisp/s-expr.pla: 1183: symptr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1184: return bool_pred(!symptr or symptr->type <> CONS_TYPE)) - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F299 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B328 - !WORD _B328-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $42 ; ISNE -_B328 - !BYTE $54 ; CALL _C036 -_F300 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1185: end -; lisp/s-expr.pla: 1186: -; lisp/s-expr.pla: 1187: def natv_null(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C038 ; natv_null() -; lisp/s-expr.pla: 1188: return bool_pred(!eval_expr(expr=>car)) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F301 !WORD _C033 - !BYTE $80 ; NOT - !BYTE $54 ; CALL _C036 -_F302 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1189: end -; lisp/s-expr.pla: 1190: -; lisp/s-expr.pla: 1191: def natv_eq(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C039 ; natv_eq() -; lisp/s-expr.pla: 1192: byte iseq, i - ; iseq -> [4] - ; i -> [5] -; lisp/s-expr.pla: 1193: var int[2], ext[5] - ; int -> [6] - ; ext -> [10] -; lisp/s-expr.pla: 1194: -; lisp/s-expr.pla: 1195: iseq = FALSE - !BYTE $58,$14,$02 ; ENTER 20,2 -; lisp/s-expr.pla: 1196: symptr = eval_expr(expr=>car) -; lisp/s-expr.pla: 1197: if symptr->type == NUM_INT -; lisp/s-expr.pla: 1198: int[0] = symptr=>intval[0] -; lisp/s-expr.pla: 1199: int[1] = symptr=>intval[1] -; lisp/s-expr.pla: 1200: expr = eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1201: if expr->type == NUM_INT -; lisp/s-expr.pla: 1202: iseq = int[0] == expr=>intval[0] and int[1] == expr=>intval[1] -; lisp/s-expr.pla: 1203: fin - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F303 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B329 - !WORD _B329-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F304 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B331 - !WORD _B331-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B333 - !WORD _B333-* - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B333 - !BYTE $74,$04 ; SLB [4] -_B331 -_B332 -; lisp/s-expr.pla: 1204: elsif symptr->type == NUM_FLOAT - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -_B329 -; lisp/s-expr.pla: 1205: ext[0] = symptr=>floatval[0] -; lisp/s-expr.pla: 1206: ext[1] = symptr=>floatval[1] -; lisp/s-expr.pla: 1207: ext[2] = symptr=>floatval[2] -; lisp/s-expr.pla: 1208: ext[3] = symptr=>floatval[3] -; lisp/s-expr.pla: 1209: ext[4] = symptr=>floatval[4] -; lisp/s-expr.pla: 1210: expr = eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1211: if expr->type == NUM_FLOAT -; lisp/s-expr.pla: 1212: iseq = TRUE -; lisp/s-expr.pla: 1213: for i = 0 to 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B334 - !WORD _B334-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $04 ; CN 2 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $06 ; CN 3 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $08 ; CN 4 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F305 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B335 - !WORD _B335-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$04 ; SLB [4] - !BYTE $08 ; CN 4 - !BYTE $00 ; CN 0 -_B338 - !BYTE $6C,$05 ; DLB [5] -; lisp/s-expr.pla: 1214: if ext[i] <> expr=>floatval[i] -; lisp/s-expr.pla: 1215: iseq = FALSE -; lisp/s-expr.pla: 1216: break - !BYTE $28,$0A ; LLA [10] - !BYTE $B8,$05 ; IDXLB [5] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $B8,$05 ; IDXLB [5] - !BYTE $62 ; LW - !BYTE $22 ; BREQ _B340 - !WORD _B340-* - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B337 - !WORD _B337-* -; lisp/s-expr.pla: 1217: fin -_B340 -_B341 -; lisp/s-expr.pla: 1218: next -_B339 - !BYTE $A4 ; INCBRLE _B338 - !WORD _B338-* -_B337 - !BYTE $74,$05 ; SLB [5] - !BYTE $30 ; DROP -; lisp/s-expr.pla: 1219: fin -_B335 -_B336 -; lisp/s-expr.pla: 1220: else - !BYTE $50 ; BRNCH _B330 - !WORD _B330-* -_B334 -; lisp/s-expr.pla: 1221: iseq = symptr == eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1222: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F306 !WORD _C033 - !BYTE $40 ; ISEQ - !BYTE $74,$04 ; SLB [4] -_B330 -; lisp/s-expr.pla: 1223: return bool_pred(iseq) - !BYTE $64,$04 ; LLB [4] - !BYTE $54 ; CALL _C036 -_F307 !WORD _C036 - !BYTE $5A,$14 ; LEAVE 20 -; lisp/s-expr.pla: 1224: end -; lisp/s-expr.pla: 1225: -; lisp/s-expr.pla: 1226: def natv_number(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C040 ; natv_number() -; lisp/s-expr.pla: 1227: var num - ; num -> [4] -; lisp/s-expr.pla: 1228: char tempstr[TMPSTR_SIZE] - ; tempstr -> [6] -; lisp/s-expr.pla: 1229: -; lisp/s-expr.pla: 1230: expr = eval_expr(expr=>car) - !BYTE $58,$86,$02 ; ENTER 134,2 -; lisp/s-expr.pla: 1231: if not expr; return NULL; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F308 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B342 - !WORD _B342-* - !BYTE $00 ; CN 0 - !BYTE $5A,$86 ; LEAVE 134 -_B342 -_B343 -; lisp/s-expr.pla: 1232: when expr->type & TYPE_MASK - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $52 ; SEL - !WORD _B345-* -; lisp/s-expr.pla: 1233: is STRING_TYPE // Convert string to number -_B346 -; lisp/s-expr.pla: 1234: memcpy(@tempstr, expr + stringstr, expr->stringstr + 1) -; lisp/s-expr.pla: 1235: tempstr[tempstr[0] + 1] = 0 -; lisp/s-expr.pla: 1236: drop, expr = parse_num(@tempstr + 1) -; lisp/s-expr.pla: 1237: break - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F309 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $28,$06 ; LLA [6] - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _C020 -_F310 !WORD _C020 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B344 - !WORD _B344-* -; lisp/s-expr.pla: 1238: is SYM_TYPE -_B347 -; lisp/s-expr.pla: 1239: is ARRAY_TYPE -_B348 -; lisp/s-expr.pla: 1240: expr = NULL -; lisp/s-expr.pla: 1241: is NUM_TYPE - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B349 -; lisp/s-expr.pla: 1242: wend - !BYTE $50 ; BRNCH _B344 - !WORD _B344-* -_B345 - !BYTE $04 ; CASEBLOCK - !WORD $0020 - !WORD _B347-* - !WORD $0030 - !WORD _B349-* - !WORD $0040 - !WORD _B348-* - !WORD $0050 - !WORD _B346-* -_B344 -; lisp/s-expr.pla: 1243: return expr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$86 ; LEAVE 134 -; lisp/s-expr.pla: 1244: end -; lisp/s-expr.pla: 1245: -; lisp/s-expr.pla: 1246: def natv_numberp(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C041 ; natv_numberp() -; lisp/s-expr.pla: 1247: expr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1248: return bool_pred(expr and (expr->type & TYPE_MASK == NUM_TYPE)) - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F311 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $AC ; BRAND _B350 - !WORD _B350-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B350 - !BYTE $54 ; CALL _C036 -_F312 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1249: end -; lisp/s-expr.pla: 1250: -; lisp/s-expr.pla: 1251: def natv_and(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C042 ; natv_and() -; lisp/s-expr.pla: 1252: while expr and eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B353 - !WORD _B353-* -_B351 -; lisp/s-expr.pla: 1253: expr = expr=>cdr -; lisp/s-expr.pla: 1254: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B353 - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B354 - !WORD _B354-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F313 !WORD _C033 -_B354 - !BYTE $4E ; BRTRU _B351 - !WORD _B351-* -_B352 -; lisp/s-expr.pla: 1255: return bool_pred(!expr) - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT - !BYTE $54 ; CALL _C036 -_F314 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1256: end -; lisp/s-expr.pla: 1257: -; lisp/s-expr.pla: 1258: def natv_or(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C043 ; natv_or() -; lisp/s-expr.pla: 1259: while expr and !eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B357 - !WORD _B357-* -_B355 -; lisp/s-expr.pla: 1260: expr = expr=>cdr -; lisp/s-expr.pla: 1261: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B357 - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B358 - !WORD _B358-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F315 !WORD _C033 - !BYTE $80 ; NOT -_B358 - !BYTE $4E ; BRTRU _B355 - !WORD _B355-* -_B356 -; lisp/s-expr.pla: 1262: return bool_pred(expr) - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C036 -_F316 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1263: end -; lisp/s-expr.pla: 1264: -; lisp/s-expr.pla: 1265: def natv_cons(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C044 ; natv_cons() -; lisp/s-expr.pla: 1266: symptr = push_sweep_stack(new_cons) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1267: symptr=>car = eval_expr(expr=>car) -; lisp/s-expr.pla: 1268: symptr=>cdr = eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1269: return pop_sweep_stack - !BYTE $54 ; CALL _C009 -_F317 !WORD _C009 - !BYTE $54 ; CALL _C003 -_F318 !WORD _C003 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F319 !WORD _C033 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F320 !WORD _C033 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $54 ; CALL _C004 -_F321 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1270: end -; lisp/s-expr.pla: 1271: -; lisp/s-expr.pla: 1272: def natv_list(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C045 ; natv_list() -; lisp/s-expr.pla: 1273: if expr - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1274: symptr = push_sweep_stack(new_cons) -; lisp/s-expr.pla: 1275: repeat - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B359 - !WORD _B359-* - !BYTE $54 ; CALL _C009 -_F322 !WORD _C009 - !BYTE $54 ; CALL _C003 -_F323 !WORD _C003 - !BYTE $76,$00 ; SLW [0] -_B362 -; lisp/s-expr.pla: 1276: symptr=>car = eval_expr(expr=>car) -; lisp/s-expr.pla: 1277: expr = expr=>cdr -; lisp/s-expr.pla: 1278: if expr -; lisp/s-expr.pla: 1279: symptr=>cdr = new_cons -; lisp/s-expr.pla: 1280: symptr = symptr=>cdr -; lisp/s-expr.pla: 1281: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F324 !WORD _C033 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B364 - !WORD _B364-* - !BYTE $54 ; CALL _C009 -_F325 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B364 -_B365 -; lisp/s-expr.pla: 1282: until !expr -_B363 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B362 - !WORD _B362-* -_B361 -; lisp/s-expr.pla: 1283: return pop_sweep_stack - !BYTE $54 ; CALL _C004 -_F326 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1284: fin -_B359 -_B360 -; lisp/s-expr.pla: 1285: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1286: end -; lisp/s-expr.pla: 1287: -; lisp/s-expr.pla: 1288: def natv_car(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C046 ; natv_car() -; lisp/s-expr.pla: 1289: return eval_expr(expr=>car)=>car - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F327 !WORD _C033 - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1290: end -; lisp/s-expr.pla: 1291: -; lisp/s-expr.pla: 1292: def natv_cdr(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C047 ; natv_cdr() -; lisp/s-expr.pla: 1293: return eval_expr(expr=>car)=>cdr - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F328 !WORD _C033 - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1294: end -; lisp/s-expr.pla: 1295: -; lisp/s-expr.pla: 1296: def natv_quote(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C048 ; natv_quote() -; lisp/s-expr.pla: 1297: return expr=>car - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1298: end -; lisp/s-expr.pla: 1299: -; lisp/s-expr.pla: 1300: def natv_function(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C049 ; natv_function() -; lisp/s-expr.pla: 1301: var funptr - ; funptr -> [4] -; lisp/s-expr.pla: 1302: -; lisp/s-expr.pla: 1303: expr = expr=>car - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/s-expr.pla: 1304: if expr->type & TYPE_MASK == SYM_TYPE -; lisp/s-expr.pla: 1305: if !expr=>natv // Not native function -; lisp/s-expr.pla: 1306: if expr=>lambda // DEFINEd lambda S-expression -; lisp/s-expr.pla: 1307: expr = expr=>lambda -; lisp/s-expr.pla: 1308: else - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B366 - !WORD _B366-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B368 - !WORD _B368-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B370 - !WORD _B370-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B371 - !WORD _B371-* -_B370 -; lisp/s-expr.pla: 1309: expr = assoc(expr) -; lisp/s-expr.pla: 1310: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C027 -_F329 !WORD _C027 - !BYTE $76,$02 ; SLW [2] -_B371 -; lisp/s-expr.pla: 1311: if !expr or expr->type <> CONS_TYPE or expr=>car <> sym_lambda -; lisp/s-expr.pla: 1312: err_expr = expr -; lisp/s-expr.pla: 1313: throw(exception, ERR_NOT_FUN) -; lisp/s-expr.pla: 1314: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B372 - !WORD _B372-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B373 - !WORD _B373-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D083+0 -_F330 !WORD _D083+0 - !BYTE $42 ; ISNE -_B373 -_B372 - !BYTE $4C ; BRFLS _B374 - !WORD _B374-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D068+0 -_F331 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F332 !WORD _D067+0 - !BYTE $5E,$F8 ; CFFB -8 - !BYTE $54 ; CALL _X062 -_F333 !WORD 0 - !BYTE $30 ; DROP -_B374 -_B375 -; lisp/s-expr.pla: 1315: fin -_B368 -_B369 -; lisp/s-expr.pla: 1316: fin -_B366 -_B367 -; lisp/s-expr.pla: 1317: funptr = new_cons -; lisp/s-expr.pla: 1318: symptr = funptr -; lisp/s-expr.pla: 1319: symptr=>car = sym_funarg -; lisp/s-expr.pla: 1320: symptr=>cdr = new_cons -; lisp/s-expr.pla: 1321: symptr = symptr=>cdr -; lisp/s-expr.pla: 1322: symptr=>car = expr -; lisp/s-expr.pla: 1323: symptr=>cdr = new_cons -; lisp/s-expr.pla: 1324: symptr = symptr=>cdr -; lisp/s-expr.pla: 1325: symptr=>car = copy_expr(assoc_list) -; lisp/s-expr.pla: 1326: return funptr - !BYTE $54 ; CALL _C009 -_F334 !WORD _C009 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D084+0 -_F335 !WORD _D084+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $54 ; CALL _C009 -_F336 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $54 ; CALL _C009 -_F337 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D070+0 -_F338 !WORD _D070+0 - !BYTE $54 ; CALL _C035 -_F339 !WORD _C035 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 1327: end -; lisp/s-expr.pla: 1328: -; lisp/s-expr.pla: 1329: def natv_define(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C050 ; natv_define() -; lisp/s-expr.pla: 1330: -; lisp/s-expr.pla: 1331: var deflist, funcptr - ; deflist -> [4] - ; funcptr -> [6] -; lisp/s-expr.pla: 1332: -; lisp/s-expr.pla: 1333: deflist = NULL - !BYTE $58,$08,$02 ; ENTER 8,2 -; lisp/s-expr.pla: 1334: if expr -; lisp/s-expr.pla: 1335: deflist = new_cons -; lisp/s-expr.pla: 1336: funcptr = deflist -; lisp/s-expr.pla: 1337: fin - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B376 - !WORD _B376-* - !BYTE $54 ; CALL _C009 -_F340 !WORD _C009 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$06 ; SLW [6] -_B376 -_B377 -; lisp/s-expr.pla: 1338: while expr - !BYTE $50 ; BRNCH _B380 - !WORD _B380-* -_B378 -; lisp/s-expr.pla: 1339: symptr = expr=>car=>car -; lisp/s-expr.pla: 1340: symptr=>lambda = expr=>car=>cdr=>car -; lisp/s-expr.pla: 1341: funcptr=>car = symptr -; lisp/s-expr.pla: 1342: expr = expr=>cdr -; lisp/s-expr.pla: 1343: if expr -; lisp/s-expr.pla: 1344: funcptr=>cdr = new_cons -; lisp/s-expr.pla: 1345: funcptr = funcptr=>cdr -; lisp/s-expr.pla: 1346: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B381 - !WORD _B381-* - !BYTE $54 ; CALL _C009 -_F341 !WORD _C009 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B381 -_B382 -; lisp/s-expr.pla: 1347: loop -_B380 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B378 - !WORD _B378-* -_B379 -; lisp/s-expr.pla: 1348: return deflist - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-expr.pla: 1349: end -; lisp/s-expr.pla: 1350: -; lisp/s-expr.pla: 1351: def natv_cset(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C051 ; natv_cset() -; lisp/s-expr.pla: 1352: symptr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1353: if symptr->type & TYPE_MASK <> SYM_TYPE -; lisp/s-expr.pla: 1354: err_expr = symptr -; lisp/s-expr.pla: 1355: throw(exception, ERR_NOT_SYM) -; lisp/s-expr.pla: 1356: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F342 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B383 - !WORD _B383-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F343 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F344 !WORD _D067+0 - !BYTE $5E,$FA ; CFFB -6 - !BYTE $54 ; CALL _X062 -_F345 !WORD 0 - !BYTE $30 ; DROP -_B383 -_B384 -; lisp/s-expr.pla: 1357: expr = eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1358: symptr=>apval = expr ^ NULL_HACK -; lisp/s-expr.pla: 1359: return expr - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F346 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1360: end -; lisp/s-expr.pla: 1361: -; lisp/s-expr.pla: 1362: def natv_csetq(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C052 ; natv_csetq() -; lisp/s-expr.pla: 1363: symptr = expr=>car - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1364: if symptr->type & TYPE_MASK <> SYM_TYPE -; lisp/s-expr.pla: 1365: err_expr = symptr -; lisp/s-expr.pla: 1366: throw(exception, ERR_NOT_SYM) -; lisp/s-expr.pla: 1367: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B385 - !WORD _B385-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F347 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F348 !WORD _D067+0 - !BYTE $5E,$FA ; CFFB -6 - !BYTE $54 ; CALL _X062 -_F349 !WORD 0 - !BYTE $30 ; DROP -_B385 -_B386 -; lisp/s-expr.pla: 1368: expr = eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1369: symptr=>apval = expr ^ NULL_HACK -; lisp/s-expr.pla: 1370: return expr - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F350 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1371: end -; lisp/s-expr.pla: 1372: -; lisp/s-expr.pla: 1373: def natv_prhex(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C053 ; natv_prhex() -; lisp/s-expr.pla: 1374: if expr - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1375: prhex = eval_expr(expr=>car) ?? TRUE :: FALSE -; lisp/s-expr.pla: 1376: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B387 - !WORD _B387-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F351 !WORD _C033 - !BYTE $4C ; BRFLS _B389 - !WORD _B389-* - !BYTE $20 ; MINUS ONE - !BYTE $50 ; BRNCH _B390 - !WORD _B390-* -_B389 - !BYTE $00 ; CN 0 -_B390 - !BYTE $78 ; SAB _D063+0 -_F352 !WORD _D063+0 -_B387 -_B388 -; lisp/s-expr.pla: 1377: return bool_pred(prhex) - !BYTE $68 ; LAB _D063+0 -_F353 !WORD _D063+0 - !BYTE $54 ; CALL _C036 -_F354 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1378: end -; lisp/s-expr.pla: 1379: -; lisp/s-expr.pla: 1380: def natv_prin(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C054 ; natv_prin() -; lisp/s-expr.pla: 1381: var result - ; result -> [4] -; lisp/s-expr.pla: 1382: -; lisp/s-expr.pla: 1383: result = NULL - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/s-expr.pla: 1384: while expr - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B393 - !WORD _B393-* -_B391 -; lisp/s-expr.pla: 1385: result = eval_expr(expr=>car) -; lisp/s-expr.pla: 1386: print_expr(result) -; lisp/s-expr.pla: 1387: expr = expr=>cdr -; lisp/s-expr.pla: 1388: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F355 !WORD _C033 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C017 -_F356 !WORD _C017 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B393 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B391 - !WORD _B391-* -_B392 -; lisp/s-expr.pla: 1389: return result - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 1390: end -; lisp/s-expr.pla: 1391: -; lisp/s-expr.pla: 1392: def natv_print(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C055 ; natv_print() -; lisp/s-expr.pla: 1393: expr = natv_prin(symptr, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1394: putln -; lisp/s-expr.pla: 1395: return expr - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C054 -_F357 !WORD _C054 - !BYTE $76,$02 ; SLW [2] - !BYTE $54 ; CALL _X003 -_F358 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1396: end -; lisp/s-expr.pla: 1397: -; lisp/s-expr.pla: 1398: def natv_eval(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C056 ; natv_eval() -; lisp/s-expr.pla: 1399: return eval_expr(eval_expr(expr=>car)) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F359 !WORD _C033 - !BYTE $54 ; CALL _C033 -_F360 !WORD _C033 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1400: end -; lisp/s-expr.pla: 1401: -; lisp/s-expr.pla: 1402: def natv_trace(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C057 ; natv_trace() -; lisp/s-expr.pla: 1403: if expr - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1404: trace = eval_expr(expr=>car) ?? TRUE :: FALSE -; lisp/s-expr.pla: 1405: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B394 - !WORD _B394-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F361 !WORD _C033 - !BYTE $4C ; BRFLS _B396 - !WORD _B396-* - !BYTE $20 ; MINUS ONE - !BYTE $50 ; BRNCH _B397 - !WORD _B397-* -_B396 - !BYTE $00 ; CN 0 -_B397 - !BYTE $78 ; SAB _D066+0 -_F362 !WORD _D066+0 -_B394 -_B395 -; lisp/s-expr.pla: 1406: return bool_pred(trace) - !BYTE $68 ; LAB _D066+0 -_F363 !WORD _D066+0 - !BYTE $54 ; CALL _C036 -_F364 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1407: end -; lisp/s-expr.pla: 1408: -; lisp/s-expr.pla: 1409: def natv_copy(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C058 ; natv_copy() -; lisp/s-expr.pla: 1410: return copy_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C035 -_F365 !WORD _C035 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1411: end -; lisp/s-expr.pla: 1412: -; lisp/s-expr.pla: 1413: // -; lisp/s-expr.pla: 1414: // Arrays -; lisp/s-expr.pla: 1415: // -; lisp/s-expr.pla: 1416: -; lisp/s-expr.pla: 1417: def natv_arrayp(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C059 ; natv_arrayp() -; lisp/s-expr.pla: 1418: expr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1419: return bool_pred(expr and expr->type == ARRAY_TYPE) - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F366 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $AC ; BRAND _B398 - !WORD _B398-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$40 ; CB 64 - !BYTE $40 ; ISEQ -_B398 - !BYTE $54 ; CALL _C036 -_F367 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1420: end -; lisp/s-expr.pla: 1421: -; lisp/s-expr.pla: 1422: def eval_index(arrayptr, expr) - ; arrayptr -> [0] - ; expr -> [2] -_C060 ; eval_index() -; lisp/s-expr.pla: 1423: var idx[4], i, ii, index - ; idx -> [4] - ; i -> [12] - ; ii -> [14] - ; index -> [16] -; lisp/s-expr.pla: 1424: -; lisp/s-expr.pla: 1425: ii = 0 - !BYTE $58,$12,$02 ; ENTER 18,2 -; lisp/s-expr.pla: 1426: while expr and ii < 4 - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $50 ; BRNCH _B401 - !WORD _B401-* -_B399 -; lisp/s-expr.pla: 1427: index = eval_expr(expr=>car) -; lisp/s-expr.pla: 1428: if index->type <> NUM_INT or isuge(index=>intval, arrayptr=>dimension[ii]) -; lisp/s-expr.pla: 1429: err_expr = expr -; lisp/s-expr.pla: 1430: throw(exception, ERR_BAD_INDEX) -; lisp/s-expr.pla: 1431: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F368 !WORD _C033 - !BYTE $6E,$10 ; DLW [16] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B403 - !WORD _B403-* - !BYTE $66,$10 ; LLW [16] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X025 -_F369 !WORD 0 -_B403 - !BYTE $4C ; BRFLS _B404 - !WORD _B404-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D068+0 -_F370 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F371 !WORD _D067+0 - !BYTE $5E,$F3 ; CFFB -13 - !BYTE $54 ; CALL _X062 -_F372 !WORD 0 - !BYTE $30 ; DROP -_B404 -_B405 -; lisp/s-expr.pla: 1432: idx[ii] = index=>intval -; lisp/s-expr.pla: 1433: expr = expr=>cdr -; lisp/s-expr.pla: 1434: ii++ - !BYTE $66,$10 ; LLW [16] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $28,$04 ; LLA [4] - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 1435: loop - !BYTE $76,$0E ; SLW [14] -_B401 - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B402 - !WORD _B402-* - !BYTE $66,$0E ; LLW [14] - !BYTE $08 ; CN 4 - !BYTE $46 ; ISLT -_B402 - !BYTE $4E ; BRTRU _B399 - !WORD _B399-* -_B400 -; lisp/s-expr.pla: 1436: index = 0 -; lisp/s-expr.pla: 1437: while ii - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B408 - !WORD _B408-* -_B406 -; lisp/s-expr.pla: 1438: ii-- - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; lisp/s-expr.pla: 1439: index = index + idx[ii] * arrayptr=>offset[ii] -; lisp/s-expr.pla: 1440: loop - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $28,$04 ; LLA [4] - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0B ; ADDI 11 - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $76,$10 ; SLW [16] -_B408 - !BYTE $66,$0E ; LLW [14] - !BYTE $4E ; BRTRU _B406 - !WORD _B406-* -_B407 -; lisp/s-expr.pla: 1441: return arrayptr=>arraymem + index - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$15 ; ADDI 21 - !BYTE $62 ; LW - !BYTE $B2,$10 ; ADDLW [16] - !BYTE $5A,$12 ; LEAVE 18 -; lisp/s-expr.pla: 1442: end -; lisp/s-expr.pla: 1443: -; lisp/s-expr.pla: 1444: def natv_index(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C061 ; natv_index() -; lisp/s-expr.pla: 1445: var elemptr - ; elemptr -> [4] -; lisp/s-expr.pla: 1446: -; lisp/s-expr.pla: 1447: if expr=>car == sym_set - !BYTE $58,$06,$02 ; ENTER 6,2 -; lisp/s-expr.pla: 1448: elemptr = eval_index(symptr=>array, expr=>cdr=>cdr) -; lisp/s-expr.pla: 1449: if elemptr; *elemptr = eval_expr(expr=>cdr=>car); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D085+0 -_F373 !WORD _D085+0 - !BYTE $24 ; BRNE _B409 - !WORD _B409-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C060 -_F374 !WORD _C060 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B411 - !WORD _B411-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F375 !WORD _C033 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B411 -_B412 -; lisp/s-expr.pla: 1450: else - !BYTE $50 ; BRNCH _B410 - !WORD _B410-* -_B409 -; lisp/s-expr.pla: 1451: elemptr = eval_index(symptr=>array, expr) -; lisp/s-expr.pla: 1452: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C060 -_F376 !WORD _C060 - !BYTE $76,$04 ; SLW [4] -_B410 -; lisp/s-expr.pla: 1453: return elemptr ?? *elemptr :: NULL - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B413 - !WORD _B413-* - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $50 ; BRNCH _B414 - !WORD _B414-* -_B413 - !BYTE $00 ; CN 0 -_B414 - !BYTE $5A,$06 ; LEAVE 6 -; lisp/s-expr.pla: 1454: end -; lisp/s-expr.pla: 1455: -; lisp/s-expr.pla: 1456: def natv_array(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C062 ; natv_array() -; lisp/s-expr.pla: 1457: var arraylist, aptr - ; arraylist -> [4] - ; aptr -> [6] -; lisp/s-expr.pla: 1458: var idx_expr, idx[4], ii, index - ; idx_expr -> [8] - ; idx -> [10] - ; ii -> [18] - ; index -> [20] -; lisp/s-expr.pla: 1459: -; lisp/s-expr.pla: 1460: arraylist = NULL - !BYTE $58,$16,$02 ; ENTER 22,2 -; lisp/s-expr.pla: 1461: if expr -; lisp/s-expr.pla: 1462: arraylist = new_cons -; lisp/s-expr.pla: 1463: aptr = arraylist -; lisp/s-expr.pla: 1464: fin - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B415 - !WORD _B415-* - !BYTE $54 ; CALL _C009 -_F377 !WORD _C009 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$06 ; SLW [6] -_B415 -_B416 -; lisp/s-expr.pla: 1465: while expr - !BYTE $50 ; BRNCH _B419 - !WORD _B419-* -_B417 -; lisp/s-expr.pla: 1466: symptr = expr=>car=>car -; lisp/s-expr.pla: 1467: symptr=>natv = @natv_index -; lisp/s-expr.pla: 1468: idx_expr = expr=>car=>cdr=>car -; lisp/s-expr.pla: 1469: idx[0] = 0 -; lisp/s-expr.pla: 1470: idx[1] = 0 -; lisp/s-expr.pla: 1471: idx[2] = 0 -; lisp/s-expr.pla: 1472: idx[3] = 0 -; lisp/s-expr.pla: 1473: ii = 0 -; lisp/s-expr.pla: 1474: while idx_expr and ii < 4 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _C061+0 -_F378 !WORD _C061+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $76,$12 ; SLW [18] - !BYTE $50 ; BRNCH _B422 - !WORD _B422-* -_B420 -; lisp/s-expr.pla: 1475: index = eval_expr(idx_expr=>car) -; lisp/s-expr.pla: 1476: if index->type <> NUM_INT -; lisp/s-expr.pla: 1477: err_expr = index -; lisp/s-expr.pla: 1478: throw(exception, ERR_BAD_INDEX) -; lisp/s-expr.pla: 1479: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F379 !WORD _C033 - !BYTE $6E,$14 ; DLW [20] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $22 ; BREQ _B424 - !WORD _B424-* - !BYTE $66,$14 ; LLW [20] - !BYTE $7A ; SAW _D068+0 -_F380 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F381 !WORD _D067+0 - !BYTE $5E,$F3 ; CFFB -13 - !BYTE $54 ; CALL _X062 -_F382 !WORD 0 - !BYTE $30 ; DROP -_B424 -_B425 -; lisp/s-expr.pla: 1480: idx[ii] = index=>intval -; lisp/s-expr.pla: 1481: idx_expr = idx_expr=>cdr -; lisp/s-expr.pla: 1482: ii++ - !BYTE $66,$14 ; LLW [20] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $28,$0A ; LLA [10] - !BYTE $BA,$12 ; IDXLW [18] - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$12 ; LLW [18] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 1483: loop - !BYTE $76,$12 ; SLW [18] -_B422 - !BYTE $66,$08 ; LLW [8] - !BYTE $AC ; BRAND _B423 - !WORD _B423-* - !BYTE $66,$12 ; LLW [18] - !BYTE $08 ; CN 4 - !BYTE $46 ; ISLT -_B423 - !BYTE $4E ; BRTRU _B420 - !WORD _B420-* -_B421 -; lisp/s-expr.pla: 1484: symptr=>array = new_array(idx[0], idx[1], idx[2], idx[3]) -; lisp/s-expr.pla: 1485: aptr=>car = symptr -; lisp/s-expr.pla: 1486: expr = expr=>cdr -; lisp/s-expr.pla: 1487: if expr -; lisp/s-expr.pla: 1488: aptr=>cdr = new_cons -; lisp/s-expr.pla: 1489: aptr = aptr=>cdr -; lisp/s-expr.pla: 1490: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C012 -_F383 !WORD _C012 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B426 - !WORD _B426-* - !BYTE $54 ; CALL _C009 -_F384 !WORD _C009 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B426 -_B427 -; lisp/s-expr.pla: 1491: loop -_B419 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B417 - !WORD _B417-* -_B418 -; lisp/s-expr.pla: 1492: return arraylist - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$16 ; LEAVE 22 -; lisp/s-expr.pla: 1493: end -; lisp/s-expr.pla: 1494: -; lisp/s-expr.pla: 1495: // -; lisp/s-expr.pla: 1496: // Strings language extension -; lisp/s-expr.pla: 1497: // -; lisp/s-expr.pla: 1498: -; lisp/s-expr.pla: 1499: def natv_string(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C063 ; natv_string() -; lisp/s-expr.pla: 1500: char tempstr[TMPSTR_SIZE] - ; tempstr -> [4] -; lisp/s-expr.pla: 1501: -; lisp/s-expr.pla: 1502: expr = eval_expr(expr=>car) - !BYTE $58,$84,$02 ; ENTER 132,2 -; lisp/s-expr.pla: 1503: if not expr; return NULL; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F385 !WORD _C033 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B428 - !WORD _B428-* - !BYTE $00 ; CN 0 - !BYTE $5A,$84 ; LEAVE 132 -_B428 -_B429 -; lisp/s-expr.pla: 1504: tempstr[0] = 0 -; lisp/s-expr.pla: 1505: when expr->type & TYPE_MASK - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $52 ; SEL - !WORD _B431-* -; lisp/s-expr.pla: 1506: is NUM_TYPE -_B432 -; lisp/s-expr.pla: 1507: when expr->type - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B434-* -; lisp/s-expr.pla: 1508: is NUM_INT -_B435 -; lisp/s-expr.pla: 1509: i32tos(expr + intval, @tempstr) -; lisp/s-expr.pla: 1510: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X055 -_F386 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B433 - !WORD _B433-* -; lisp/s-expr.pla: 1511: is NUM_FLOAT -_B436 -; lisp/s-expr.pla: 1512: ext2str(expr + floatval, @tempstr, fmt_fpint, fmt_fpfrac, fmt_fp) -; lisp/s-expr.pla: 1513: if tempstr[1] == ' ' // Remove leading space -; lisp/s-expr.pla: 1514: memcpy (@tempstr + 1, @tempstr + 2, tempstr[0]) -; lisp/s-expr.pla: 1515: tempstr[0]-- - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $28,$04 ; LLA [4] - !BYTE $6A ; LAW _D064+0 -_F387 !WORD _D064+0 - !BYTE $6A ; LAW _D065+0 -_F388 !WORD _D065+0 - !BYTE $16 ; CN 11 - !BYTE $54 ; CALL _X059 -_F389 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B437 - !WORD _B437-* - !BYTE $28,$05 ; LLA [5] - !BYTE $28,$06 ; LLA [6] - !BYTE $64,$04 ; LLB [4] - !BYTE $54 ; CALL _X018 -_F390 !WORD 0 - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; lisp/s-expr.pla: 1516: fin - !BYTE $74,$04 ; SLB [4] -_B437 -_B438 -; lisp/s-expr.pla: 1517: break - !BYTE $50 ; BRNCH _B433 - !WORD _B433-* -; lisp/s-expr.pla: 1518: wend - !BYTE $50 ; BRNCH _B433 - !WORD _B433-* -_B434 - !BYTE $02 ; CASEBLOCK - !WORD $0031 - !WORD _B435-* - !WORD $0032 - !WORD _B436-* -_B433 -; lisp/s-expr.pla: 1519: break - !BYTE $50 ; BRNCH _B430 - !WORD _B430-* -; lisp/s-expr.pla: 1520: is SYM_TYPE -_B439 -; lisp/s-expr.pla: 1521: tempstr[0] = expr->type & SYM_LEN -; lisp/s-expr.pla: 1522: memcpy(@tempstr + 1, expr + name, tempstr[0]) -; lisp/s-expr.pla: 1523: break; - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $74,$04 ; SLB [4] - !BYTE $28,$05 ; LLA [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $64,$04 ; LLB [4] - !BYTE $54 ; CALL _X018 -_F391 !WORD 0 - !BYTE $50 ; BRNCH _B430 - !WORD _B430-* -; lisp/s-expr.pla: 1524: is ARRAY_TYPE -_B440 -; lisp/s-expr.pla: 1525: tempstr[0] = 2 -; lisp/s-expr.pla: 1526: tempstr[1] = '[' -; lisp/s-expr.pla: 1527: tempstr[2] = ']' -; lisp/s-expr.pla: 1528: break; - !BYTE $04 ; CN 2 - !BYTE $74,$04 ; SLB [4] - !BYTE $2A,$5B ; CB 91 - !BYTE $74,$05 ; SLB [5] - !BYTE $2A,$5D ; CB 93 - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B430 - !WORD _B430-* -; lisp/s-expr.pla: 1529: wend - !BYTE $50 ; BRNCH _B430 - !WORD _B430-* -_B431 - !BYTE $03 ; CASEBLOCK - !WORD $0020 - !WORD _B439-* - !WORD $0030 - !WORD _B432-* - !WORD $0040 - !WORD _B440-* -_B430 -; lisp/s-expr.pla: 1530: return new_string(@tempstr) - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C014 -_F392 !WORD _C014 - !BYTE $5A,$84 ; LEAVE 132 -; lisp/s-expr.pla: 1531: end -; lisp/s-expr.pla: 1532: -; lisp/s-expr.pla: 1533: def natv_stringp(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C064 ; natv_stringp() -; lisp/s-expr.pla: 1534: return bool_pred(eval_expr(expr=>car)->type == STRING_TYPE) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F393 !WORD _C033 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$50 ; CB 80 - !BYTE $40 ; ISEQ - !BYTE $54 ; CALL _C036 -_F394 !WORD _C036 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1535: end -; lisp/s-expr.pla: 1536: -; lisp/s-expr.pla: 1537: def natv_subs(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C065 ; natv_subs() -; lisp/s-expr.pla: 1538: var stringptr - ; stringptr -> [4] -; lisp/s-expr.pla: 1539: byte ofst, len - ; ofst -> [6] - ; len -> [7] -; lisp/s-expr.pla: 1540: char tempstr[TMPSTR_SIZE] - ; tempstr -> [8] -; lisp/s-expr.pla: 1541: -; lisp/s-expr.pla: 1542: stringptr = eval_expr(expr=>car) - !BYTE $58,$88,$02 ; ENTER 136,2 -; lisp/s-expr.pla: 1543: if stringptr->type <> STRING_TYPE -; lisp/s-expr.pla: 1544: err_expr = stringptr -; lisp/s-expr.pla: 1545: throw(exception, ERR_NOT_STR) -; lisp/s-expr.pla: 1546: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F395 !WORD _C033 - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$50 ; CB 80 - !BYTE $22 ; BREQ _B441 - !WORD _B441-* - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D068+0 -_F396 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F397 !WORD _D067+0 - !BYTE $5E,$F4 ; CFFB -12 - !BYTE $54 ; CALL _X062 -_F398 !WORD 0 - !BYTE $30 ; DROP -_B441 -_B442 -; lisp/s-expr.pla: 1547: symptr = eval_expr(expr=>cdr=>car) -; lisp/s-expr.pla: 1548: if symptr->type <> NUM_INT -; lisp/s-expr.pla: 1549: err_expr = symptr -; lisp/s-expr.pla: 1550: throw(exception, ERR_NOT_INT) -; lisp/s-expr.pla: 1551: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F399 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $22 ; BREQ _B443 - !WORD _B443-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F400 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F401 !WORD _D067+0 - !BYTE $5E,$F6 ; CFFB -10 - !BYTE $54 ; CALL _X062 -_F402 !WORD 0 - !BYTE $30 ; DROP -_B443 -_B444 -; lisp/s-expr.pla: 1552: ofst = symptr=>intval[0] -; lisp/s-expr.pla: 1553: symptr = eval_expr(expr=>cdr=>cdr=>car) -; lisp/s-expr.pla: 1554: if symptr->type <> NUM_INT -; lisp/s-expr.pla: 1555: err_expr = symptr -; lisp/s-expr.pla: 1556: throw(exception, ERR_NOT_INT) -; lisp/s-expr.pla: 1557: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F403 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $22 ; BREQ _B445 - !WORD _B445-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F404 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F405 !WORD _D067+0 - !BYTE $5E,$F6 ; CFFB -10 - !BYTE $54 ; CALL _X062 -_F406 !WORD 0 - !BYTE $30 ; DROP -_B445 -_B446 -; lisp/s-expr.pla: 1558: len = symptr=>intval[0] -; lisp/s-expr.pla: 1559: if ofst > stringptr->stringstr -; lisp/s-expr.pla: 1560: return NULL - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $74,$07 ; SLB [7] - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B447 - !WORD _B447-* - !BYTE $00 ; CN 0 - !BYTE $5A,$88 ; LEAVE 136 -; lisp/s-expr.pla: 1561: fin -_B447 -_B448 -; lisp/s-expr.pla: 1562: if ofst + len > stringptr->stringstr -; lisp/s-expr.pla: 1563: len = stringptr->stringstr - ofst -; lisp/s-expr.pla: 1564: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B449 - !WORD _B449-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $64,$06 ; LLB [6] - !BYTE $84 ; SUB - !BYTE $74,$07 ; SLB [7] -_B449 -_B450 -; lisp/s-expr.pla: 1565: memcpy(@tempstr + 1, stringptr + stringstr + ofst + 1, len) -; lisp/s-expr.pla: 1566: tempstr[0] = len -; lisp/s-expr.pla: 1567: return new_string(@tempstr) - !BYTE $28,$09 ; LLA [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $8C ; INCR - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _X018 -_F407 !WORD 0 - !BYTE $64,$07 ; LLB [7] - !BYTE $74,$08 ; SLB [8] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C014 -_F408 !WORD _C014 - !BYTE $5A,$88 ; LEAVE 136 -; lisp/s-expr.pla: 1568: end -; lisp/s-expr.pla: 1569: -; lisp/s-expr.pla: 1570: def natv_cats(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C066 ; natv_cats() -; lisp/s-expr.pla: 1571: var len, stringptr - ; len -> [4] - ; stringptr -> [6] -; lisp/s-expr.pla: 1572: char tempstr[TMPSTR_SIZE] - ; tempstr -> [8] -; lisp/s-expr.pla: 1573: -; lisp/s-expr.pla: 1574: len = 0 - !BYTE $58,$88,$02 ; ENTER 136,2 -; lisp/s-expr.pla: 1575: while expr - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B453 - !WORD _B453-* -_B451 -; lisp/s-expr.pla: 1576: stringptr = eval_expr(expr=>car) -; lisp/s-expr.pla: 1577: if stringptr->type == STRING_TYPE -; lisp/s-expr.pla: 1578: if len + stringptr->stringstr < TMPSTR_SIZE -; lisp/s-expr.pla: 1579: memcpy(@tempstr + len + 1, stringptr + stringstr + 1, stringptr->stringstr) -; lisp/s-expr.pla: 1580: len = len + stringptr->stringstr -; lisp/s-expr.pla: 1581: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F409 !WORD _C033 - !BYTE $6E,$06 ; DLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$50 ; CB 80 - !BYTE $24 ; BRNE _B454 - !WORD _B454-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B456 - !WORD _B456-* - !BYTE $28,$08 ; LLA [8] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8C ; INCR - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $8C ; INCR - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F410 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] -_B456 -_B457 -; lisp/s-expr.pla: 1582: fin -_B454 -_B455 -; lisp/s-expr.pla: 1583: expr = expr=>cdr -; lisp/s-expr.pla: 1584: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B453 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B451 - !WORD _B451-* -_B452 -; lisp/s-expr.pla: 1585: tempstr[0] = len -; lisp/s-expr.pla: 1586: return new_string(@tempstr) - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$08 ; SLB [8] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C014 -_F411 !WORD _C014 - !BYTE $5A,$88 ; LEAVE 136 -; lisp/s-expr.pla: 1587: end -; lisp/s-expr.pla: 1588: -; lisp/s-expr.pla: 1589: def natv_lens(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C067 ; natv_lens() -; lisp/s-expr.pla: 1590: symptr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1591: if symptr->type <> STRING_TYPE -; lisp/s-expr.pla: 1592: err_expr = symptr -; lisp/s-expr.pla: 1593: throw(exception, ERR_NOT_STR) -; lisp/s-expr.pla: 1594: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F412 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$50 ; CB 80 - !BYTE $22 ; BREQ _B458 - !WORD _B458-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F413 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F414 !WORD _D067+0 - !BYTE $5E,$F4 ; CFFB -12 - !BYTE $54 ; CALL _X062 -_F415 !WORD 0 - !BYTE $30 ; DROP -_B458 -_B459 -; lisp/s-expr.pla: 1595: return new_int(symptr->stringstr, 0) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C010 -_F416 !WORD _C010 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1596: end -; lisp/s-expr.pla: 1597: -; lisp/s-expr.pla: 1598: def natv_chars(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C068 ; natv_chars() -; lisp/s-expr.pla: 1599: char tempstr[TMPSTR_SIZE] - ; tempstr -> [4] -; lisp/s-expr.pla: 1600: -; lisp/s-expr.pla: 1601: tempstr[0] = 0 - !BYTE $58,$84,$02 ; ENTER 132,2 -; lisp/s-expr.pla: 1602: while expr - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B462 - !WORD _B462-* -_B460 -; lisp/s-expr.pla: 1603: symptr = eval_expr(expr=>car) -; lisp/s-expr.pla: 1604: if symptr->type == NUM_INT -; lisp/s-expr.pla: 1605: tempstr[0]++ - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F417 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B463 - !WORD _B463-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; lisp/s-expr.pla: 1606: tempstr[tempstr[0]] = symptr=>intval[0] -; lisp/s-expr.pla: 1607: fin - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $28,$04 ; LLA [4] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B463 -_B464 -; lisp/s-expr.pla: 1608: expr = expr=>cdr -; lisp/s-expr.pla: 1609: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B462 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B460 - !WORD _B460-* -_B461 -; lisp/s-expr.pla: 1610: return new_string(@tempstr) - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C014 -_F418 !WORD _C014 - !BYTE $5A,$84 ; LEAVE 132 -; lisp/s-expr.pla: 1611: end -; lisp/s-expr.pla: 1612: -; lisp/s-expr.pla: 1613: def natv_ascii(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C069 ; natv_ascii() -; lisp/s-expr.pla: 1614: symptr = eval_expr(expr=>car) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1615: if symptr->type <> STRING_TYPE -; lisp/s-expr.pla: 1616: err_expr = symptr -; lisp/s-expr.pla: 1617: throw(exception, ERR_NOT_STR) -; lisp/s-expr.pla: 1618: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F419 !WORD _C033 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$50 ; CB 80 - !BYTE $22 ; BREQ _B465 - !WORD _B465-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F420 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F421 !WORD _D067+0 - !BYTE $5E,$F4 ; CFFB -12 - !BYTE $54 ; CALL _X062 -_F422 !WORD 0 - !BYTE $30 ; DROP -_B465 -_B466 -; lisp/s-expr.pla: 1619: return new_int(symptr->stringstr ?? symptr->stringstr[1] :: 0, 0) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B467 - !WORD _B467-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $50 ; BRNCH _B468 - !WORD _B468-* -_B467 - !BYTE $00 ; CN 0 -_B468 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C010 -_F423 !WORD _C010 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1620: end -; lisp/s-expr.pla: 1621: -; lisp/s-expr.pla: 1622: // -; lisp/s-expr.pla: 1623: // FOR(...) loop language extension -; lisp/s-expr.pla: 1624: // -; lisp/s-expr.pla: 1625: -; lisp/s-expr.pla: 1626: def natv_for(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C070 ; natv_for() -; lisp/s-expr.pla: 1627: var index, ufunc, dlist - ; index -> [4] - ; ufunc -> [6] - ; dlist -> [8] -; lisp/s-expr.pla: 1628: word[2] idxval, stepval - ; idxval -> [10] - ; stepval -> [14] -; lisp/s-expr.pla: 1629: -; lisp/s-expr.pla: 1630: index = expr=>car - !BYTE $58,$12,$02 ; ENTER 18,2 -; lisp/s-expr.pla: 1631: if index->type & TYPE_MASK <> SYM_TYPE -; lisp/s-expr.pla: 1632: err_expr = index -; lisp/s-expr.pla: 1633: throw(exception, ERR_NOT_SYM) -; lisp/s-expr.pla: 1634: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B469 - !WORD _B469-* - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D068+0 -_F424 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F425 !WORD _D067+0 - !BYTE $5E,$FA ; CFFB -6 - !BYTE $54 ; CALL _X062 -_F426 !WORD 0 - !BYTE $30 ; DROP -_B469 -_B470 -; lisp/s-expr.pla: 1635: expr = expr=>cdr -; lisp/s-expr.pla: 1636: symptr = eval_expr(expr=>car) -; lisp/s-expr.pla: 1637: expr = expr=>cdr -; lisp/s-expr.pla: 1638: if symptr->type <> NUM_INT -; lisp/s-expr.pla: 1639: err_expr = symptr -; lisp/s-expr.pla: 1640: throw(exception, ERR_NOT_INT) -; lisp/s-expr.pla: 1641: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F427 !WORD _C033 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $22 ; BREQ _B471 - !WORD _B471-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F428 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F429 !WORD _D067+0 - !BYTE $5E,$F6 ; CFFB -10 - !BYTE $54 ; CALL _X062 -_F430 !WORD 0 - !BYTE $30 ; DROP -_B471 -_B472 -; lisp/s-expr.pla: 1642: idxval[0] = symptr=>intval[0] -; lisp/s-expr.pla: 1643: idxval[1] = symptr=>intval[1] -; lisp/s-expr.pla: 1644: set_assoc(index, symptr) -; lisp/s-expr.pla: 1645: symptr = eval_expr(expr=>car) -; lisp/s-expr.pla: 1646: expr = expr=>cdr -; lisp/s-expr.pla: 1647: if symptr->type <> NUM_INT -; lisp/s-expr.pla: 1648: err_expr = symptr -; lisp/s-expr.pla: 1649: throw(exception, ERR_NOT_INT) -; lisp/s-expr.pla: 1650: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C026 -_F431 !WORD _C026 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F432 !WORD _C033 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $22 ; BREQ _B473 - !WORD _B473-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D068+0 -_F433 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F434 !WORD _D067+0 - !BYTE $5E,$F6 ; CFFB -10 - !BYTE $54 ; CALL _X062 -_F435 !WORD 0 - !BYTE $30 ; DROP -_B473 -_B474 -; lisp/s-expr.pla: 1651: stepval[0] = symptr=>intval[0] -; lisp/s-expr.pla: 1652: stepval[1] = symptr=>intval[1] -; lisp/s-expr.pla: 1653: ufunc = expr=>car -; lisp/s-expr.pla: 1654: dlist = expr=>cdr -; lisp/s-expr.pla: 1655: // -; lisp/s-expr.pla: 1656: // Enter loop -; lisp/s-expr.pla: 1657: // -; lisp/s-expr.pla: 1658: push_sweep_stack(NULL) -; lisp/s-expr.pla: 1659: while eval_expr(ufunc) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F436 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B477 - !WORD _B477-* -_B475 -; lisp/s-expr.pla: 1660: expr = dlist -; lisp/s-expr.pla: 1661: while expr - !BYTE $66,$08 ; LLW [8] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B480 - !WORD _B480-* -_B478 -; lisp/s-expr.pla: 1662: // -; lisp/s-expr.pla: 1663: // Keep result from getting GC'ed -; lisp/s-expr.pla: 1664: // -; lisp/s-expr.pla: 1665: sweep_stack[sweep_stack_top - 1] = eval_expr(expr=>car) -; lisp/s-expr.pla: 1666: expr = expr=>cdr -; lisp/s-expr.pla: 1667: if prog_return; return pop_sweep_stack; fin // Check for RETURN() - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F437 !WORD _C033 - !BYTE $26 ; LA _D097+0 -_F438 !WORD _D097+0 - !BYTE $68 ; LAB _D096+0 -_F439 !WORD _D096+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D093+0 -_F440 !WORD _D093+0 - !BYTE $4C ; BRFLS _B481 - !WORD _B481-* - !BYTE $54 ; CALL _C004 -_F441 !WORD _C004 - !BYTE $5A,$12 ; LEAVE 18 -_B481 -_B482 -; lisp/s-expr.pla: 1668: loop -_B480 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B478 - !WORD _B478-* -_B479 -; lisp/s-expr.pla: 1669: load32(@idxval) // Update index value -; lisp/s-expr.pla: 1670: add32(@stepval) -; lisp/s-expr.pla: 1671: store32(@idxval) -; lisp/s-expr.pla: 1672: set_assoc(index, new_int(idxval[0], idxval[1])) -; lisp/s-expr.pla: 1673: loop - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X032 -_F442 !WORD 0 - !BYTE $28,$0E ; LLA [14] - !BYTE $54 ; CALL _X035 -_F443 !WORD 0 - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X034 -_F444 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C010 -_F445 !WORD _C010 - !BYTE $54 ; CALL _C026 -_F446 !WORD _C026 - !BYTE $30 ; DROP -_B477 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C033 -_F447 !WORD _C033 - !BYTE $4E ; BRTRU _B475 - !WORD _B475-* -_B476 -; lisp/s-expr.pla: 1674: return pop_sweep_stack - !BYTE $54 ; CALL _C004 -_F448 !WORD _C004 - !BYTE $5A,$12 ; LEAVE 18 -; lisp/s-expr.pla: 1675: end -; lisp/s-expr.pla: 1676: -; lisp/s-expr.pla: 1677: // -; lisp/s-expr.pla: 1678: // PROG(...) language extension -; lisp/s-expr.pla: 1679: // -; lisp/s-expr.pla: 1680: -; lisp/s-expr.pla: 1681: def natv_prog(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C071 ; natv_prog() -; lisp/s-expr.pla: 1682: var prog_enter, prog_car, cond_expr - ; prog_enter -> [4] - ; prog_car -> [6] - ; cond_expr -> [8] -; lisp/s-expr.pla: 1683: -; lisp/s-expr.pla: 1684: prog_expr = expr=>cdr - !BYTE $58,$0A,$02 ; ENTER 10,2 -; lisp/s-expr.pla: 1685: prog = prog_expr // Update current PROG expression -; lisp/s-expr.pla: 1686: prog_enter = prog // Save current prog -; lisp/s-expr.pla: 1687: expr = expr=>car // Set up local variables -; lisp/s-expr.pla: 1688: while expr - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $7E ; DAW _D092+0 -_F449 !WORD _D092+0 - !BYTE $7E ; DAW _D091+0 -_F450 !WORD _D091+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B485 - !WORD _B485-* -_B483 -; lisp/s-expr.pla: 1689: new_assoc(expr=>car, NULL) -; lisp/s-expr.pla: 1690: expr = expr=>cdr -; lisp/s-expr.pla: 1691: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C024 -_F451 !WORD _C024 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B485 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B483 - !WORD _B483-* -_B484 -; lisp/s-expr.pla: 1692: prog_return = NULL -; lisp/s-expr.pla: 1693: while prog_expr and not prog_return - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D093+0 -_F452 !WORD _D093+0 - !BYTE $50 ; BRNCH _B488 - !WORD _B488-* -_B486 -; lisp/s-expr.pla: 1694: prog_car = prog_expr=>car -; lisp/s-expr.pla: 1695: prog_expr = prog_expr=>cdr // Assume continuation -; lisp/s-expr.pla: 1696: if prog_car->type == CONS_TYPE -; lisp/s-expr.pla: 1697: if prog_car=>car == sym_cond // Inline COND(...) evaluation -; lisp/s-expr.pla: 1698: cond_expr = prog_car=>cdr -; lisp/s-expr.pla: 1699: while cond_expr - !BYTE $6A ; LAW _D092+0 -_F453 !WORD _D092+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D092+0 -_F454 !WORD _D092+0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D092+0 -_F455 !WORD _D092+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B490 - !WORD _B490-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D087+0 -_F456 !WORD _D087+0 - !BYTE $24 ; BRNE _B492 - !WORD _B492-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B496 - !WORD _B496-* -_B494 -; lisp/s-expr.pla: 1700: if eval_expr(cond_expr=>car=>car) -; lisp/s-expr.pla: 1701: eval_expr(cond_expr=>car=>cdr=>car) // Drop result -; lisp/s-expr.pla: 1702: break - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F457 !WORD _C033 - !BYTE $4C ; BRFLS _B497 - !WORD _B497-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F458 !WORD _C033 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B495 - !WORD _B495-* -; lisp/s-expr.pla: 1703: fin -_B497 -_B498 -; lisp/s-expr.pla: 1704: cond_expr = cond_expr=>cdr -; lisp/s-expr.pla: 1705: loop - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B496 - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B494 - !WORD _B494-* -_B495 -; lisp/s-expr.pla: 1706: elsif prog_car=>car == sym_if // Inline IF(...) evaluation - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -_B492 -; lisp/s-expr.pla: 1707: cond_expr = prog_car=>cdr -; lisp/s-expr.pla: 1708: if eval_expr(cond_expr=>car) -; lisp/s-expr.pla: 1709: eval_expr(cond_expr=>cdr=>car) // Drop result -; lisp/s-expr.pla: 1710: elsif cond_expr=>cdr=>cdr=>car - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D088+0 -_F459 !WORD _D088+0 - !BYTE $24 ; BRNE _B499 - !WORD _B499-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F460 !WORD _C033 - !BYTE $4C ; BRFLS _B500 - !WORD _B500-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F461 !WORD _C033 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B501 - !WORD _B501-* -_B500 -; lisp/s-expr.pla: 1711: eval_expr(cond_expr=>cdr=>cdr=>car) // Drop result -; lisp/s-expr.pla: 1712: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B502 - !WORD _B502-* - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F462 !WORD _C033 - !BYTE $30 ; DROP -_B502 -_B501 -; lisp/s-expr.pla: 1713: else - !BYTE $50 ; BRNCH _B493 - !WORD _B493-* -_B499 -; lisp/s-expr.pla: 1714: eval_expr(prog_car) // Drop result -; lisp/s-expr.pla: 1715: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C033 -_F463 !WORD _C033 - !BYTE $30 ; DROP -_B493 -; lisp/s-expr.pla: 1716: //else Atom - skip, i.e. GO() destination -; lisp/s-expr.pla: 1717: fin -_B490 -_B491 -; lisp/s-expr.pla: 1718: if prog_return // Check for RETURN() -; lisp/s-expr.pla: 1719: expr = prog_return ^ NULL_HACK -; lisp/s-expr.pla: 1720: prog_return = NULL -; lisp/s-expr.pla: 1721: prog_expr = NULL -; lisp/s-expr.pla: 1722: fin - !BYTE $6A ; LAW _D093+0 -_F464 !WORD _D093+0 - !BYTE $4C ; BRFLS _B503 - !WORD _B503-* - !BYTE $6A ; LAW _D093+0 -_F465 !WORD _D093+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D093+0 -_F466 !WORD _D093+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D092+0 -_F467 !WORD _D092+0 -_B503 -_B504 -; lisp/s-expr.pla: 1723: loop -_B488 - !BYTE $6A ; LAW _D092+0 -_F468 !WORD _D092+0 - !BYTE $AC ; BRAND _B489 - !WORD _B489-* - !BYTE $6A ; LAW _D093+0 -_F469 !WORD _D093+0 - !BYTE $80 ; NOT -_B489 - !BYTE $4E ; BRTRU _B486 - !WORD _B486-* -_B487 -; lisp/s-expr.pla: 1724: prog = prog_enter -; lisp/s-expr.pla: 1725: return expr - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D091+0 -_F470 !WORD _D091+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-expr.pla: 1726: end -; lisp/s-expr.pla: 1727: -; lisp/s-expr.pla: 1728: def natv_return(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C072 ; natv_return() -; lisp/s-expr.pla: 1729: prog_return = eval_expr(expr=>car) ^ NULL_HACK - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1730: return NULL // This value will be dropped in natv_prog - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F471 !WORD _C033 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $7A ; SAW _D093+0 -_F472 !WORD _D093+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1731: end -; lisp/s-expr.pla: 1732: -; lisp/s-expr.pla: 1733: def natv_go(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C073 ; natv_go() -; lisp/s-expr.pla: 1734: expr = expr=>car - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-expr.pla: 1735: symptr = prog // Scan prog list looking for matching SYM -; lisp/s-expr.pla: 1736: while symptr - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D091+0 -_F473 !WORD _D091+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B507 - !WORD _B507-* -_B505 -; lisp/s-expr.pla: 1737: if symptr=>car == expr -; lisp/s-expr.pla: 1738: prog_expr = symptr=>cdr -; lisp/s-expr.pla: 1739: return NULL - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $24 ; BRNE _B508 - !WORD _B508-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D092+0 -_F474 !WORD _D092+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1740: fin -_B508 -_B509 -; lisp/s-expr.pla: 1741: symptr = symptr=>cdr -; lisp/s-expr.pla: 1742: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B507 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B505 - !WORD _B505-* -_B506 -; lisp/s-expr.pla: 1743: err_expr = expr -; lisp/s-expr.pla: 1744: throw(exception, ERR_BAD_GO) -; lisp/s-expr.pla: 1745: return NULL - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D068+0 -_F475 !WORD _D068+0 - !BYTE $6A ; LAW _D067+0 -_F476 !WORD _D067+0 - !BYTE $5E,$F2 ; CFFB -14 - !BYTE $54 ; CALL _X062 -_F477 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1746: end -; lisp/s-expr.pla: 1747: -; lisp/s-expr.pla: 1748: def natv_set(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C074 ; natv_set() -; lisp/s-expr.pla: 1749: return set_assoc(eval_expr(expr=>car), eval_expr(expr=>cdr=>car))=>cdr - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F478 !WORD _C033 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F479 !WORD _C033 - !BYTE $54 ; CALL _C026 -_F480 !WORD _C026 - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1750: end -; lisp/s-expr.pla: 1751: -; lisp/s-expr.pla: 1752: def natv_setq(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C075 ; natv_setq() -; lisp/s-expr.pla: 1753: return set_assoc(expr=>car, eval_expr(expr=>cdr=>car))=>cdr - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C033 -_F481 !WORD _C033 - !BYTE $54 ; CALL _C026 -_F482 !WORD _C026 - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-expr.pla: 1754: end -; lisp/s-expr.pla: 1755: -; lisp/s-expr.pla: 1756: // -; lisp/s-expr.pla: 1757: // Debug -; lisp/s-expr.pla: 1758: // -; lisp/s-expr.pla: 1759: -; lisp/s-expr.pla: 1760: //def natv_syms(symptr, expr) -; lisp/s-expr.pla: 1761: // var count -; lisp/s-expr.pla: 1762: // byte h -; lisp/s-expr.pla: 1763: // -; lisp/s-expr.pla: 1764: // count = 0 -; lisp/s-expr.pla: 1765: // for h = 0 to HASH_SIZE-1 -; lisp/s-expr.pla: 1766: // symptr = hashtbl[h] -; lisp/s-expr.pla: 1767: // puti(h); puts(" -----\n") -; lisp/s-expr.pla: 1768: // while symptr -; lisp/s-expr.pla: 1769: // print_atom(symptr); putc(':') -; lisp/s-expr.pla: 1770: // if symptr=>natv -; lisp/s-expr.pla: 1771: // puts("NATIVE") -; lisp/s-expr.pla: 1772: // elsif symptr=>lambda -; lisp/s-expr.pla: 1773: // print_expr(symptr=>lambda) -; lisp/s-expr.pla: 1774: // elsif symptr=>apval -; lisp/s-expr.pla: 1775: // print_expr(symptr=>apval ^ NULL_HACK) -; lisp/s-expr.pla: 1776: // elsif symptr=>array -; lisp/s-expr.pla: 1777: // print_expr(symptr) -; lisp/s-expr.pla: 1778: // elsif symptr=>array -; lisp/s-expr.pla: 1779: // print_expr(assoc(symptr)) -; lisp/s-expr.pla: 1780: // fin -; lisp/s-expr.pla: 1781: // putln -; lisp/s-expr.pla: 1782: // count++ -; lisp/s-expr.pla: 1783: // if !(count & 15) -; lisp/s-expr.pla: 1784: // getc() -; lisp/s-expr.pla: 1785: // fin -; lisp/s-expr.pla: 1786: // symptr = symptr=>link -; lisp/s-expr.pla: 1787: // loop -; lisp/s-expr.pla: 1788: // next -; lisp/s-expr.pla: 1789: // return new_int(count, 0) // Total symbols -; lisp/s-expr.pla: 1790: //end -; lisp/s-expr.pla: 1791: -; lisp/s-expr.pla: 1792: // -; lisp/s-expr.pla: 1793: // Install default functions -; lisp/s-expr.pla: 1794: // -; lisp/s-expr.pla: 1795: -; lisp/s-expr.pla: 1796: sym_nil = new_sym("NIL") -_INIT - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4E,$49,$4C - !BYTE $54 ; CALL _C015 -_F483 !WORD _C015 - !BYTE $7A ; SAW _D080+0 -_F484 !WORD _D080+0 -; lisp/s-expr.pla: 1797: sym_nil=>apval = NULL_HACK -; lisp/s-expr.pla: 1798: sym_true = new_sym("*T*") - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D080+0 -_F485 !WORD _D080+0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2E ; CS - !BYTE $03 - !BYTE $2A,$54,$2A - !BYTE $54 ; CALL _C015 -_F486 !WORD _C015 - !BYTE $7A ; SAW _D081+0 -_F487 !WORD _D081+0 -; lisp/s-expr.pla: 1799: sym_true=>apval = sym_true ^ NULL_HACK -; lisp/s-expr.pla: 1800: new_sym("T")=>apval = sym_true ^ NULL_HACK - !BYTE $6A ; LAW _D081+0 -_F488 !WORD _D081+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $6A ; LAW _D081+0 -_F489 !WORD _D081+0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D081+0 -_F490 !WORD _D081+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $2E ; CS - !BYTE $01 - !BYTE $54 - !BYTE $54 ; CALL _C015 -_F491 !WORD _C015 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1801: new_sym("F")=>apval = NULL_HACK - !BYTE $02 ; CN 1 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $46 - !BYTE $54 ; CALL _C015 -_F492 !WORD _C015 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1802: sym_lambda = new_sym("LAMBDA") - !BYTE $2E ; CS - !BYTE $06 - !BYTE $4C,$41,$4D,$42,$44,$41 - !BYTE $54 ; CALL _C015 -_F493 !WORD _C015 - !BYTE $7A ; SAW _D083+0 -_F494 !WORD _D083+0 -; lisp/s-expr.pla: 1803: sym_funarg = new_sym("FUNARG") - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$55,$4E,$41,$52,$47 - !BYTE $54 ; CALL _C015 -_F495 !WORD _C015 - !BYTE $7A ; SAW _D084+0 -_F496 !WORD _D084+0 -; lisp/s-expr.pla: 1804: sym_macro = new_sym("MACRO") - !BYTE $2E ; CS - !BYTE $05 - !BYTE $4D,$41,$43,$52,$4F - !BYTE $54 ; CALL _C015 -_F497 !WORD _C015 - !BYTE $7A ; SAW _D086+0 -_F498 !WORD _D086+0 -; lisp/s-expr.pla: 1805: sym_cond = new_sym("COND") - !BYTE $2E ; CS - !BYTE $04 - !BYTE $43,$4F,$4E,$44 - !BYTE $54 ; CALL _C015 -_F499 !WORD _C015 - !BYTE $7A ; SAW _D087+0 -_F500 !WORD _D087+0 -; lisp/s-expr.pla: 1806: sym_if = new_sym("IF") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $49,$46 - !BYTE $54 ; CALL _C015 -_F501 !WORD _C015 - !BYTE $7A ; SAW _D088+0 -_F502 !WORD _D088+0 -; lisp/s-expr.pla: 1807: sym_set = new_sym("SET") - !BYTE $2E ; CS - !BYTE $03 - !BYTE $53,$45,$54 - !BYTE $54 ; CALL _C015 -_F503 !WORD _C015 - !BYTE $7A ; SAW _D085+0 -_F504 !WORD _D085+0 -; lisp/s-expr.pla: 1808: sym_label = new_sym("LABEL") - !BYTE $2E ; CS - !BYTE $05 - !BYTE $4C,$41,$42,$45,$4C - !BYTE $54 ; CALL _C015 -_F505 !WORD _C015 - !BYTE $7A ; SAW _D089+0 -_F506 !WORD _D089+0 -; lisp/s-expr.pla: 1809: sym_quote = new_sym("QUOTE") - !BYTE $2E ; CS - !BYTE $05 - !BYTE $51,$55,$4F,$54,$45 - !BYTE $54 ; CALL _C015 -_F507 !WORD _C015 - !BYTE $7A ; SAW _D082+0 -_F508 !WORD _D082+0 -; lisp/s-expr.pla: 1810: sym_quote=>natv = @natv_quote -; lisp/s-expr.pla: 1811: new_sym("CAR")=>natv = @natv_car - !BYTE $26 ; LA _C048+0 -_F509 !WORD _C048+0 - !BYTE $6A ; LAW _D082+0 -_F510 !WORD _D082+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $26 ; LA _C046+0 -_F511 !WORD _C046+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $43,$41,$52 - !BYTE $54 ; CALL _C015 -_F512 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1812: new_sym("CDR")=>natv = @natv_cdr - !BYTE $26 ; LA _C047+0 -_F513 !WORD _C047+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $43,$44,$52 - !BYTE $54 ; CALL _C015 -_F514 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1813: new_sym("CONS")=>natv = @natv_cons - !BYTE $26 ; LA _C044+0 -_F515 !WORD _C044+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $43,$4F,$4E,$53 - !BYTE $54 ; CALL _C015 -_F516 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1814: new_sym("LIST")=>natv = @natv_list - !BYTE $26 ; LA _C045+0 -_F517 !WORD _C045+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $4C,$49,$53,$54 - !BYTE $54 ; CALL _C015 -_F518 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1815: new_sym("ATOM")=>natv = @natv_atom - !BYTE $26 ; LA _C037+0 -_F519 !WORD _C037+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $41,$54,$4F,$4D - !BYTE $54 ; CALL _C015 -_F520 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1816: new_sym("EQ")=>natv = @natv_eq - !BYTE $26 ; LA _C039+0 -_F521 !WORD _C039+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $45,$51 - !BYTE $54 ; CALL _C015 -_F522 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1817: new_sym("NUMBER?")=>natv = @natv_numberp - !BYTE $26 ; LA _C041+0 -_F523 !WORD _C041+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $4E,$55,$4D,$42,$45,$52,$3F - !BYTE $54 ; CALL _C015 -_F524 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1818: new_sym("NUMBER")=>natv = @natv_number - !BYTE $26 ; LA _C040+0 -_F525 !WORD _C040+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $4E,$55,$4D,$42,$45,$52 - !BYTE $54 ; CALL _C015 -_F526 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1819: new_sym("NOT")=>natv = @natv_null - !BYTE $26 ; LA _C038+0 -_F527 !WORD _C038+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4E,$4F,$54 - !BYTE $54 ; CALL _C015 -_F528 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1820: new_sym("AND")=>natv = @natv_and - !BYTE $26 ; LA _C042+0 -_F529 !WORD _C042+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $41,$4E,$44 - !BYTE $54 ; CALL _C015 -_F530 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1821: new_sym("OR")=>natv = @natv_or - !BYTE $26 ; LA _C043+0 -_F531 !WORD _C043+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $4F,$52 - !BYTE $54 ; CALL _C015 -_F532 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1822: new_sym("NULL")=>natv = @natv_null - !BYTE $26 ; LA _C038+0 -_F533 !WORD _C038+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $4E,$55,$4C,$4C - !BYTE $54 ; CALL _C015 -_F534 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1823: new_sym("FUNCTION")=>natv = @natv_function - !BYTE $26 ; LA _C049+0 -_F535 !WORD _C049+0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $46,$55,$4E,$43,$54,$49,$4F,$4E - !BYTE $54 ; CALL _C015 -_F536 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1824: new_sym("DEFINE")=>natv = @natv_define - !BYTE $26 ; LA _C050+0 -_F537 !WORD _C050+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $44,$45,$46,$49,$4E,$45 - !BYTE $54 ; CALL _C015 -_F538 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1825: new_sym("ARRAY")=>natv = @natv_array - !BYTE $26 ; LA _C062+0 -_F539 !WORD _C062+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $41,$52,$52,$41,$59 - !BYTE $54 ; CALL _C015 -_F540 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1826: new_sym("ARRAY?")=>natv = @natv_arrayp - !BYTE $26 ; LA _C059+0 -_F541 !WORD _C059+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $41,$52,$52,$41,$59,$3F - !BYTE $54 ; CALL _C015 -_F542 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1827: new_sym("CSET")=>natv = @natv_cset - !BYTE $26 ; LA _C051+0 -_F543 !WORD _C051+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $43,$53,$45,$54 - !BYTE $54 ; CALL _C015 -_F544 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1828: new_sym("CSETQ")=>natv = @natv_csetq - !BYTE $26 ; LA _C052+0 -_F545 !WORD _C052+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $43,$53,$45,$54,$51 - !BYTE $54 ; CALL _C015 -_F546 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1829: new_sym(":=")=>natv = @natv_csetq - !BYTE $26 ; LA _C052+0 -_F547 !WORD _C052+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3A,$3D - !BYTE $54 ; CALL _C015 -_F548 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1830: new_sym("PRHEX")=>natv = @natv_prhex - !BYTE $26 ; LA _C053+0 -_F549 !WORD _C053+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $50,$52,$48,$45,$58 - !BYTE $54 ; CALL _C015 -_F550 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1831: new_sym("PRIN")=>natv = @natv_prin - !BYTE $26 ; LA _C054+0 -_F551 !WORD _C054+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $50,$52,$49,$4E - !BYTE $54 ; CALL _C015 -_F552 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1832: new_sym("PRINT")=>natv = @natv_print - !BYTE $26 ; LA _C055+0 -_F553 !WORD _C055+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $50,$52,$49,$4E,$54 - !BYTE $54 ; CALL _C015 -_F554 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1833: new_sym("EVAL")=>natv = @natv_eval - !BYTE $26 ; LA _C056+0 -_F555 !WORD _C056+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$56,$41,$4C - !BYTE $54 ; CALL _C015 -_F556 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1834: new_sym("TRACE")=>natv = @natv_trace - !BYTE $26 ; LA _C057+0 -_F557 !WORD _C057+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$41,$43,$45 - !BYTE $54 ; CALL _C015 -_F558 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1835: new_sym("FOR")=>natv = @natv_for - !BYTE $26 ; LA _C070+0 -_F559 !WORD _C070+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $46,$4F,$52 - !BYTE $54 ; CALL _C015 -_F560 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1836: new_sym("COPY")=>natv = @natv_copy - !BYTE $26 ; LA _C058+0 -_F561 !WORD _C058+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $43,$4F,$50,$59 - !BYTE $54 ; CALL _C015 -_F562 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1837: new_sym("PROG")=>natv = @natv_prog - !BYTE $26 ; LA _C071+0 -_F563 !WORD _C071+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $50,$52,$4F,$47 - !BYTE $54 ; CALL _C015 -_F564 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1838: new_sym("GO")=>natv = @natv_go - !BYTE $26 ; LA _C073+0 -_F565 !WORD _C073+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $47,$4F - !BYTE $54 ; CALL _C015 -_F566 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1839: new_sym("RETURN")=>natv = @natv_return - !BYTE $26 ; LA _C072+0 -_F567 !WORD _C072+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $52,$45,$54,$55,$52,$4E - !BYTE $54 ; CALL _C015 -_F568 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1840: new_sym("SET")=>natv = @natv_set - !BYTE $26 ; LA _C074+0 -_F569 !WORD _C074+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $53,$45,$54 - !BYTE $54 ; CALL _C015 -_F570 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1841: new_sym("SETQ")=>natv = @natv_setq - !BYTE $26 ; LA _C075+0 -_F571 !WORD _C075+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$45,$54,$51 - !BYTE $54 ; CALL _C015 -_F572 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1842: new_sym("=")=>natv = @natv_setq - !BYTE $26 ; LA _C075+0 -_F573 !WORD _C075+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $3D - !BYTE $54 ; CALL _C015 -_F574 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1843: new_sym("STRING?")=>natv = @natv_stringp - !BYTE $26 ; LA _C064+0 -_F575 !WORD _C064+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$54,$52,$49,$4E,$47,$3F - !BYTE $54 ; CALL _C015 -_F576 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1844: new_sym("STRING")=>natv = @natv_string - !BYTE $26 ; LA _C063+0 -_F577 !WORD _C063+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $53,$54,$52,$49,$4E,$47 - !BYTE $54 ; CALL _C015 -_F578 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1845: new_sym("SUBS")=>natv = @natv_subs - !BYTE $26 ; LA _C065+0 -_F579 !WORD _C065+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$55,$42,$53 - !BYTE $54 ; CALL _C015 -_F580 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1846: new_sym("CATS")=>natv = @natv_cats - !BYTE $26 ; LA _C066+0 -_F581 !WORD _C066+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $43,$41,$54,$53 - !BYTE $54 ; CALL _C015 -_F582 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1847: new_sym("LENS")=>natv = @natv_lens - !BYTE $26 ; LA _C067+0 -_F583 !WORD _C067+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $4C,$45,$4E,$53 - !BYTE $54 ; CALL _C015 -_F584 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1848: new_sym("CHARS")=>natv = @natv_chars - !BYTE $26 ; LA _C068+0 -_F585 !WORD _C068+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $43,$48,$41,$52,$53 - !BYTE $54 ; CALL _C015 -_F586 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1849: new_sym("ASCII")=>natv = @natv_ascii - !BYTE $26 ; LA _C069+0 -_F587 !WORD _C069+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $41,$53,$43,$49,$49 - !BYTE $54 ; CALL _C015 -_F588 !WORD _C015 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-expr.pla: 1850: //new_sym("SYMS")=>natv = @natv_syms -; lisp/s-expr.pla: 1851: return modkeep | modinitkeep - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $5C ; RET -; lisp/s-expr.pla: 1852: done -_SYSFLAGS = 0 -_DEFCNT = 77 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C051 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C052 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C053 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C054 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C055 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C056 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C057 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C058 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C059 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C060 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C061 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C062 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C063 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C064 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C065 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C066 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C067 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C068 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C069 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C070 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C071 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C072 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C073 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C074 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C075 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 56 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 59 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 58 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE 59 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F437-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F438-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F439-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F440-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F441-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F442-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F443-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F444-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F452-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F453-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F455-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F463-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F464-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F465-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F466-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F473-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F474-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F475-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F476-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F478-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F479-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F481-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F482-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F483-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F484-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F485-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F486-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F487-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F488-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F489-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F490-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F491-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F492-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F493-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F494-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F495-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F496-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F497-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F498-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F499-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F500-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F501-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F503-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F504-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F505-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F506-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F507-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F508-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F509-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F510-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F512-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F513-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F514-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F515-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F517-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F518-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F519-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F520-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F521-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F522-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F523-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F524-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F525-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F526-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F527-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F528-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F529-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F530-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F531-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F532-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F533-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F534-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F535-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F537-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F538-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F539-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F540-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F541-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F542-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F543-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F544-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F545-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F546-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F547-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F548-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F549-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F550-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F551-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F552-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F553-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F560-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F561-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F562-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F563-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F564-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F565-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F566-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F567-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F568-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F569-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F570-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F571-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F572-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F573-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F574-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F578-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F579-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F580-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F581-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F582-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F583-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F585-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F586-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F587-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F588-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ZERO32 - !BYTE $DA,$C5,$D2,$CF,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: NEG32 - !BYTE $CE,$C5,$C7,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: LOAD32 - !BYTE $CC,$CF,$C1,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: ADD32 - !BYTE $C1,$C4,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: ADDI16 - !BYTE $C1,$C4,$C4,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: MULI16 - !BYTE $CD,$D5,$CC,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: I32TOS - !BYTE $C9,$B3,$B2,$D4,$CF,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 55 ; ESD INDEX - ; DCI STRING: PUTI32 - !BYTE $D0,$D5,$D4,$C9,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 56 ; ESD INDEX - ; DCI STRING: STR2EXT - !BYTE $D3,$D4,$D2,$B2,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 58 ; ESD INDEX - ; DCI STRING: EXT2STR - !BYTE $C5,$D8,$D4,$B2,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 59 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 62 ; ESD INDEX - ; DCI STRING: FMT_FPINT - !BYTE $C6,$CD,$D4,$DF,$C6,$D0,$C9,$CE,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D064 - ; DCI STRING: FMT_FPFRAC - !BYTE $C6,$CD,$D4,$DF,$C6,$D0,$C6,$D2,$C1,$43 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D065 - ; DCI STRING: TRACE - !BYTE $D4,$D2,$C1,$C3,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D066 - ; DCI STRING: EXCEPTION - !BYTE $C5,$D8,$C3,$C5,$D0,$D4,$C9,$CF,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D067 - ; DCI STRING: ERR_EXPR - !BYTE $C5,$D2,$D2,$DF,$C5,$D8,$D0,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D068 - ; DCI STRING: HOOK_EVAL - !BYTE $C8,$CF,$CF,$CB,$DF,$C5,$D6,$C1,$4C - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D069 - ; DCI STRING: PRINT_EXPR - !BYTE $D0,$D2,$C9,$CE,$D4,$DF,$C5,$D8,$D0,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C017 - ; DCI STRING: EVAL_EXPR - !BYTE $C5,$D6,$C1,$CC,$DF,$C5,$D8,$D0,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C033 - ; DCI STRING: GC - !BYTE $C7,$43 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - ; DCI STRING: NEW_CONS - !BYTE $CE,$C5,$D7,$DF,$C3,$CF,$CE,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - ; DCI STRING: NEW_INT - !BYTE $CE,$C5,$D7,$DF,$C9,$CE,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C010 - ; DCI STRING: NEW_FLOAT - !BYTE $CE,$C5,$D7,$DF,$C6,$CC,$CF,$C1,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C011 - ; DCI STRING: NEW_STRING - !BYTE $CE,$C5,$D7,$DF,$D3,$D4,$D2,$C9,$CE,$47 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C014 - ; DCI STRING: NEW_SYM - !BYTE $CE,$C5,$D7,$DF,$D3,$D9,$4D - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C015 - ; DCI STRING: PARSE_EXPR - !BYTE $D0,$C1,$D2,$D3,$C5,$DF,$C5,$D8,$D0,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C023 - ; DCI STRING: EVAL_QUOTE - !BYTE $C5,$D6,$C1,$CC,$DF,$D1,$D5,$CF,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C034 - ; DCI STRING: BOOL_PRED - !BYTE $C2,$CF,$CF,$CC,$DF,$D0,$D2,$C5,$44 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C036 - !BYTE $00 ; END OF ESD diff --git a/src/lisp/s-math.a b/src/lisp/s-math.a deleted file mode 100644 index ada199a..0000000 --- a/src/lisp/s-math.a +++ /dev/null @@ -1,5546 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; lisp/s-math.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; lisp/s-math.pla: 0001: -; lisp/s-math.pla: 0002: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X028 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X029 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X030 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X031 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X032 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X033 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X034 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X035 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X036 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X037 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X038 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X039 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X040 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X041 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X042 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X043 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X044 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X045 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X046 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X047 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X048 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X049 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X050 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X051 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X052 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X053 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X054 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X055 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X056 -; inc/int32.plh: 0032: end -; lisp/s-math.pla: 0002: -; lisp/s-math.pla: 0003: include "inc/sane.plh" -; inc/sane.plh: 0001: import sane - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - ; SANE -> X057 -; inc/sane.plh: 0002: //----------------------------------------------------------- -; inc/sane.plh: 0003: // Operation code masks. -; inc/sane.plh: 0004: //----------------------------------------------------------- -; inc/sane.plh: 0005: const FOADD = $0000 // add - ; FOADD = 0 -; inc/sane.plh: 0006: const FOSUB = $0002 // subtract - ; FOSUB = 2 -; inc/sane.plh: 0007: const FOMUL = $0004 // multiply - ; FOMUL = 4 -; inc/sane.plh: 0008: const FODIV = $0006 // divide - ; FODIV = 6 -; inc/sane.plh: 0009: const FOCMP = $0008 // compare, no exception from unordered - ; FOCMP = 8 -; inc/sane.plh: 0010: const FOCPX = $000A // compare, signal invalid if unordered - ; FOCPX = 10 -; inc/sane.plh: 0011: const FOREM = $000C // remainder - ; FOREM = 12 -; inc/sane.plh: 0012: const FOZ2X = $000E // convert to extended - ; FOZ2X = 14 -; inc/sane.plh: 0013: const FOX2Z = $0010 // convert from extended - ; FOX2Z = 16 -; inc/sane.plh: 0014: const FOSQRT = $0012 // square root - ; FOSQRT = 18 -; inc/sane.plh: 0015: const FORTI = $0014 // round to integral value - ; FORTI = 20 -; inc/sane.plh: 0016: const FOTTI = $0016 // truncate to integral value - ; FOTTI = 22 -; inc/sane.plh: 0017: const FOSCALB = $0018 // binary scale - ; FOSCALB = 24 -; inc/sane.plh: 0018: const FOLOGB = $001A // binary log - ; FOLOGB = 26 -; inc/sane.plh: 0019: const FOCLASS = $001C // classify - ; FOCLASS = 28 -; inc/sane.plh: 0020: const FONEXT = $001E // next-after - ; FONEXT = 30 -; inc/sane.plh: 0021: // -; inc/sane.plh: 0022: const FOSETENV = $0001 // set environment - ; FOSETENV = 1 -; inc/sane.plh: 0023: const FOGETENV = $0003 // get environment - ; FOGETENV = 3 -; inc/sane.plh: 0024: const FOSETHV = $0005 // set halt vector - ; FOSETHV = 5 -; inc/sane.plh: 0025: const FOGETHV = $0007 // get halt vector - ; FOGETHV = 7 -; inc/sane.plh: 0026: const FOD2B = $0009 // convert decimal to binary - ; FOD2B = 9 -; inc/sane.plh: 0027: const FOB2D = $000B // convert binary to decimal - ; FOB2D = 11 -; inc/sane.plh: 0028: const FONEG = $000D // negate - ; FONEG = 13 -; inc/sane.plh: 0029: const FOABS = $000F // absolute value - ; FOABS = 15 -; inc/sane.plh: 0030: const FOCPYSGN = $0011 // copy sign - ; FOCPYSGN = 17 -; inc/sane.plh: 0031: // UNDEFINED = $0013 -; inc/sane.plh: 0032: const FOSETXCP = $0015 // set exception - ; FOSETXCP = 21 -; inc/sane.plh: 0033: const FOPROCENTRY = $0017 // procedure-entry - ; FOPROCENTRY = 23 -; inc/sane.plh: 0034: const FOPROCEXIT = $0019 // procedure-exit - ; FOPROCEXIT = 25 -; inc/sane.plh: 0035: const FOTESTXCP = $001B // test exception - ; FOTESTXCP = 27 -; inc/sane.plh: 0036: // UNDEFINED = $001D -; inc/sane.plh: 0037: // UNDEFINED = $001F -; inc/sane.plh: 0038: //----------------------------------------------------------- -; inc/sane.plh: 0039: // Operand format masks. -; inc/sane.plh: 0040: //----------------------------------------------------------- -; inc/sane.plh: 0041: const FFEXT = $0000 // extended -- 80-bit float - ; FFEXT = 0 -; inc/sane.plh: 0042: const FFDBL = $0100 // double -- 64-bit float - ; FFDBL = 256 -; inc/sane.plh: 0043: const FFSGL = $0200 // single -- 32-bit float - ; FFSGL = 512 -; inc/sane.plh: 0044: // UNDEFINED = $0300 -; inc/sane.plh: 0045: const FFINT = $0400 // integer -- 16-bit integer - ; FFINT = 1024 -; inc/sane.plh: 0046: const FFCOMP = $0500 // comp -- 64-bit integer - ; FFCOMP = 1280 -; inc/sane.plh: 0047: // UNDEFINED = $0600 -; inc/sane.plh: 0048: // UNDEFINED = $0700 -; inc/sane.plh: 0049: //----------------------------------------------------------- -; inc/sane.plh: 0050: // Class. -; inc/sane.plh: 0051: //----------------------------------------------------------- -; inc/sane.plh: 0052: const FCSNAN = $FC // -4: signaling NAN - ; FCSNAN = 252 -; inc/sane.plh: 0053: const FCQNAN = $FD // -3: quiet NAN - ; FCQNAN = 253 -; inc/sane.plh: 0054: const FCINF = $FE // -2: infinite - ; FCINF = 254 -; inc/sane.plh: 0055: const FCZERO = $FF // -1: zero - ; FCZERO = 255 -; inc/sane.plh: 0056: const FCNORM = $00 // 0: normal - ; FCNORM = 0 -; inc/sane.plh: 0057: const FCDENORM = $01 // 1: denormal - ; FCDENORM = 1 -; inc/sane.plh: 0058: //----------------------------------------------------------- -; inc/sane.plh: 0059: // Exceptions. -; inc/sane.plh: 0060: //----------------------------------------------------------- -; inc/sane.plh: 0061: const FBINVALID = $01 - ; FBINVALID = 1 -; inc/sane.plh: 0062: const FBUFLOW = $02 - ; FBUFLOW = 2 -; inc/sane.plh: 0063: const FBOFLOW = $04 - ; FBOFLOW = 4 -; inc/sane.plh: 0064: const FBDIVZER = $08 - ; FBDIVZER = 8 -; inc/sane.plh: 0065: const FBINEXACT = $10 - ; FBINEXACT = 16 -; inc/sane.plh: 0066: //----------------------------------------------------------- -; inc/sane.plh: 0067: // Elementary function operation code masks. -; inc/sane.plh: 0068: //----------------------------------------------------------- -; inc/sane.plh: 0069: const FOLNX = $0000 // base-e log - ; FOLNX = 0 -; inc/sane.plh: 0070: const FOLOG2X = $0002 // base-2 log - ; FOLOG2X = 2 -; inc/sane.plh: 0071: const FOLN1X = $0004 // ln (1 + x) - ; FOLN1X = 4 -; inc/sane.plh: 0072: const FOLOG21X = $0006 // log2 (1 + x) - ; FOLOG21X = 6 -; inc/sane.plh: 0073: const FOEXPX = $0008 // base-e exponential - ; FOEXPX = 8 -; inc/sane.plh: 0074: const FOEXP2X = $000A // base-2 exponential - ; FOEXP2X = 10 -; inc/sane.plh: 0075: const FOEXP1X = $000C // exp (x) - 1 - ; FOEXP1X = 12 -; inc/sane.plh: 0076: const FOEXP21X = $000E // exp2 (x) - 1 - ; FOEXP21X = 14 -; inc/sane.plh: 0077: const FOXPWRI = $0010 // integer exponentiation - ; FOXPWRI = 16 -; inc/sane.plh: 0078: const FOXPWRY = $0012 // general exponentiation - ; FOXPWRY = 18 -; inc/sane.plh: 0079: const FOCOMPND = $0014 // compound - ; FOCOMPND = 20 -; inc/sane.plh: 0080: const FOANNUIT = $0016 // annuity - ; FOANNUIT = 22 -; inc/sane.plh: 0081: const FOATANX = $0018 // arctangent - ; FOATANX = 24 -; inc/sane.plh: 0082: const FOSINX = $001A // sine - ; FOSINX = 26 -; inc/sane.plh: 0083: const FOCOSX = $001C // cosine - ; FOCOSX = 28 -; inc/sane.plh: 0084: const FOTANX = $001E // tangent - ; FOTANX = 30 -; inc/sane.plh: 0085: const FORANDX = $0020 // random - ; FORANDX = 32 -; inc/sane.plh: 0086: //----------------------------------------------------------- -; inc/sane.plh: 0087: // NaN error codes. -; inc/sane.plh: 0088: //----------------------------------------------------------- -; inc/sane.plh: 0089: const NANSQRT = 1 // Invalid square root such as sqrt(-1). - ; NANSQRT = 1 -; inc/sane.plh: 0090: const NANADD = 2 // Invalid addition such as +INF - +INF. - ; NANADD = 2 -; inc/sane.plh: 0091: const NANDIV = 4 // Invalid division such as 0/0. - ; NANDIV = 4 -; inc/sane.plh: 0092: const NANMUL = 8 // Invalid multiply such as 0 * INF. - ; NANMUL = 8 -; inc/sane.plh: 0093: const NANREM = 9 // Invalid remainder or mod such as x REM 0. - ; NANREM = 9 -; inc/sane.plh: 0094: const NANASCBIN = 17 // Attempt to convert invalid ASCII string. - ; NANASCBIN = 17 -; inc/sane.plh: 0095: const NANCOMP = 20 // Result of converting comp NaN to floating. - ; NANCOMP = 20 -; inc/sane.plh: 0096: const NANZERO = 21 // Attempt to create a NaN with a zero code. - ; NANZERO = 21 -; inc/sane.plh: 0097: const NANTRIG = 33 // Invalid argument to trig routine. - ; NANTRIG = 33 -; inc/sane.plh: 0098: const NANINVTRIG = 34 // Invalid argument to inverse trig routine. - ; NANINVTRIG = 34 -; inc/sane.plh: 0099: const NANLOG = 36 // Invalid argument to log routine. - ; NANLOG = 36 -; inc/sane.plh: 0100: const NANPOWER = 37 // Invalid argument to x^i or x^y routine. - ; NANPOWER = 37 -; inc/sane.plh: 0101: const NANFINAN = 38 // Invalid argument to financial function. - ; NANFINAN = 38 -; inc/sane.plh: 0102: const NANINIT = 255 // Uninitialized storage. - ; NANINIT = 255 -; inc/sane.plh: 0103: //----------------------------------------------------------- -; inc/sane.plh: 0104: // Comparison results. -; inc/sane.plh: 0105: //----------------------------------------------------------- -; inc/sane.plh: 0106: const FCMPGT = $4040 // Greater Than - ; FCMPGT = 16448 -; inc/sane.plh: 0107: const FCMPLT = $8080 // Less Than - ; FCMPLT = 32896 -; inc/sane.plh: 0108: const FCMPEQ = $0002 // EQual - ; FCMPEQ = 2 -; inc/sane.plh: 0109: const FCMPUN = $0101 // UNordered - ; FCMPUN = 257 -; inc/sane.plh: 0110: //----------------------------------------------------------- -; inc/sane.plh: 0111: // -; inc/sane.plh: 0112: // Data types -; inc/sane.plh: 0113: // -; inc/sane.plh: 0114: struc t_single -; inc/sane.plh: 0115: byte[3] s_mantissa - ; s_mantissa = 0 -; inc/sane.plh: 0116: byte s_exponent - ; s_exponent = 3 -; inc/sane.plh: 0117: end - ; t_single = 4 -; inc/sane.plh: 0118: struc t_double -; inc/sane.plh: 0119: byte[6] d_mantissa - ; d_mantissa = 0 -; inc/sane.plh: 0120: word d_exponent - ; d_exponent = 6 -; inc/sane.plh: 0121: end - ; t_double = 8 -; inc/sane.plh: 0122: struc t_extended -; inc/sane.plh: 0123: byte[8] x_mantissa - ; x_mantissa = 0 -; inc/sane.plh: 0124: word x_exponent - ; x_exponent = 8 -; inc/sane.plh: 0125: end - ; t_extended = 10 -; inc/sane.plh: 0126: struc t_bigint -; inc/sane.plh: 0127: byte[8] l_int - ; l_int = 0 -; inc/sane.plh: 0128: end - ; t_bigint = 8 -; inc/sane.plh: 0129: // -; inc/sane.plh: 0130: // SANE PLASMA interface -; inc/sane.plh: 0131: // -; inc/sane.plh: 0132: struc t_sane -; inc/sane.plh: 0133: word initFP - ; initFP = 0 -; inc/sane.plh: 0134: word haltFP - ; haltFP = 2 -; inc/sane.plh: 0135: word op0FP - ; op0FP = 4 -; inc/sane.plh: 0136: word op1FP - ; op1FP = 6 -; inc/sane.plh: 0137: word op2FP - ; op2FP = 8 -; inc/sane.plh: 0138: word op3FP - ; op3FP = 10 -; inc/sane.plh: 0139: word op1ELEM - ; op1ELEM = 12 -; inc/sane.plh: 0140: word op2ELEM - ; op2ELEM = 14 -; inc/sane.plh: 0141: word op3ELEM - ; op3ELEM = 16 -; inc/sane.plh: 0142: word saveZP - ; saveZP = 18 -; inc/sane.plh: 0143: word restoreZP - ; restoreZP = 20 -; inc/sane.plh: 0144: end - ; t_sane = 22 -; inc/sane.plh: 0145: end -; lisp/s-math.pla: 0003: -; lisp/s-math.pla: 0004: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X058 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X059 - ; THROW -> X060 -; inc/longjmp.plh: 0004: end -; lisp/s-math.pla: 0004: -; lisp/s-math.pla: 0005: -; lisp/s-math.pla: 0006: import sexpr - ; DCI STRING: SEXPR - !BYTE $D3,$C5,$D8,$D0,$52 - ; SEXPR -> X061 -; lisp/s-math.pla: 0007: const TYPE_MASK = $70 - ; TYPE_MASK = 112 -; lisp/s-math.pla: 0008: const NIL = $00 - ; NIL = 0 -; lisp/s-math.pla: 0009: const BOOL_FALSE = $00 - ; BOOL_FALSE = 0 -; lisp/s-math.pla: 0010: const BOOL_TRUE = $01 - ; BOOL_TRUE = 1 -; lisp/s-math.pla: 0011: const CONS_TYPE = $10 - ; CONS_TYPE = 16 -; lisp/s-math.pla: 0012: const SYM_TYPE = $20 - ; SYM_TYPE = 32 -; lisp/s-math.pla: 0013: const SYM_LEN = $0F - ; SYM_LEN = 15 -; lisp/s-math.pla: 0014: const NUM_TYPE = $30 - ; NUM_TYPE = 48 -; lisp/s-math.pla: 0015: const NUM_INT = $31 - ; NUM_INT = 49 -; lisp/s-math.pla: 0016: const NUM_FLOAT = $32 - ; NUM_FLOAT = 50 -; lisp/s-math.pla: 0017: const ARRAY_TYPE = $40 - ; ARRAY_TYPE = 64 -; lisp/s-math.pla: 0018: const MARK_BIT = $80 - ; MARK_BIT = 128 -; lisp/s-math.pla: 0019: const MARK_MASK = $7F - ; MARK_MASK = 127 -; lisp/s-math.pla: 0020: const NULL_HACK = 1 // Hack so we can set APVALs to NULL - ; NULL_HACK = 1 -; lisp/s-math.pla: 0021: -; lisp/s-math.pla: 0022: struc t_elem -; lisp/s-math.pla: 0023: word link - ; link = 0 -; lisp/s-math.pla: 0024: byte type - ; type = 2 -; lisp/s-math.pla: 0025: end - ; t_elem = 3 -; lisp/s-math.pla: 0026: struc t_cons -; lisp/s-math.pla: 0027: res[t_elem] -; lisp/s-math.pla: 0028: word car - ; car = 3 -; lisp/s-math.pla: 0029: word cdr - ; cdr = 5 -; lisp/s-math.pla: 0030: end - ; t_cons = 7 -; lisp/s-math.pla: 0031: struc t_sym -; lisp/s-math.pla: 0032: res[t_elem] -; lisp/s-math.pla: 0033: word natv - ; natv = 3 -; lisp/s-math.pla: 0034: word lambda - ; lambda = 5 -; lisp/s-math.pla: 0035: word array - ; array = 7 -; lisp/s-math.pla: 0036: word apval - ; apval = 9 -; lisp/s-math.pla: 0037: char name[0] - ; name = 11 -; lisp/s-math.pla: 0038: end - ; t_sym = 11 -; lisp/s-math.pla: 0039: struc t_numint -; lisp/s-math.pla: 0040: res[t_elem] -; lisp/s-math.pla: 0041: word intval[2] - ; intval = 3 -; lisp/s-math.pla: 0042: end - ; t_numint = 7 -; lisp/s-math.pla: 0043: struc t_numfloat -; lisp/s-math.pla: 0044: res[t_elem] -; lisp/s-math.pla: 0045: res floatval[10] - ; floatval = 3 -; lisp/s-math.pla: 0046: end - ; t_numfloat = 13 -; lisp/s-math.pla: 0047: -; lisp/s-math.pla: 0048: const ERR_INTERNAL = -1 - ; ERR_INTERNAL = -1 -; lisp/s-math.pla: 0049: const ERR_OUT_OF_MEM = -2 - ; ERR_OUT_OF_MEM = -2 -; lisp/s-math.pla: 0050: const ERR_SWEEP_OVRFLW = -3 - ; ERR_SWEEP_OVRFLW = -3 -; lisp/s-math.pla: 0051: const ERR_SWEEP_UNDFLW = -4 - ; ERR_SWEEP_UNDFLW = -4 -; lisp/s-math.pla: 0052: const ERR_BAD_DOT = -5 - ; ERR_BAD_DOT = -5 -; lisp/s-math.pla: 0053: const ERR_NOT_SYM = -6 - ; ERR_NOT_SYM = -6 -; lisp/s-math.pla: 0054: const ERR_NOT_ASSOC = -7 - ; ERR_NOT_ASSOC = -7 -; lisp/s-math.pla: 0055: const ERR_NOT_FUN = -8 - ; ERR_NOT_FUN = -8 -; lisp/s-math.pla: 0056: const ERR_NOT_NUM = -9 - ; ERR_NOT_NUM = -9 -; lisp/s-math.pla: 0057: const ERR_NOT_INT = -10 - ; ERR_NOT_INT = -10 -; lisp/s-math.pla: 0058: const ERR_NOT_FLOAT = -11 - ; ERR_NOT_FLOAT = -11 -; lisp/s-math.pla: 0059: const ERR_NOT_STR = -12 - ; ERR_NOT_STR = -12 -; lisp/s-math.pla: 0060: const ERR_BAD_INDEX = -13 - ; ERR_BAD_INDEX = -13 -; lisp/s-math.pla: 0061: const ERR_BAD_GO = -14 - ; ERR_BAD_GO = -14 -; lisp/s-math.pla: 0062: -; lisp/s-math.pla: 0063: var exception - ; EXCEPTION -> X062 -; lisp/s-math.pla: 0064: var err_expr - ; ERR_EXPR -> X063 -; lisp/s-math.pla: 0065: -; lisp/s-math.pla: 0066: predef new_sym(symstr)#1 - ; NEW_SYM -> X064 -; lisp/s-math.pla: 0067: predef new_int(intlo, inthi)#1 - ; NEW_INT -> X065 -; lisp/s-math.pla: 0068: predef new_float(extptr)#1 - ; NEW_FLOAT -> X066 -; lisp/s-math.pla: 0069: predef print_expr(expr)#0 - ; PRINT_EXPR -> X067 -; lisp/s-math.pla: 0070: predef eval_expr(expr)#1 - ; EVAL_EXPR -> X068 -; lisp/s-math.pla: 0071: predef bool_pred(bool)#1 - ; BOOL_PRED -> X069 -; lisp/s-math.pla: 0072: end -; lisp/s-math.pla: 0073: -; lisp/s-math.pla: 0074: res[t_numint] nan = 0, 0, NUM_INT, 0, 0, 0, 128 // NaN - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D070 ; nan = 0, 0, NUM_INT, 0, 0, 0, 128 // NaN - !BYTE $00 - !BYTE $00 - !BYTE $31 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $80 -; lisp/s-math.pla: 0075: -; lisp/s-math.pla: 0076: // -; lisp/s-math.pla: 0077: // Useful constants -; lisp/s-math.pla: 0078: // -; lisp/s-math.pla: 0079: -; lisp/s-math.pla: 0080: res[t_extended] ext_pi = $35,$C2,$68,$21,$A2,$DA,$0F,$C9,$00,$40 -_D071 ; ext_pi = $35,$C2,$68,$21,$A2,$DA,$0F,$C9,$00,$40 - !BYTE $35 - !BYTE $C2 - !BYTE $68 - !BYTE $21 - !BYTE $A2 - !BYTE $DA - !BYTE $0F - !BYTE $C9 - !BYTE $00 - !BYTE $40 -; lisp/s-math.pla: 0081: res[t_extended] ext_e = $9B,$4A,$BB,$A2,$5B,$54,$F8,$AD,$00,$40 -_D072 ; ext_e = $9B,$4A,$BB,$A2,$5B,$54,$F8,$AD,$00,$40 - !BYTE $9B - !BYTE $4A - !BYTE $BB - !BYTE $A2 - !BYTE $5B - !BYTE $54 - !BYTE $F8 - !BYTE $AD - !BYTE $00 - !BYTE $40 -; lisp/s-math.pla: 0082: -; lisp/s-math.pla: 0083: res[t_extended] tempext -_D073 !FILL 10 ; tempext -; lisp/s-math.pla: 0084: -; lisp/s-math.pla: 0085: def int32_ext(intptr) -_SUBSEG ; BYTECODE STARTS - ; intptr -> [0] -_C000 ; int32_ext() -; lisp/s-math.pla: 0086: word[4] int64 - ; int64 -> [2] -; lisp/s-math.pla: 0087: -; lisp/s-math.pla: 0088: int64[0] = intptr=>[0] - !BYTE $58,$0A,$01 ; ENTER 10,1 -; lisp/s-math.pla: 0089: int64[1] = intptr=>[1] -; lisp/s-math.pla: 0090: if int64[1] < 0 -; lisp/s-math.pla: 0091: int64[2] = -1 -; lisp/s-math.pla: 0092: int64[3] = -1 -; lisp/s-math.pla: 0093: else - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$06 ; SLW [6] - !BYTE $20 ; MINUS ONE - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B002 - !WORD _B002-* -_B001 -; lisp/s-math.pla: 0094: int64[2] = 0 -; lisp/s-math.pla: 0095: int64[3] = 0 -; lisp/s-math.pla: 0096: fin - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] -_B002 -; lisp/s-math.pla: 0097: sane:saveZP() -; lisp/s-math.pla: 0098: sane:restoreZP(sane:op2FP(FFCOMP|FOZ2X, @tempext, @int64)) -; lisp/s-math.pla: 0099: return @tempext - !BYTE $6A ; LAW _X057+18 -_F000 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$05 ; CW 1294 - !BYTE $26 ; LA _D073+0 -_F001 !WORD _D073+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X057+8 -_F002 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F003 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D073+0 -_F004 !WORD _D073+0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0100: end -; lisp/s-math.pla: 0101: -; lisp/s-math.pla: 0102: def num_ext(numptr) - ; numptr -> [0] -_C001 ; num_ext() -; lisp/s-math.pla: 0103: -; lisp/s-math.pla: 0104: if numptr->type == NUM_FLOAT - !BYTE $58,$02,$01 ; ENTER 2,1 -; lisp/s-math.pla: 0105: return numptr + floatval - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B003 - !WORD _B003-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-math.pla: 0106: fin -_B003 -_B004 -; lisp/s-math.pla: 0107: return int32_ext(numptr + intval) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _C000 -_F005 !WORD _C000 - !BYTE $5A,$02 ; LEAVE 2 -; lisp/s-math.pla: 0108: end -; lisp/s-math.pla: 0109: -; lisp/s-math.pla: 0110: def eval_num(expr) - ; expr -> [0] -_C002 ; eval_num() -; lisp/s-math.pla: 0111: var result - ; result -> [2] -; lisp/s-math.pla: 0112: -; lisp/s-math.pla: 0113: result = eval_expr(expr=>car) - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-math.pla: 0114: if !result or result->type & TYPE_MASK <> NUM_TYPE -; lisp/s-math.pla: 0115: err_expr = expr -; lisp/s-math.pla: 0116: throw(exception, ERR_NOT_NUM) -; lisp/s-math.pla: 0117: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X068 -_F006 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B005 - !WORD _B005-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$30 ; CB 48 - !BYTE $42 ; ISNE -_B005 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _X063+0 -_F007 !WORD 0+0 - !BYTE $6A ; LAW _X062+0 -_F008 !WORD 0+0 - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $54 ; CALL _X060 -_F009 !WORD 0 - !BYTE $30 ; DROP -_B006 -_B007 -; lisp/s-math.pla: 0118: return result - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0119: end -; lisp/s-math.pla: 0120: -; lisp/s-math.pla: 0121: def eval_ext(expr) - ; expr -> [0] -_C003 ; eval_ext() -; lisp/s-math.pla: 0122: var result - ; result -> [2] -; lisp/s-math.pla: 0123: -; lisp/s-math.pla: 0124: result = eval_num(expr) - !BYTE $58,$04,$01 ; ENTER 4,1 -; lisp/s-math.pla: 0125: if result->type == NUM_INT -; lisp/s-math.pla: 0126: return int32_ext(result + intval) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F010 !WORD _C002 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B008 - !WORD _B008-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _C000 -_F011 !WORD _C000 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0127: fin -_B008 -_B009 -; lisp/s-math.pla: 0128: return result + floatval - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0129: end -; lisp/s-math.pla: 0130: -; lisp/s-math.pla: 0131: export def eval_int(expr)#1 // Always return an int - ; expr -> [0] -_C004 ; eval_int() -; lisp/s-math.pla: 0132: var result - ; result -> [2] -; lisp/s-math.pla: 0133: word[4] int64 - ; int64 -> [4] -; lisp/s-math.pla: 0134: -; lisp/s-math.pla: 0135: result = eval_num(expr) - !BYTE $58,$0C,$01 ; ENTER 12,1 -; lisp/s-math.pla: 0136: if result->type == NUM_FLOAT -; lisp/s-math.pla: 0137: sane:saveZP() -; lisp/s-math.pla: 0138: sane:restoreZP(sane:op2FP(FFCOMP|FOX2Z, @int64, result + floatval)) -; lisp/s-math.pla: 0139: return new_int(int64[0], int64[1]) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F012 !WORD _C002 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B010 - !WORD _B010-* - !BYTE $6A ; LAW _X057+18 -_F013 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$05 ; CW 1296 - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $6A ; LAW _X057+8 -_F014 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F015 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X065 -_F016 !WORD 0 - !BYTE $5A,$0C ; LEAVE 12 -; lisp/s-math.pla: 0140: fin -_B010 -_B011 -; lisp/s-math.pla: 0141: return result - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$0C ; LEAVE 12 -; lisp/s-math.pla: 0142: end -; lisp/s-math.pla: 0143: -; lisp/s-math.pla: 0144: export def eval_int16(expr)#1 // Always return an int - ; expr -> [0] -_C005 ; eval_int16() -; lisp/s-math.pla: 0145: var result - ; result -> [2] -; lisp/s-math.pla: 0146: word[4] int64 - ; int64 -> [4] -; lisp/s-math.pla: 0147: -; lisp/s-math.pla: 0148: result = eval_num(expr) - !BYTE $58,$0C,$01 ; ENTER 12,1 -; lisp/s-math.pla: 0149: if result->type == NUM_FLOAT -; lisp/s-math.pla: 0150: sane:saveZP() -; lisp/s-math.pla: 0151: sane:restoreZP(sane:op2FP(FFCOMP|FOX2Z, @int64, result + floatval)) -; lisp/s-math.pla: 0152: return int64 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F017 !WORD _C002 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B012 - !WORD _B012-* - !BYTE $6A ; LAW _X057+18 -_F018 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$05 ; CW 1296 - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $6A ; LAW _X057+8 -_F019 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F020 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$0C ; LEAVE 12 -; lisp/s-math.pla: 0153: fin -_B012 -_B013 -; lisp/s-math.pla: 0154: return result=>intval - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $5A,$0C ; LEAVE 12 -; lisp/s-math.pla: 0155: end -; lisp/s-math.pla: 0156: -; lisp/s-math.pla: 0157: def natv_integer(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C006 ; natv_integer() -; lisp/s-math.pla: 0158: return eval_int(expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F021 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0159: end -; lisp/s-math.pla: 0160: -; lisp/s-math.pla: 0161: def natv_sum(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C007 ; natv_sum() -; lisp/s-math.pla: 0162: var num, extptr - ; num -> [4] - ; extptr -> [6] -; lisp/s-math.pla: 0163: word[2] intsum - ; intsum -> [8] -; lisp/s-math.pla: 0164: res[t_extended] extsum - ; extsum -> [12] -; lisp/s-math.pla: 0165: -; lisp/s-math.pla: 0166: intsum[0] = 0 - !BYTE $58,$16,$02 ; ENTER 22,2 -; lisp/s-math.pla: 0167: intsum[1] = 0 -; lisp/s-math.pla: 0168: num = eval_num(expr) -; lisp/s-math.pla: 0169: expr = expr=>cdr -; lisp/s-math.pla: 0170: if num->type == NUM_INT -; lisp/s-math.pla: 0171: // -; lisp/s-math.pla: 0172: // Sum as integers unless a float is encountered -; lisp/s-math.pla: 0173: // -; lisp/s-math.pla: 0174: intsum[0] = num=>intval[0] -; lisp/s-math.pla: 0175: intsum[1] = num=>intval[1] -; lisp/s-math.pla: 0176: while expr - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F022 !WORD _C002 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B014 - !WORD _B014-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B016 -; lisp/s-math.pla: 0177: num = eval_num(expr) -; lisp/s-math.pla: 0178: expr = expr=>cdr -; lisp/s-math.pla: 0179: if num->type == NUM_FLOAT -; lisp/s-math.pla: 0180: break - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F023 !WORD _C002 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B019 - !WORD _B019-* - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -; lisp/s-math.pla: 0181: fin -_B019 -_B020 -; lisp/s-math.pla: 0182: load32(@intsum) -; lisp/s-math.pla: 0183: add32(num + intval) -; lisp/s-math.pla: 0184: store32(@intsum) -; lisp/s-math.pla: 0185: loop - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X032 -_F024 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X035 -_F025 !WORD 0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X034 -_F026 !WORD 0 -_B018 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* -_B017 -; lisp/s-math.pla: 0186: fin -_B014 -_B015 -; lisp/s-math.pla: 0187: if num->type == NUM_FLOAT -; lisp/s-math.pla: 0188: // -; lisp/s-math.pla: 0189: // Sum as floating point numbers -; lisp/s-math.pla: 0190: // -; lisp/s-math.pla: 0191: int32_ext(@intsum) -; lisp/s-math.pla: 0192: memcpy(@extsum, num + floatval, t_extended) -; lisp/s-math.pla: 0193: sane:saveZP() -; lisp/s-math.pla: 0194: sane:restoreZP(sane:op2FP(FOADD, @extsum, @tempext)) -; lisp/s-math.pla: 0195: while expr - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B021 - !WORD _B021-* - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C000 -_F027 !WORD _C000 - !BYTE $30 ; DROP - !BYTE $28,$0C ; LLA [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F028 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F029 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $28,$0C ; LLA [12] - !BYTE $26 ; LA _D073+0 -_F030 !WORD _D073+0 - !BYTE $6A ; LAW _X057+8 -_F031 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F032 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B023 -; lisp/s-math.pla: 0196: extptr = eval_ext(expr) -; lisp/s-math.pla: 0197: sane:saveZP() -; lisp/s-math.pla: 0198: sane:restoreZP(sane:op2FP(FOADD, @extsum, extptr)) -; lisp/s-math.pla: 0199: expr = expr=>cdr -; lisp/s-math.pla: 0200: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F033 !WORD _C003 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _X057+18 -_F034 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $28,$0C ; LLA [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X057+8 -_F035 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F036 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B025 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* -_B024 -; lisp/s-math.pla: 0201: return new_float(@extsum) - !BYTE $28,$0C ; LLA [12] - !BYTE $54 ; CALL _X066 -_F037 !WORD 0 - !BYTE $5A,$16 ; LEAVE 22 -; lisp/s-math.pla: 0202: fin -_B021 -_B022 -; lisp/s-math.pla: 0203: return new_int(intsum[0], intsum[1]) - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _X065 -_F038 !WORD 0 - !BYTE $5A,$16 ; LEAVE 22 -; lisp/s-math.pla: 0204: end -; lisp/s-math.pla: 0205: -; lisp/s-math.pla: 0206: def natv_sub(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C008 ; natv_sub() -; lisp/s-math.pla: 0207: res[t_numfloat] num1, num2 - ; num1 -> [4] - ; num2 -> [17] -; lisp/s-math.pla: 0208: word[2] dif - ; dif -> [30] -; lisp/s-math.pla: 0209: res[t_extended] ext1, ext2 - ; ext1 -> [34] - ; ext2 -> [44] -; lisp/s-math.pla: 0210: -; lisp/s-math.pla: 0211: memcpy(@num1, eval_num(expr), t_numfloat) - !BYTE $58,$36,$02 ; ENTER 54,2 -; lisp/s-math.pla: 0212: memcpy(@num2, eval_num(expr=>cdr), t_numfloat) -; lisp/s-math.pla: 0213: if num1.type == NUM_INT and num2.type == NUM_INT -; lisp/s-math.pla: 0214: load32(@num1 + intval) -; lisp/s-math.pla: 0215: sub32(@num2 + intval) -; lisp/s-math.pla: 0216: store32(@dif) -; lisp/s-math.pla: 0217: return new_int(dif[0], dif[1]) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F039 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F040 !WORD 0 - !BYTE $28,$11 ; LLA [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F041 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F042 !WORD 0 - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B026 - !WORD _B026-* - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ -_B026 - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _X032 -_F043 !WORD 0 - !BYTE $28,$14 ; LLA [20] - !BYTE $54 ; CALL _X037 -_F044 !WORD 0 - !BYTE $28,$1E ; LLA [30] - !BYTE $54 ; CALL _X034 -_F045 !WORD 0 - !BYTE $66,$1E ; LLW [30] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _X065 -_F046 !WORD 0 - !BYTE $5A,$36 ; LEAVE 54 -; lisp/s-math.pla: 0218: fin -_B027 -_B028 -; lisp/s-math.pla: 0219: memcpy(@ext1, num_ext(@num1), t_extended) -; lisp/s-math.pla: 0220: memcpy(@ext2, num_ext(@num2), t_extended) -; lisp/s-math.pla: 0221: sane:saveZP() -; lisp/s-math.pla: 0222: sane:restoreZP(sane:op2FP(FOSUB, @ext1, @ext2)) -; lisp/s-math.pla: 0223: return new_float(@ext1) - !BYTE $28,$22 ; LLA [34] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C001 -_F047 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F048 !WORD 0 - !BYTE $28,$2C ; LLA [44] - !BYTE $28,$11 ; LLA [17] - !BYTE $54 ; CALL _C001 -_F049 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F050 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F051 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $28,$22 ; LLA [34] - !BYTE $28,$2C ; LLA [44] - !BYTE $6A ; LAW _X057+8 -_F052 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F053 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _X066 -_F054 !WORD 0 - !BYTE $5A,$36 ; LEAVE 54 -; lisp/s-math.pla: 0224: end -; lisp/s-math.pla: 0225: -; lisp/s-math.pla: 0226: def natv_mul(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C009 ; natv_mul() -; lisp/s-math.pla: 0227: var num, extptr - ; num -> [4] - ; extptr -> [6] -; lisp/s-math.pla: 0228: word[2] intmul - ; intmul -> [8] -; lisp/s-math.pla: 0229: res[t_extended] extmul - ; extmul -> [12] -; lisp/s-math.pla: 0230: -; lisp/s-math.pla: 0231: intmul[0] = 1 - !BYTE $58,$16,$02 ; ENTER 22,2 -; lisp/s-math.pla: 0232: intmul[1] = 0 -; lisp/s-math.pla: 0233: num = eval_num(expr) -; lisp/s-math.pla: 0234: expr = expr=>cdr -; lisp/s-math.pla: 0235: if num->type == NUM_INT -; lisp/s-math.pla: 0236: // -; lisp/s-math.pla: 0237: // Multiply as integers unless a float is encountered -; lisp/s-math.pla: 0238: // -; lisp/s-math.pla: 0239: intmul[0] = num=>intval[0] -; lisp/s-math.pla: 0240: intmul[1] = num=>intval[1] -; lisp/s-math.pla: 0241: while expr - !BYTE $02 ; CN 1 - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F055 !WORD _C002 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B029 - !WORD _B029-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -_B031 -; lisp/s-math.pla: 0242: num = eval_num(expr) -; lisp/s-math.pla: 0243: expr = expr=>cdr -; lisp/s-math.pla: 0244: if num->type == NUM_FLOAT -; lisp/s-math.pla: 0245: break - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F056 !WORD _C002 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B034 - !WORD _B034-* - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -; lisp/s-math.pla: 0246: fin -_B034 -_B035 -; lisp/s-math.pla: 0247: load32(@intmul) -; lisp/s-math.pla: 0248: mul32(num + intval) -; lisp/s-math.pla: 0249: store32(@intmul) -; lisp/s-math.pla: 0250: loop - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X032 -_F057 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X041 -_F058 !WORD 0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X034 -_F059 !WORD 0 -_B033 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B031 - !WORD _B031-* -_B032 -; lisp/s-math.pla: 0251: fin -_B029 -_B030 -; lisp/s-math.pla: 0252: if num->type == NUM_FLOAT -; lisp/s-math.pla: 0253: // -; lisp/s-math.pla: 0254: // Multiply as floating point numbers -; lisp/s-math.pla: 0255: // -; lisp/s-math.pla: 0256: int32_ext(@intmul) -; lisp/s-math.pla: 0257: memcpy(@extmul, num + floatval, t_extended) -; lisp/s-math.pla: 0258: sane:saveZP() -; lisp/s-math.pla: 0259: sane:restoreZP(sane:op2FP(FOMUL, @extmul, @tempext)) -; lisp/s-math.pla: 0260: while expr - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B036 - !WORD _B036-* - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C000 -_F060 !WORD _C000 - !BYTE $30 ; DROP - !BYTE $28,$0C ; LLA [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F061 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F062 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $28,$0C ; LLA [12] - !BYTE $26 ; LA _D073+0 -_F063 !WORD _D073+0 - !BYTE $6A ; LAW _X057+8 -_F064 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F065 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B038 -; lisp/s-math.pla: 0261: extptr = eval_ext(expr) -; lisp/s-math.pla: 0262: sane:saveZP() -; lisp/s-math.pla: 0263: sane:restoreZP(sane:op2FP(FOMUL, @extmul, extptr)) -; lisp/s-math.pla: 0264: expr = expr=>cdr -; lisp/s-math.pla: 0265: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F066 !WORD _C003 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _X057+18 -_F067 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $28,$0C ; LLA [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X057+8 -_F068 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F069 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B040 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* -_B039 -; lisp/s-math.pla: 0266: return new_float(@extmul) - !BYTE $28,$0C ; LLA [12] - !BYTE $54 ; CALL _X066 -_F070 !WORD 0 - !BYTE $5A,$16 ; LEAVE 22 -; lisp/s-math.pla: 0267: fin -_B036 -_B037 -; lisp/s-math.pla: 0268: return new_int(intmul[0], intmul[1]) - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _X065 -_F071 !WORD 0 - !BYTE $5A,$16 ; LEAVE 22 -; lisp/s-math.pla: 0269: end -; lisp/s-math.pla: 0270: -; lisp/s-math.pla: 0271: def natv_div(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C010 ; natv_div() -; lisp/s-math.pla: 0272: res[t_numfloat] num1, num2 - ; num1 -> [4] - ; num2 -> [17] -; lisp/s-math.pla: 0273: word[2] div - ; div -> [30] -; lisp/s-math.pla: 0274: res[t_extended] ext1, ext2 - ; ext1 -> [34] - ; ext2 -> [44] -; lisp/s-math.pla: 0275: -; lisp/s-math.pla: 0276: memcpy(@num1, eval_num(expr), t_numfloat) - !BYTE $58,$36,$02 ; ENTER 54,2 -; lisp/s-math.pla: 0277: memcpy(@num2, eval_num(expr=>cdr), t_numfloat) -; lisp/s-math.pla: 0278: if num1.type == NUM_INT and num2.type == NUM_INT -; lisp/s-math.pla: 0279: load32(@num1 + intval) -; lisp/s-math.pla: 0280: div32(@num2 + intval) -; lisp/s-math.pla: 0281: store32(@div) -; lisp/s-math.pla: 0282: return new_int(div[0], div[1]) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F072 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F073 !WORD 0 - !BYTE $28,$11 ; LLA [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F074 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F075 !WORD 0 - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B041 - !WORD _B041-* - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ -_B041 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _X032 -_F076 !WORD 0 - !BYTE $28,$14 ; LLA [20] - !BYTE $54 ; CALL _X043 -_F077 !WORD 0 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $28,$1E ; LLA [30] - !BYTE $54 ; CALL _X034 -_F078 !WORD 0 - !BYTE $66,$1E ; LLW [30] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _X065 -_F079 !WORD 0 - !BYTE $5A,$36 ; LEAVE 54 -; lisp/s-math.pla: 0283: fin -_B042 -_B043 -; lisp/s-math.pla: 0284: memcpy(@ext1, num_ext(@num1), t_extended) -; lisp/s-math.pla: 0285: memcpy(@ext2, num_ext(@num2), t_extended) -; lisp/s-math.pla: 0286: sane:saveZP() -; lisp/s-math.pla: 0287: sane:restoreZP(sane:op2FP(FODIV, @ext1, @ext2)) -; lisp/s-math.pla: 0288: return new_float(@ext1) - !BYTE $28,$22 ; LLA [34] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C001 -_F080 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F081 !WORD 0 - !BYTE $28,$2C ; LLA [44] - !BYTE $28,$11 ; LLA [17] - !BYTE $54 ; CALL _C001 -_F082 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F083 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F084 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0C ; CN 6 - !BYTE $28,$22 ; LLA [34] - !BYTE $28,$2C ; LLA [44] - !BYTE $6A ; LAW _X057+8 -_F085 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F086 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _X066 -_F087 !WORD 0 - !BYTE $5A,$36 ; LEAVE 54 -; lisp/s-math.pla: 0289: end -; lisp/s-math.pla: 0290: -; lisp/s-math.pla: 0291: def natv_rem(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C011 ; natv_rem() -; lisp/s-math.pla: 0292: res[t_numfloat] num1, num2 - ; num1 -> [4] - ; num2 -> [17] -; lisp/s-math.pla: 0293: word[2] rem - ; rem -> [30] -; lisp/s-math.pla: 0294: res[t_extended] ext1, ext2 - ; ext1 -> [34] - ; ext2 -> [44] -; lisp/s-math.pla: 0295: -; lisp/s-math.pla: 0296: memcpy(@num1, eval_num(expr), t_numfloat) - !BYTE $58,$36,$02 ; ENTER 54,2 -; lisp/s-math.pla: 0297: memcpy(@num2, eval_num(expr=>cdr), t_numfloat) -; lisp/s-math.pla: 0298: if num1.type == NUM_INT and num2.type == NUM_INT -; lisp/s-math.pla: 0299: load32(@num1 + intval) -; lisp/s-math.pla: 0300: rem[1], rem[0] = div32(@num2 + intval) -; lisp/s-math.pla: 0301: return new_int(rem[0], rem[1]) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F088 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F089 !WORD 0 - !BYTE $28,$11 ; LLA [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F090 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F091 !WORD 0 - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B044 - !WORD _B044-* - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ -_B044 - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _X032 -_F092 !WORD 0 - !BYTE $28,$14 ; LLA [20] - !BYTE $54 ; CALL _X043 -_F093 !WORD 0 - !BYTE $76,$1E ; SLW [30] - !BYTE $76,$20 ; SLW [32] - !BYTE $66,$1E ; LLW [30] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _X065 -_F094 !WORD 0 - !BYTE $5A,$36 ; LEAVE 54 -; lisp/s-math.pla: 0302: fin -_B045 -_B046 -; lisp/s-math.pla: 0303: memcpy(@ext1, num_ext(@num1), t_extended) -; lisp/s-math.pla: 0304: memcpy(@ext2, num_ext(@num2), t_extended) -; lisp/s-math.pla: 0305: sane:saveZP() -; lisp/s-math.pla: 0306: sane:restoreZP(sane:op2FP(FOREM, @ext1, @ext2)) -; lisp/s-math.pla: 0307: return new_float(@ext1) - !BYTE $28,$22 ; LLA [34] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C001 -_F095 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F096 !WORD 0 - !BYTE $28,$2C ; LLA [44] - !BYTE $28,$11 ; LLA [17] - !BYTE $54 ; CALL _C001 -_F097 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F098 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F099 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $18 ; CN 12 - !BYTE $28,$22 ; LLA [34] - !BYTE $28,$2C ; LLA [44] - !BYTE $6A ; LAW _X057+8 -_F100 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F101 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _X066 -_F102 !WORD 0 - !BYTE $5A,$36 ; LEAVE 54 -; lisp/s-math.pla: 0308: end -; lisp/s-math.pla: 0309: -; lisp/s-math.pla: 0310: def natv_neg(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C012 ; natv_neg() -; lisp/s-math.pla: 0311: var num - ; num -> [4] -; lisp/s-math.pla: 0312: word[2] neg - ; neg -> [6] -; lisp/s-math.pla: 0313: -; lisp/s-math.pla: 0314: num = eval_num(expr) - !BYTE $58,$0A,$02 ; ENTER 10,2 -; lisp/s-math.pla: 0315: if num->type == NUM_INT -; lisp/s-math.pla: 0316: load32(num + intval) -; lisp/s-math.pla: 0317: neg32 -; lisp/s-math.pla: 0318: store32(@neg) -; lisp/s-math.pla: 0319: return new_int(neg[0], neg[1]) - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F103 !WORD _C002 - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B047 - !WORD _B047-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X032 -_F104 !WORD 0 - !BYTE $54 ; CALL _X031 -_F105 !WORD 0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X034 -_F106 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X065 -_F107 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0320: fin -_B047 -_B048 -; lisp/s-math.pla: 0321: num->floatval[9] = num->floatval[9] ^ $80 // Fun with float bits -; lisp/s-math.pla: 0322: return new_float(num + floatval) - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $38,$09 ; ADDI 9 - !BYTE $60 ; LB - !BYTE $2A,$80 ; CB 128 - !BYTE $98 ; XOR - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X066 -_F108 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0323: end -; lisp/s-math.pla: 0324: -; lisp/s-math.pla: 0325: def natv_abs(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C013 ; natv_abs() -; lisp/s-math.pla: 0326: var num - ; num -> [4] -; lisp/s-math.pla: 0327: word[2] abs - ; abs -> [6] -; lisp/s-math.pla: 0328: -; lisp/s-math.pla: 0329: num = eval_num(expr) - !BYTE $58,$0A,$02 ; ENTER 10,2 -; lisp/s-math.pla: 0330: if num->type == NUM_INT -; lisp/s-math.pla: 0331: if num=>intval[1] < 0 -; lisp/s-math.pla: 0332: load32(num + intval) -; lisp/s-math.pla: 0333: neg32 -; lisp/s-math.pla: 0334: store32(@abs) -; lisp/s-math.pla: 0335: else - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F109 !WORD _C002 - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B049 - !WORD _B049-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X032 -_F110 !WORD 0 - !BYTE $54 ; CALL _X031 -_F111 !WORD 0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X034 -_F112 !WORD 0 - !BYTE $50 ; BRNCH _B052 - !WORD _B052-* -_B051 -; lisp/s-math.pla: 0336: abs[0] = num=>intval[0] -; lisp/s-math.pla: 0337: abs[1] = num=>intval[1] -; lisp/s-math.pla: 0338: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B052 -; lisp/s-math.pla: 0339: return new_int(abs[0], abs[1]) - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X065 -_F113 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0340: fin -_B049 -_B050 -; lisp/s-math.pla: 0341: num->floatval[9] = num->floatval[9] & $7F // Fun with float bits -; lisp/s-math.pla: 0342: return new_float(num + floatval) - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $38,$09 ; ADDI 9 - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X066 -_F114 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0343: end -; lisp/s-math.pla: 0344: -; lisp/s-math.pla: 0345: def natv_gt(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C014 ; natv_gt() -; lisp/s-math.pla: 0346: res[t_numfloat] num1, num2 - ; num1 -> [4] - ; num2 -> [17] -; lisp/s-math.pla: 0347: res[t_extended] ext1, ext2 - ; ext1 -> [30] - ; ext2 -> [40] -; lisp/s-math.pla: 0348: -; lisp/s-math.pla: 0349: memcpy(@num1, eval_num(expr), t_numfloat) - !BYTE $58,$32,$02 ; ENTER 50,2 -; lisp/s-math.pla: 0350: memcpy(@num2, eval_num(expr=>cdr), t_numfloat) -; lisp/s-math.pla: 0351: if num1.type == NUM_INT and num2.type == NUM_INT -; lisp/s-math.pla: 0352: load32(@num1 + intval) -; lisp/s-math.pla: 0353: return bool_pred(isgt32(@num2 + intval)) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F115 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F116 !WORD 0 - !BYTE $28,$11 ; LLA [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F117 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F118 !WORD 0 - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B053 - !WORD _B053-* - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ -_B053 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _X032 -_F119 !WORD 0 - !BYTE $28,$14 ; LLA [20] - !BYTE $54 ; CALL _X051 -_F120 !WORD 0 - !BYTE $54 ; CALL _X069 -_F121 !WORD 0 - !BYTE $5A,$32 ; LEAVE 50 -; lisp/s-math.pla: 0354: fin -_B054 -_B055 -; lisp/s-math.pla: 0355: memcpy(@ext1, num_ext(@num1), t_extended) -; lisp/s-math.pla: 0356: memcpy(@ext2, num_ext(@num2), t_extended) -; lisp/s-math.pla: 0357: sane:saveZP() -; lisp/s-math.pla: 0358: sane:restoreZP(sane:op2FP(FOSUB, @ext2, @ext1)) -; lisp/s-math.pla: 0359: return bool_pred(ext2[9] & $80) // Check sign bit - !BYTE $28,$1E ; LLA [30] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C001 -_F122 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F123 !WORD 0 - !BYTE $28,$28 ; LLA [40] - !BYTE $28,$11 ; LLA [17] - !BYTE $54 ; CALL _C001 -_F124 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F125 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F126 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $28,$28 ; LLA [40] - !BYTE $28,$1E ; LLA [30] - !BYTE $6A ; LAW _X057+8 -_F127 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F128 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$31 ; LLB [49] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $54 ; CALL _X069 -_F129 !WORD 0 - !BYTE $5A,$32 ; LEAVE 50 -; lisp/s-math.pla: 0360: end -; lisp/s-math.pla: 0361: -; lisp/s-math.pla: 0362: def natv_lt(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C015 ; natv_lt() -; lisp/s-math.pla: 0363: res[t_numfloat] num1, num2 - ; num1 -> [4] - ; num2 -> [17] -; lisp/s-math.pla: 0364: res[t_extended] ext1, ext2 - ; ext1 -> [30] - ; ext2 -> [40] -; lisp/s-math.pla: 0365: -; lisp/s-math.pla: 0366: memcpy(@num1, eval_num(expr), t_numfloat) - !BYTE $58,$32,$02 ; ENTER 50,2 -; lisp/s-math.pla: 0367: memcpy(@num2, eval_num(expr=>cdr), t_numfloat) -; lisp/s-math.pla: 0368: if num1.type == NUM_INT and num2.type == NUM_INT -; lisp/s-math.pla: 0369: load32(@num1 + intval) -; lisp/s-math.pla: 0370: return bool_pred(islt32(@num2 + intval)) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F130 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F131 !WORD 0 - !BYTE $28,$11 ; LLA [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F132 !WORD _C002 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X018 -_F133 !WORD 0 - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B056 - !WORD _B056-* - !BYTE $64,$13 ; LLB [19] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ -_B056 - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _X032 -_F134 !WORD 0 - !BYTE $28,$14 ; LLA [20] - !BYTE $54 ; CALL _X053 -_F135 !WORD 0 - !BYTE $54 ; CALL _X069 -_F136 !WORD 0 - !BYTE $5A,$32 ; LEAVE 50 -; lisp/s-math.pla: 0371: fin -_B057 -_B058 -; lisp/s-math.pla: 0372: memcpy(@ext1, num_ext(@num1), t_extended) -; lisp/s-math.pla: 0373: memcpy(@ext2, num_ext(@num2), t_extended) -; lisp/s-math.pla: 0374: sane:saveZP() -; lisp/s-math.pla: 0375: sane:restoreZP(sane:op2FP(FOSUB, @ext1, @ext2)) -; lisp/s-math.pla: 0376: return bool_pred(ext1[9] & $80) // Check sign bit - !BYTE $28,$1E ; LLA [30] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _C001 -_F137 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F138 !WORD 0 - !BYTE $28,$28 ; LLA [40] - !BYTE $28,$11 ; LLA [17] - !BYTE $54 ; CALL _C001 -_F139 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F140 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F141 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $28,$1E ; LLA [30] - !BYTE $28,$28 ; LLA [40] - !BYTE $6A ; LAW _X057+8 -_F142 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F143 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$27 ; LLB [39] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $54 ; CALL _X069 -_F144 !WORD 0 - !BYTE $5A,$32 ; LEAVE 50 -; lisp/s-math.pla: 0377: end -; lisp/s-math.pla: 0378: -; lisp/s-math.pla: 0379: def natv_min(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C016 ; natv_min() -; lisp/s-math.pla: 0380: var num - ; num -> [4] -; lisp/s-math.pla: 0381: word[2] intmin - ; intmin -> [6] -; lisp/s-math.pla: 0382: res[t_extended] extmin, ext1, ext2 - ; extmin -> [10] - ; ext1 -> [20] - ; ext2 -> [30] -; lisp/s-math.pla: 0383: -; lisp/s-math.pla: 0384: num = eval_num(expr) - !BYTE $58,$28,$02 ; ENTER 40,2 -; lisp/s-math.pla: 0385: expr = expr=>cdr -; lisp/s-math.pla: 0386: if num->type == NUM_INT -; lisp/s-math.pla: 0387: // -; lisp/s-math.pla: 0388: // Find min as integers unless a float is encountered -; lisp/s-math.pla: 0389: // -; lisp/s-math.pla: 0390: intmin[0] = num=>intval[0] -; lisp/s-math.pla: 0391: intmin[1] = num=>intval[1] -; lisp/s-math.pla: 0392: while expr - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F145 !WORD _C002 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B059 - !WORD _B059-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B063 - !WORD _B063-* -_B061 -; lisp/s-math.pla: 0393: num = eval_num(expr) -; lisp/s-math.pla: 0394: if num->type == NUM_FLOAT -; lisp/s-math.pla: 0395: memcpy(@extmin, int32_ext(@intmin), t_extended) -; lisp/s-math.pla: 0396: break - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F146 !WORD _C002 - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B064 - !WORD _B064-* - !BYTE $28,$0A ; LLA [10] - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C000 -_F147 !WORD _C000 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F148 !WORD 0 - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -; lisp/s-math.pla: 0397: fin -_B064 -_B065 -; lisp/s-math.pla: 0398: load32(@intmin) -; lisp/s-math.pla: 0399: if isgt32(num + intval) -; lisp/s-math.pla: 0400: intmin[0] = num=>intval[0] -; lisp/s-math.pla: 0401: intmin[1] = num=>intval[1] -; lisp/s-math.pla: 0402: fin - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X032 -_F149 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X051 -_F150 !WORD 0 - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B066 -_B067 -; lisp/s-math.pla: 0403: expr = expr=>cdr -; lisp/s-math.pla: 0404: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B063 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B061 - !WORD _B061-* -_B062 -; lisp/s-math.pla: 0405: if !expr; return new_int(intmin[0], intmin[1]); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X065 -_F151 !WORD 0 - !BYTE $5A,$28 ; LEAVE 40 -_B068 -_B069 -; lisp/s-math.pla: 0406: else - !BYTE $50 ; BRNCH _B060 - !WORD _B060-* -_B059 -; lisp/s-math.pla: 0407: memcpy(@extmin, num + floatval, t_extended) -; lisp/s-math.pla: 0408: if expr; num = eval_num(expr); fin - !BYTE $28,$0A ; LLA [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F152 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F153 !WORD _C002 - !BYTE $76,$04 ; SLW [4] -_B070 -_B071 -; lisp/s-math.pla: 0409: fin -_B060 -; lisp/s-math.pla: 0410: while expr - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B072 -; lisp/s-math.pla: 0411: memcpy(@ext1, num_ext(num), t_extended) -; lisp/s-math.pla: 0412: memcpy(@ext2, @ext1, t_extended) -; lisp/s-math.pla: 0413: sane:saveZP() -; lisp/s-math.pla: 0414: sane:restoreZP(sane:op2FP(FOSUB, @ext2, @extmin)) -; lisp/s-math.pla: 0415: if ext2[9] & $80 // Check sign bit -; lisp/s-math.pla: 0416: memcpy(@extmin, @ext1, t_extended) -; lisp/s-math.pla: 0417: fin - !BYTE $28,$14 ; LLA [20] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C001 -_F154 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F155 !WORD 0 - !BYTE $28,$1E ; LLA [30] - !BYTE $28,$14 ; LLA [20] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F156 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F157 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $28,$1E ; LLA [30] - !BYTE $28,$0A ; LLA [10] - !BYTE $6A ; LAW _X057+8 -_F158 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F159 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$27 ; LLB [39] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $28,$0A ; LLA [10] - !BYTE $28,$14 ; LLA [20] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F160 !WORD 0 -_B075 -_B076 -; lisp/s-math.pla: 0418: expr = expr=>cdr -; lisp/s-math.pla: 0419: if expr; num = eval_num(expr); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F161 !WORD _C002 - !BYTE $76,$04 ; SLW [4] -_B077 -_B078 -; lisp/s-math.pla: 0420: loop -_B074 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* -_B073 -; lisp/s-math.pla: 0421: return new_float(@extmin) - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X066 -_F162 !WORD 0 - !BYTE $5A,$28 ; LEAVE 40 -; lisp/s-math.pla: 0422: end -; lisp/s-math.pla: 0423: -; lisp/s-math.pla: 0424: def natv_max(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C017 ; natv_max() -; lisp/s-math.pla: 0425: var num - ; num -> [4] -; lisp/s-math.pla: 0426: word[2] intmax - ; intmax -> [6] -; lisp/s-math.pla: 0427: res[t_extended] extmax, ext1, ext2 - ; extmax -> [10] - ; ext1 -> [20] - ; ext2 -> [30] -; lisp/s-math.pla: 0428: -; lisp/s-math.pla: 0429: num = eval_num(expr) - !BYTE $58,$28,$02 ; ENTER 40,2 -; lisp/s-math.pla: 0430: expr = expr=>cdr -; lisp/s-math.pla: 0431: if num->type == NUM_INT -; lisp/s-math.pla: 0432: // -; lisp/s-math.pla: 0433: // Find max as integers unless a float is encountered -; lisp/s-math.pla: 0434: // -; lisp/s-math.pla: 0435: intmax[0] = num=>intval[0] -; lisp/s-math.pla: 0436: intmax[1] = num=>intval[1] -; lisp/s-math.pla: 0437: while expr - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F163 !WORD _C002 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $24 ; BRNE _B079 - !WORD _B079-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B083 - !WORD _B083-* -_B081 -; lisp/s-math.pla: 0438: num = eval_num(expr) -; lisp/s-math.pla: 0439: if num->type == NUM_FLOAT -; lisp/s-math.pla: 0440: memcpy(@extmax, int32_ext(@intmax), t_extended) -; lisp/s-math.pla: 0441: break - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F164 !WORD _C002 - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B084 - !WORD _B084-* - !BYTE $28,$0A ; LLA [10] - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C000 -_F165 !WORD _C000 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F166 !WORD 0 - !BYTE $50 ; BRNCH _B082 - !WORD _B082-* -; lisp/s-math.pla: 0442: fin -_B084 -_B085 -; lisp/s-math.pla: 0443: load32(@intmax) -; lisp/s-math.pla: 0444: if islt32(num + intval) -; lisp/s-math.pla: 0445: intmax[0] = num=>intval[0] -; lisp/s-math.pla: 0446: intmax[1] = num=>intval[1] -; lisp/s-math.pla: 0447: fin - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X032 -_F167 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X053 -_F168 !WORD 0 - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B086 -_B087 -; lisp/s-math.pla: 0448: expr = expr=>cdr -; lisp/s-math.pla: 0449: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B083 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B081 - !WORD _B081-* -_B082 -; lisp/s-math.pla: 0450: if !expr; return new_int(intmax[0], intmax[1]); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B088 - !WORD _B088-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X065 -_F169 !WORD 0 - !BYTE $5A,$28 ; LEAVE 40 -_B088 -_B089 -; lisp/s-math.pla: 0451: else - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B079 -; lisp/s-math.pla: 0452: memcpy(@extmax, num + floatval, t_extended) -; lisp/s-math.pla: 0453: if expr; num = eval_num(expr); fin - !BYTE $28,$0A ; LLA [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F170 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B090 - !WORD _B090-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F171 !WORD _C002 - !BYTE $76,$04 ; SLW [4] -_B090 -_B091 -; lisp/s-math.pla: 0454: fin -_B080 -; lisp/s-math.pla: 0455: while expr - !BYTE $50 ; BRNCH _B094 - !WORD _B094-* -_B092 -; lisp/s-math.pla: 0456: memcpy(@ext1, @extmax, t_extended) -; lisp/s-math.pla: 0457: memcpy(@ext2, num_ext(num), t_extended) -; lisp/s-math.pla: 0458: sane:saveZP() -; lisp/s-math.pla: 0459: sane:restoreZP(sane:op2FP(FOSUB, @ext1, @ext2)) -; lisp/s-math.pla: 0460: if ext1[9] & $80 // Check sign bit -; lisp/s-math.pla: 0461: memcpy(@extmax, @ext2, t_extended) -; lisp/s-math.pla: 0462: fin - !BYTE $28,$14 ; LLA [20] - !BYTE $28,$0A ; LLA [10] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F172 !WORD 0 - !BYTE $28,$1E ; LLA [30] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C001 -_F173 !WORD _C001 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F174 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F175 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $28,$14 ; LLA [20] - !BYTE $28,$1E ; LLA [30] - !BYTE $6A ; LAW _X057+8 -_F176 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F177 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$1D ; LLB [29] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B095 - !WORD _B095-* - !BYTE $28,$0A ; LLA [10] - !BYTE $28,$1E ; LLA [30] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F178 !WORD 0 -_B095 -_B096 -; lisp/s-math.pla: 0463: expr = expr=>cdr -; lisp/s-math.pla: 0464: if expr; num = eval_num(expr); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F179 !WORD _C002 - !BYTE $76,$04 ; SLW [4] -_B097 -_B098 -; lisp/s-math.pla: 0465: loop -_B094 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B092 - !WORD _B092-* -_B093 -; lisp/s-math.pla: 0466: return new_float(@extmax) - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X066 -_F180 !WORD 0 - !BYTE $5A,$28 ; LEAVE 40 -; lisp/s-math.pla: 0467: end -; lisp/s-math.pla: 0468: -; lisp/s-math.pla: 0469: def sane_op1(op1, expr) - ; op1 -> [0] - ; expr -> [2] -_C018 ; sane_op1() -; lisp/s-math.pla: 0470: res[t_extended] ext - ; ext -> [4] -; lisp/s-math.pla: 0471: -; lisp/s-math.pla: 0472: memcpy(@ext, eval_ext(expr), t_extended) - !BYTE $58,$0E,$02 ; ENTER 14,2 -; lisp/s-math.pla: 0473: sane:saveZP() -; lisp/s-math.pla: 0474: sane:restoreZP(sane:op1FP(op1, @ext)) -; lisp/s-math.pla: 0475: return new_float(@ext) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F181 !WORD _C003 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F182 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F183 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$04 ; LLA [4] - !BYTE $6A ; LAW _X057+6 -_F184 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F185 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X066 -_F186 !WORD 0 - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-math.pla: 0476: end -; lisp/s-math.pla: 0477: -; lisp/s-math.pla: 0478: def natv_logb(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C019 ; natv_logb() -; lisp/s-math.pla: 0479: return sane_op1(FOLOGB, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$1A ; CB 26 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C018 -_F187 !WORD _C018 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0480: end -; lisp/s-math.pla: 0481: -; lisp/s-math.pla: 0482: def natv_scalebI(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C020 ; natv_scalebI() -; lisp/s-math.pla: 0483: var int - ; int -> [4] -; lisp/s-math.pla: 0484: res[t_extended] ext - ; ext -> [6] -; lisp/s-math.pla: 0485: -; lisp/s-math.pla: 0486: memcpy(@ext, eval_ext(expr), t_extended) - !BYTE $58,$10,$02 ; ENTER 16,2 -; lisp/s-math.pla: 0487: int = eval_int16(expr=>cdr) -; lisp/s-math.pla: 0488: sane:saveZP() -; lisp/s-math.pla: 0489: sane:restoreZP(sane:op2FP(FOSCALB, @ext, int)) -; lisp/s-math.pla: 0490: return new_float(@ext) - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F188 !WORD _C003 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F189 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C005 -_F190 !WORD _C005 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _X057+18 -_F191 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$18 ; CB 24 - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X057+8 -_F192 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F193 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X066 -_F194 !WORD 0 - !BYTE $5A,$10 ; LEAVE 16 -; lisp/s-math.pla: 0491: end -; lisp/s-math.pla: 0492: -; lisp/s-math.pla: 0493: def natv_trunc(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C021 ; natv_trunc() -; lisp/s-math.pla: 0494: return sane_op1(FOTTI, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$16 ; CB 22 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C018 -_F195 !WORD _C018 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0495: end -; lisp/s-math.pla: 0496: -; lisp/s-math.pla: 0497: def natv_round(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C022 ; natv_round() -; lisp/s-math.pla: 0498: return sane_op1(FORTI, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$14 ; CB 20 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C018 -_F196 !WORD _C018 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0499: end -; lisp/s-math.pla: 0500: -; lisp/s-math.pla: 0501: def natv_sqrt(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C023 ; natv_sqrt() -; lisp/s-math.pla: 0502: return sane_op1(FOSQRT, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$12 ; CB 18 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C018 -_F197 !WORD _C018 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0503: end -; lisp/s-math.pla: 0504: -; lisp/s-math.pla: 0505: // -; lisp/s-math.pla: 0506: // ELEMS functions -; lisp/s-math.pla: 0507: // -; lisp/s-math.pla: 0508: -; lisp/s-math.pla: 0509: def elem_op1(op1, expr) - ; op1 -> [0] - ; expr -> [2] -_C024 ; elem_op1() -; lisp/s-math.pla: 0510: res[t_extended] ext - ; ext -> [4] -; lisp/s-math.pla: 0511: -; lisp/s-math.pla: 0512: memcpy(@ext, eval_ext(expr), t_extended) - !BYTE $58,$0E,$02 ; ENTER 14,2 -; lisp/s-math.pla: 0513: sane:saveZP() -; lisp/s-math.pla: 0514: sane:restoreZP(sane:op1ELEM(op1, @ext)) -; lisp/s-math.pla: 0515: return new_float(@ext) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F198 !WORD _C003 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F199 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F200 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$04 ; LLA [4] - !BYTE $6A ; LAW _X057+12 -_F201 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F202 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X066 -_F203 !WORD 0 - !BYTE $5A,$0E ; LEAVE 14 -; lisp/s-math.pla: 0516: end -; lisp/s-math.pla: 0517: -; lisp/s-math.pla: 0518: def elem_op2(op2, expr) - ; op2 -> [0] - ; expr -> [2] -_C025 ; elem_op2() -; lisp/s-math.pla: 0519: res[t_extended] ext1, ext2 - ; ext1 -> [4] - ; ext2 -> [14] -; lisp/s-math.pla: 0520: -; lisp/s-math.pla: 0521: memcpy(@ext1, eval_ext(expr), t_extended) - !BYTE $58,$18,$02 ; ENTER 24,2 -; lisp/s-math.pla: 0522: memcpy(@ext2, eval_ext(expr=>cdr), t_extended) -; lisp/s-math.pla: 0523: sane:saveZP() -; lisp/s-math.pla: 0524: sane:restoreZP(sane:op2ELEM(op2, @ext1, @ext2)) -; lisp/s-math.pla: 0525: return new_float(@ext1) - !BYTE $28,$04 ; LLA [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F204 !WORD _C003 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F205 !WORD 0 - !BYTE $28,$0E ; LLA [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F206 !WORD _C003 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F207 !WORD 0 - !BYTE $6A ; LAW _X057+18 -_F208 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$04 ; LLA [4] - !BYTE $28,$0E ; LLA [14] - !BYTE $6A ; LAW _X057+14 -_F209 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F210 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X066 -_F211 !WORD 0 - !BYTE $5A,$18 ; LEAVE 24 -; lisp/s-math.pla: 0526: end -; lisp/s-math.pla: 0527: -; lisp/s-math.pla: 0528: def natv_cos(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C026 ; natv_cos() -; lisp/s-math.pla: 0529: return elem_op1(FOCOSX, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$1C ; CB 28 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F212 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0530: end -; lisp/s-math.pla: 0531: -; lisp/s-math.pla: 0532: def natv_sin(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C027 ; natv_sin() -; lisp/s-math.pla: 0533: return elem_op1(FOSINX, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$1A ; CB 26 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F213 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0534: end -; lisp/s-math.pla: 0535: -; lisp/s-math.pla: 0536: def natv_tan(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C028 ; natv_tan() -; lisp/s-math.pla: 0537: return elem_op1(FOTANX, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$1E ; CB 30 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F214 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0538: end -; lisp/s-math.pla: 0539: -; lisp/s-math.pla: 0540: def natv_atan(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C029 ; natv_atan() -; lisp/s-math.pla: 0541: return elem_op1(FOATANX, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F215 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0542: end -; lisp/s-math.pla: 0543: -; lisp/s-math.pla: 0544: def natv_log2(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C030 ; natv_log2() -; lisp/s-math.pla: 0545: return elem_op1(FOLOG2X, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $04 ; CN 2 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F216 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0546: end -; lisp/s-math.pla: 0547: -; lisp/s-math.pla: 0548: def natv_log21(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C031 ; natv_log21() -; lisp/s-math.pla: 0549: return elem_op1(FOLOG21X, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $0C ; CN 6 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F217 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0550: end -; lisp/s-math.pla: 0551: -; lisp/s-math.pla: 0552: def natv_ln(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C032 ; natv_ln() -; lisp/s-math.pla: 0553: return elem_op1(FOLNX, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F218 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0554: end -; lisp/s-math.pla: 0555: -; lisp/s-math.pla: 0556: def natv_ln1(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C033 ; natv_ln1() -; lisp/s-math.pla: 0557: return elem_op1(FOLN1X, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $08 ; CN 4 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F219 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0558: end -; lisp/s-math.pla: 0559: -; lisp/s-math.pla: 0560: def natv_pow2(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C034 ; natv_pow2() -; lisp/s-math.pla: 0561: return elem_op1(FOEXP2X, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F220 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0562: end -; lisp/s-math.pla: 0563: -; lisp/s-math.pla: 0564: def natv_pow21(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C035 ; natv_pow21() -; lisp/s-math.pla: 0565: return elem_op1(FOEXP21X, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $1C ; CN 14 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F221 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0566: end -; lisp/s-math.pla: 0567: -; lisp/s-math.pla: 0568: def natv_powE(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C036 ; natv_powE() -; lisp/s-math.pla: 0569: return elem_op1(FOEXPX, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $10 ; CN 8 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F222 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0570: end -; lisp/s-math.pla: 0571: -; lisp/s-math.pla: 0572: def natv_powE1(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C037 ; natv_powE1() -; lisp/s-math.pla: 0573: return elem_op1(FOEXP1X, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $18 ; CN 12 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C024 -_F223 !WORD _C024 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0574: end -; lisp/s-math.pla: 0575: -; lisp/s-math.pla: 0576: def natv_powI(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C038 ; natv_powI() -; lisp/s-math.pla: 0577: var int - ; int -> [4] -; lisp/s-math.pla: 0578: res[t_extended] ext - ; ext -> [6] -; lisp/s-math.pla: 0579: -; lisp/s-math.pla: 0580: memcpy(@ext, eval_ext(expr), t_extended) - !BYTE $58,$10,$02 ; ENTER 16,2 -; lisp/s-math.pla: 0581: int = eval_int16(expr=>cdr) -; lisp/s-math.pla: 0582: sane:saveZP() -; lisp/s-math.pla: 0583: sane:restoreZP(sane:op2ELEM(FOXPWRI, @ext, int)) -; lisp/s-math.pla: 0584: return new_float(@ext) - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F224 !WORD _C003 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X018 -_F225 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C005 -_F226 !WORD _C005 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _X057+18 -_F227 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X057+14 -_F228 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F229 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X066 -_F230 !WORD 0 - !BYTE $5A,$10 ; LEAVE 16 -; lisp/s-math.pla: 0585: end -; lisp/s-math.pla: 0586: -; lisp/s-math.pla: 0587: def natv_pow(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C039 ; natv_pow() -; lisp/s-math.pla: 0588: return elem_op2(FOXPWRI, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C025 -_F231 !WORD _C025 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0589: end -; lisp/s-math.pla: 0590: -; lisp/s-math.pla: 0591: def natv_comp(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C040 ; natv_comp() -; lisp/s-math.pla: 0592: return elem_op2(FOCOMPND, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$14 ; CB 20 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C025 -_F232 !WORD _C025 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0593: end -; lisp/s-math.pla: 0594: -; lisp/s-math.pla: 0595: def natv_annuity(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C041 ; natv_annuity() -; lisp/s-math.pla: 0596: return elem_op2(FOANNUIT, expr) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $2A,$16 ; CB 22 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C025 -_F233 !WORD _C025 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0597: end -; lisp/s-math.pla: 0598: -; lisp/s-math.pla: 0599: // -; lisp/s-math.pla: 0600: // Bit-wise operations -; lisp/s-math.pla: 0601: // -; lisp/s-math.pla: 0602: -; lisp/s-math.pla: 0603: def natv_bitnot(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C042 ; natv_bitnot() -; lisp/s-math.pla: 0604: symptr = eval_int(expr) - !BYTE $58,$04,$02 ; ENTER 4,2 -; lisp/s-math.pla: 0605: return new_int(~symptr=>intval[0], ~symptr=>intval[1]) - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F234 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $92 ; COMP - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $92 ; COMP - !BYTE $54 ; CALL _X065 -_F235 !WORD 0 - !BYTE $5A,$04 ; LEAVE 4 -; lisp/s-math.pla: 0606: end -; lisp/s-math.pla: 0607: -; lisp/s-math.pla: 0608: def natv_bitand(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C043 ; natv_bitand() -; lisp/s-math.pla: 0609: var[2] bitval - ; bitval -> [4] -; lisp/s-math.pla: 0610: -; lisp/s-math.pla: 0611: symptr = eval_int(expr) - !BYTE $58,$08,$02 ; ENTER 8,2 -; lisp/s-math.pla: 0612: bitval[0] = symptr=>intval[0] -; lisp/s-math.pla: 0613: bitval[1] = symptr=>intval[1] -; lisp/s-math.pla: 0614: symptr = eval_int(expr=>cdr) -; lisp/s-math.pla: 0615: return new_int(bitval[0] & symptr=>intval[0], bitval[1] & symptr=>intval[1]) - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F236 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F237 !WORD _C004 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $94 ; AND - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $94 ; AND - !BYTE $54 ; CALL _X065 -_F238 !WORD 0 - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-math.pla: 0616: end -; lisp/s-math.pla: 0617: -; lisp/s-math.pla: 0618: def natv_bitor(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C044 ; natv_bitor() -; lisp/s-math.pla: 0619: var[2] bitval - ; bitval -> [4] -; lisp/s-math.pla: 0620: -; lisp/s-math.pla: 0621: symptr = eval_int(expr) - !BYTE $58,$08,$02 ; ENTER 8,2 -; lisp/s-math.pla: 0622: bitval[0] = symptr=>intval[0] -; lisp/s-math.pla: 0623: bitval[1] = symptr=>intval[1] -; lisp/s-math.pla: 0624: symptr = eval_int(expr=>cdr) -; lisp/s-math.pla: 0625: return new_int(bitval[0] | symptr=>intval[0], bitval[1] | symptr=>intval[1]) - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F239 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F240 !WORD _C004 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $54 ; CALL _X065 -_F241 !WORD 0 - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-math.pla: 0626: end -; lisp/s-math.pla: 0627: -; lisp/s-math.pla: 0628: def natv_bitxor(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C045 ; natv_bitxor() -; lisp/s-math.pla: 0629: var[2] bitval - ; bitval -> [4] -; lisp/s-math.pla: 0630: -; lisp/s-math.pla: 0631: symptr = eval_int(expr) - !BYTE $58,$08,$02 ; ENTER 8,2 -; lisp/s-math.pla: 0632: bitval[0] = symptr=>intval[0] -; lisp/s-math.pla: 0633: bitval[1] = symptr=>intval[1] -; lisp/s-math.pla: 0634: symptr = eval_int(expr=>cdr) -; lisp/s-math.pla: 0635: return new_int(bitval[0] ^ symptr=>intval[0], bitval[1] ^ symptr=>intval[1]) - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F242 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F243 !WORD _C004 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $98 ; XOR - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $98 ; XOR - !BYTE $54 ; CALL _X065 -_F244 !WORD 0 - !BYTE $5A,$08 ; LEAVE 8 -; lisp/s-math.pla: 0636: end -; lisp/s-math.pla: 0637: -; lisp/s-math.pla: 0638: def natv_arithshift(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C046 ; natv_arithshift() -; lisp/s-math.pla: 0639: var[2] bitval - ; bitval -> [4] -; lisp/s-math.pla: 0640: var shift - ; shift -> [8] -; lisp/s-math.pla: 0641: -; lisp/s-math.pla: 0642: symptr = eval_int(expr) - !BYTE $58,$0A,$02 ; ENTER 10,2 -; lisp/s-math.pla: 0643: bitval[0] = symptr=>intval[0] -; lisp/s-math.pla: 0644: bitval[1] = symptr=>intval[1] -; lisp/s-math.pla: 0645: symptr = eval_int(expr=>cdr) -; lisp/s-math.pla: 0646: shift = symptr=>intval[0] -; lisp/s-math.pla: 0647: if shift < 0 -; lisp/s-math.pla: 0648: // -; lisp/s-math.pla: 0649: // Shift right -; lisp/s-math.pla: 0650: // -; lisp/s-math.pla: 0651: if shift < -31 -; lisp/s-math.pla: 0652: bitval[1] = bitval[1] < 0 ?? $FFFF :: 0 -; lisp/s-math.pla: 0653: bitval[0] = bitval[1] -; lisp/s-math.pla: 0654: else - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F245 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F246 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $66,$08 ; LLW [8] - !BYTE $5E,$E1 ; CFFB -31 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $66,$06 ; LLW [6] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $20 ; MINUS ONE - !BYTE $50 ; BRNCH _B104 - !WORD _B104-* -_B103 - !BYTE $00 ; CN 0 -_B104 - !BYTE $6E,$06 ; DLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B102 - !WORD _B102-* -_B101 -; lisp/s-math.pla: 0655: while shift < 0 - !BYTE $50 ; BRNCH _B107 - !WORD _B107-* -_B105 -; lisp/s-math.pla: 0656: bitval[0] = bitval[0] >> 1 -; lisp/s-math.pla: 0657: if bitval[1] & 1 -; lisp/s-math.pla: 0658: bitval[0] = bitval[0] | $8000 -; lisp/s-math.pla: 0659: else - !BYTE $66,$04 ; LLW [4] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B108 - !WORD _B108-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $96 ; OR - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B109 - !WORD _B109-* -_B108 -; lisp/s-math.pla: 0660: bitval[0] = bitval[0] & $7FFF -; lisp/s-math.pla: 0661: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $76,$04 ; SLW [4] -_B109 -; lisp/s-math.pla: 0662: bitval[1] = bitval[1] >> 1 -; lisp/s-math.pla: 0663: shift++ - !BYTE $66,$06 ; LLW [6] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; lisp/s-math.pla: 0664: loop - !BYTE $76,$08 ; SLW [8] -_B107 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B105 - !WORD _B105-* -_B106 -; lisp/s-math.pla: 0665: fin -_B102 -; lisp/s-math.pla: 0666: else - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -_B099 -; lisp/s-math.pla: 0667: // -; lisp/s-math.pla: 0668: // Shift left -; lisp/s-math.pla: 0669: // -; lisp/s-math.pla: 0670: if shift > 31 -; lisp/s-math.pla: 0671: bitval[0] = 0 -; lisp/s-math.pla: 0672: bitval[1] = 0 -; lisp/s-math.pla: 0673: else - !BYTE $66,$08 ; LLW [8] - !BYTE $2A,$1F ; CB 31 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B110 -; lisp/s-math.pla: 0674: while shift > 0 - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B112 -; lisp/s-math.pla: 0675: bitval[1] = bitval[1] << 1 -; lisp/s-math.pla: 0676: if bitval[0] & $8000 -; lisp/s-math.pla: 0677: bitval[1] = bitval[1] | 1 -; lisp/s-math.pla: 0678: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $66,$06 ; LLW [6] - !BYTE $3E,$01 ; ORI 1 - !BYTE $76,$06 ; SLW [6] -_B115 -_B116 -; lisp/s-math.pla: 0679: bitval[0] = bitval[0] << 1 -; lisp/s-math.pla: 0680: shift-- - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; lisp/s-math.pla: 0681: loop - !BYTE $76,$08 ; SLW [8] -_B114 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B112 - !WORD _B112-* -_B113 -; lisp/s-math.pla: 0682: fin -_B111 -; lisp/s-math.pla: 0683: fin -_B100 -; lisp/s-math.pla: 0684: return new_int(bitval[0], bitval[1]) - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X065 -_F247 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0685: end -; lisp/s-math.pla: 0686: -; lisp/s-math.pla: 0687: def natv_logicshift(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C047 ; natv_logicshift() -; lisp/s-math.pla: 0688: var[2] bitval - ; bitval -> [4] -; lisp/s-math.pla: 0689: var shift - ; shift -> [8] -; lisp/s-math.pla: 0690: -; lisp/s-math.pla: 0691: symptr = eval_int(expr) - !BYTE $58,$0A,$02 ; ENTER 10,2 -; lisp/s-math.pla: 0692: bitval[0] = symptr=>intval[0] -; lisp/s-math.pla: 0693: bitval[1] = symptr=>intval[1] -; lisp/s-math.pla: 0694: symptr = eval_int(expr=>cdr) -; lisp/s-math.pla: 0695: shift = symptr=>intval[0] -; lisp/s-math.pla: 0696: if shift < 0 -; lisp/s-math.pla: 0697: // -; lisp/s-math.pla: 0698: // Shift right -; lisp/s-math.pla: 0699: // -; lisp/s-math.pla: 0700: if shift < -31 -; lisp/s-math.pla: 0701: bitval[1] = 0 -; lisp/s-math.pla: 0702: bitval[0] = 0 -; lisp/s-math.pla: 0703: else - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F248 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F249 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $66,$08 ; LLW [8] - !BYTE $5E,$E1 ; CFFB -31 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B119 -; lisp/s-math.pla: 0704: while shift < 0 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B121 -; lisp/s-math.pla: 0705: bitval[0] = bitval[0] >> 1 -; lisp/s-math.pla: 0706: if bitval[1] & 1 -; lisp/s-math.pla: 0707: bitval[0] = bitval[0] | $8000 -; lisp/s-math.pla: 0708: else - !BYTE $66,$04 ; LLW [4] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B124 - !WORD _B124-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $96 ; OR - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B125 - !WORD _B125-* -_B124 -; lisp/s-math.pla: 0709: bitval[0] = bitval[0] & $7FFF -; lisp/s-math.pla: 0710: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $76,$04 ; SLW [4] -_B125 -; lisp/s-math.pla: 0711: bitval[1] = (bitval[1] >> 1) & $7FFF -; lisp/s-math.pla: 0712: shift++ - !BYTE $66,$06 ; LLW [6] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; lisp/s-math.pla: 0713: loop - !BYTE $76,$08 ; SLW [8] -_B123 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B121 - !WORD _B121-* -_B122 -; lisp/s-math.pla: 0714: fin -_B120 -; lisp/s-math.pla: 0715: else - !BYTE $50 ; BRNCH _B118 - !WORD _B118-* -_B117 -; lisp/s-math.pla: 0716: // -; lisp/s-math.pla: 0717: // Shift left -; lisp/s-math.pla: 0718: // -; lisp/s-math.pla: 0719: if shift > 31 -; lisp/s-math.pla: 0720: bitval[0] = 0 -; lisp/s-math.pla: 0721: bitval[1] = 0 -; lisp/s-math.pla: 0722: else - !BYTE $66,$08 ; LLW [8] - !BYTE $2A,$1F ; CB 31 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B126 - !WORD _B126-* - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B127 - !WORD _B127-* -_B126 -; lisp/s-math.pla: 0723: while shift > 0 - !BYTE $50 ; BRNCH _B130 - !WORD _B130-* -_B128 -; lisp/s-math.pla: 0724: bitval[1] = bitval[1] << 1 -; lisp/s-math.pla: 0725: if bitval[0] & $8000 -; lisp/s-math.pla: 0726: bitval[1] = bitval[1] | 1 -; lisp/s-math.pla: 0727: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B131 - !WORD _B131-* - !BYTE $66,$06 ; LLW [6] - !BYTE $3E,$01 ; ORI 1 - !BYTE $76,$06 ; SLW [6] -_B131 -_B132 -; lisp/s-math.pla: 0728: bitval[0] = bitval[0] << 1 -; lisp/s-math.pla: 0729: shift-- - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; lisp/s-math.pla: 0730: loop - !BYTE $76,$08 ; SLW [8] -_B130 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B128 - !WORD _B128-* -_B129 -; lisp/s-math.pla: 0731: fin -_B127 -; lisp/s-math.pla: 0732: fin -_B118 -; lisp/s-math.pla: 0733: return new_int(bitval[0], bitval[1]) - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X065 -_F250 !WORD 0 - !BYTE $5A,$0A ; LEAVE 10 -; lisp/s-math.pla: 0734: end -; lisp/s-math.pla: 0735: -; lisp/s-math.pla: 0736: def natv_rotate(symptr, expr) - ; symptr -> [0] - ; expr -> [2] -_C048 ; natv_rotate() -; lisp/s-math.pla: 0737: var[2] bitval - ; bitval -> [4] -; lisp/s-math.pla: 0738: var rotate, wrap - ; rotate -> [8] - ; wrap -> [10] -; lisp/s-math.pla: 0739: -; lisp/s-math.pla: 0740: symptr = eval_int(expr) - !BYTE $58,$0C,$02 ; ENTER 12,2 -; lisp/s-math.pla: 0741: bitval[0] = symptr=>intval[0] -; lisp/s-math.pla: 0742: bitval[1] = symptr=>intval[1] -; lisp/s-math.pla: 0743: symptr = eval_int(expr=>cdr) -; lisp/s-math.pla: 0744: rotate = symptr=>intval[0] -; lisp/s-math.pla: 0745: if rotate < 0 -; lisp/s-math.pla: 0746: rotate = rotate | $FFFFFFE0 -; lisp/s-math.pla: 0747: while rotate < 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F251 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F252 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $66,$08 ; LLW [8] - !BYTE $5E,$E0 ; CFFB -32 - !BYTE $96 ; OR - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B135 -; lisp/s-math.pla: 0748: wrap = bitval[0] & 1 ?? $8000 :: 0 -; lisp/s-math.pla: 0749: bitval[0] = bitval[0] >> 1 -; lisp/s-math.pla: 0750: if bitval[1] & 1 -; lisp/s-math.pla: 0751: bitval[0] = bitval[0] | $8000 -; lisp/s-math.pla: 0752: else - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B138 - !WORD _B138-* - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $50 ; BRNCH _B139 - !WORD _B139-* -_B138 - !BYTE $00 ; CN 0 -_B139 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B140 - !WORD _B140-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $96 ; OR - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -_B140 -; lisp/s-math.pla: 0753: bitval[0] = bitval[0] & $7FFF -; lisp/s-math.pla: 0754: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND - !BYTE $76,$04 ; SLW [4] -_B141 -; lisp/s-math.pla: 0755: bitval[1] = wrap | (bitval[1] >> 1) -; lisp/s-math.pla: 0756: rotate++ - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $96 ; OR - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; lisp/s-math.pla: 0757: loop - !BYTE $76,$08 ; SLW [8] -_B137 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B135 - !WORD _B135-* -_B136 -; lisp/s-math.pla: 0758: else - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B133 -; lisp/s-math.pla: 0759: rotate = rotate & $0000001F -; lisp/s-math.pla: 0760: while rotate > 0 - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$1F ; ANDI 31 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -_B142 -; lisp/s-math.pla: 0761: wrap = bitval[1] & $8000 ?? 1 :: 0 -; lisp/s-math.pla: 0762: bitval[1] = bitval[1] << 1 -; lisp/s-math.pla: 0763: if bitval[0] & $8000 -; lisp/s-math.pla: 0764: bitval[1] = bitval[1] | 1 -; lisp/s-math.pla: 0765: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $02 ; CN 1 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -_B145 - !BYTE $00 ; CN 0 -_B146 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $66,$06 ; LLW [6] - !BYTE $3E,$01 ; ORI 1 - !BYTE $76,$06 ; SLW [6] -_B147 -_B148 -; lisp/s-math.pla: 0766: bitval[0] = wrap | (bitval[0] << 1) -; lisp/s-math.pla: 0767: rotate-- - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $96 ; OR - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; lisp/s-math.pla: 0768: loop - !BYTE $76,$08 ; SLW [8] -_B144 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B142 - !WORD _B142-* -_B143 -; lisp/s-math.pla: 0769: fin -_B134 -; lisp/s-math.pla: 0770: return new_int(bitval[0], bitval[1]) - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X065 -_F253 !WORD 0 - !BYTE $5A,$0C ; LEAVE 12 -; lisp/s-math.pla: 0771: end -; lisp/s-math.pla: 0772: -; lisp/s-math.pla: 0773: export def load_elem#0 -_C049 ; load_elem() -; lisp/s-math.pla: 0774: new_sym("COS")=>natv = @natv_cos - !BYTE $26 ; LA _C026+0 -_F254 !WORD _C026+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $43,$4F,$53 - !BYTE $54 ; CALL _X064 -_F255 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0775: new_sym("SIN")=>natv = @natv_sin - !BYTE $26 ; LA _C027+0 -_F256 !WORD _C027+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $53,$49,$4E - !BYTE $54 ; CALL _X064 -_F257 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0776: new_sym("TAN")=>natv = @natv_tan - !BYTE $26 ; LA _C028+0 -_F258 !WORD _C028+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $54,$41,$4E - !BYTE $54 ; CALL _X064 -_F259 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0777: new_sym("ATAN")=>natv = @natv_atan - !BYTE $26 ; LA _C029+0 -_F260 !WORD _C029+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $41,$54,$41,$4E - !BYTE $54 ; CALL _X064 -_F261 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0778: new_sym("LOG2")=>natv = @natv_log2 - !BYTE $26 ; LA _C030+0 -_F262 !WORD _C030+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $4C,$4F,$47,$32 - !BYTE $54 ; CALL _X064 -_F263 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0779: new_sym("LOG2_1")=>natv = @natv_log21 - !BYTE $26 ; LA _C031+0 -_F264 !WORD _C031+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $4C,$4F,$47,$32,$5F,$31 - !BYTE $54 ; CALL _X064 -_F265 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0780: new_sym("LN")=>natv = @natv_ln - !BYTE $26 ; LA _C032+0 -_F266 !WORD _C032+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $4C,$4E - !BYTE $54 ; CALL _X064 -_F267 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0781: new_sym("LN_1")=>natv = @natv_ln1 - !BYTE $26 ; LA _C033+0 -_F268 !WORD _C033+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $4C,$4E,$5F,$31 - !BYTE $54 ; CALL _X064 -_F269 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0782: new_sym("POW2")=>natv = @natv_pow2 - !BYTE $26 ; LA _C034+0 -_F270 !WORD _C034+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $50,$4F,$57,$32 - !BYTE $54 ; CALL _X064 -_F271 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0783: new_sym("POW2_1")=>natv = @natv_pow21 - !BYTE $26 ; LA _C035+0 -_F272 !WORD _C035+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $50,$4F,$57,$32,$5F,$31 - !BYTE $54 ; CALL _X064 -_F273 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0784: new_sym("POWE")=>natv = @natv_powE - !BYTE $26 ; LA _C036+0 -_F274 !WORD _C036+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $50,$4F,$57,$45 - !BYTE $54 ; CALL _X064 -_F275 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0785: new_sym("POWE_1")=>natv = @natv_powE1 - !BYTE $26 ; LA _C037+0 -_F276 !WORD _C037+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $50,$4F,$57,$45,$5F,$31 - !BYTE $54 ; CALL _X064 -_F277 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0786: new_sym("POW_I")=>natv = @natv_powI - !BYTE $26 ; LA _C038+0 -_F278 !WORD _C038+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $50,$4F,$57,$5F,$49 - !BYTE $54 ; CALL _X064 -_F279 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0787: new_sym("POWY")=>natv = @natv_pow - !BYTE $26 ; LA _C039+0 -_F280 !WORD _C039+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $50,$4F,$57,$59 - !BYTE $54 ; CALL _X064 -_F281 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0788: new_sym("COMP")=>natv = @natv_comp - !BYTE $26 ; LA _C040+0 -_F282 !WORD _C040+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $43,$4F,$4D,$50 - !BYTE $54 ; CALL _X064 -_F283 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0789: new_sym("ANNUITY")=>natv = @natv_annuity - !BYTE $26 ; LA _C041+0 -_F284 !WORD _C041+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $41,$4E,$4E,$55,$49,$54,$59 - !BYTE $54 ; CALL _X064 -_F285 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0790: sane:saveZP() // Force load of ELEM library -; lisp/s-math.pla: 0791: sane:restoreZP(sane:op1ELEM(FOSINX, @ext_pi)) -; lisp/s-math.pla: 0792: end - !BYTE $6A ; LAW _X057+18 -_F286 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1A ; CB 26 - !BYTE $26 ; LA _D071+0 -_F287 !WORD _D071+0 - !BYTE $6A ; LAW _X057+12 -_F288 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X057+20 -_F289 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5C ; RET -; lisp/s-math.pla: 0793: -; lisp/s-math.pla: 0794: // -; lisp/s-math.pla: 0795: // Install numerical constants and functions -; lisp/s-math.pla: 0796: // -; lisp/s-math.pla: 0797: -; lisp/s-math.pla: 0798: sane:initFP() -_INIT -; lisp/s-math.pla: 0799: new_sym("*PI*")=>apval = new_float(@ext_pi) ^ NULL_HACK - !BYTE $6A ; LAW _X057+0 -_F290 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D071+0 -_F291 !WORD _D071+0 - !BYTE $54 ; CALL _X066 -_F292 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $2E ; CS - !BYTE $04 - !BYTE $2A,$50,$49,$2A - !BYTE $54 ; CALL _X064 -_F293 !WORD 0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW -; lisp/s-math.pla: 0800: new_sym("*E*")=>apval = new_float(@ext_e) ^ NULL_HACK - !BYTE $26 ; LA _D072+0 -_F294 !WORD _D072+0 - !BYTE $54 ; CALL _X066 -_F295 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $2E ; CS - !BYTE $03 - !BYTE $2A,$45,$2A - !BYTE $54 ; CALL _X064 -_F296 !WORD 0 - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW -; lisp/s-math.pla: 0801: new_sym("INTEGER")=>natv = @natv_integer - !BYTE $26 ; LA _C006+0 -_F297 !WORD _C006+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $49,$4E,$54,$45,$47,$45,$52 - !BYTE $54 ; CALL _X064 -_F298 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0802: new_sym("SUM")=>natv = @natv_sum - !BYTE $26 ; LA _C007+0 -_F299 !WORD _C007+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $53,$55,$4D - !BYTE $54 ; CALL _X064 -_F300 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0803: new_sym("+")=>natv = @natv_sum - !BYTE $26 ; LA _C007+0 -_F301 !WORD _C007+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2B - !BYTE $54 ; CALL _X064 -_F302 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0804: new_sym("-")=>natv = @natv_sub - !BYTE $26 ; LA _C008+0 -_F303 !WORD _C008+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2D - !BYTE $54 ; CALL _X064 -_F304 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0805: new_sym("*")=>natv = @natv_mul - !BYTE $26 ; LA _C009+0 -_F305 !WORD _C009+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2A - !BYTE $54 ; CALL _X064 -_F306 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0806: new_sym("/")=>natv = @natv_div - !BYTE $26 ; LA _C010+0 -_F307 !WORD _C010+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2F - !BYTE $54 ; CALL _X064 -_F308 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0807: new_sym("REM")=>natv = @natv_rem - !BYTE $26 ; LA _C011+0 -_F309 !WORD _C011+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $52,$45,$4D - !BYTE $54 ; CALL _X064 -_F310 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0808: new_sym("NEG")=>natv = @natv_neg - !BYTE $26 ; LA _C012+0 -_F311 !WORD _C012+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4E,$45,$47 - !BYTE $54 ; CALL _X064 -_F312 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0809: new_sym("ABS")=>natv = @natv_abs - !BYTE $26 ; LA _C013+0 -_F313 !WORD _C013+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $41,$42,$53 - !BYTE $54 ; CALL _X064 -_F314 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0810: new_sym(">")=>natv = @natv_gt - !BYTE $26 ; LA _C014+0 -_F315 !WORD _C014+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $3E - !BYTE $54 ; CALL _X064 -_F316 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0811: new_sym("<")=>natv = @natv_lt - !BYTE $26 ; LA _C015+0 -_F317 !WORD _C015+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $3C - !BYTE $54 ; CALL _X064 -_F318 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0812: new_sym("MIN")=>natv = @natv_min - !BYTE $26 ; LA _C016+0 -_F319 !WORD _C016+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4D,$49,$4E - !BYTE $54 ; CALL _X064 -_F320 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0813: new_sym("MAX")=>natv = @natv_max - !BYTE $26 ; LA _C017+0 -_F321 !WORD _C017+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $4D,$41,$58 - !BYTE $54 ; CALL _X064 -_F322 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0814: new_sym("LOGB")=>natv = @natv_logb - !BYTE $26 ; LA _C019+0 -_F323 !WORD _C019+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $4C,$4F,$47,$42 - !BYTE $54 ; CALL _X064 -_F324 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0815: new_sym("SCALEB")=>natv = @natv_scalebI - !BYTE $26 ; LA _C020+0 -_F325 !WORD _C020+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $53,$43,$41,$4C,$45,$42 - !BYTE $54 ; CALL _X064 -_F326 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0816: new_sym("TRUNCATE")=>natv = @natv_trunc - !BYTE $26 ; LA _C021+0 -_F327 !WORD _C021+0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $54,$52,$55,$4E,$43,$41,$54,$45 - !BYTE $54 ; CALL _X064 -_F328 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0817: new_sym("ROUND")=>natv = @natv_round - !BYTE $26 ; LA _C022+0 -_F329 !WORD _C022+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $52,$4F,$55,$4E,$44 - !BYTE $54 ; CALL _X064 -_F330 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0818: new_sym("SQRT")=>natv = @natv_sqrt - !BYTE $26 ; LA _C023+0 -_F331 !WORD _C023+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$51,$52,$54 - !BYTE $54 ; CALL _X064 -_F332 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0819: new_sym("BITNOT")=>natv = @natv_bitnot - !BYTE $26 ; LA _C042+0 -_F333 !WORD _C042+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $42,$49,$54,$4E,$4F,$54 - !BYTE $54 ; CALL _X064 -_F334 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0820: new_sym("BITAND")=>natv = @natv_bitand - !BYTE $26 ; LA _C043+0 -_F335 !WORD _C043+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $42,$49,$54,$41,$4E,$44 - !BYTE $54 ; CALL _X064 -_F336 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0821: new_sym("BITOR")=>natv = @natv_bitor - !BYTE $26 ; LA _C044+0 -_F337 !WORD _C044+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $42,$49,$54,$4F,$52 - !BYTE $54 ; CALL _X064 -_F338 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0822: new_sym("BITXOR")=>natv = @natv_bitxor - !BYTE $26 ; LA _C045+0 -_F339 !WORD _C045+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $42,$49,$54,$58,$4F,$52 - !BYTE $54 ; CALL _X064 -_F340 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0823: new_sym("ARITHSHIFT")=>natv = @natv_arithshift - !BYTE $26 ; LA _C046+0 -_F341 !WORD _C046+0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $41,$52,$49,$54,$48,$53,$48,$49 - !BYTE $46,$54 - !BYTE $54 ; CALL _X064 -_F342 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0824: new_sym("LOGICSHIFT")=>natv = @natv_logicshift - !BYTE $26 ; LA _C047+0 -_F343 !WORD _C047+0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $4C,$4F,$47,$49,$43,$53,$48,$49 - !BYTE $46,$54 - !BYTE $54 ; CALL _X064 -_F344 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0825: new_sym("ROTATE")=>natv = @natv_rotate - !BYTE $26 ; LA _C048+0 -_F345 !WORD _C048+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $52,$4F,$54,$41,$54,$45 - !BYTE $54 ; CALL _X064 -_F346 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0826: new_sym("~")=>natv = @natv_bitnot - !BYTE $26 ; LA _C042+0 -_F347 !WORD _C042+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $7E - !BYTE $54 ; CALL _X064 -_F348 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0827: new_sym("&")=>natv = @natv_bitand - !BYTE $26 ; LA _C043+0 -_F349 !WORD _C043+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $26 - !BYTE $54 ; CALL _X064 -_F350 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0828: new_sym("|")=>natv = @natv_bitor - !BYTE $26 ; LA _C044+0 -_F351 !WORD _C044+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $7C - !BYTE $54 ; CALL _X064 -_F352 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0829: new_sym("^")=>natv = @natv_bitxor - !BYTE $26 ; LA _C045+0 -_F353 !WORD _C045+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $5E - !BYTE $54 ; CALL _X064 -_F354 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0830: new_sym("<<-")=>natv = @natv_arithshift - !BYTE $26 ; LA _C046+0 -_F355 !WORD _C046+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $3C,$3C,$2D - !BYTE $54 ; CALL _X064 -_F356 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0831: new_sym("<<")=>natv = @natv_logicshift - !BYTE $26 ; LA _C047+0 -_F357 !WORD _C047+0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3C,$3C - !BYTE $54 ; CALL _X064 -_F358 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0832: new_sym("<<<")=>natv = @natv_rotate - !BYTE $26 ; LA _C048+0 -_F359 !WORD _C048+0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $3C,$3C,$3C - !BYTE $54 ; CALL _X064 -_F360 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW -; lisp/s-math.pla: 0833: return modkeep | modinitkeep - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $5C ; RET -; lisp/s-math.pla: 0834: done -_SYSFLAGS = 0 -_DEFCNT = 51 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 68 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 63 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 62 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 60 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 43 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 43 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 69 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 69 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 69 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE 69 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE 51 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: NEG32 - !BYTE $CE,$C5,$C7,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: LOAD32 - !BYTE $CC,$CF,$C1,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: ADD32 - !BYTE $C1,$C4,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: SUB32 - !BYTE $D3,$D5,$C2,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: MUL32 - !BYTE $CD,$D5,$CC,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: DIV32 - !BYTE $C4,$C9,$D6,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 43 ; ESD INDEX - ; DCI STRING: ISGT32 - !BYTE $C9,$D3,$C7,$D4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 51 ; ESD INDEX - ; DCI STRING: ISLT32 - !BYTE $C9,$D3,$CC,$D4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 53 ; ESD INDEX - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 57 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 60 ; ESD INDEX - ; DCI STRING: EXCEPTION - !BYTE $C5,$D8,$C3,$C5,$D0,$D4,$C9,$CF,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 62 ; ESD INDEX - ; DCI STRING: ERR_EXPR - !BYTE $C5,$D2,$D2,$DF,$C5,$D8,$D0,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 63 ; ESD INDEX - ; DCI STRING: NEW_SYM - !BYTE $CE,$C5,$D7,$DF,$D3,$D9,$4D - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 64 ; ESD INDEX - ; DCI STRING: NEW_INT - !BYTE $CE,$C5,$D7,$DF,$C9,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 65 ; ESD INDEX - ; DCI STRING: NEW_FLOAT - !BYTE $CE,$C5,$D7,$DF,$C6,$CC,$CF,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 66 ; ESD INDEX - ; DCI STRING: EVAL_EXPR - !BYTE $C5,$D6,$C1,$CC,$DF,$C5,$D8,$D0,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 68 ; ESD INDEX - ; DCI STRING: BOOL_PRED - !BYTE $C2,$CF,$CF,$CC,$DF,$D0,$D2,$C5,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 69 ; ESD INDEX - ; DCI STRING: EVAL_INT - !BYTE $C5,$D6,$C1,$CC,$DF,$C9,$CE,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: EVAL_INT16 - !BYTE $C5,$D6,$C1,$CC,$DF,$C9,$CE,$D4,$B1,$36 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: LOAD_ELEM - !BYTE $CC,$CF,$C1,$C4,$DF,$C5,$CC,$C5,$4D - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C049 - !BYTE $00 ; END OF ESD diff --git a/src/plvm b/src/plvm deleted file mode 100755 index 1d57a1d979531197d5a47c8bee3ed94112f6639d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125032 zcmdqK4SZC^xj#NMfz(7K*(W)K=8i+gk5!0DJEySc?@j;hOCK`^=fyojp05 z1f<^fA3ldOXI`Fp=9%Yt=9y<+_O%Ot?is?E#_;FBlYpl&hOviPDng7U;mOBSQnD=P z#=KQ|MN26*@{bpejOz78aDIo3B_+%ARxXcB=H;_3P{cP-Ve+9;B_&(R>$Zf;Tj2$e znIP@eOnCH7?F#)3V)dag0wpE2TehyL4Mkbu-5;xQc*6w{`c~oT0v>3{|4K^M)^6Ec zQGHM7JF>lxxlDLJ@R%9sTm4gEQ#|0+RM&~!;i#o-Y65EF3_THD^3bH&L05|XHm}boRZw7Hy4||i~i#vvPEuu^FQ(J#0NbD zdpMqwl6z{xt)y>zc=eK8fJf!!-(Uo$$Pc`G(=8HSeU89SHw)3X3QqyWgT%k#b}Fer z$ZV&el0-1u%%irGVoFNNO1G4nY34WK75-)dp5!O`?h7w!=Y|b6)e?e9H~EG4VH3a6 z$0Xqx8>%FSW6j90ye}!Zd2!yN0<$*($H{o!Y*83+>2F=S`AuIcEFWX_)UQ;38%Q%# ze7F5VW0{~iQEN1wwpTRPPVYZxEFJMA7R&I^-)!;h#Jd&GbUe}iHomQ~&)FnWTT}56 zJ*RE0-8`+TV$HNNe^nX2>2C}k!sC%cKbcYgJ74qOCHH-KbJ8o1&p=!%9e`*m2squ%ph4FT zq@|TzZQKAFp{o;S5v`Q`JpCJ28}kJXFE@Q$Xis|z^Y=wV$`eS*_EVb!$lHc+_x6QN z=zHU^v*fL)JTQR%?6-e@ceRlq={Nv*glpr30rb!6NyaB`v)}gvE|qZ+&k4Q^#Ii08 zyf%%oy@A;5uD<9)Z3s+Y{-`__m}Hz3bq$EeIXpq{zTjr38?OksfeG1u7&P&b{o;gd z4uxzw4cV@Cr{3H?hIKW8$Gq{`U63WTEv0k6Gr9A?&ZJJ)ksN>fYs|0zGRGfy1#Oz3 zy{>DT5tzoh0?zuP#@wWXTvl>#KiK44)k)>OF_2fyRk_Q-mdi9|K9l&UeOh)`hKqgB0l4WWQ|dzHV%R3CBM=P2LSQ2T$k)ViaGfb&^>65L z$M@xHoj-||rte@MY;c-*w2#T|YTS8yr(1KKp|=NmL&9qx#kznqhv@=LeGp*dyB)Hb z0lDmOdYUt0fSZeTaXoQ(vhn!^;Du4pVS*kU2a;7SyLFw5`FI-$*DlESWX9{3G$7bV zC4GR4jQ8eb8UBPt*aN_tpG{sm2d@v3`Z{FV7XWo~l7)z0t z@Z&g7&h8@mQytHUdIN}ap+DMzw_D5hQ=L*r@%r?s#(co|0R6(hubOJiC3=YV>n^q_ zO~B&%D=E9n0p8fZR(t)VR$rtm^%K63HKPgq2HJsl*rtF}&j=)XA-l! z+>D(l{NZ#%$BZ&`0P)FUb(v$mIy_<7on)Cc@>lZ0L64H!hq#Jdo80c_cV$9MO|#N#lqs?&W0f1MV@@b}MgCo+jk6 z(+htZ9MTJ+x)i?fSoA;$M^#3C(>ILDfxtN0Hw^bcVEm|W7#RbBali%!m9wKg$pX<{ zhtBnC?n*uW=~Y(RKmKXpX}#h3KMlOsd&4XLH1H1ehIh-Sf%n7S@UH(f@Q(C`=j{cL z^o7txkm-SpXQS<5_@s^)2#i?3AQ`ge)q24eW3f$MsmlVDtW}jq!Xr=#Jq?}Pj3cdZJVrXXSWphZE^>4nICTrjsrDR!n%@m3D7>9L8JNz_2U3)?x11o>E`r z1|I7%|8&#bQ)6fG815q(y9zYSQ;~Nv@>U=(Y)hVx=BPBMJ%+N--&w~PmBBcqiE#*J z@ZIH(i?qow?wn=5smAZ;nRXqG^Dfkfan?xR;mo3M{Q*5O{b7V@YE!B09M19rWvCj;%u2hL{tVP0Pc@{paMemoQ;Sk`{D_rGJ=UeJxx?sCpYB;J=gAK`ody0UvqV zkw=elc|3qac*<|+1_kcAOoI0whc|@7BOimCd<=XJ>*0PjId|r?opOz_OVIW>^pLC@ zZ$7T^JX@|Yz990fK>t$xs;x*gwfJ8Dl<-0QC~J}2q=>w2&%182zx}wQ9 z`PUj~?1N7Vb>eZIK|d^~HvV=l+uObUX80SO+~3IcFwJMjjhJ1U!$AuS(8Z%) z&l1e}(8b}S!u>Yj3Oa(<^yYr?5#!!orQ9XsAYkpFwsAic_#Jd=h7Kx3zhZvjX#<@| zZ%KNG^p}~R`zO++zeDsl{C*Mij-ZvO=Zw;aTrM?_X~Xbzg_nh1QfYRpz&AWEh3=$z zDawZ9!n%Pgy>sKLy{B-kfd&bD*?T+cv%*+6|{s+ZAFFs-!7Cp*!u&b_nsYcr^QbrpxL89B@nB!L2tJMEI|1W08{9~53SQ&5 z44Bsh%tH!Zkj+hjQBQL}C-MA`MVhrwtbAz7r|^eBZ&>x*flGta%jfdtOM&x%Ym612 z2QCGUjsLguBH{GsQ(6Idgljtbl*W1LgCY@^L2+R3~STkkxqWIn0 z8_u6D1rF>_YrEd;1CHu*a4S9s*8tWINLN|w!eX1nhB3z%Qy+!>8*!JRu5U)Ei|bJE zz4Q&LZG>&kZ8Xx=m)gb$qtx3E|8sw>l@6B!pF5)9Bj{kRPYQcM`j>`W20C0HrQUw% zz1idWwAi>iA6S7E8Av;X?eHvM^1ea8+1W~;8h25TVT1dC`U5(3Ahhvc&i)u+ zo!INui^rn&M}IH{oo@WJ{V~9LruM=;+n=xa`$>+)T@5|eH7TYP>Q^1?_6Ve=9qh(F3e_o8$J$>qWx%J zOELGQ{a?JXr;yjbOuSnpK2TnS&ph$267Rj@eOSDAWAh&6+b`ZPig%lMFTp-KO5ZKs zzY*`z*g!z>pA+xr#QPKRUV_C4O8pEe zLhpyLX_4Mzhner;AUu7~6YnkJ{i1lYcr$&ac<&bPcf@-Nn1ISZCf=`#cWR;;zfQbg z6>oin8NXV*za!qA;yq%dnf^KP{*HLRC*Hm*%=CxE`)lIeBHpix_q*afWt5qJi+H~% z-h;4dlJH(4-h0KHHXT!Zm3Y4^-di9H6#t%h-;d3m^!<`}4;d@UiFccL`>>gk@_j?R zKN0VZ<3)M#rabga5$`&@FJ(_1WZIPL4nHQo|+_tQ6_ zHubmPk;C<67>5PiXnh0Rus2n2ZV>&Y`71jAa{lu4(}9a@6VZJj{j}@#Lt~+3Ri4 z4TS%3$o1ry`qoFmgJfIh`zLp%#$X+25d1DNtTmV`_8eQwxOkbfp)xK}#-)_mNph<- zbpr;~2iv7Z?ot0wAIW=tQJYh1{x<4fn97XQS!{0`aOy@{D$;(9chCX@dZR_p!CHhP za}MbXjLJnv5SNzCj4QEUmC9l`{@~AIErZ&ZPWiQ@8R43l^2pGtp@D%dF92vn* zJydiSVZ!AMt<57p#>0dNe4MnO*wfT~)M0SiiM5(W>>qB!-c2eSz`jjAiT1;e=6m|v z@O=P#Vo!Ql*H34Hp7`c@pm#OwX*l%^GfoXd-%n?IJ3L4mhIJ^Xxd#{h-Nkj+>S@N) zz>U+I+pXwZ+HWfM`tkTU)G2ITs^hD{;FGB_=A4zM6V2lsn|6r3e-tNaNckT{e$>V1 zrk|K=f@Z(QIYTt#W#U*X%p=}kyx;Sjn@R;u(fQ%{4X8`R6P*_b+7gY_y6Kx9!r{%a zoL4rzcRskB;>4O*i`|;oaKP){zPKsqG}pwsxBtAU8+5bsa1GCQq|w}`uc7}2V?Vgo ztN)01AQP=8bD41xvT+y6odoYYT=j44hdeOI!wfU7^%Uau)y5kE^!YLHcmRDHL>~sR zr#cv`Wd)sD7Rk{vS!gph;f_q=Umhg z0N=C^t8Zl$-b_kwAC}z;-iZ$&Klxz2Iq;u*SSxe`rz;;<`TpY+8vjWaHwR*$PNqCm z9`ITNpTu%`mau8Al!Ep1Ho%VDV;^Y?Sn*`q;j9tBQD;dr+JR>W@T7GK*$!6-kHc9m z;Mxux(xtBjbs;^zo!UWd_fI)e1Q&AC>c(E1bgX^rkXu?C>V<1A!(M*V7SplM zpU!g7xelBKXz`B3cne=O!`fm<$13_~|LK%EwQS>2oT))M7s@p~lTz1w8e4rh!#9M%4Ax`>DJ z#lDE2A5DSFmh%vgZ_qNi9wa`ZzDED@c+#yK0Hg6}$w3``40;~?ko2yS4`-*c%8(~J zw!UbMsE_g!Pc$Jv)`2%QOC2+)zUX%3=@c*sC*lh)&Sr%7LYQZccpDZ?HwuxT>eI=e z2fTiTvJt$!lk`Ol#>?LNq7AYhq6=i7w;8&d>OD3{_zH1Wf^>wM)($=AMIPb{P3!|F zozH0lIJ`VF$5M*NH_o7pue*|Hin5@UK`?1=wS=pdUB^s%Um!YAd1@Qr{vO|Lz~?|M zd%Yd}M>-gM0Uro-g^)KIcN&q7Z?m7vrW=}|`_F*`)z>)TuDZY|*4mdYYnp*^ZWQT> zJdEW+pDD6Lw#Ug~%+K*BT?%@H_ypg)J;+1x@a45sV64nQyVsK+1v-fH3FSjN@w*%8 zi;<4GP*(xcq5u38hp-=c=!}5jLK@(8HG!AC+HkC~4k!Q5nWL&~4!YL(Nw+DR&>cAA zrPv}zBlR4e^J`pNQr9T<>u{d>+_lCFXgjA9(xA^0ylLs4CgjZz?aM5o{gQm{<&KHE z&!vSmUTb_Cu(+=0dofcw$u1$-5j?8m^Od1mc z!Y&}434YqdgiXM|VOOMv`Lb1q&2%Kj95+;$$8e^FV5)Hev4`_&;Hbto^pO`XgowO) zA9=~{h=7anA{q`vC*CLTU27~9eG1)CN9Bo^IzS^%6U6boWtR9hd`Hk(=+cwWpQoHc zrk&tj^dV%)$9b8)(N_Vacai)-x3(h=_3&|qhhvyOG`9|xVvIB3de z1|O@DF6wMW{icqkd{jSR{+a5>Hv_y-eLExVf3of0|0MV%#vK2C&~g#B=g=3Bt*-wB ztdrQ^LO66$yOU3`k(q~Cg>z=YS?~VbyQ~!^hXWRfo-aidgJubEd5{ECir`KU$p_o zF67l0u@4r?xTl>)+XU1}@F%mbD;@Q3OeA=d2`3XzEyis)hS$GwY7*-jkF=8$vb#=A z%I=~(qeNa6pXC$>e28X{0p3=$kLE$9JOWRmc?asu0RHJQd|cbjj?FL@qb!w^ZTWt& zz#U}{taZFjc-)LUsINKjq=x+ptQq#k<_$$=zDDHHNxv?ob->#)oA%t6$^A7?YyQS( z@cm=){biK>a*n@X|6_bFM4BEh-*oi0%;q<5%cS+PcJxEjX?%YuzIWlsGsm7 z++efC2Wr4KHAk@DCVNw$68Kae@dtMCbWZ@ZqqO#?#W&%r;6i8B0*gVD#lZc>@SD^5 zMw3qhf)_$@G;Sa-x1T8w(GcINT&2gE{L?|WqVMJTSgymy&NS{tJI(;74m@Uhuf4~+ z*+Vl8q9M_NXzroD5Mi8Cu8dmly_v>cDAxg5>Q(psK4S%?ZMRALjn7y{_1y@&x9vR`MayT${o~(~dc&?unpL=PY9? z!J+n|o>1En?z8PnW*aGl8LHAo~RRha4TsKF2h;K z|D6VTT>$>z^nl-+d>I(K*aNPwpF|ucp8P8$2j53J)u-|Y!aj=Q z{BYGA?7(gb@iD2-^W(ph(!wu{<7p>Yv);XGAVFJ3w~ z$9P!Kvkf|c`T{=6tnU%c{)y4in z#yzrL^wUY?$s(GgT?2+upK07CU=S`S$HzU+i~BQ;9P}&E$Ad?OiEx-_-^n!c1Pm)Z z)1BtLI%?S|S;lOoe(J|FNNZ=;ME{)80ss?O$F>5@10r3I}(${mz9LYHgM<@N8Q9P&agXr7)$ zcd|&mN@pNDkXDGaLZqp8vjl22I-l0%LRvbNgFTv#vzdJSKh0XPtz|?IZ;tC}*u$7- zHtoEN&hOaH)&4XU<1FTXn3EagQ~IRl7v_3IZp`bS)FfigHUjhK7?SO?;rTP>Xo=v% z#4!FY;2+@UW5GurMtcb|JCLrn!43a6pHD1ce)2VDpbZ6RgBNWmKpWZ@;CvMxH}=z= z!d}7su#YisgG_mMX|Va6nD_h`_y#-}`<>`RItS|_17 z{%Y_)`B&P;V2+4yH|kzY^dr91CVTRUhGVi@BXCBWNdHkh*NK+)P#V!zr49P}4CG=t z(f>=pwR`(=(6ktSftX%?0ks_W3*hb_)D_~12%5qtz-fwfTbh=Drbz2W(-Q2F0R6TQ zpAJL&?+E9k_H#cV+Ry2K2k5WDNBiaZ=ys%e>3pD?j%9;EOuw1EO&U z%8>3*byhZ=jehPr;|b7){In_!RN5`zvBPsWi%WUxWA2!>Vuf{84Pw?*j89N?2Se4a6f_*LZ32=N=v zBM`qOVmv^a7x>Ux0G;2K?FgOUMjp<47JP{J`tkvbb-0jjk#O5%;cEbmj9Ao5@)Y6oJR0fqR@)mPH)t=(jkQjxi^%^?d}x&$ij)1~MH~8rk!ug5Ik%*) z3BLAc@pvjKGpnHIXna~j_B_t#(_Sl@uY7)rNmpuvElmL@0)LgJNV{m7J~z+!5$gPh zr77C%!Q6sq`y8Gj6;&87hBT9|Dm*fIS2o6q(3k=GUM=a1ypu8SX+-%BK4!R@-LNb3 zVVmlj$CFR%5T8{aoS0|aV%G;dBmLl{J1$z!#a_Ce3+YPu+NthOr7MNLwdzXZJHYnq zSl@}0_gKJpPiqJ?FQK#ZUdRg8*8Ng%Ma)r>tQ$WItZ48E6+0$PEmExxp~HaPnPl$eckPnb=#hS$jQnWIT^B!b=NG+ zQ%rua86%_OHt%|4QwX<#^(ootl5g6b_Ty+sez3QJ_yOywUF$K9ro&%T2tHkpv9y;i zhkf!a@>U{mCGu9nu9}RqDurpDjAo22lz*{+b4f7JueLDIr+V7U$s~t#U+ON?4)&+zwI3wE*ogy;xge-Sx&N8B$Iae(S?li0IS)Y$MQ-`qZk=_M@$1 zKgRrmY$Np7XEugBcfE1guDurdl02J!1oK#-*VQq_&fb-L{3v)LpZ4^iZN$s#giW}P z>{sa1LgEX|y;a-VY7=7K;qOpoQ|)J@alTU1#T`XaW%r%yjW2}St;nvW-OpklJFOoR z?socx@KSY)t^Iu|_>GuvtQr7*gqPY6p?>OX4)ZC-W!a}{U#at;Gid93=u_NdQ$(^{ zsST+t#9eJ27)xdUMaVD4RvF(*eq#^!)vqUXvA^e7*w#P67R@(?TpHa@^gH+atm%e3 z={_^MmCZMP=9PLcx;)tM+utAEaQEJ4Mz@FN8yo-sLO0wo_?gk|JM)bz?dX;pJ}Y3+ zYf7>>H#o-76GunroWym1R+w&nKMlbt*722nP4<3117!+UR7Vqb9|AktGrYcNmyC;}e5P&9%f*}JIqS}bNZj=W9|qaBXdms>%xVh; z&tlh*@fgNl(6LqGw}0(;_(ATfn}TwWB~hJIc2Rv4R|%T)_;IM`_>@e-i|Vh+VFvP? zsLas}obT+ag#Cg02u!^5OdLbs1(xrd%3lcq3oN)r+{)iAJuB`-X^P8OD4W zcUYF4Vr0pg$XQ8F#;kYrEc*Mf#<7WzrF{5&tqELu1C=?G%qpdH$(W{ zZ!|w4f6x-lbshyT_mzj{Lj{0Q0T|qmfO(P^byNTbt$kx1YS;0>^+jr)LZnk2SXZE^$(`$-m z>;k=rRtJ#w1ZYM64OI`TYY5j&vYcDlIS6Z7!?C6nkA3rlut!L1K1n*2F{1+S@NX`R z?+mWMUa?}V6-{DY`Q)1}!0#+zZx?j$8$qnov^gEk-@Y1aXVB5KSMwLc%snZ349>{~ zpMHbZ{7BajPf}bv;;8@SK4k0(Yt=FD#{RI@V?%_0Y7+9MLGPnZ$j}JN!}r@l=R%*D zJ}k-uJ*aDkv-B5G9(PY6zc~hiUjWnGvmx`vAm8iSCV9s$>FOqGE5;YVR}a14N+!L?eJEb9VY z+Cdk&)=My4pi4W^1#NFzs~MQrb@Ba}SZn+V`r#Ck#eN(SBEVY?iD0#;jA|OQz`t`QpEhas`lO?0JqG`qJfs zPn13VMu%hnUylWYC-eiOu$LyIllqyb4N}s6m=c+$n`yYSc(<-yADK2Jl-8ne!dklu zbEuLQ@8)TkEAl>Eu)~?fdFo+j)`CZzS?Q1C>59!dM*H2*$8!Foxo-n~9npaAOGdsS(7kr~l0-h@Bg%UU zdl;QO~{afUNM z{08{xsy&->nA@znmu)&M)`#9(!RYm&~MqdvT zKCTeX5k5EgTBHr$DEwP);9LNlNmtO=RzSX7HL-WYqduxbKxsTSe|3u1d;0}^c z8(nk9Ve=d=`T;get12ft;mMq%$TGD-LJ1 zkEw4B-2+Ygf3QD@&Lf|@Dm>P!v^gT;+X)uwK^J!pHRolb*QuVzNCJ~56-LYu%-IcmANSg?bb**eZzZW zPNW^wjE&TG$S~RPm{aq;BH682cxfy5sWo%|)%5US56B<}j+LJ)e<2 zP-R_}OFqs5heF6*A>=M%?=5_sRE~6qYSVLB`JB_Z6Zn%&auT|~KfA+DCtPyfk2#I` zqV8W<>+XME@TvNdbcpU^3GM?@k0^HNi%w(o-?C5t!E~+ePbuzC-@bY!=BQ-D|Hf&& zhVcKn?u|0uhjiYj(7jUUH4fBfXmc8Ci6)Xy_`EpCNCCXQbWN`^nK4E}|7AjFKXNcfNqauVh`HD@iv}B=Y5n3BSUz;9@V~+TM`si)y523%C}1s->^-te$rs`keh?W)`yf3**vIE&$=vlzRjUEjyK0S=$mN-p)>KnM2q z%d;45rBY1iI%i{-MCZ9i{BvTKJXywybAF;%Wi#y&OKrs zk?i+$*z#hY$;Wc5|AFeGvlNt<=2l`~&~7jKi}t;7d}y86au$Np$QD!kN1b=MflK%H zB{&OW-U~K>GYz87-e(%5?hHh+NnnSxI#D0a&tUEgpSz$*TWTNl0KePmH7c+2cQ1O7 z|1#RTxw1a5$Ky^Uaeqs@vz~rO4}6?T_aq(!e9WoCzvn9*{~~G*h{+cWAFgc@#ja!bDB0Dz3U+LO@_xjx72j>TL;y? z!QS74)Hgd^X8O-}n&seQIM|H3xQ~SP08R+s~GGbvwV?OmBoXj3!lT8ut_7IkBd)g$}S3tvb& zeVx1_=+-H{2L-Jv)w6jxa)>LH)gYv3O_-?Hj~M%1bLAgp{(>CyJ6;B9ud%NO$`4s&c zO+P`_i%2hH49_B3;68>ozKAx`TCJ+Hpj&)gwvmUQ!+{MU^%cs}8b%BIn#*`Z(3NZq z$iu%-nd$w|jQlrbuR$jzxHPYMu5qThS3{KvagKoVZU*-BbRbV*cm5vhK72}(<3z;X zSKy>~FWV#2xUYcw>0uv;G#&6F(#5{!%heB|u?D*3QpcJQjK8tJvFRvuWe)DqaOxR! zKDbYQz*>GUe)z;?#0Y*M-a3gq*o#s0{&?^g;PLSa_8rZ=_`VCIOP+ZKd7{~X(R8SU z=K?&;0pL#$`_J<#GC@UA#_#``y8)BU*TK<-^+pZ7uz|-4qtuIQtJ0ZCh`Y ze&*}w$hQFLq(f*=2k%#*Cv?r+Bbp@2N3;Fgxi2Ima~SfGJxn~s?cR%=2k0mtF%NKt z?`~dao!eo~MQeM+*E-EPp=0FuLUP3U0qKQE=Q;>FCe)V$JZInb4CZ!do7xY*A1C?& z?TmKLJ|FFn>yB32>EBSk9sNi&vaVmzJn3gjI;Wwf4RS7(PkXP#+Ne60`U%RbcPs~Y z(tQQEt6=*`?Cpv%)N=ezIh(Wf#|Sp&bXY&=Tdty=t-lz#QqJAe_~gYnS%7hp=FRFn zo8NhWepUP8H2P*M+IyP%0yHI>%QCb-j;~G8*?m0GWUCzINoP`7+9yTl`R(TGKSjQ1 z@^K5&Xw8xLsmk+W+$&Jhqszrzooe5xeYz0kySLwpeLTytk4M~>fOR~wANZK6$Uvy? zoTBg0CR-W6nhegB_ST7r^8%ii`hxs58;^pQpuI zdng~~P!vb^u6-Hjh0U1`&IoaRWg?Khm)AstJ!iI5k>_3F21F#g6q zJkG~qKh*BD)o$abxFqj; zFX9fz7~hw1&x^Pdu|}heJ0{}V;*4ix+&dnA#^I!sb$tss(tRxlCfrr`UEq%W_a|7J z%h-v$bS|KA?Ok-D8X*yRtanU|SaF8$x9_jx%!Y%BDpr zJ5ec{dZppBE9;F?cB)c#ce*jruI#l@%Fa^Co|tT0VOKUQO4;j`vWKS{v36y1qLj^3 z%C<~1I>9%+`WI(DZ0U@%A0axY&NSNX%HlkTZCRZC2$db4X}oP$7Uw{0%i>H(sO;)_ z#w#d$lJ@pk`LZ-h`Es*7=WTt6apHf3+~nR>_a7ufBscr#8!uRKLV6)&rx#8XFXV-n z-MGN`o?TfxIia#)IXTO+nen7uSvxtQvSB$n%ZB6rWxKL=azbUpa&nfnX@=jfteu=t z*|40PWi1Y4yQG}k>Z7$RmDhMZXsc~KqOGBNa-#50 zSPsv!jfut;(dq$RZ0iwp3DsjKv(%oj%%a~?jZeVuw(S8uZ0iy92-RaJ-&9XnzR%)n za^n>0QEA3$ZYSSVHZ0$ehxx{vc4bSW&{4=Xqj7qf(|F0QY(V^-A)hYGte2_e+s^BZA4k%=4nK|{2OKQT}f+4v^GY4w#qfzu=FzWwINOg$&36F6|cPGBwQfP0Iw<^JilsP7i+#a6!` zVVm~HvgPa0hqU+F01euwWp}-dI{4T!0cX{4UvVMs#ijf1(lyq)f35a9*511ux_Ng! zeDX!j)NhkP2b2v=K)+0)y~p*f*hz~uAjc;R=#IWX@ymXM(hqWRVdns3pXPWx-jFY$!WEekq{-%|{j zC+PP)M_nXLT3evsoaT3a_5~Zi>B%H)GY(<}NV%2@YY$aIo-E{o*DpXJzeK&%mGV=cM^<)rSAdFVHy-nI14 zkMT`#T*M2YAGISLwAMju7ibN7a(zg@6A4}B57lWy>laUp{u=;1@}mHjU#EM@`+^HP ze=iJI{C29ccio~hC2jaQk3{pg3tP}e9lx0vCw|`#J|q6yh4S3TBZ8muL2uGOD=iQEhJeSWM6M%4cnsP7#-lj9%hPU&iLC1{<~duQ z_5sS_46f9Vbk0^sKcp+?Z0X)FI#b+&Gqmd26ZprwTo{9oJBQD4jl*xe4Z_`7ka67q zdCL&!gM5s!&<9!iRoPAMr0gs;EgflYnFbhrr4{*e6nML369=fW9U z`u!me8+Au5f0^nnw5u0*7y8GBaC_8}C%DrATWL_!g?nO}I!gvOeY7IB>D*Eswv!8M zHx9#9mEBaiAluM&@LP9|apqap6mUA5JlaA-9}T-m8<#K}vNa21X(sHQnW%40T(*CG z<$am3wX)7kax@iiJv7+x`PX;iC&$g-KY~79?@ZrCcR{Sw7GWXT$ma9N(}wp+C0_@=^Ap&Jk5P9z@GPxd zml^A3BSg6F4L_nc<_CWu|zDuLsBXv3r6*D5F7(=sRv_sDcno40ia zeV72Z)PN`?^`Jk^1^-wzqUtP=eXb6)n zr~6Ag^K&&$GfA&@v~&GD~&wiq!5@(SCuMquNi2huT z-)UB1r{53>`x?-%)-is@p}z!uUf^_otu;XwC zQi6LNn~5=fQ~nPhN&eWOd$!GR_?`l8#{lCB=$J<6lXVW={qo?XgnUiUc=_|O#f4f* zLLzj_q0yS}Ysf3;z~!?qS{%Dhd;Z%NURd=`(D#5sPvWCKc|q`1AgecBFZ@2}Td%+( zc~$Uf@j^a)e(>e3;IS0T1py1PHfwKY<9TaKG4eK zv9Nv)_b1m=0*262vOj&jaoF}s(D%{si-afoHZUWyZ}(mVJ&#$+egt|xf%1|sOdUSU zGdiRz>N*=x<~+`0lde!@vkPUvEc$}VS@rhf0rJ+mnPD1B-Xebe>P57x(b6tzliF80 z^grxr8h7htpF^kh;+J&5vGPmu&w{>P=&RaoNeOSi81y}Xu;gEo>Hc8q(|g0*_S2y6 zUJINsFY$3A%uB#qjydVq^w#^ytwG;fz{1=DJ}T38Is==h7`D@es~xk>z$P%lyld&F zSu`ev>k9Qd#_q|Hd`7Z&n?hIKZmDl9dD~&XgvR;FNplVii=Mok|&5) zYf%4NgV`-1-Mz-t-G3aOPIewwN2 z{f;rok24=b{@QJ06Sh4Y^u=2Gg>2f}&@X>nMYyW&8>enqWi0`HdI0M0-Xlv!$NlF`R?0~TR zDKu@kDiTiGMc|NcDNC|DUMU~yH%mTgpU=Dsw)qg8>wrx&Qn8hqg{{=A*h+Kv27Nc7 ze=T#c7C8q~=MGzyxx=bGLEo){cO^fBb& z`#L?QPO3dQY)%55FA?^jd#$NcQc}V?q@w6y4T=;@JlTptyF zbQlejB4Lmm;)mxXo|$BG^qOy4%7kb&DQV9AVOsI|bp*eJ=Xqh9K+vl(BNC4y;GmAR zq|Ri-LBPT*%K<~`m6vU7mAP+eQT0lv z^9rt4mi=#Vl$7yaG`GmI)ZcHWC(Sv`{UPIK%)KY*`xE>uec^HFjp%rs7kFF~#^a*o zCt$&G$wlx%qopkADantd^ZS#bd`tNo!+mO&jiM8!-q__1TR!>R;WHQkpW4Ck(vHJi4|A~t!jB=x*(B(RF9A0@c%(xy zX73L9=T!UU+Q_z&4blMmA1Vs^a=?$O9+N(xe3Xec*L+y?{fE!Q&c3=kBoiTDscfV0 z8HRDXUbe5alje6S{Yj@j9_9%dMm0)6Otmct3~r`EILErg2(i-P=&F z>XXaIJTc8;<4FD>f9Z$QlIARhP1cvsC4m03^SSJ^)YYi?HDo`_x{7Bf&Hg3wTkM?> zpQ-lTy^1~e_9FNnfuG8I+`ku7oot?8p}dMK z=@ZFA{mF?AADvZBUK02a9Fi3pHzd5ic(TFb?>lb6t3Mj1qkJD@+%0m9Z-g(*O2Z=x z&Jp&I)QcAXo8%GV$32-zbDo7wmHc!cI!UZYJl$p5#)_RU#uXLM%sq^QcpTZh1LTIPRcyCxgPrr^08kb8EcIBfN=%Z8b)HRVKmkm z6S2-X0_%$(L&oXu0D`yAugy9q)(NFds^iwjo#DBgst0VxH_;dA(C5~^I5alss~<>T z2pA1hBm07M?!M%puLdw^okD+LaPfKvOL%#F%FGhj0cYUjs!AB2@ap*3nM1UsnR{Y9 z8T(c--!9}=$7kXLDKGGI_R@#>7CUt*`c55>Ej}7cdFXA}RRiJsb;xJsd({RboFnv3 z)Ul$p^O((iXkl1}G6|m%ut&ZEd#3A|g-yDDYi9$>P`h>rnUQ1N=+L^-*3NX~p>%aU zP0m;Qlqb=LjVP~{r9Rv?BoW}lx(byv)@v!ra%{|xSy9xb9zk!hszMy>*I{YDC_@~!nKL!1sL;=2O-`gmp zUs$T~H3{NvJ6*gNIIFM{Q5L)$h8q_NcT}3IdDTr}m=)MxqU!c~z@xTGeHc!Qv^^Tq zdXH%|XNeWOL@=VQXb(<_|z)2^+Ga`VGT+SC0SV!um8c z{*l<^}ZZw<&t^7e_1|B2QQ zUyCfqc~tgO?{TZHGktPjw7nuk+r|v`LKA$t1L^n1q~8609C%S*OM2b~8p-yN%#a^O zwF7m)Ae&0nr_{cqVoyi$v^jG&!3GwxH(>p6?5{yS&m>v7f?eUp-e%YZdhzTR%jZ->o$D{S6k*u2YO?-p=-*8_Vuy#IyZ zkiENq6kA?_a_dU7vl^~XnnP`M&olSCO$N@=2b2N3m-c|sUOU=zM|GF5U%3u-?1SJ7&tdK% zWehqtWUDm3AAEuE_E*+regb>pyfd+R*7lT{4GYY@SrNR!^(6KR4Pm|PPLkncpC4TO z^0pK%4<$({Ty9>0E$t~yf=mp_m^-R}nRxGfa1`z5leQS~co*b_?k9=R2``ZB)@7=8 z)jGs&fzBse>M-z;G$PvB*})NQ6Y|%{BK0@TamW`XbVNoI*0D$i$lpvdAlJq@|No@N zw-S9ywsPQ}g-wLtNQ_Ckzphi)*bATQ366?PyMm`3dpX#Po>U*rquWWgw3L}$;JeP0 zY}lw{o3}mR%`_etg1Y?Bk~Wn^czOGX-e{88b1D`55KSug&%D z`%#ZC4`pe-mORnyj|$+a%I3$Akxt$RNzD!D4{E>ky^?RDc- z8!IK;aEc&j} z;c-uaUf+ehCEDyt(p|OCT_2&`p{5?+1?=UhtK6E2A2^Cnw~+xyiYE5VZS5ppk^Vrk z7l>EZRLS@V z&F{JRehJ^JE7xbP#(4Xn$hYk~J-(mu_(=ZOf6-&|KX9k<>uJ!8_~%j3llI{0Y0EKw zxiYA4lY1Cn8)6q-HnzeXFSN!u}rLw^3iHetdrm-&=)TNSPoznq)%ye@G^h zpYHMP5p5uz8E9Xu`eu*sNtBa)p{MA@_hDSN>l4%F+uC_d^v5aiDA^0LPwo?aQURKD z0LP$^4fN4WYoF|Us>k;G9ph;YZ?Pr+ePs)8oS-GCq%$x;z~;+X|ZXrOSzCRv!ZKvD7U@ zGwN5VPrMN{Gj+;^FZcMSqwcNXQ|e<$Gdq6R_oW`+uuGuD+mH455;-kQ*;s||ZtQE8 zG=6(mkFN{gb%JMC;rl%Qj-;JkKVEpG$Jc?pT+cyvzvAh!F_?Iw_*NAcaRgB?hcI-;7#yI{U#_U%Rz6RrYb!BxX?tDG_7tC|c z`KvptVT;rN?k;5@}jB)%d#;2z-jz4$pm&G_f9OL*9jK>~6M@rt% z;!pwMTa zcE*KUdVKQ+NTYqrdVDF!8!?Z;9tN7@1b)}UeQy2P0P0*O`Q{#>Op^q8{JtC}&Im-&_Ly7xws`Rqz;yOl`}C{V&SMF=fxR ze;hg4Hn+!j|3$X>?M#gSN|}M!40Gr7_?9bW1}cx+W?>#7=_~BfJy-n$(RW&p?<$GE zkm)_+|AFxL_V~_WEl#x~_Kf}q!hZt%1|0voOxj=e5$1CPu@w)c_4pc5PW1=c%pp&N ze8s{acsb^fZ;!*g8+8w4oZdFJ$M<>BKQz`1L}$I7+~eEC%iul^WsX-Y?8Cp;aUyvn z*8hOF^n-j1|LiFEXB9t)r9b-jgSc$`h0-Sy_7|Eys^s_{-yIgZ{g}pPf65Fx59QHj z)A+ntjL(bh#%DcEFV@H16dIp9oRc&1A4r**sKsS$TgH4zfKUDSH=2)JRvT-d-sAf- z&U)L9zrVbM@po{K4{JsPvwsKm_zoj4`IRBpp}l7$f3#ojO6ANl`EdO34@;l1YLjIM zU)BO~27`QAZ)=$UbJ(UYVIVR!m-YC*(VG^xkS*Bw?-x&tL*3oJ27!Yrqcg8Jb?@J+ zj9&P-+gHZ%Hs`1Vq1~#Fx_vh(WkCCWeGrGvb^EfT&|5!t@${bi*KXewz>_|-Lmzbe z(m758=Yiz2-M%qOJK$68-~aM{w{NIY?}a~i``q{r`IqrM_#*Lm`%JeFmtI-rlJjEV zt&6A4s`hT*p8#(lGr*iytKZy8fym;`=2l;s)PTT)@^7Viv03)=LY%Z-MDMR z^vkd0e))YxY!=OpNLCfU{0X^cO0s;_UxK5gk8|$3-M$x5ucX_d)7?H?ZU?zH*YXs< zZ)l9TGPHgH8HL`E>*~^1zDBMoiS>)gw(A#T&GjMtwsUe@x9^9jliNzl{B2Ll-?z-J zdb`_qAMhTC-{HdVx_xVqH)I!~A8qWSmcNBvl>FOn-|dpVirunj#AT&#%VnS6zSix- z{SX&Fzx`FWFA3%9ENcmNzRkI>cKbfzYZazX`_L=hzD|5!?40_-aT5;pFYTov`5{@A zYvFRw4AzS;x{n94Hv0)=p4Mg${j%GKu^jjdUuQr2E#|%i`RC(&FL@8)dD-M0y64d0 zZr{HM`l{n|t@G3QYRC>uPBhme>C6V*GlcyzE#`ii_1G_C`hx%T=in&PjhD#|xa>TC z=qJzp9%ItbDOUGSF$Nr`J1#X|>UM|-CU>5D` z&KkyUq5FGAPGBC|E8aApCFnQd9vPec;_wA#(O4t*jAvp0j1T)~PNEF$8K=E%=kTU6 zgZ9s~VZS)-foVuK_l!39v9ZHBqWMsY?fBOs$G>v) ze*kU4eRbHA&afw)VNW{4o^;%^3AuFv&r!hh6yU1)ey4nUQ0_O%H}-sGy^pnZHNPF) zv4H!kQqEex8+9L5(%pc2NcooezlS(;Pkki*BT)YJ0pO7YJenYqt!1U05ib!9W%_8;6|Ij`L67e31-REPANSkc zhq8Vs8i#3^D^I!GkykJg@@bYj3+T?;o--J8F?~% za+pE=F7q#w@hJOwC0s4Tw+=T(%5d5+;}5dzH-{O&li>%38B=8*ZMgAGiNl6r2K0`J zL;P@Kq0EE$+hiDJ=gIJIhZ{#F%+`40unZ&r)iO`sa3ev6Q8p;ye`UClA>+~B`7#WA z+QA>Zy}-dK<12<5f0SjL;*D+@eqp#VP3GA;+<02z&=qH#lX)HXcgXy}f#z-;hgtE)qcZ=j1Oq~D#-rZJG7LCNWPY^$Eg43;K9J$O1mnlDU4I&C zY?Uwp=Vh5^VuJA#8NPO?Q6=*L{t+3E@Bs;@e7Lbz=J{=cL3_MRoD+Ijk9mI~c=xGzts35>kE=zs=R@xlVu*zj>dIPFZ5rLjDI-MXq4@rm0)a?c@Qp; zc_tTDWR)iCbmt>yrCKx}IVYK%L zG7SAF^mU64IB&^#ggcZl*_9Hv9vO~FG?tt6Y|*zu_CoOq#?3N5FTr?5#-rX44qr(y z@?;*gUGPFnni%(bG{K9+hvt~rk`{=Udc8%5jts?%GSHJI|Egu4k2Btp^+T>-lVQ;H zM=}gr9+%;;T!e7>gM=F?7rke84N^G9LIZmf`OYGv1JSULR(>Cc}UqYWoqhzc@Y* zo3_n)r-ri-dh*mZP8GJY=5&K;*1;_2CrCQ6iXN?-+g1K)axy}O_>{H87ogsA4d9p?`m$h z+S+_AI{KF8Bpf#z*wZ9z6`x~64Vt?|D+3+VTXyP(8Z>v|WzgT&cEiT+U1qmt3`2Z& zU--L*8aIGPf=bfCu@MMHM?}dh>4?{r=32u*c1LL}$s1u+Jmyf3o?B&*>f#vg5Tu^+oriT-zY_{5iyZRb$VO zLi~CB9u1|Z;kRBOpL^+y>&K3i8BZp&R@ed0&vvjEXg)Ouc{m*W9>RL$Be<03d{6KN zn)C5A=l-I#Nc#|J0r*=QkWTe%#RFb_{;RjKraf-_E)M)1^!qb%UeQ_dQX}124!_r4 z@c!O&OMixWjE1|wnL)7V&hG#ljy+NOoJNh!q4^2jS$}TnFB(ZNtafL2QN8QngVBS- zX0INc-32-1-;F)7vsc3>a|gcFaw|~oB-(N%+C|~+?LTkocH;K|=>8gUKR$FO&3$*% z+}DZu7(*Yh#u3I}anJt*q}i2$AHcTEpHSusq)i9B;lPLC&Tt+EuAwm65eg4g!dEKc ztCetu623+W&rrg%mGE38JYNYfRKhnX;X);Rvl1>+!nY~mRZ93SCA>xn->rn#E8%J- zyjcm~tAw{H;m<4KFDT(JD&a?!@RyYE6H552N_d|V{+1H{wi5oH5^h$)KTyIyQo{eD zgbyj6)9WTq&s?cQ@C>Pp^5*6&SrYEE0(^$Q<}F(`*UXxFgACnJbW`yvik-1? zekz-%)bCrFiWq>jDK;O`1yxn$_n;*;8`sv9m8TL?KslQSIKxb=O`V%Mu@+g^m6vXu zcK7De4dtn8YpSX$YAb50uL0;{f9;m?4XMTc4QpzuQkR#msVbj~>>NkDDFaUdr0SY2 zsdv|aRN%SPS~GeJ6+k|bi+^&Ga_(J}cSGvRB{|FUQh7oMaO%|gW-C!Lr>qPNTUlLm zUv(87UEF@dRDBZcj;z7 zk={k*jr_}9x+ssi@>VX-E4uj(&VhG|3_LeQ`BqMyZ?eOksqEJ3&E>TZ{@P3Ma$8v zO1WFBiP2KG)THvxRXU!r+?tL4R7us;yEoTtFo{UHO*x&yJJsZoB}MiAEq-vKhy>;2Lyds2(mlx$OyIllwmLqUe z-c7}MB48%v=jANBDW_;L5-A9%O98sz#+%g$5iZJGl9yAQCsS_ADOiGVLGi6O5=gw4 zi1&?@hra2Zd($G|%cj-(Yo~FABQX^C@mJ1rfg8Pm8ApcjvS1bd*zo`J zOpHuCSTQ(7=d(uKF)Pz+WQRV`hXcXRs0TCY%6N^I)gWvMk=x1`qG zow~WS`kr!<2a#Nqm$L|BCFG6kV3D$-r~qo;HVFt56H?;Dsw&dkq6}JVpRn}iB?Wd} zB+4yVu%LJIm)*KNm*Kx+`fth2^nU^Uw~+qJXF#IZ?0yR73KZCVYuM&BP;-j-r{>;p zLr&`5TdTP)1$n^7z}ZdF*FuM22wMn!#oS~>+znfd#>d(%o44}(JiD7g)vz_2D_PCv zQkG5-rmXa`imEEMrFIP~t*v4k*KK4IxQO7ZlnV?0TC=grEa07Ty9lr?K+%N3)>f?z zTuC1E7|(m&8)P#jIF8I!Zz2SlB$jLE@f*rRIu9ewXCeXlx^Np!OCkkvnpiX zxUQ7mrEL9%jcm=mYXQFkk$z;VWu;|nS?!i>fPjnug12Z4A>&2StT(fW=x9c_6;UUy7(&R#oQ510>4o*p^acE3HGeTHtXnNL9zyZuGOY zz^x3(S5*7)MtXHQ(#wD+rPs0AHIznA9jmTEJIXf!FQix1p&iw1S?=|uhF~q5?;N~f zHmx*Yx0^3YL*&G@k^h)mNWzBl4H&Q7Y_JBu1pbDzyB+@zOQwe$Q?$MKZqQab%J5#v z#^Q(87<&}gcKt7=?7P?*HWA;64z~jh*A1+e-HP{>Y@ee7 z@ECjCf!&Pko2-bH(kHvu;luy;u#Nm{kYkAkZvgudE7P#b%}#26)xLyxrxxqD66L08 zNshbltvRmK?!|kIwuHqYez@a7d@=Sr?O_dG5SGmf7`&Y96nm0khRx1v8`x6B|1+UL8FW~YLK82qNF8C_)!A{`Dp}%fB^y`hy)B0F=Et+(NaVW z8WFVLzGvT%PTSSBUe{aiy|vDrweLCK*=L`h@0@$?oqcX5T06pI?QU%%^k0ZSX>S9U zY1PKR#a*K<6L^bHe6GzDA0z!O@q*X_T%_$4#lQS2y*DKVQN@XrP|UKBgA+lk`%=m#TaqQ zXdYHXl0~|x5ZIB&k#)7O;p!4u{e)JH!LGhuXwBCPF?x{DN(TvR1;Qo_WgGr$VKrV# zC>bg&WpIf4?-p9N9V4U*%h^0Q8S;gtF9!R>M~kl&RJr!dCv65&V<2(woip=f0qEShG*& zE9Lt7a{5~Ce_p-R=W)4bSzpNI7jwTdxtu9x`5Yhn939-n&dcT1hDC)sR2 z>qA^_InSqBw%@Zx<}c&Y4meWlEw!S=P>{&MEu!}FvU>jjsa$>W>G z?J~=6=kg0VJh5Mv-@x|8%wHDsYGa(n`Y>Owy?A^h+@Chqr!jA3tgqm9^k#i4V?VvJ zk9pmf+ndUI|0^=Rb(ajQcpO_CufuHCm)6Pr4LmP8cpeQh z^~_HLuW#*q{gkqPJll=jD9h=?`HERz$n&p^+dY!g%Q>uJeyg~BXSw}*%zWIQ2IhSv zkHaR`H}H66a6NwJSulSkJT5g{ZU*buvVEOd&PLgO7w7BX^jfwr;eM@Uz8hKJ#9@TT z$^Phx#D^P0{1dh&Hx&w3Zv z+mpwA64&zv>q|I1#rcME`4ya=#pRc^PCm;<20{d#M@(l-h@Oa(o(_tO%vi|z+!X6f5C46- zWgW@hPWUh$fJW`e)jmdD9pL^^l2zA%}As0eh~)?IHd7l&J-dfJ-L1P?(>iZm${h z6@)k%a5}ma8R$}7Fck21LPw4-5E6DrNH26FbUHj9pA(_S7t|31bO%zUE|(K?b3FyY zJYmnBs)vFIe16@Fz#njXL%E2+25m%u0&-^r+#!U>>YRa8Pf*v<=X|b4@&K&og8^Ze zMfsU0vqXPE$eHH=afqP8fWwQDWGw;R>&Qp>K{GG7LOJN7hZ+@fqGCrV1ly1kHE`7D z@y*aF%~#+@Wx`(I^|-xgS3%ID>mX3Jnr0{_lwCaD9idHB&a>g%@Rb$k@Z&Zithz@> z?-JZWM=+@8=Xi9{y&&H&F1CusX~@)a$U+8l$*lD)Okj&XLuBT=#R!{dZX{j!u#rlg zzrDaKCW{!C_>o?yJH-v|z`bIKSBwsb9OS`|YqS-?pzI+H(bD^n;L>wNvF3Gzri*!6 zaAv+(pjkzI5bClZsaDBpiq08}7%ct^nPkCOl=Kx}U+%e>mMCUr;=1(R1xi zUx7Cy=32mpT`aQLMD1P;_HAfAcw9yGIAsmHEJhFZp_HK8Ck|Syq9%k)kB4J%u4tg< z6(f$W-Gft;8@LqB5VjmwPC>4iZFPG^vDF{YF$69#&w6ixUZ9KlR*-8H(H@~XOY1C} zJ>TaNuR^gLYYRpMs{u-#fwoXT4q5fWkRI@gCM$L5m{nLXk9S#p(+bdsj|c`sqPX2!RJQq1+ajCdqxyMpY*u*&&wM^nCj-ZpauYYLHrtc0*T6WJip18P1@B zW_N=v*CpPziBU)cMhpY(hP9)BI{st~t{U-ljIn4e zim{1uEK1<|O^fCXdBjGfL=G4!2V~0YF~Tw}$0fGLOn1A)ff%cZ6rjjcUNqdJJA%6G z&8IP#oVR#!>4}rDaQ$NNzzp$jj4r-Hi4EK6S6|9}IJMo2+FG~MboRNNZt+5FKwf35 zV$tPdYI)7`M0@dL#*AA;a{$YLLC)*3#(Hxgmew0x9EM5hV#-!_f=rfI;$C2J=J~|g zSX>)4jI-k~03VaGBTN}fjdP@o;#EHw>BnId>lA;C(|x&Oaa^w3qr1JiKJk29z9TSA ztcvsJ7K(LoL9r2KHJ>D#6W`GJ)Yo+0^DXSHPOKFH@s~K%sf#b-{2pIOe1nSs7wpzJ zU&vQDQ+ym35a&=t#RkLp6-{$^+*7@xD&8iVwo=QDHT9)nUSL#DVdh?WFej*cT& z_48C=OBJ1K9;TtCby64ML|XD6O$1dRl5HjKpEl9{5uHzbK;?qH(dkn`o@&A3#(7z3j;+iCFAUBca;pe7!Nu zB@4-{8N)1WG`No@bq;Pxl0oMDBpTfEB#giwDkvnLODYVBZAd7url!@epk&-D4kV$= zhm(lQ`lL|6Dc(h%_S2MSc{}AXM*gd$&`iHBzJ)Gw*67-cqyraECd+%s)5$0TRs4|T z6N{3;1D*{q*}tI7)urg*g(y1KrQ_D*n<>7I)kSgKRPl6tp7<`_Ep{bL(`TA%SYv|6 zN2^XK$0Lp=;NB=sBzW~12K8qWe4-?guEx5=fcOqPev%XtE0YVn?tH&TY)GE&)@S(X zo?e?Q?_xX9uzV_NXKYaHNftK8bX_cp)k6~;Gvsx>BsL`0#m*EvyJ2b?D||~HuIOq! z(#gg7t8Rs~LUtJXZcsHlaH_i-rxV?Aid=-8l;hbHte}3eGzIHH5+=8s63bJ(;>8r) z%{Cx8qJxicT{n$1`%^@W!{rj^x)GX}q8rsLNO6lTDaKvlPzvrGShaA^nI%MzF|=6N zh1Z^+hi4MqSr9T7DLe{^h~^L*wVau{IHEbl=bB5bz;F-|c5%c)43+C#V>&57}g%9wzd2l5)ag#r$zF8s?_fwzzurno^Gv3)35()7JKAz+-V<@*wo%M%-%gNG;;y z@N5h`nsFNAyBUvU>?aHf50m-H#ziMS=+^Br0m4mDcn5GUYMPZ-fSa2z>g)&mDJx|B zCZwfz!BliQBm$v>@YpCl*|)O&@1Q4p6H|V&FNDxRnC!di$$s)mshbQv*_)X1lRXI? zgvq|Ep6tVHPn{xr6H|V&9X}2y9E8cftDfu|zLmOE=*iy1l%MP~aJ|t%nC!di$zH_B z@wgIEvNthB$-V(X2Vt`BsyFIq`w>tX^)vog_6=S1WM3I8>&HrH*qhk2r|*w+5T^RO z>dD@me<|_O-o&PTvSEGRzN?<>&G}06m)dV))1Kx!9fYa=u6nXJ=QquFvNtj1C;p=C zO+8%?S3~~Q^+0@dMH0#hqw`Namt_xqbAeu{Bfro@XFr~XRf<&5ipDe+n}KjT`)&B%yq z#dgNoOC;VyI02_HzBePFc}eX%%lYv&-@uuJW&UG?k>6G)=hvsKZ{YTP#kg*W%zuvY zP+j6=luhNgWlDT0l@7aUR5%G7VG0#PjiXN&*Jf#$hZj; z22tT4jP|E;`==2``GW03oIkZv=D&||=rXJh$(VsV|n}bCj`-aSP)##%-oOk0&08jPjDXJbKEe`o^=K z9_om%GUg{17YO0rFUs~_z_{lN5?{`^lJ(azjxdG`$FPrZ|3)zO-ze=TFdn~H;z^9l zSg$i~cz!mT{q7;ujhBc1paC@!Ba8Z!z;TpL-b>Vd13qH!&W0hs1CM z81+~DUgDFCtLIC6hVhg#iSaGj$Y1l2#CW1Lu>W3(FJauPscQgK7Be9O3RvBXw5 zppEOZPOjI9gpqLyuP;3q_ho#AnLkrr&)2fPIYX8=h;b%v#8ltSj8EVmPk1Eb2-XC` zw=r%*NcazgX}y>t%XgXi2THx4aV@W3_cLzzwbVZXjB=TOjl-xgD|tvJ+Ad*#+4Rc@44$@;YQMWFO=W z$bQJ1kOPng$U(><$Xk#`$YBUQV;+GtLEeEJg}e)ChP(%%XU_K_Eszf&A3{EYv_d|H z9EW@YX@f+!cPrAiL0*N_LH@6|zqhbUw~I?|c9^Kko`;!4TOS-ZwlFwO8yOsh7ppUh zZ4gd{>mCkA6JQ$z8)X0B;IYF|WH?xih~XVFV&svx8{0|J!DDxv-{!EBKgjMhb~Nm~ z-#|WfR0bC{ZB|f;>}9vRXtRP`I5K7w%q}F;mZ7Yjf!wz+_Pe+RhKI@C#ld8Ue@X6E zPz;*|6qw#VipxC>eMyp~l(Rvp~$)g)kb&ao(&jRYq&`9aJ_sK)EIG9m?GY zJ2lztsMjO6)4ZNs)Z+CRTMl;9<7M~D4Fx-G!(q=&?m`9($3N{C*gK=NufT|$VCSP! zA-&n$5@U>|yU`vb52PJq-syqFhMlo#U~JsUy*YGqg^ z-KrGVX`jG|@KyoEu?>h_O&KANF-JSy#*7W$F~`Y)%u&n}GL`OrBN~wV0y1uRh-K8+ zAD}4B0b^DgrkzOc40L8Nb_7h+Svlo4_W}$hZ2(ZjExq_gG*~c|6A_~=PpE?h*nu=- zGOg=GLzeT7Wy)r5zsjg_5h7~3nkk1*I{b~OvCWG#IG=NjS`d+>B7*&3slrt)BXIL` zOwuPeY@zGivqconeaeKY%~3)0??wf4s{L- z0mFT7Xnb(m%Ls4&B0GD}DY?^sPJnl>rQ6pIuP+uMdGX7*;jgB2fHhRxQW@LZy7s0%RXY_*xzQ~ zGH$Fr!@R}e0_%tM!_{xVKcoyaQvwCve(sPXNA#Z<)C0l(IRRge9tic%@;M9gb#Exx z--#W`{^LgvyKT&{{=tB=|MYx1d)zs+RQ4Af>F50KmS7g(=wrrwKNJ77TX>2&f1Ej% zTnBF)zCCw-M@d5(ybQKq2@AfQS@018-|odE2pyLTtu?i`MVKyJnfkBJnpVat&F`6> zFA96rU6XNT^TCDB+%tZRXLQ|=!KF)!VpdOXK6&ZT(|yJU&YsI2b4UE#QLRaH^~v*x z963<)!lJjTyMNe!)Wz>_S~_^E{i=HoeOx|i_iS(I%gfT1CqMnf&PQHu`!Czq^V1186)u10ws-d@xrVG5vHR7SlF>CgzPId{_;5_@s;mcE0`qnaSuv{L?qQoQ zAHUGAe;>py$`sy&hUV^0ATMRmNXZ(e%lrggN`4oq2A(SaYOwV#UoLy*2#f#|{op zd}GG(hjJ2rf7i3;jvO5md3NQpirW+0rrw(JL*j<{r#@ME_WAfx`~EtAKz7Egnu3!D zv+jDk{--g=C;T{Hf1&T93m$v!^OK90Jp0r|qkK!7u0K8}t!7{Ku3L{Si(mQ9qQ$PC zU-sOcEt%`8_pWZa>jB%#yL#SoPn$jSmhV%ZZ%@cQw7y_r-swU$L;Xu}9OkUf!#(2oGOgd*l1Ra}+Htnw=Q9D{gf4Pu4B}clQ6O{_qo5 zP2GFurdPL=J+wF&m^=3CH-)zSx`c-t4_t45WZsp({7=jOclO=xC|wr(;IfU%!3+!$%!~p23~3AreQ69m1wdQ|;;i8Wl06Ap3J!ix z{{#6<3)C2Ln9>+FFagE9e8fO%QkYsm0tG2dK&=Gd9jW5fX@EV#s0va|?hpP#}gOhDk_(fhiq`%LN!3iy0UuRswM&14CmA0|NuZZ2}Ao Z2QM8zcl1UGN4fxzb?oG&%OM;<^#FiqJ9Pj6 diff --git a/src/rel/CODEOPT#FE1000 b/src/rel/CODEOPT#FE1000 deleted file mode 100644 index 0376bcbe3eb84336a72613d9004202533e11ba3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3101 zcmb_eZ){Ul6#wn@t#sYk$|6oS7z>s;A5A2<4?_&rienk2d5%ez1+i($by;v(YSWNu za9tL%;6gT-2+Ldy@dGh+5<(F1PY@VpWQ5@q5R4eaPx#3o3F+4Bx$oV*J+K2l_~Etp z{qFCa^E>yPd++-=U)ctfcvS2wJ9FXe&*gF1*Te9t&JBLnQvnRf~Gh9Y0Rs{HC~0&+=tJ26el^u zao&P+yp=E!QLAQ-c9l7L+sV0*R6*h#p;lwENy%aG;Z!4#a#H{wCTQ5KGqm{5UH%c5;j+gc%){0UxjHB&8V-_cir6Q9V1-b(j z7JgXb(%m9xIz^^5XgO3-gc*{`C0_6b7s{Ne0&fSnIYWFFh%rCL1${78H5_0xf@G7@j`vd zT&9^8tTzc*Cw8W2GL6><=R>QZCJ^=4Omu5bT}t>M0&0T`p}j!!#_Q~MIrMm*h2_IM zi^vant}{KO&Mwjo?M3OT>i)<}v*kqewUU0%oDVI9wvr&)7rpJ8k4^|W7J9`G?SK6Z zlcZ)jM*`-Q^Zuz}al|}>a&>!=Azz6W4SE+KYP`j?K{1_+PjB*g(MmmmawR)&=ssQu z`UVvH@a~i!Z%zdeoC;zf9l}@XPQ=q)sHS$q;A1-8G9BLeGcN zg>gQN-?&~2Eh?9G4KyZ)E1|{Za5=Pu9F{^aL9P!wc^Kz;1ebU_uJRaeaHdcb=8CSh zbt|XiC*08cKMQ^xT8q?E53N-WUxKzn4y&Pc$lzi$7In9%@EkW#PXk`E3Tj^^yFYlD`)E8WdJy^;8wQ(>|=Y>&J;q0MnT${+MD| zJl%r+=~i5xj$;*1K<7Kq#yc>`JFz~)3h1_}qZaE+6fie^DSB5y_X?%rd$AS9D8}3! zG*TI2Oij31!5$(Pgs$@ny6&hmUGno%uObo|3hS7#r5Cagwx&Pg&lq3f%uS!Bsx)Qp zluG>2TmM80n?04+J!IrV#TKQ+1LX`o*FEST$D;l#C{1oqk-XQh-l6Ah7m}aT zbDW-4c}T9wL;vFZCH~uUy>ZiNB>9pU6h7}eGplW@zO$)_Z6RWV46>S~u12taB(0h(YO-0u;ukWBN+^keI9o)) zM(u4B2}yM!5#984BWyxZiqQuJU3Ae!kip&*MHkaEGim*XUU=p_&w0+AIcFH=mc)mM zwW~7S_or8$yn5gLY<0PZHjjmqjk9!{F~AE+jCqK0N!~2_kI6uyd!UA~{aMUi(wEgZ zF)=z6iBvo5*U3!s=(P^FC?+wPM)@$^<#D`2J&4Of#+u|+8>v1irf`~+qjeO`qCq)1 zDZ`TEbBngp!>yg`mXjFfWgcYultC1rE)h?J_@83kYT7J+WR>(OF~2e_hvfbW#>0y_ zWb+X3uaM+$$6H%vZ0I#T<7$W};$08PGhL=?^(xXL8#6j~tz(aQ>0n1b>9y0%s&>Gx z$lUYVHAayjy;-XkTAPaNS;IrURnb%AwOi@p-&Wl1kjHg%T~~A6 z+zr>~y25o!UDp{hx|KMmR!gCa7WMhHPGRI@1g%_kW3kY73awZeeq{9)Ev=FvQ|}Ds zo-Pm^W714Luus)3EH_dhv<8u!_`4St#$HKhv5NUTnk^ItN3W4G)mx@eRH22h)=Z(O z!mUZPM96NrlSQ^4?znEDlaXytqzf#qY3?M!ZO#W%5{Z=bk57#amQ0Q}KoKDN4OQp`yZ`_I diff --git a/src/rel/DRAWL#FE1000 b/src/rel/DRAWL#FE1000 deleted file mode 100644 index 973574a9fd8ec343095ce26f1fec52bf3d89b019..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2939 zcmeHJZERE58Ge24x!0j6^jwFOiqXVC*xn%0Tk*su_xDx<*+k0n`% zvM#IWZntULgy@bcptPcm)~Om=_l2~H4c1}6A#R=6bqq_SuF=@kB8?7Jt)^8KWzX@o zGfiFp?$<0o_j%rr^Pcydd+yaObF;lfQ|21lU3qc#()?m1k-Hq3PNkEn(8bJLDwNL5 zU4C^oJfB?1_RY^G@(G&%Y zQoWCzG_A6(P^jYzy8`P=-WY4s_P_|PByU{M&c<*VQG69djQx9t`|pfDzu;)|D@^4FdYpTNRAWjEG;L_Xy@{Zoh+yxVFYkF@9u%!&Y?+m8iCYCQq3D-@#Sz_A~Oo0yRMtqb-9^9v+R+VDO#W zF*-cJ`Z@Xk@ZW>v^H-<{b9R*dXCI`t2z^ko4?2SS1;=Q3O(C_^iLa|-^0-L@EJnfK z-}Vl$=x9Z+K~aCjZshMqd&=RaXjjDmgNJ-)3-eNA41)@1#ktkP)W!z=;SIH9t?3;Z z_Z}P{+dsU|yMNf*7uep>*&PgQL%)Sn2gW^!QJbdj$02NEjq1t&#M<~eY>+RdTEbkt zcaZ;ENS=Jo4A+n)b_{=M&w;((@e%LH=-%ONUR4i8K&s*d40T_ixU(uJFhSvZmB$8Q z_j$-W!NZm0eT*o)ioz?21?ZjIQM!pOM}n&I@(NrI5Blpr-#c?V#(Q-Yh|w?`40d4! zrKYPs-t=<2)t}I=dg$=S31cpG!u;Q^sUvl~8ZBP_NP9VA>R5^8d*rOd_i3Sq753cP z5Do^qw|4|0-pDt;x@Y9T{ztvxv5`mj9y~ZQ=ACG^nj2La%joQhc80qlC!0jk>Qq*X z@J*TOf!D@-=gc^sZfy*`s0o%|1j}aO+4sF|TKwT1-BF~dQ46NUy4s7zEoJl-jVh0& zw}*nElHKI7csLj;4eaw+?r>jsZ!}O!cp3>0gn9zS@lzhl=n6$c{kw{e^B!yELxEl4 zzCa`r==faGyNFThSQX7Q$|@6yMb9;lb%*jqqL{6#=)7KGm6Z;oF!m^Dl3yKTNL&d+K;b*pRlOEK_<#AN8N7)TMYNku znZ(Wk3&7jJEuhLntO>wbWKRQAzt_eO7JXf-cuc3eB=B!FOxbb`^M|=9WIql8xXV&210Cw@+)b$2GFQ4*fXtz6*T} zcmej0VE+XAr@+sFbHD{)8khyp7ZN$C<-}m@E@&~+19_N+v$GldafqtF0$v08s8gi~9 z=kL((LH`5#L)7{Re3#DUr+_M5lRkaDYyh_D-2RMCcDqipQ?Irkg2wyBei-%+y++!| zKdd*{Pr-f`d=jxK;6>mR@G|_Tb-(d;PUxFu68crdvalC1W(oWj_y+hr@CRVc zXs}lpBt77}!8Kq%xCMM4xC8tkcmO;I-VYuDe-mtje+WJXei3}iKp)V*FgDqz!M`?q z_8IV5W25~Fc-G){7Cdk0@~UyKeA8g^&)~lrjq*D9Z-yq{H8lHu0VJVBZ4clTj+E-nU4rJ%_I}qL^_>m7pok7HIWJmLHW#;Y&O{^DhZ#P z)2ZBiRNSNFTyh~Qs>u2N6xCGt1QqKkxo|O=jf#zwpUGvuC~6!>K9%VeK1$|tOX~Af z+)Fc=%xg=@tBIi4MEP9eVnEc=^lW}Mbu^d!2CZr)^X2c=^ldozMMo|10Njf8kH(KfU|eUAt%O-1GeI887X4cKh?^ zNif_M30Y|`o$%IeyN#amxjEwhtb4t)D-N%wKhd<)bsse>Vk%(h? zM^sv(5?94Y;Oz#d^?Fo0H5@0ZG~JWetH|fA3Rs%%JDSqO+q~eiMP=lf`Y=CA8(-8r z+`np5@5MtW=0>&3jJ0i!sOBQA@fCfu7LGb@Uu8)x4X%2pt+xik9xeQx8Z>`ItIbfV z8=UCnrN)=_|ZT-S;_OQ>ay1=k;-4w(UE$o z@eND1-oq%tDhdThqth5uBkHQq zTB444v%^yr7%ZZ?J>IMl$s$7k#@i$qm8ce|5TEzoy_|Ra%Wn0u#;Yeu)Dak&ewFus zpjK7Zp{cr}TGY|tuFtSpH8UGel4dO5>kz*9V=tq z1E#gMUft>)fx0;&JjZ5vuWp&$Jh%C06TL*EDviH}CCVJ>nkUVgnoQcPaICZ3nG)lX zPKp$jJ9|1?BAxMAC%xf}bT$r>nUT(6r~Qj+u5Xv*(@c2N9d17&(ND)abJWM#~d+x#4$)o&KPTeE~*Z!5NZf8&Xqw26E_`KtMnmX?No^;wd#e*gC@vo)TfryF9AX%V~C5cD>lrbhZ6 zX_AQ5TIUb8%jy!VUC!QiIeXis1gl*tE8Q+zuX$0Gdwjd7nhBGk+C}X#jcU{F%J^=( zY{#{$dsZ?g{)Vi2k47^#OS&N$F;^tRYKS|Q!4j6Pzi@)ES}lzchZ?<1t38jUdu7S@ zdc~dCqs+<28mrLA0uEjqQ!Oe|%_%8uOby?{s(_1U zTdJKgJNx=XjcFfbr#g_sF=yqd z#NJBm|L%+mjVQdBs#3a#ShaGZ{Xi8QgIJ{UR6uQ1@tuQ@c3H|e532%a3FcX)-_k?3 z<}2%}u#Rv!Eg?nq%t0L;Szfie)afR4KSnDh>VQ8(Z&O9kdRJlKBo&WJN3#S% z-qF>rx>Ai=sAh2LP4%o9+@Pt>!OrSHK7!Aym z8g^vMIu5k&*H_=k!U@kg3zNc9?xMu|dc;M%BOcYd&Sn27cj3y;nWT@HC?q?&N~FnI z?us~ioXZ!5N1mnkIK$~C9!bWW{)m%ORe=GlE7fKGao&c`?kCiWm4;3=Nm4zh+MtEz zmINHa&@=98%)3ha+&C+*ACrZtf4kb$G}<1Rs_%Gpx$gbY4}_Y_Fa7qjwXro59`doi_sRk zzBII@R25g7dBw__9?fBLwTRRZkBSn-q4@gr?++=Nn(y4jVa$XJ(=kg z$G^~dZ?De6@9OMT_`ao3ZPIG=aBkNzU{S3je(EAR5SiZUSg=RO5F%YVJ)CyCwbt&> ztnRh;#63*1w8utA@OK6-1KXyxsifi^Y*Sc%mhGlK^HXcXGT$1V2kFOs`lFWnSRJUh zyv2j6?sciDrR+JVccg5yhOww`7*mcZ*_&luYxjHBl(Ou`g|w<=2-1tunnX)`$DpHa zQM4nvsOx5F?o=JoIV;>`C|BC>{k%HRDCPE4YCK}lB@v@Siz)xdrhK4?xVlD3Q+v7e zw5$D~NFwc(wpxxCSss&eTRA0oi5;N(wPdW_pVGuEE0>hLPjt5S8rN+k+dBQ2sQlkv z<8E#EY)i%Bk#=Pi#*8>GRbTsZmC(Mtsa>^!jI#r|-_41& zN7`emZ_#$VDT}`~Qbk z%uvVI&FT}ZyLHsz^MlTtuN@Z1OYMu1W#omTkH!2+KRH!y9SN$T@q;qzC@4 zdPlV*9BU`eNL2^cFkr|XYRaT@ALX#H=1w`2jV6(;E__W!I={zI^NlYDgQZ+6w^>Ei ztc*xJCS3SphQD`?Ssm4ig5%Vubf86e%D6^NW^xJ~RZCV)0=qie z(n`YWfb)5S*3D7%8d>p0;h5#6Ybx&~bsf1ZrditZMJZ!)#u2E?GQ(CzhTqDLoH~gS6j>o9BA*sdv_juYlke;^KLm4B@#%d`eHdveDPR zhW!{5@qaeus%1z{R0c1V^OLtoOY&B^EV)cV$=l@88K zgxn)5lMhR4acsIA(qTrpjkhdsk+Cs-l zgUf6oZAfsjEi`jTaG@=fH#B&IjXg?jv?F}V=dex@E>Wpdf{J=A?(=to=cxL5iG9^i zz!Aq#Bk*M@w9y;P!2e^%SLc0cdaIy!J}L{+`>EYn9mQ%IQQAtu6;-8=N~pL@3GY}7 zSmUY_>KvLb8|GlAvn#a9gwn3OzCI6mhnwm0{ zc{Z+cPI*q)AU=b&rTWX&R~PQ-t`aWhq{tzQJr^eQQ(YSn?csE{PgPoX^?++lNLs z_3pG$M+MGQyahwp9|=N}1~ohQ%x5jSD3?Q4ld_W)99lUD`>g#Y__!_9Gm0+;p?w}2 z%WI$J5=yEFOGT}SRkn1Czbz0No`;HbevJIk>T-YZN(6P-`-7KTuk_=S&O|?lms1_H z_(PLR*(G>U)rp^=2kjzvsIyM5nDr{DN#{7q2 zxWY~1OAafRY-zG__^*w~Dn5Hh-SIYe_eaT?&41s^$u^gNY`@^uS2uaDojZTF^`#jl z)(;+xRXQu$Iy;pWb-UG1Ay!W9bys3CnTrItVFf^ z`kNYgI#DZMC4#ag@e?_asFTYQA?f<&0=Y548RJV&Yqiu1_&hzWu5L!%#N$4yV! zhmvHWBc&i7_Kg{~J<0S)rTY6aDWX2BQ1D&r0->GdNX>nMyPabelRd?`s6B>@U+O>7(WuUjT<}8uYS==%}a#ztfbCxz>}KQs{ToX zteKtKr#U1-_wzY`TK#gdhU27dflpzCN3_deAD9D0n>0wYn_wjj&l7E0zG$~X&0x_+ z7Er!Wv@viO2yUkru7b_*DNHXGZ3Wy7UqMERXmjCZm|QB_^{@qwfi^_6nUFVBv`!fA z6>THD1jS{deFWbOqmJRC4LE^%fo5o{%SCG)C0Y-BI7-ZiZJK%1<}njCkKxnA7zbxT zE#Sl(i{Vzd4OYUPuvQcEe$8V(tvQU{#9t)-S1sFki|{bvdxRfqy74*TSH!=jOcL2) z&o(mbVr0PpyO;y*xkf&6A@WeEF$=U^{+uR1j2AmLHUd`4OVY)&yU zARBUF5EMX(6T6*u!-qT;PKF6k2~)^B&pFf#!9~#QbePvTy=KgrY2J*y6qfPsO3JQ< zUsHag(_`+S?2F|6g|e?v_C4gI@QKrIenFnw#Z+?*HAlD{=7}z^>2qb86Ohk>$u7Gw z-6dwwRc3I-HZFzPfWKijlQy4lfve2yKweJz8sc59!RGz0!Nw!RpMc%4A6|z;@DXLc zro25v%>Ef=Mj_z|8D-`e7!Q>hnmL7Zwq7FySCBt9W3YK`#$aPU@lIF^4B|80Vq65XfCJaK0d9sk ztcG=ze~@yI5dNNUH{pxudjsA^=X<0brQDZ*du2E?8QV-TJ(*=@L1vjTlDH4fg`YqJ zTmn}>Gh72Pm>RxieU(h zfD>VKKQT}4S7uZoSHjs)4L^oDxBxDp%$1aBMV<#Y!9rLJ%U~s}g0-+7y5W9!1Kx$B z@DKPW;7S{g{$lilY#0PXU^-j~m%(gkfg7P6Ot=#^z?1MNcn$sve}}_x6h4Ko!9D=} zPyl664t_WjehQZj5OekbhdF0}-MEps0n5OIJK=8Vf_tF{9*1qP6aE99gO}k|cpE;3 z&*3Zh8j|43rtjedD2FjH4#qaS^ z#)HV4;1PHfehb^-kMIJ#2(QE6;2^vMAHp&C6h4Q4!Z)Dhh~b8QkPC${6o$cQ_z{eQ z(_jKr!lWEAr{#Ez8ss{thl}7+xDuM-8i>ISa1$(oTj4gi8y-Q&?{hrn$LRTnxLwB% z=m)uw4@2QZ@B#nV#Hi85{E6-{XTeRn$5=`ley;HgxC4F#>*0Rb2d~20@ID;l-7k6P zKamsQ$fZ8$2Rh`#P#Bgg=IGpP^OW3dVb(K ztcAOw3%cPq@DTI>zKro0JOO`z9qZa{&1jT9d*&+SUlOh-eIxQCq(4ghx5!Ts{+aLyY4Jhqr?3|8 zhEwvGw=fy1^2D5(=P~Extd;1l=~_+()?2ICKc4*5_BUhu(K zI2lfb2~Y`B0Dsyz4{D(f>fs`|9Ogh1w8DI7hYnZ@%U}iE4tKy>=z@D;13U~{;4%0E zJPpsmUN``+!W-~6I0DDu3-~AS>BVpqu-8HkcnZWUE+{jH!Ki{VV=QU6!M&tEP%zZo zT;MRb7TC?-6=a(`h(A-{HJ^t;g${FAp=O>AGYf~BvtVvvj(Js~-S~N-n0FLc8h$-fpo+ltr^h`#}E!v}B_K7lXb8?YC1=0HEl1`p&x zF`Nja;YTnI#={vfwV3*ghZ=K`o8cN*0L#FHRj?i&fGw2$u-IW7Bm76P)BLj7Zn{ex zW=@II^px1mVI>aZgc32!iJwHglK3RzQ;1J1u^aaxKUAWbJ>)%7;x%{j?$d<3OWfwO zm6B5P^^zgRnwqWLe+Pw#$Ve@HJ?;`6)y64HlA>i_L-j(|Q~qO&bht!yxTfVX(Afug*1Q4siD(j=hqK>k*%j2|1?G}jhK3)@Bg-Ydf)Hb-?gu| zp^JL@cC((tyC-ev>ghF`X@Bn(^=Qe}u6M7UV5|B^luMINu=XSSk8Eo{x&LH-Jl;F< z-FVl?H!o{fkBq2SPhR=;^5uraOf_1Y)+k*N4R*8o-Q4n$sVIMU9A>1i*3EyWf=QZyXVpOf9%w-tY@|xHrGFEa6L4sryr9<&; z)EHu`Vjc=7XEugjNQWj;8S^>Gl*S?+DUq`)G-l7@738vS15m44ZJQ@pvH%vd*y|T^X|3|c`E{i@1Hq8|pF+;d5K0y#JT5^9#cmw) zBFNYx&6qsHRIEUrcN--=;iMS-#i%b7{RYE-1bQ=^A+X0&HRQsTDZq=u_!HoMD&_L_$Js49L?zZp2Z8v?V_VOMn`f*v?dqdA(zZj>lz4en_OKG zIpYsVZ%N9m;!BU+lDDt##?sh)d7sF6`S<_tkck^Wx!DbX&!&*;c#f3Ua?;i)@rTCt z=7fS`=U;10~+ ze5xF+M4TMq)XbH9pS_&po-zh-6tERCHtV)ZM!9Y?GDdY< zBjcKGd&!s=uzh4S2W&qXtpS^pak1Fe$(S|84wBIxuuI7}9I!)FLE#6LaZXCPPReF5 z3a){90aBVlD`*FY!4T*!CgmcSHHDn-iJaewGUU=TK39=b=%P#zI^9LiEHDRDfok|` zT)LBlZo=~vbSu<^J`BHwIZprw>;cb%PH+Gm0*AqS;A8L!7(m<*;?Bap2)+Y9fS*Z?|kbfXN^kEy`TZ4fdgIzZ>W^{QPmxfhnxa%E4a%;nI#_GSpz!(HetLK zV-wm2eGI;xU>A56ya@j>PoeVx^dmg~7@CEChG)az3^)%i!T%Hdzd(P3DvUB3)1AqT z96!)OF(?5cP=V)_cz!2z0Sh^cp-Z4O&|2s!=vrtU^d4wE^gd`3x)Is{-2%mTQl=TY z9oh9TN`yQ$umBgO6p;WY6?x PM^BFqjAz$r=*vF=dR9jS diff --git a/src/rel/FIBER#FE1000 b/src/rel/FIBER#FE1000 deleted file mode 100644 index 10f8bc38f334247945a933b2626288961bccbaf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1254 zcmd7PUr19?90%~q6}(Ai9SRo85%ygbfvhd`6m>jhtjehjOd{>%D#6x3VP_Z!Dr`t&OPVc-#Ir= zWYt6~T%vuML&@Rk`4jYC{CWo)4ZYDu;}U{|uxY7j@k!G{w6Z@+A?cyvMwFWQmn)t9 zB!r}q$!~WTFh&AW$3k1jqMTkIt=yRV*9BFG<-Mh5&`O+in$Lpi2^dYZt zw}1th<8TuBXyd|2PA%ys8BeUsYuc%CJ?bB2koxb9nUMMtvd)^Fx-EQ^-#ehAY}BQ? z8C9?qPOR2MY#7GCZzk3SERzCT1PW~xG6FjU3Rqwd9Du`c3d*4Z6!3u`8lV|k;3l*~ z7d(I-cntk80D};R5txKIcncr!-u=uRILIh)97^CMoCX;@Py-Ec0WQI12to)Va2;+z zJKTf&&<`Fq!5erFA7L3j!&g{^pI{IvV1n(C1s1TuUXf@d9-E9M5)(&x z1|{Rkp~-S?re{y5h9+jmT~dT2j*gGIq!leq&rCR_S`$)y4r9Ywnx2VGxuh{I&X2|u Yg_7TlI1)>^q%JK@#iwVJMH0TtFRcV#FaQ7m diff --git a/src/rel/FIBERTEST#FE1000 b/src/rel/FIBERTEST#FE1000 deleted file mode 100644 index db33300bb1f67618ff9964d4ca7e217af845f23b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmYddU`l0R5Eo!#Fcmm__Q>U%!N*P>IvT{l5W&in#>BKhh#`k1jUj{qik5u(U&3M# z#mWH`F;Ej1V1v>uP?`xu2e5)vXD~1@x%hqm&k(~TF2FERm4S7l1_Sd%Z3e}O<_xlp z)(i|2?HLproq@DFkoE@B{tOBe!+`RU3@Qv4u3kCgC%_D%Jq1`9jvcym^4!S~0a+01 g@|A;^LIe~*%$p~Vo^cUS1Thbvzj`i2K!t$;03yska{vGU diff --git a/src/rel/FPSTR#FE1000 b/src/rel/FPSTR#FE1000 deleted file mode 100644 index a8814ce9ed2bfefa6e8a8eb0fb988d2d7a6c8eae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1227 zcmZ`(!AlfT82|P;GY-#n9M@%82CL0BT*prU(ocunHAIO@OI{V@Av(_@Av!O?1sXY0CHvr ztYu%leSP%d-qFia)meUPySH^aWywiNP~N3S#hohTKSc3)F=9oOTm%D7)^f6V9p_I_n_z`%Q#8 z4&u=Is?g7lXf*A4JpV<$_`Df#)I&0d!!+3~O|02u_t%KL>jf5Y+bQv|kqo(>fq5r` ztfbX-n6GDHesOqVOhx5D3%XFBOs!;GGD7nd@Vi77L_W^Qm2wEBOr0k=j-MlxJwhnE zfGlj3tgvR!7O#Lki)@@V>=k-+G;E}Y($JALkS&hIsH#L&6V$^5C8INxZyn@?LA@yM z3!3{RbFa!9;9JeW!h9(5zQtmt*1pwNDv1-u(U?*Gh_r7hJ6Txfm<~m{WRWkJZtVVy z0`6eCMt6*arkf%ipW8EZ7{8&>Trr^H_K-liXKV?B{I`cGD1Yk^rgxe0h!PDnH^zyJ zFlcU4&t`T*m}pi%MP64*w%*bJ^Tai9Q2`p~Bz%d`DyN)ck>J&gRGo5lV5qH8?H(EH z6r;A)jGfV2{XjLft;$}Xe35Vxqr_92b_+B+qvEPy&`bdt^SdTGb=l9;`}xe`7#c9= zmZ9uOx7ee^E%_-MA<;`|cA^R@)gO_(dyMwT_MPh&?esYsMfyDBq*1bB_v1hOMYh(y z0%a&XU^x?5J_Fk->)-C7)kkZL)-77MS^pDN0g!)AWh2Bz@D+COk^1h*7E_gS-@!I|w47QYZs0ZJ@Qb6#`x!+Md=T z$U~#TAR+<-Sf^A5v13IL3auiShftW}um%=fL7d@=42uO0dV7E8QDc}W_H;jRq@n4X2~G7!M}F~j)5)igG=5qC#o_vlT)jo>Y-^A}KgIJvlqMr0bTh*Sf|fW+$#s3^iFz3rv?xBf70jjxmq4Jh*?B zWz%0HzY@dV`H#;wO|jjo5ySp>=#JTOH;*5iUoD1~3HQHY9@Wws^OXHRZB2PY-|`0Q z?de-D*6v$Z*07??<=4m!tM+{$R&7uU_E&0aH&q7L)>rCkH&%w!?yC&FeEIU?i{x(z z+M!(`H|)^yu|$7;ODI-tiz*u`gEs`xkW;%ve+%nwP)w4|(lpZIQ+7_$oF49P&#@ua%w3f%lXz5X@To^(hxjMTTDCG<;U9EJ6 z4$M(IL}?TisKkO4rBRetQEKOtLX_DQYR3+_i?LEktByNZ{nV+SAJOMS~*M`F`6!XNaK87)RA!w^a`Cuo}woznQ`*zXbr-}ld$S8;w z8SG5P)={IZi%$)En;L3cdY&7tdD^lajG{S>x1$t`!7dFBT%Y4pS>r8NDtj|LO-$DO z`fwz=^l4F@fNMBx%Fc%)c{}r|>@yrHdo%u>;RJL#oPawGC&1fT$HSqrH{;SdNT~dycrI{2OL(8G`#;u}Z}ObrpXDfDF<(VCVTX?b0T*e6FKL`U7p!!#ht`dyQ{buJo#`bc}1*U0Lh` zt>l#^_(I-P$1m*5>ud;Vsz7=%jr+e1lRlzk%-#KPY(x@9P-rY$&m3+?u zYn>ZiB=KCksr%RJYC>5@-!xlxVn<2-ZP~8IDHohbOK&?hb=|@}tL~m!TK~3b>cHEj zJ=iuaNm;0NX%DqcQ>NNJZGb1uy&;q%+?vI-Q;w_Kz;-RlYDTpla;n^yx;v7loLhCX*|v4_ZVy|t#o90Mfqquo z+F0cnTGiv|-YI_L@Lzg0jh;J*Hpf|&P2hT-ZBMs%S{+pExH+bF7tPtylUnDbtV%^2 z-{*!=$Kbv@J6_Uu$*vppE|XpN=&vSwwut(L)qXGW((gV<%4>BG*B#Ky;C;vT{dvLj zSI;TV+Et&(h;H6%$1@D|tF*&mxI1T~weO^}TD|=TuiP;Hzm+^g?&BJ=@+RW` zO6;Ub_qgwV2(9bKs?k3`(L6uYY|S04*PZ%xZHNHZcea^Z#e0Vp-zsMuk)7tbwH>d&2%Uo_J^VffgQ<~hZ7huW0A zu$X2DmlWq0Ih01UqEMv#q|X)6i_3XauM@NR6{(7x)BxrE%9_gGJ8V0nt(%)$9KtHp zOEs{sFlR|M1|c1SHAW$gixN^kRKR992-lzmjL|~s54o@!c0v} zo`i8Q9wxvAM#ZFmRXh4)}1`~kMW`|tr&Lk(<)9k3H>;S=~2K7*$MnHOY0CS<`h z$bmd4fajnD=D<9d4~w7_UWQlTRagP9!<(=g-iCF7!nq;PC~rYmK{b2`JK$sZ1a`q5 z*hg*yxrfom-~^n4({KjP!g=@>z9aV^2-FB!3n35=Q4k9WV1i`m4!s~1 z?$HS6eHx=Y2t6D|;g8jr4>D{uq91z)E%Im5LkIYukwcu0gKus~1f4QX28yqBE**n#8^hLQMV z@yDYlqBGIi*qPYb#O6UM{t|pAdKG#-ZEb|j@IL$zYT!?>6Y9wQOq(Phz#i2m%g2eG zL7yk~J@zKC7Gkzghrz;G7i^M0N7thp zf=$kY_=oYE@K2-9qR*qhrR*~P75p3cE$AQ}!9^Z@iA z%7@^Oz#ol27Hva6gPu&;@9=Z*^YM$(bFu$Pd=a{wcqRT)ol#znehvL5dJXzr*owc6 zyq(xTQ)d_K#c!nSAhG|#KL#g>oxwkgz5w6h|A2oDeFNQs4hb>I`Vira3Nbn3&^<$V z_W1XN7-cJV5V2v{$0&aSp2p9_&q7Z}&q5br=VBKSdkMXmHk|mY(Ce@piElwy6aO>* zE_6Ni3*v{+Ulac;{l|v5jo6q_lQRLGihcn5Fm^DpVd!z_Ozd>* z3}Q3U^U!73#n`39R-oSu<(|V|8)}r_MQ?-;@V8S|i>)JXH+nz%F!luY6tQp6=g7T) ze~G%^qyGnP;s=D8NB>CKP3+I)i3pRdix5sDHUXOyVRCjyr$q?a3PWHN@iD|Epfk{!=&9)G z=o#o|v2(GDh?Szt(TmYb(aX_qq1VF}sDeMir?3YOz%e*M?q4E|@;B(e!Fl)&uES3d z+(pQdkO(~?75ah|2EuT7945dsFctFQId~o%UAP;%uouv!@Cv*Rt6>vtg>6s=yI~(3 zpw5@nIfOn6e}QxG-*6SKLkk2(3ONj7p*!@76wW@8M!7HA3IpL$7za;NmO)u2dMe~W z2`qwA$|@*ZjD8i~z+V$-lHWsbLT^ETfZm4Qj;=-5p?6bfFM2=v3-nj$!*C2vz$rKl zXW%THhb!d%NEF%8xL diff --git a/src/rel/HRFORTH#FE1000 b/src/rel/HRFORTH#FE1000 deleted file mode 100644 index 0d207bc9c46370254c5348081cdc6f2cc134c8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49 ycmY#jU`iEW5E5Vn;=^Z;T)r91z@Wz-;N#{W6ylM^#t;@WQHFtm0U{*;WB~v*kqx#0 diff --git a/src/rel/HTTPD#FE1000 b/src/rel/HTTPD#FE1000 deleted file mode 100644 index 78be0a56f8eccbc2073d5514c700e30087a4014c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2019 zcmc(gdu&rx9LImVk5ZeJo^^tP8@s{L%m%s+mx%R|!XAK>Qe2&-&ZK3#hqme3(p?(C z2V5isWdU!Lzf24!BN{`H5Fd&E=$r$ZY_Nb!FlvkvA2HGBA0+%?oZr*Z3E?0AAvXQo z-}n5U=bW^;*HlR-I^nj{8;d5UzqtHWU-`mh^lW)*vb<&D;)U`Sx)UGA#&CB}%(o%B zIdmu5{~tXYHbkS5_6}c%w%YI4wrp}bo|*S_!m}iK z-{Su716Qx94(!x=ip6{}p!KG+x|YKPE++V#j)k{2W3^>%%ifx!J3Ug!kED%sJ{QoE zhLIdh4dc|0XdEqb$zlC5Ma;UZa{iPtoV_<$C}h)vNm0?BA2f7h)re8llfx8~>lDgL zoK8!LD3RBP$JifphUBlg;&RL;ap?#hUrsrN(-}o1a^+FivQ|4mMi!7)6J#BB(V|!W#{q zbOLOpdu^#Mf`6vQJJL%a6Y zWyE6%sntOqgOy?tmslR*vC#r3#oAn+<&4LoiyQquWqnUHfX%nL@Tgd^*Q_&imWG@e zJN1|1ZCiO9*VDH3fD!TRWuEm7o}gP4W6{|bsVSf2bO?>^I?E_HaEdcq@YDi=wFg7@ zk;wOS%$Iu1ij1`17C1bgQ)^l&-8%2~yik!Djd}L5)LvG(U+h<7*y_PXD2Dlw736c? z@~^9&QIvhukovHpQWjBZ?ESxudVhqGh{PLG+o}<)M4vqxqxe9Es6VWbHsEWCgx2u~jhtKcC5ZtfG_v6>X#I5cbWM~$4kvHPG(nuLcrE5k) zipUFHoudKigqx%?xDFOKlGFtb0u)$hB-Q#@lB`MCuO++nlO$WeV_h#x*8Q^EdQf(o zhD_#BnXF@SvpEL)p4?=8ATKe;q0hoM4SPv$GB+t?ZU;LQvUVzpRRX&e*?LK7wq8-1 z&DRlo6TAi924mn|a0;9OpMcL$JAvHu&@Rs(dcYoHRW-Ju$P5xv6}4_FNBJLgKy6nyC8fX3bQ2 Jd$Sgze*nfB+V}tf diff --git a/src/rel/INET#FE1000 b/src/rel/INET#FE1000 deleted file mode 100644 index 99e177ec280beadd12108a2d3da06feb34a98f22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1001 zcmaJ=O=uHA6n>e^Znm3kI%#XQc&Sh#hBO9Ih@w!8l{SyVOzF?L``d4SLtnw zcnXEyyeZOSv4Y@H8Z;o%V*Eoz@F+q-FJ2{nld30i;G6f&oA13hv-5T!%;t&mB0_rK z)9q((KAxxlkFE>F@v(FESn-JQhtXkSU{HyL5@SM=QACO|D@B;3qt3Fg>2#S(s{2$J zB*`9fr~kGjXZb`%EfzaFSSK^%>w*+Ho?nlENG)%_YAZ+j^l!)6Nu7>RIkL9V_ISqS z`e->)(iwRgWbEEZrw|Gx)5HDba#y>xf*RVQ%RQ}NAt&}aMc3Z%CitsRUZ3H3i;~sL zdMTz!K9~CbWcV3Lp5=ANGhy|*gW0G%%P=O47X`6=t8jn{CP@qTt^1a=9Q#LGTJ@@x z<-X;bE1v0^_UCrtDm2c?&E)2A6fDaSx$mEmDoNd8qw9T27gnrGu`b6Lo$Oc4oRdZk z)`HD4#SD~VDs0)e@CI&l#f!R8d!@~9P6#T;N-=f88ldzr#c5&RSD!qKU_?~8uj9^A zuQ91ZlcEqTM}(f$JG0T5O%<(YtzttUK#6`!kye-d7A|e1?)D@G;*wSNh$-J>IDs_L z9?4^pOQW(^Ol4AE!>npm`amyE2tKS)L8G;AZQsgBvoZ*`5xdo#S8@M9hRWW3CC`=)BEj(q3XPMW1)6wXx5!w z^yX{VhUCKas+;as-8z%l=v|77L|!Z%6e${-VR=Dp8fX9mabi2bMlS_9qQE9vEmH65 zhfp~95~AQ|h*nJ&3r;Z#W`J4XB5(yjPXz&R8@R)0^)BlP9>G2an((~+5?dRTYLX|Ndd zz^CG{2;5U-$Yb>m1GlKx%4@XRBU!ZA8C&l{sZZ{T%Wm8E**NXC!zkN9-}lq+`}F{c z-4EV=qt6;_Pj}2c>KGnzbca4+eXX&y2WtRt0Ivg2pJ;c+xH1uk-uPmvO`gtFdhRVmuft9t4#=8m zmL>sLniG($7b#o?RTXFSgGY9P9dD<*(-KNbO=+ogl;-mrBWOxb87Xr-5hgp|uH~yE zK59;{Pcz0-it&_UnACe~K4QHwDF#Ka*e$mFAcP}|Rlgf+ek)ElUUPwq6*oZE^^kYF zrIjDp5}8p&FUO2(?HR zW|)o^>bUr&?HjUG`wVam@KPN_+j)Z%aO<7@zK3YT9!Qye;Ib}5Ao$Z`!Re3{sKEV z>h1%$G6nrkQM=9t!=vL6xSOoIkFi_mF?62|PQC+Th#rYkHs~DyVPyxsWALA34^Qy@ z26{~RGP~dZ8HgA?5^SkI2!8_Rw<$nM&GiS5uwQ8kkopMF0a9N~0aDu-90C2%$VULLb diff --git a/src/rel/INT32TEST#FE1000 b/src/rel/INT32TEST#FE1000 deleted file mode 100644 index ad86a6df659201baedddde80a2ffc22fd6bc0aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 769 zcmaiv&ntXU7{;G--Gv{0>k=ueOW(yb-KOIj(-dZ7!9q%Afy9O_S(v?*Nb3CqEJXH_ z1q&r3-MW6xjACbDV{NH;&ebrZk;QpG@A=&4zP;yBS@S@h1`95&p~@P>t$E|5TB!o`z#|45)Iv2yZvsj{zu`xDx;f` zXe{f axHvbRW*0`CZ(Py1q;XM~GSdT&NCO{r&$-k9 diff --git a/src/rel/LINES#FE1000 b/src/rel/LINES#FE1000 deleted file mode 100644 index cf6a4a04f8b77dc3049f925176f86b957aed0ef8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1921 zcmb`_aY&qH90%~{UQc~FuH$#-b>7U}wdifsjDuZZEXuL14ROQp8g`832EI&7Bi7#F zfkx+Ck?iagUNWlT&2tW!?8?1DlH_@JZL`febhSlMFt!;48-Z&OWZ&oU%rW|-KPG-& ze>~6cd49j&`x+`#niyMj7qgHzb0Ir>wVu^7_aZG4`}b#hz7^v6F*RW9XLqZi~>i%vvt-BNDd zN^Yv4mNnkn)wk&C_`O}FI{nQ>LyhzE^Nm)2&Ea_~({lKxm9Dye6PH_w>+|CBbk#z} z%vgzqezPAVE{~SQXh|_zU>E~DEasb#^YvlA%<2ByMKg9QeL8{GXsJ~ax8*Kpt$~GP zO1+bt`Qpw%e7Li@aOnS6&tilmMmU4&gAb~DgI&=X_mZw~A4Tj9-eTPmYByZEs=LCB z86Jalm+tA{e$weksGSF>#ZRI3gB4icR_kFcBIw{1)DoaBu`B+RQ+~OObQb!Obi1zT z&K56)*HFYOim0-P<3SZsM3Ew$p@=VE#BWy&uVVO6n{~9Q?4?=<3m9HqjT~Jwu!8jOZXT*4N2h%NKd$qPn<15v`)p`!Dc@_j@A#2E~R?;-QGrK$t;Q(3_Yc)ZXUIcdY8p zxZ#vjVAYjh#oLVI%Q?k|2{K)bj5+RaL(VFeo#?}*JHiF-x=N;tm+>D{%eN)^b%~d& ztKq0SLYklWC25Zk56XBwX?uuQk@hF?4W#WQUQOCv;+y2|L3!$s zyx{{GcgnL}a<`kba^fG8_9*eAa`zNz6~sqmJWASX;$t#%oU{P(3~7%MpCWAw@vAbY z#4Y+Mb8Bwm&&&8lx9EAdeD0AeP4c-z@ZCzL9wF`cowQ)1H1qmVKZ!n z8rTkXP!BudRoDfu!Cq*BeegQ8!CUY)yaOEGh4stz=U4-6plgyk}wEE zFbpXefl>GhzJ_mL5^``BzJqDF1at5M{0Kk8uW$`+z;Ez7+=4$~0q(+I@Hf~BS=0{2 z;DCpKpagud3d&(Mtbr$BEj$g+6f%}Q_x**7o2it|=H||yo6gP7q^IlEMfXa4#gpHf RIe#&%_LN{}i;91le*k^rTmk?9 diff --git a/src/rel/LONGJMP#FE1000 b/src/rel/LONGJMP#FE1000 deleted file mode 100644 index bbb968e32a645a54ce08214af07422eb5b1b6fa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmXS7U`l0RC=g%-Vuq~;TG_TPXk~AEx~uK^lIJ@a7$>rwxbWi{`=SL~8Gy_e7k+dt zdph;N)CCDJrCSfSa%@?6qJ?wOf&~m4Ii@mz6dmJS_I%cYe;YYwGB9==d4A#BvZqVg irXE05-JGIFENx5iUfI{AxLm2Z*j1Z zWOI4YNsM)M2^t#c(rT#D7E&8pTF^hBWD)D)X5)E@4z3R8-t(Pb-**r94r31h(o%t} zvAy@<@XOtgyS?si76yYsd-Gi5bhiDj&f9BsUwf;rwqMpK);CX;pN&`WR(1GJUpeue zOdN0ae;haZ-%3!>6;y1V+XsZwvP5`hgC+Tkik8X(YN5+lAm=A1KD4z_lFA~(@b@7S zEIs`jwh9b2_jM9h~Pd zU40GUbRp>YJ=4{T9&oOCg3b+3$azfWctX`RioGF!i)^1P%!G55g{pA|&TSTgoo=VU t*Ev{_0(K9NKHZYj?%m7FAoRYjAARn3wikF>l7G{Dox*;5XM!(ft4b diff --git a/src/rel/LZ4CAT#FE1000 b/src/rel/LZ4CAT#FE1000 deleted file mode 100644 index 5970205c3c9847e5921b65a7ee1ebe1195dc2c80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1460 zcmd5+-)mcC7=F)pj@emymV9ekH-~LbQ|zSF5Hv_F-Iy))re`s%wbtwh>5`tNSxIJ^ zg%Lz|WTNPBe6U+VD6<#B*s4rWgoT=ECD~$s3^#9vUU)UU@J1LIpYNm<{{%zc^FH76 zJn#Fx=R1e)%h@UaM8tUadWd(*Nc+Z77)@{w&k8?KGA1 z>Lb^DWU~v`bh5R9<~vs`4@ONGHk%~Md8{6S+xFP3Ww%+#Alm~iB3RV#hh36(9y&8L|2%tM^_|M@}i$^OX&KaXi=^fv1yoFd*r6uBSxe(VNAEV zoMy;5BDQDX=>Cz`%vxx~+DBnuEMGLOMAWqB7iPnI&^*zW)`xHP9|=88;lS&Kd~VLw zOS6T=`Fw82vU~U}EL{}tkPTjpj+>_!@~JcC;(U3h4J&%lNw;)Ldk1xQp|loS(Thp3 zSK8~&mDVShd5M*9qSg`0gt)a=UTv(i9hf`*48^<1resG5=S|7DN(baI&?Q;&af#V1 z_G{CY2Z)o1-DqN8&GN}x2jxDpNTLl8|8h6acJrjwsl@vUXpkkr9^;fT`C;X}$>Uy% z?;>T4{%At}x8hQ=|G7}3+1D$}!AAZoCM|>dQaehfms>YU%NiJ6`h7I@Ru8w{r%Z}l zi*lo3#qzoZ`=tei(t_JIRPj48g~X&1bWS5@l%Tk*XkrC%Ptlyez&%zBK`iL(V&nu6PcafE z3yPN*6GxffIf-?W86pkt4C@j(*6q9rUlH*(w2Q3M`4IRr;uEYtg}wy*8R9zP3vf4C z!1)^aTWGhyts;Iz)WJ2NZ6g1I86G14hWtCUM~FWWkHP&7PE|>G)S%;4$-(DK1c3Je zA3$^=OhhmEKJa1W7m$aL4 z+i7ESU4j5@-rZ_6s>gUI;j?>tZGB^scS(4s`tv03rq*|u2dVbp%dI<&%IY`|5&Z*Z Chha7V diff --git a/src/rel/MEMMGR#FE1000 b/src/rel/MEMMGR#FE1000 deleted file mode 100644 index 80c58cd40d2441d016ace3da7e14e7612d826801..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4199 zcmai%4Qv$0702Jr?JeuGdmf(+w!tM3ACBvo`Y<0kh)cj9e0jMZ<_hkmO0O$-LLGEE z9qvIO1=b-+1#YTqsZzC2kQ%5_QHTg>r~?v?a|D771oII@1f@Z(P+L_kky`VfrO88-#*moNskyov_(6m4 z6tu`(EQK_SJc21?BGhV*9}_W9&Wt9eDQlXkCVVM}Sof`wVker?AOX2J%*SM8ip+uU zEUQ-~6L=UMOoExD#>r4ki?Ix86sW+K%=I9aBOSwoIl&OJn5f4`z68}w;sa!v+llIO z3Fh<$SiH#{9E=|EMpQ%&ydW7JG-sP+;l%B@n)uqnM5n zaCWL^sxxAViCV=FLD<~S54x@fX)Zzad`hc{ibPdWw6`?D!t+!vW4(HkS)q4C+9p%o z*679ieIL=it}IBi6m=p{KC(8GkV0-8T@=hJ7q zWugs@e9a6VE+F5A860N=otN`cBkzMXqAOF3b$YR{wG4%-Hr9*9VVlN!-H-BcyX?+) z_hHMhN81uQ-oiZx<-Tq6bPmntN4Z%J7kQKDc)clkxN$r&7j2x*Bi|u}`<-$Pd;@F1 z5JbZ>p_y&eJ)Ixc;U*7GiiC!N7;aXpYsQf0+mJ`iP)+zwP985A9Oq8MjPmdxM9kaC zTnLGL4^v2sE*y^~8ZK##Fj*bpyEzme&bL#44`DQFwpSLZCG=Jk;V_H37cE&N;XmXA znV4OlhoZv~o~Pk1^ty07)eVAcCPwunH&C8WmQqiPIV!n-kIRL!UG=#wJF&bqL`}iE zV4z4Ycoy5$3mv5Vo*J^m9Zl3fAt>)D%?UW5#aRGX5f+8DC9uFTeM+z%>{-va#zvvX zy!~f$X)V}q$t#Ai9oqe3PO~nCa(YbeeY6ZG#5qcAzFdi_cf^u~hLaHQo4+-GB0^eB z!%gibx`Zmbo^#U)oJg(H^FU-bK3{GvP(#8k1Go|3<+ZGCtNaGZOr7XmOu&+idHzRM z)lOD&&s7RxO&)WcOng%1`E)Y)7#Z9^1{ZUmO(22kJD$jgaOabdAv~Co$y~x^^uRLR zxaLq(Dj~%7lN0_ugdalqqq&%;o{Wu^ysi>&Z(}*vy32WJe3Detm+Y?ONcvG=#l1eszOEt5Vx=-~nT(x~0W^(*sfE=n+_luHH`A+Mx zwn+hJqn!6y^$i^h4x*Bvaa;8ZmoG4bn)K&OPAjVsVa*@;n?K!-mI_wTy4Kfy(EeHRZ@|f zt0*3(ob={#^|^tFIfC>pwu2Mf1MYyb5^M}O532pdE`r`tVn@Jj5XC7u2^Nkg=AVGw z18Fd|oY*Gt7PwnZ_C6xJpD1&X{Pr7=kAfj^3VZ-AgPY(_;P1faB0B)uK?3xEAAonj zFt`G~%E)d4%fM6M`;0PsncvO7Nf=56Q%mMffYCi+kYn0inRoO40&1hAbz2GM6>s_Dr(l=nKdjJQFj|dy4Fr z(BJOy**}8s&%iIh9&i900*7IL6aL4+5d6+ScOF~^x4<}^Y%lQXl$oFx*;63bf(Gz7 z*bM!49q}Rm6!LDp#NLZ`zs~JLXbk{tyx5C;OR1?#|i_-ujC3y^m}&Om+z@^0{JZ~zAcLUuSiINHXG9n0mx(D1pb+e1&jG!@0_NT4D7L6ndK@dh#I1)<9i;4;&_#lu3LFwPIo1iZI z5Q3m6ilQheih?K#)R}}cb7~kx5!6MHMG*x-^nB-Yg+mAXp68tR{hjylvHetm{UWQh z;yX|rEKP4O7K+8E+obZ7k!*`dc4b--|+N_5gCFIsiz%<}FyitN~UgD;ibt`OxyWw7V06MT8 zc8Hixyh{@12s{o?uy>koFY7)@nltb$JO?jG%3Ok1n0pQ0VAgHs-o@|Z47ZNrT@Fi!wf^Vq3qxKR1LhT#;LG2g(P3;f0MM~VoDs1>^yGvElEQ3*%Fw2#g zB%W3ww?+lb8his@r-G&)Z=g2^8&%3|fq62`WLohy`gW1ogFE;^GVOQ=nNHY6<}f@) zriaW){1kn?Wcu*)_(d|8@vCI6!<%Go!8>H`k$H$erf-1E5dI7=k{QEGWTxOWnb+{G zN}Koa13jPU|BQddzpJ2(O-|%=z{AK^ZI_#MNceY`3N1P;rT+0I9g|@;MhiQ1+}gIyq_=NxK*<ZLeFm-B#xRea;yWv-`gHegF4;{qUXhJJ0%i_VxHt zo>C!%y+@@;a_`*x;-R-D?>PAKMFo=skyCSv8r5lqMfr{DxCyyM z0X6SJPeDK}a852*q`C@OeiRtHgR%6bLinmSFd~I;GPHH`)&Ix&%Dt3dPGEoqC`fjQKo4A zna$$={#~v zBGVHqm#tV7{kOGZ+4IX*EW3ZrCey&Hca<$M@49NE`dM<&wCsgl7k_QumAj;B*Yu6r z+BcRx|B7_-bqbDRaFiq+9ryxApX|z7(rwqMB}Z|r?wY>j&8AOoUm+4JOv`pGQGQ&x z$=v$M#%`5Lg?W*A$+sVOIq=niUTd!V*nB|wxXUKftL6hS*IACQ`ec)N+4H3<#OhB* z>JE3|u(j9}sVSOTr>V`F&=ijlC8lCU@T~g6#;;?#6x*bjsazB*U;bh93wNy0L@95Y zX!c9d^-YL3rRpae_D%P96E(tN$7Ib#8efmH8^9A5CN{PMgT=I=9AKF{`?)zQP+eR-N5Nrn$1lUshe&Zf4faE~}g~ zr?Tdfuse(Hz1Ck*uT|Gx(c#^$JDpWs+sSE;Ggf4ps%vMJRfjz1E zs}b%bT=^AgTJG2F73oL8UK6g5LM3Xk30s$mx?5txsp{?`G*!A*^@r=bkgVTEMAYmE zls|&zM@ZfgYt>uUrmFo`6zfQ2SQ{MF!${>nafLnF;Td7G_@@q4h3wiaN~zRjQJ-^- ziltS~n_Fl1)!OSTs>^(p{tCOV>=KznWHdUivu=Mt*P!YVLwW#(AFx*K3YSNobf!=s zTSa-JXIL*XLXBvT$JI|{Cb(*SCxva-V+_X-b}1X55e7+U@+xBu&E)T*nLHQva#xV&j)kd1$nVk`Q!~bDv%f2LalPCWZr4%-t*dU-;x}m~k?;B< zm&*1D9$Ry}KV(ZOO-^{TbG;Z^Gl%F*-X zX_~O7#>j34ALkLq%&(Way73&|C{0F66S36QT{s-PQ&1T8HwnWvkOm5q8y>1GWlndxylsyq2KOlmrr7-7vn z$)91i;3PA{XOZFabD5$pswNh0Fq3-vvV6U=Tc|;LGIeJyV#Od)ZPwH+=5oDwGzCd7 zo)}6DSr&##K0oiZ>dlbPoK@1r$S8-qQ$$A8D^4-F{}hu|ruhKT&SqlIGzPg#qkrA;`BJ1q5TLWaf2D$vnNl0{|@PuV5*vg-PZ zGVhhNt2wpR{tEBOtx0iav^O8s-GgRP?l)0~G_^@n>uERiNVEV<=%vn)ordgw{AN-0 zfVJg*yQooU^;?y4O{7``%^tBvE#FL;)UWw4!*-3ROoPZLnUnJzAi#jYD9Bsk&|As)RB?8 zg8DL2DYvJRMRsD>TSLPUtGmgtkPWVvE|v~&>}>B1+td6`qxs2DN-cLT$BEIY$}n;| z+|U|vHSK4>Y?zXmdkFd;LmJn9qtS)$TrVer@8xyXdxbJix9OTMO+t(6w5-YSQm;C zts#?mo8e1iJS(TS?L6|)&tB1nhJQ9Xsl`zd!bfYSvnK16Qb%U0S=fE5o37ai3-6zX zD1WN*`w8J15V>$eHz7-1-JlAu>WmUp?~*7v`xEG?DZ?8Z4q54+`kY1&{OakRP!jV% zdJV;4&v%+Ae&Rcy7#K>UOH+pl#b>4+dCko}v)8OC=dG7Rq1W8fSSnp?G?(VMJ_t!0 z>047v=-7wjvvH)EW?<6C1J~w|pbwGbHzU~-*4b}bJ=uM0R97ZJVe*)@>S@Eo$q1p6 zqx#&+(k`2qOT&5sH?;@y-|=E56FbEs`@{%EAAB+0W*r&rvG<^%A;~!OsN;lViDyIt zX7%oY)T*$|yDV(Y)bOlTGtsQ{@sY7=vx&iqL^L-%ZIuC;H!BOaSxHz^)o!ca3onu5 zc!@bY3(t4<7Sfx7H)aAdx101j8>1Vm7?aj+%ya%!@lIu>nWT~(>YHWkO!8yoGm6G^ zB8mTkdfoJDqA94uD10!vLkCSAW7bTXS&PBc$Rk%5F}vK>Jg?kV(yh2#l#I#qao?I4 zXS&d0D8g*Bi;QNJVEUqJF?5RiZ$p|3!kX9!1*?oiPks=7mq?l1y}40sLS*fK;nd@Pv7+C^ks9Z@5vlxC0Fde zW;5T}*uL1*ln$dhY?|kn*(~`^rmsoo*LvqxSJ=H3brq}vYi3<(Z(q)NYzgEbWA|Ds zC3RwX!mRlr>-Mz_F>7gYYvs~J_AN{aJ>>~Ca%nJt^8K?F0`_zzRE6-ufr?(oAlpns z3HL4k{XiTU1VUFuAhOexrT0G%E0eGY<>au;^xYkLnT*7lmDfm2_&+K~M~H0e_Q!0C?i^N>k<=)e)F_$MDE$#mDkk;q#!AsJdVj{* zLgBcD#{{}39=XEN%wv>rwD7=5DUS@{DCcp8h+fGc|FHNr^oV#dv_rfedQlt>y(f-@ z+Qha{hPsd@=~cBTDq9qJC`zJ>|HsilgK+lkBWt%XT*Wfc5x{5f_Nj;Djp5JBAyQI5lx|kVsYqo@gNzn zH1wOe{?9YOqzE~^*{GKKqP!}3>y663T2nTvbqEVxABV^=rOw+v=$BTjt|+-_rF)_C z$-Y|pqcFTtx-WePfzYrTv+!gqugVSrlR?_$;)wKkW;lHWolwiXGFzv9i2>|LTBBdV z#`PZ|`Z5}HOL}xuwJAeb8ucl>>NPzXp3O&RC>8!LRY$G-Z8W$Dpg(@3SN2ir4VQ_14u8_TI+y$sglq!sUz8RKLl+KsIMN zi(>2QOu7l)qM545)R`>w3dE`D5n|UY`-@0Co!#z<4XiCTGzPbt~y!+*58ohLx{DUD3WWdRWxN$dyq{ zx!)#NJhsy69@&a(35q##Qsw$X_GE;q=YvcsUcEiCEzWagF8JdFbDWm@hl?7E78jmH zu4gG6SFYJ|U7_Z%MlzKpJ&SEDt2}7~Y7|*<=u{QG@^mxSe`koAI8rAQ8du&} znr(9#i@><@8jD;6TI$yv4f*3Jb$qoi4rCP~HnZn}0sMS1z%Lh>LhI&Pn{Fu4Spge6 zb%IT_?`)-x)YL{PG&g)_)8DfutnXsjoP8b(VojLul;(}2ve@fA->}K;a5Mg7H)r8y zpy8&h!;N;bn`yX-5_GdNSl6PEo3fFLWR2g@9&x^`U!upg9T6j(P_VPRw?mYQbSAf+ zOB5s24yX2%Z$nr%uoeBCEiJ|3sfnNWgN>BV`_VT02b+ zbzfj)#Yy>llB=_%t1}H(C*|--uBJ&>C-V5}ko($5$4-*cS??Js)HkA*Zl_79J==&bxn)FdUsDcT!pn z3nNd`_2iX0#z>ntJKGS%vz>z28V*8tc(}8}_8=?65s9Jt41jwjr+Vor35Z4kBB|wWqVgyl{&3AYSNf(;m2<#Me995co5l z0^bl0Vw4R0=pP(z?c{J#*x^{Y-TPc;hnEVv0wu+ymznz_vH+ zq!i)&Jyke<8z7$e?M(4}+aPge+h7sfHcI?8G+I0p$`*;Cb3{tp7_ql)thj{=_hg8k zV9df3T2S=i-i9dUrlTfk4gCBh&p4u`iuB4q*_dMdVDqW7kK24vo(~;9rZm!>f;+FQ zS>7l*EG7)ma+^=Y8||jlFs#GoCBqheKmto zWdR*ND(dIRBRYBfpu11i`x_Md236&mUQ>-CWS^dCnpjiE z=?;z^au1okeynA?mj{D5Cmpl#!|-MkQ)?9G_jJ;mm6p<^)MyM_*p`&it z*Bo|KSG2oIyHWP!#E>PWI5Bm8mCZGT)2b;o@+eIn!ql?LY>!FzJ4&Vx=Tfh5u2k6^ zS0`2Vk%wwkwt2H{*fxA&BN+`}GFos%O72s2O5|#Q9Kca(ddE4Om{(=vEKYj6RQL9! zO?uItchwJ7>lDhEtd}P_O4Y?yhlP#33`;++e3+(J;LW5a3b3~Vqp3E}Q4y-SCUrTU)t#mqs^bCT;`X;m1ul65h%YULl|EwgT4 z$sUA~7O+0K5(U(>pf2FBxnZT1$`~P#TNbQ5NeA6qx#6kQ@KRb5A$QfwhWfhrqW!8A z%s!J}@tT#q^(Nu%qU7mmkVA$hisb2%re4dW{03dR4r!q--GIcvuP~Wb+?VM_^5}}q zT0Go|bfGTYjZ~;hOOe>D#dbN;XkEG;X^4nfEjF-(Il>a=7M3vUS;A~$3A2Rd%3~~7 zo@S|Xh^0y^OBJb>mx;UF&-6yqI2EtSYxZOeEs3Gvi%u7wy~BBvZD*|<`qJg%&OXCF zgKgTVHR3-)JH_{*UE=G|A@TRn8w^WgMln-MpI|10r=o$vE5=0dI#LP>!eA+=2x(F< zBb+W+%|xxl^E&Y(y6y`-FFs-|xu1-6%=HyU-3mSeZNQ0pS1WQXaIhb zVw>Y>4Nkp=pDq zp%&?}44vTmQs$Fk;(2@slcrTKhkQzwH$qK$DCCV;xIT)cEkp(Wl|)Gc3SFox7$)R#-*HgH=i^!d93hWZE zk|S@BBdS8{r^(Vs`f%qNmrWs3WE)8>8avjfe8F+HSMDSwvBTy!%e?3&{4v6BVcD$s zq7)yipB}=WApD7TU$oR_ve0Cg?y;WX=g3$uM?DGC*^$k*cO*%M{~lem!|rD5HHQV8 zT-CTou)OH-qnTSUN|E~->uEF3Qx7*#4_8nR-=?i>q%JNE3174~+I6j76-^N*G9ZqQ zUL!w~^i^2LON{=yocQ9({T5V;V2}}-#go_HpI}5dTxx3Jrh{;#WAS!>`Yqu|(=05f zQgIZ+Z3ek?8_A}D$|H)s1NZZ?5XhF3LRyCg7<*d!`{j7U;)ww@$-R_bp1d~s6J#!& zXun4Eva`{%Ne*|KpqKwWrQN$sj?$hM&z+Nqu#;kXcAX`nWf!wX+#TA+?0^A|68F*$ z=2GhKw`o0ORqx?>CP5QY5=b(a!lidS!n1jV-%^vPC2*W`ih?rfHcoUjy&;evIe5(xa=%L(e){;M|#Rg?j?+xj=0{DmBaCF zM?ZN&8R-sXlBJ(UU6xvLh%aLtqqNt`-{rg6NzbUtlF`%s=bE}5(&@jHRH@V9RHlUP zNMZKJq}ycXbq(j2%paRv8YgHrswQbM)T7(fRiQ@e$(LPVOtwi@3E6&Rm>d4vVfGcK zHNxDsL97mK6)Qt;3R~!~hzlJN%iE0B_3`hTnbDm?w**;njM_t`Vfm(OGw8q07%gVz z@umJ4ni3gj)B(LbIf_y8U0Xw%*~xe-b9umj7Fc^Q9_iL@)TmOU5Obwb&PkPwqdi&4 z^m-R|b(%CfxqReMqn{ATl*vj@6FW;fOEG-bbySj=?0mzh-Z0|&hn^v_0eMYSSLUIz z-N;s69LLEi9ji%pnr5%b7lo_|#dCOsFVZi(k03--^f-zaHjusg834d_422jJzz#tZ(6f2O-8sr9IU%(@ulg0XgJ<9*ViE? zC|teWl%7Ut3ov?<7{p#THlLe0J_F&aIfk0hZz&;7x0~-y*8ns0$A$ zYrYTp(zCdNAv}MR1DH3GGx?Dsvv*Mgl>i<4z3Zw$CiLav)V`_7T~OHipv_WhU3;rAj&e9p)JH#GT!4p-?hFG@Y5 zQ?zoJKS?<>;${Xtg;Yv^k?LNn4@UZec5AerK%4&CqpDlHznc^ry2V$;#4`f*Xo!i& zRHn=JZ%-E~auMv6sT@@PF-x!S&{0N@@-pM;B9UUyN$ZA+?%zzh-U+&{y573B9ciFH zJnOVmGDT*=(mw_-!~6G^nqFQB?R5qf+jVyrm}Z;eM=JA7@w)nnr(}CLDROG_hTfmZ zxz35%WnVcM_GOOE#JO*|-_ArQgS&Cual^y2(t|1sH=G=kJ}LVDZVocnZf2RT_*2{o zdP7_yZ{zUxhxm*s^uHy(VCrOJw)$^t)U1Cv7H8Zy(c5S#BA;ofV})D=+%HS$%2Zj) z5-BOxXcn%h=u0(j1=>Apddq2|-Lti~JJB#^HenZ@J-x{QDIDv4N+rJK&uW<-tGwkS z&tvpjo#dUdwh6}EXQ$*4i6=rtp(SIr;vTG+1F(%$rI!+Yz^hI%(j z);sqLk)7L&UJaADU#Cj(*0Q+31|*2tL5Hu&9ODBUdu4#3@K+Ca;B8CTKrjBmdIaEpBHwY zn(t~2X<1tO`1KSdzRR^#eRUfl>!_A$1em7jVfE4UVA7lY=~^GE!AV8xt|fo^%#MzC z+?moZosSeR#x`GXdt`-pFQOr0~3vXgDVhuHU)GooMA<5Z_4T z5Jn%n?d{?JlQCLvKiqH~-rN1Pu$K%KB}3iQMM8u)&K<7dZW3o=Z|$W+3B!|?PS%+T>v6npYndlQA$Ly zo(GfNMdXC*d~Q#2O;^?__AK=9weFtf{p6Q6?Qgx4*$d<%w|*H>zcnv6MdU@V?p(>@ z);!vF7X(>iE$+*D)M}(ZQ|etXe3mSk zd|Ik|tt>4y<$eY>eMcnFv4Yiy)AkIE_t^~llQU59CkmfMrt^((-uIDtZ|R)((reCf*jJpKt_nHt1&^j>en~ z(YoR}uH2B5~`2XzM}}1`|&3?_Nd26vYKUO`Q=KrQ!S<=Gg>A3 z>-iW>K1NeHqFDv~FkU)dpYlz}{h7W|^hWCSvXYAkLOziyq3rP0v=_trl=uEnKyrxFQ|(zXn1W4_L1Zz4Wf^PUda3P+;-uS^^PF}|qfTW+ zruidTDVy%jjvkrii$c@|6GAhq=XBM?jbEmTX*v2b+AlDX3wgye-_D&ly~u0Aw)I{m z%@Y53TznmlEQYJ8c9z}E^W)+jmI+S2yhwEFd12S)*39zB)oQ1UphD(`GljKrG(Dch zFE_f2{=p}yWPV9snNQ0)rWKlOam)RB52mjm^yPtI-A_>}4d!_JJT+c6fCSmB1=(%n z^T-qV9MR12!@rWx?IrL)YEO}7jz6U(BzT3q7MB9d-HODd;>l%BL6%jL74>9L-v7!$76Lre5V;Dsh7-(|N?YqQYW zydpi4yTkmjeJ(%wqj~xJ=u>-s4yS}`uY-Mc>h2Gmgz!CpU@PII8J{4V{-jnj1H2<; zxFBL@FIkV}mu)9cb);R({arbvk<*zqKg%N*W;$~7MXWdjV`|J6rJM@ENevYe+0(bL zVTg9Cj!F-xto4x>+|o+p`DMFAT_`MV%fvt$zq##R(X~xBFa|6;+qi;C@U)$x%~M^~hS~8|v*SxyAn@RZ%b*bRr7GV2u&Anv zm;IxoF!f@-mmOD_Ur^}wRGGw7F+qNSdWmgJ#Jo#v`u9hC1(ew%wy@4ud71q3)$XmF zBTwGFGBSc`CO{dQV`wVdS$I_N7&hmIZF@v6MiptRcCzi?VLL5sYwl#r4itaWLTF7) z;RHE13C`dRqpXu{x{I`R?KYe{^MXr!W^u)A_Bw8cuCwuA9fi%~>$tv_na8&_7&$xJ zb8`>-%&6SV!YLl9-QUgHtJAY~=pqZa$gV-EM;yD&gb1ZFQ?& z4b7{xWzD|S#)+hi=3}8&b>jwtOn|(|P-$~+7Thc7xS7!DiUHr{k!B%N9{y5-{zb@- zA-JT0;R5~EhP=E{mr)ua4XUME*G%D23fsRMM%k)F8R0scqm6ruRSCvRd+hNtcF&Ci z+uggljA1c8@YXL?$Zw17go=ND`TM61^o*7cvP9;=M!W7gLE-NvG)+laA1E&u_Xv)1eC*S;51EnAL4omWf)ut zjqo{4OcctC@CFR;EtDBh0}Ej(tbwht2adt_z*<(h2x=h!x58?83UT0V zRH0l6tzbPvD38L%H1vS90YZ5IzJRsqLb-9EP`WvU@*%LsQdYog@c0nY2fu)2s8BMX z3~mB1AA8*mdxw)ZBZRUU4nx<`LK&A${=vR;g!039q5O2NP)?gDlrEEmawmN56pB(P zf?299I8u!aj8;W(jH(95sY+lx@ z7rp^=lp5>cObOyGm&;7z!{75NU>09#-m9EKjzB9I7u zAQ}2ci(p!GVqh@x*>DczK>yX4neP!j4!Gd@(jLuowAfXoHA25l|r(l7RcSfiocsM!-l|3+v%g z*aq8S2YdzJ!1vIvJAPpRWWiaG4Y^PRQ(z{PK?PJo4a|e9U?E%si{S$?uX6r z6ubbtU?02<@4_+o41NJ&5dkw;APJHo1=3(3WWg{v3v!_dW`hsrK@;2oPr!4~3cKM| zc+(<+Z(A(EW0s`Ar@Vg!-@`8;tRi5tieNWuT%bGh2;@=7=OE`G7a&hSo`mc|z5v;S zd?E4-WUd(oy~vj!S0P`9T!%ad*^hiB&-qqM;2NIS@_s#b&2Tf^0`~%!2Lr3%5qJik zgO`ENU;}T!Tfn3_a11_y&*3Zh34R4(qyGULBtUQI19s>SX)q8nU@#1Y5jGJ#+ZGqd zMji`!P=MJ)n=NoYGWS{olVK`c2s7YfD2ED|joWJ6*7B^kbq_RSb~D_<`#qT7kGvYz z!$x=w-hrd=8GHrb09VEXKZ7YAJz)}D3b(;i@Bu{jKyN67Mz|mL!B>#flXeC7!4^0S zD-uNT9|=8!F}->QhV&w>Fbd9r0+NDWKcqn>jDT#&hf9E)%z?|`a_~U_n&5f}!cw>m?t=T^ z0eBD|hK=wvJPR+vE3g|5!4dcX{tlMYMIat}!D-MJQs4}5Kqd@@5s(ezfm^PD$uJE{ zU?zB>7UsZwxEij3>tPw(4)?$V@F;ACr{Fnw0bYVVa2SrjG58q1g&*J-Q2LUO&;`1~ zX~29v&>zl(Oc)9yAs@~KCltXBs9~_1w@E&{uU%*%J1N;tAcE)_W2*%r$V5VIS4CQ?UoCA4qE_Tx~FGc29 zI8X`Ia5?y~`>Q=Ua2N7@$ZPFNU_J8V$cORs4)RgtHe{tAae=v?2zKokAL!20)-O4b zz;kpzH86%}Za+1c-!C#S0e6#lzX1EG$QQy4xERWz0xF>z>R=vR1p)jt;pYbAn_vmt z3arNhcfj3nAFP2#U?XgSo$w0mhF9S=I1KN=`|uHb4d20!@GC^8(62xbNP#mT3r0f@ zjDv~5`Y%ufQ{Y0l2r8fwd~gLczyb)sBDfBMa3?$tlln8?h6=b8YT$C14-di@@C_V? z$W+<^Btd@|0%IW$3cwAs;VO6qUV~%s8GH*rfO-b$gBY+uZ|DOlFa@T=Oqc~#P!IDU z08OwMw!>~X1|p4ehpvza>2M}+2{bSt8etJ!2ixE^I0nB%)By4rdO;s>z!1oWLYNBE zp$4vmhv9M94llx9I0)~;H*g#x(n%ZifL?G0oCV`yE?fmSKoIVLRj?Vh!)Nd{SO$_G zFbKv#KAa0v;UWmYEpR*B1rNg}_y9fy#X&j2Kq!Q%a0T1|_rONj1~0&y@Hu=BQD@R` z03Z1T#y~CEFfsrr<#=%5zLLp3r3tP<=Lk^6C@h}Nyf(CxL8WzFza5LNq_rMBR4Nt;0*a-*Vb$Az!!3Xdov_af3 z`T*zy{eb@$6Pr(iqmg16vP_z`}ES%0A%pbC7@00FoW zmco5-KWu_0VH@m#{csRIfWN~(AOz88(I8~a{0zT=Z4~Vt z?2rW`AO|ME6u1z|pc-mn4*V6ah3nydSPPrs33wiM!a;Z)Vn-7`*r7k9!C)9US_E@O z_Y90fo&_3ILN&~R`OpYA!4g;s_rgQ)Fn(Vctp;8~-UWN$5WE5J!58oqdXD2FPT3-e$;G{It60=L3l@EE)V z2jFw~8GZxX7!m9>hCTE#N+5X*RPcB75jphtIU+bLM-BcZ=k(y&Iei1! zn2m+;Z~;t(8MrCU=^4BnxdE<*M$A^^sDTHNAA*PBG1vmz;5lf;&90oDfme~=fVbdX z_yF@yF#iYg_i!A3h3H%njLGdAh|OgThhC6`+3C6Qfqpzwu^WJy1BSqG%+A7Y400}V zKJp~wLMVb_m<|g;3e3D z`Jvq8z+s+8cpk;>?Gr}Dgz=S8@g1sYUhR-MPbRGu2R9=SPB z4c?p=8GMNMhk1X5_l>;2pQj4r|IoJxap3jW##t2k*yFN9%I9Q@DjyRqQSvdt(nY+| zy5qo(J$v?#v&8B0!PY&kI}R0Cx*Ilc?AYaGuXk_j-b1Y(i&Y9c4_s)mi9@d)ltR3C zZU5^B4zw0odWv0#UVqtRNtDk$9!rwofAN25*TF*`_E!-1wI23Z`U>N}^=C_<_3+Nt w1M+skYp)#KKh4r#ymYX&b^n2*dk%TbvuyhhytZrauD4r{9%{Y7%tq$_1E4GsbN~PV diff --git a/src/rel/PLFORTH#FE1000 b/src/rel/PLFORTH#FE1000 deleted file mode 100644 index caff0d3018f024937f46e820407d876bdf5ec6eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15216 zcmeI(d3Y36zVPwW)zzI&2%!@QfeuMJd+6+e5r`PFbtKT~v`K>ygEk>)1!IUYWRMXj zg}7V>qpjeAD2pgEq9TeTzAhk}AP56)=;(C?#?iqM#~JmGx!+Tj1k`(H?)yCN^W1-4 zpXWpU&QjZ{Q>Us<+LCmo#Ugqfw~0r_>^ijj*zx+ENB7n5-G6Y;{@PuKU)x`M@bGK< z4jl4{|Nr0rMhmQtUL9@h*Z#k;`~RDLI*rO|WnHZ=+=vT=MW%`(YGY(ZL4jI-ahXrd zBK1tNxpJD%)T$SZ6)K4$v5?e}WOWh=aU=0d$!hI%cby0kzn5&TtM!Zf2~Q=PvQ3)^ zgjgb!!feyidc0gHMcK+rM!Z}p%r(8L$35idDsLHak15ymu^uiJCYR~79^NEO`KIsm z@D`!w*VI;;EJNky&l6^uuNjSmt+|67}@$!d&L9G-d0F6+)@4Go7!;cM0yfBZ3QClZ zjkr=NxIj5=#HHqfi6zSSMxxwYR$ec{hS35k=9+4+7)CgZuxy4%BFsurDw4xpvRt$a zQ*!t(^sqxH*~zvt;xoxgMXAZ7=LUqS)HGcWn?#swGx$*I@?u56H}DB z5^){T0-{oJ6VYQSR!?p1RJy|Lq(1B1*W#t}s_amh9(`*&B z-gC4hA6*Y7n+g=iXN>TOrP2z7;)T(Na$0p)bwfnLjX- z)C(?aRc+mcZhv=>R6(}2qK+cBt&`NvX^~k*va;4)Z=B+RG>c4>1eQ=?aJnhSwt=9> zp;YA9o+Mi3uyE=9Zt)z6t!bv>?%f2Z)5D6rwcfHCclYl}mSk8e-Bs?o?srHurYqI; z-G3ySpKiJ&@D0J(Ow+7x5l6*L`cjRLL(eG(pxDO5r5(`Wjb#rh|D&7s{N|GVB1o{2;FsMp1_@y1fA+s_smIRBk{Z0W@7OS z;m6t5vWg0~&o5pkrDdxZ*Va{vL&T@DRqwQ#N#b4Nu?gY1{<^YiPqp_#agvPG)G&F* zW%T|tB;Bc|NkSdL7@cFv6GI6Sa+I_@F^Z@($6P^}PMDLUr00ozqNQXK78Ck&RCi6a zUsMtcp;Xk_YW2uc?<=cti%Vo8$EqjlMGGlwj_RN3bBhk*>RhGVm3?u&TUb#|{deO9MziseHA&SOWCzX}g z*7;wUqLuCU&*VtT|<;wXwIvvw_Q(IQ>gmuYQ45wh&u}{#8p+cJ4q}qwATCG^fTKU zQa2Zd=_v{~lf0wQTwXWT_8j5PLJMK7w|hT{R|>5%QB~FbI;rd;bG5&s`$NKuip;+9 zitf{d7Z+J%PpP+kN8&`$vg+RPbDjH>Z&%hk53Jm=NvvEO*yJ4X*By^+-yv4+*uGX~ ztak>s?O3^H-J0ssZAveqg~?-?56f7QRz8fu}3lvlubGRd`YasV$->;7AJ- z&7!B1BbOO+n{3AyA^d~lJ*sFhH4D#+y$z-r7LzcjOZY~Mf3XsqsB<)RQO)~iZ-d!C&LI|hW5gm)jLW`oW8dW( zD&}R{xk?3cLG?wMcCoNJ#;52F@gKcLn{st&9eM8UjsE6Q85Rfi=8e%;^rwt!oDrr3 zl^(Hnm}s>I#TILTEy`v4hA(?Ntpyx;Py`iD?}4T+H7I&G{0Snc27*f3Xu+!M_1(P?^8EmczQ#?c1m2K4)TX8{`>PwTEWqpNJ zQ#{fAg=OO-DCQu^>DzD@XW@Ok*LS1btSdcj>OjfB;rQ}pncQFL&|2-hY05{(3F ztM|xW7$tmzgmQy;uXlww(JS|>ct**ipP48VD(xrNwsJG;8{nVmjz#(QdHMFH>HZjp z%US735_z%powMg$>73uy(viQQt+}Nm*gF50a@6t{jiCXoCVB2kP;jtB^f6zoAQ-R6 zqgVZBWZM`$@3UUcCfD9z)yGADu_G|C+mk5rqK(%N=lr(TYn{KG-_hK+b>G!O9;n?D zArG*};hQa&ay7fhAzV5BRSrGh9J zz3C2_VKmZE;ktzLBUfJiS$$VpF&PJA7a6PLsH^YVH-~CM_VS=`^-l3PStd?lln;ur zOXQ9th0A3eCyDc9cn?i+eEX~zhhLJ z;%U^|rl9+A8b{F^#px;S%iBDVSL#WV#hgd1v)EZN|El)6tt~%mXlk5E^l=V~e`}Jj zp2K1J?M7QgIwv{3^PN}C?woUl zyoU5>uSGEC$qkr16J;m7^at7N8*DRFZu+2TQ1#BhlaEbIpiwznN;njW(*6XY)l4p< z5*rYcQ*1qa4{hBve$<7hx zC5^O~etCQ3NV|CuO|(_%3Ami4-p_mc+BrgH%hsxa2D7$?^GtFv#Pck&1$eaB0x2Uz z(b-g$$10pYvrrl$HoVi@X)7=`U=z-U2;X3uH)xe(EybcCf+r*oI-?tRsSK0yF&tFK z+c-oXhe4H{4VTX`#drWxzQww{eZ!ySV=SnW z4xVic+nZADKdMcEO#cus8(9|X_uRZfJ2$d^r*RnL%`(ww+=D&(_Wt|&`rWTr?%(cz zvr$X`M&$@*)NR!7r$)xv@q_5|a;Y@=7bnpvOvX_MO8O5!8e|+1PK!?Zf$39)UiNCK;oPEVYtnjGten$xxoYeq@Qu=YThH0b^5uE5UvqMtF>pG zNbhSbozcBQ^kV@z(8+v8G}lo~<%Kt}gZGn@k%jA0B@vgZbcY}vjCzkHcD ziW=mt&SRx9V^S;&Idb_YrpROUFG%SU8M)`=QWlioO|s5{l#a%Xg)yw6*EiZBT4byr zN=wLX(O$Gu8l7`so2s!*xnafFu(3C~m+@@3(|pEGcs0_4rR>nyjeORKj9R%z{mAt9 z)21$YFw_Yu3|GSY=U$_RtSp}aY88+CfBEbvR{9?v@_Fz88|#0Ls2SVj`5T8R9}aqj zrk=j?{>R1gzO=Du8mN~RD_CK?-2Bg5{$H*fIk2*`QQioqzRhp#f6VExHbeVTXZJe! zaR+U|i_Fi9rg;9@5$Pk>|BIarK6~U13Xe#mcMK94C-i<1W4zX7j2z8%cfCv(;ffOK z1F!4@8HyYaef{+||E%7|=)_9T|K#bew|(D*8?W$y@4u9KzwX59Sm7D$Y~Z~}f0-H>0=mw=wu!#iHu;7n zH#<u-%-{*v zOZ+20T=;625B5rqHK=ql8IY|%+u1Mk7QAWd6Ciyn>uc)YJI&UHF!_@PcP7u3>mV@zsNJ2Th*I(_lo~&jZe;9LynkDXOBX5 zVfl{D2K9GrmJ=L}%v=y~&I~_B4S87tvWk4&4af^Br#DbFIK zCr)HMI)Xu_*%-?71zmsMc=`0;U*7g*3ESZh=$V~6aUPe80-(f@v zzbQ9kyWFmiC-6^queYy$WX4hdr26Qe9BqGfD~BFvRlN}$fPQi1goqm8=qCQU)6%T= zbgIo3UJ=!HpB#dWqLS_(7d5NiPx;d1{Wzt+@y@nOP-L0?2Xg1dis=n0Gs@+RnJT}; z@`n27%P*I7GdpL5O5&iT&y?JaFa-&?JGhBn>3;G`8 zRylp8e{C4;CkGwjdCv5cJ4Zh^{xQa(X!+JQ@K*zlps%EqKceLgcJ}>6B3J&6;cQ_y zFN%3XoW}Qmo!j4Ee71(&Q*O$$=F0!%7bP3zb+Im822&hN8s-{NlaWg5OHnXPn4eAi zs<$rvgWePAM|(3`;<^;$1Y~E|Z(BYgnXNb`Kd0n5sGcTz-FSsAuhtdIJ}rBptZYPl zk}>S~ipgvu*HLZGgIZ9Y^V^8%?iv6VbMC=E>tK*LKK00C>lS*<8{mWTy z)Yyr>R~yqXav#PvWTan4rKwHzX6jYjWbBD&;#mF-Mz+FFD$7xlDF=NjNdJdfzMS5( z)#ZeXU_z(UBsv8R(=7ZMj{ZG0i{+iQ45a zU}l%QxGxm?9 zl6)nk#FH-a;>$Z)W?$Jpe{Nf+b9O6n^R>>Fw%JYeb$R-}ap(3+Ii$vzqAwDFSLW#y?Cv<5s?T(+Q9UfmTzHElc-q07l$(rRlC zuVjC66)UUAzW|u@i>*Hbe|8bA`V6!+X!SnY+YrH8c~R$1;1oMurDOdqMHI*~dv#l9 zOGkT0OQ$})LuvOprPlKKomY^zL$HQE3q8>;SL?s!X)0@3)BKK3*}lfao}75`j1+lc zdVaBfpz?0$s~{f*JOXGu9$UOojTtE)1c~nOK4hZDB1&w*J{D`2stkPZY zl_KTqBG>k~>Q-aLQ6=N6Xa<=5`p@T{O-!iA9BW<1NLv zRQ~{CIPkX1gOZ;ad~V9erNj8JH$GAV%sesENon6);01a@-to#nfj%3UrWeqbvBl2n zwyxQ&bDN#bbLVuUQ<63#3&c=aHeq*|y&3YI0>a((o?vJ+3i)0+<9f+!n#@qXX zV*S&S`TotL$d^U@tz?EA%f~ALl68ZGzq8PPQ4vFnQYrq{>la`4=4DO0X7=SR#m;P> z$7rofa{aTMm*iIRPklvQwa@RAe;S@84~vG$)^}pOY%%>O->jJ1FZHhKrTwYm9WL_% za+omwSmck(XUONr(}a?b z%WyNc;#nNPR~Vcw6dnvpBj)1-PNO74C@Tv^luoCO>1YW>#e1gbqp%g&FyZ9KVzyPCIk$@bO z!jGkR27B=bm~uHDwBkM-z{otI6eBKQC{>t>nMf@ZN)0-(7&qe%tj12fg6tyJ#YMOn zv(SPQC>le1VLE<^JF#Yr(C#-0Z4H_gp>?1Oi}4%WhP!be9>hjGj;;6|cHuDI#YudH zf52uI+Hj;|3`*g_Ok9OUScX-22v6d9?87m$2)$(gyq;oop8?!?_#iw$@JPvIr(!G0XY zoA>~q;A{K`gjHzKa3B$>$V3hbFaZ~!3R6&zixEIG+R%aP(2Zs2!FoK3C-5|$#fx|u zui`LX$J_WAC-Eh|#&`Gu<}lg`k+5SFoX9}|CZZHx)ZsGB!IhYgPAr6m8*wW_xC^WB z5VqiHJdYjNhgb0ij^jgoiZAdN`~bx!w84nRa5#{JRPb{jEf-@k9wjJ8HEJ-;CPFi9 zigp>xIX1J_N?tn_;dxA+Ib z!i6>nLlK80q#_rEC_y=Da1mx=7Mc*mRk#`paUGW6Cfte;?#2Ch7{A5Scow^`53k`U z-o?M;kN5&#cw|J1P)=mDmQQ>E$}t7ZXlOIg zg1NW~9awb;DO*L%kCU}^*no|A98Y39_+7HL8?WIQ-eJ8HF;Stv#>9jyLt{d5L!(2ZhDK@+ z59Qk9nV}-|($FaFWtPW=#%gbp_bEQZ7dV4&z)yCyAD|2qnguot0zcW+Mj#%^NJAE~ zF$UvtK1xtAOoXb2MQT%t`M}ktVFoV299)4b(S~cV5R1``8*mG5#qGEg_prVD*xp*= zhp-8o@dTd2cD#t4*oW8fd%T5r@IF4oC-@9s;P3bz=2)Rw5ryFx87o4gVk5O=V&?O; zOk^V;<0vbpY!Y!LF2oenq8>9b3rz@OE?Thw3$X;Zpa*wjH8$WeY{hfffxYbKNUR$A z_gGc?i1bN(jxTWr{E$}r4(f332@FCMqA?Pqkb-n%Asb_ci_m$))zJCF6|J0j^6)5a zD*3gTh8dWJ0Ge?*uEYW?#C7;J_|2@g47VbL6}TI#z@Ln@2k|gA;Ys%MH2d7nK3^og z4~Os;-o^VkiO=vCe2wq$5Af4j&59x5XR_L;I1$Q?Q?&x(U*LR90>6jVsxSpLsK<0% zf=khi%h8JYSb&9C3=Oy94%~y)SceUG1dp=MC*q>Ct;E~$B6gCuhrCxv5$<1hFce?u?z%_E{T>j=gY#2^li5h9c@B2se_^D|g2i*&(=$j}7x z%1OIX1EzJgdddRi&nM;wuG%8ft465W{lshW5Ppltuno`RMeL;BZr0mJ{3>3<8+aS< z;RAe%Q}`UGaR%Rj->z!vNctHf5rg4yAOR`hN2}UsVF9mIFxUaZC%JP5wywN2QJ zEqIFhzjH)s&k^s$UhKy~9H#6j+xm?73;Z21@jPqcKpJvz9wwk7o^dwbp)nh&)uIlK z2$0_rKSZ0$a#6ghEhg_q;$`uXT8QOc@iC$M;={BD$X|!8_&?@& z9@=mZ?iyvu10y~28j*xpf=UsCp0mfw-?WvL`5 zhr$tsq-0ggOy)jJ7NK#;me9mxMZ1`I7I71CD`g9?2-jmNZozH16ZhhNti^+P7@M#e zTd^I_<7Mo@LAHIGeg2L3JE$o_3&&vC5t|}HnJKE4L!6HyjKldTLlx!T6h-qBHy}WI zF0N;tn@Hb7{A7wb^iql%+KqiF$)VS9EG1cchq99?X6+v=MXEVuPUX6%iclhPGI4$? zV<^reuQ)X=RGX@5b;MVss-dgUPMvEg{}rysP53w5h84J*y7#4~X=_<-VErAevy1p7 z%gE zEmqr2ypLF^d^j9wUyuepCiS^Ch+_SD&9#qRxY9y(lU zj}!Zky|K@4A0d|q{dR}o|B~Ii|L8HlJwb-A?Rnd8PZY-gHfv83`u{m=PZoRL-nHk5 R-<~R7f92@miFWRHWDb2Od0lO24y7i7tHheczk!d%S`9X)r~U6kYU1 z9G)JX|H)J5o99F+=GznYr+tg4!0IXTbN#5vCtE3!3-;({9R|qHIB8YhG#*l<#%GG8Yl6Quzqe_|?{w z|It*gr`NKQqF}{@pB}m6M^DA|+{*hEWlp)}vTm*2>xc`Vu^#KG@U4E35Pt3jA(d81 z6ta&ARjI2{Njq@F>yclZVnWU~#DACEwBkZ$oP%b&tzF0tQ~KF57FA}psy?iGOXiX) zuX_4EgL?Vg%hm`;+l+3L!0=AiS_0GbMFG8INkOb6C`?gr_=|XONEDn9h1bwG(6@jL z3OING`am2EfahQcSilCO;1w7HufY_U0dK(^C>j*58$8%R+%~$yU4sQ7^d9tA=x^|R iNB#qO!|0;3%Zo|DbolMyQ6c69*I`C<)5$TiUZQ^`Jee&3 diff --git a/src/rel/ROGUE#FE1000 b/src/rel/ROGUE#FE1000 deleted file mode 100644 index a3cb8383cda76a61a41829516dd9a42789883ddb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4161 zcmZvf4Nx5A8ONX7+dJ+q2ib#zK)u37;hL-@qJuL?F(Hb?Bp0$FC*Mi#$lc~3gy3lm@wF$0O?g;J=M-7=hEVp*VBISHd?b>pFQ(H$l zzqTV(Zr%{yZ?5i$5&a~6Z8RK?wRP_77VCr2XxpA>ak?n(iv(k0TerA>&)%rm8QdMV zr_0fBS1=l0nZG6)X1dtDch1=t?2L)AJ>uJ-RJv;Y?)2V?oDHumz8Yy%?HE`sX+=k@l3{(8EnL24;Mvqg8Tgpp?Qd#~#l%EP&4b#M-1qWJiNXwp? zYvQX^6U7s0#r^%#GB%sil6D)q=Zy*|MVi?&b6)E)v=;W1T=U}3S+RYq;Qj@Z^XBDV zqwaR&85DdjlEnGYFAXtZh=udwQ6{!5=t)ZhZ;IR|DCAu(yizZ;-rXDHB6X~M!+hBs z;zDM;R&i(Tdh$nI)YBqRPqQG0C=wKE1oGc|Ns}qkBDkx4R-&Fp0lv@9ls>!@;(Bfq zLgt=2L6*oa((`&DP3c}5*Cl#gFQ#FAB@OBo^t8T;9@i`B1>N81YT_F#B(35)%+e~p zgQFOKsW-o&ODUP!XLM3pS!hS&^@40A8#513h)>|Xiw`&I#qq8}T_LkViLMZ@P#M?d zC3=x>O$1Od&lOTqpw|#BT~Y`!z6(pN%o=ScW^K&+9B^TwDs%@ScgQTQL^JXdvaFy+ zeG}cS*HVw}r$c%Z?bQda*JE5s$Xtp+XFSH^(JdWF3&=TJDu1b>7+Q1 z$DLx_CR>P$+Z3z99q!CXMKX@ZGsL*Vh&U9dlvQ;K+bILqXCZ3JRh*^0aY4zzGgEOY z8CAZGqzFpp;kX+`m>l^!QgV>Yh5kJ2K&Nw_bwfo*bBwq`&)PZ>W0Pc>ONx&ud|j7) zq+}}iJhzg;OpaW7F%@3I*DOfI;&ToBAQ`7v3rBRZDYwCDVnfKwZ(|&M4-*EFEonZW z@QHvw;P%~vb^|etS|SiLv(?WBs(g!>n22$5CVK&Xwa><+zSM?5-723GLIRb{vYU*Q z3Dja!kwCQt`y`94E}pF}KGEf$cClqpNS|S`e~iWcZ!Grru-My%1>-q%6F4V6#xOnEY98 z?>gc4^#WTI_-nxdC!NKz!t_vIC)L==Uzx)c3{{=)GrgUoI@H7Y#jyjahRr%BxpR$k z%D*e8_6Qf*EMT>@=TcooT55l>ZN~Z~zj~RVb3WLAnIJzOJam~L+qOnpg-eY<1{;ZT z9*4;MNXQ#Fku_Y!;nVw4{V8L9BIOrz7@N5>trr73cbxU&6LF4RPmzF7V!TU{~}gFh7i zLy_%5qG$UL^)ZTU6>zy!`Fbawor1Wp8hb?fP)!d zdJa>#FoeJnlFqv>y`!`E0QA z;dOainNS)?Ajng@6W6`Gjl3_hH(32Gg1?aMSEN3bK6gf;SaFxXE*o3Z|GCTmKu*mE zdOIo-m9T4t*!rqP?`nkwT;YlrAwTrk$&+c-JgycAnFg@RE8ZPiiqJ1*>`F;S05I_yX-FOM%v8k<^_Q zQrkfc904c56W~<~X;YR0^+Wi)mDI%`$4c52)@ABa_!3wN)_^Lo7OV#wQK!~=m3kZe zX0Qzep@pqQTEyyA55hlU^=Juj+?uVPKzYFGQJ+M;-@$(#{>$)BgV(?)v`J`xhyO14 z7x)C)7tp?e|2?2IQmtvEInz99Cj30`V{jF?8kB%iPzF|mTfhde8PtQVAOLoN2-pQW zk*_Znf6&wZkg8RVz;6ZQ#bskMys-A{F1ph4R{|){$coXG!5PKK?hu{^9oPtMo2@|G0X>Rx4^Y9q z;23xaJOUmAzXi{L=kU&pXy+C9e+KV^kH8n;EASmK*-5p4MRw9$c8{6^n`h@WkKLn* z_H1=IVn@M!;8)-w@CfJ!kAtVcDeyda3A_T5$Z-ZaM(krVqMZNFrPW5}lbd)*Am8!*o{(uYz`s653bKvIz4=4ad(3d$DYbzX*dM(POpbY#J z`WlBvt%kn|eyt;4Yjk+D0JJc)-O#!myxI*LcUaT|uy>-|3wy-D)5Q7dn+1-UErL;6 zCs=5B2&FVSJCvLlOHOVOoQ9hm9UZ?}$T0lLq0yn_)Gfkd8XFp$8uAM+<_u0W3Yj!L zetu$Ns8+}(<6m;YL!;x#Gx(=m$Y+_yk`vP-qqhhJGh PWi(fLdCD0|rI>aLtBNR~CK)8bePn+uZV#%T@>wBRaMV!2>#9b!v!o~wOR`;8zl@Eg>uqD38N^jWHRYO zHl}kqLf2Kr*4NjkkwM*(uAdN~v~4wSwsKz8otCn9rmHZCDPQu3OeS-a$thH%+#D^b z&<0uZ!ZS5Xm>R3#P6DLsNki>+d$QZ>sTpjW4oui>xf8trWkm)kF?x_7t!!{-)>&HW z#PAlju5Gv^!CaS+#Iu%bOkyl|8dqh}IKd*c>E5aFq#Va*iZCVR87c7&kzkifrNO(f zuMCE)s6`1%p)y7aPgE*XOOb=o+D^6$eok1)@v2@IDajs$3d4^X% zu8}xA=u~LkaXLXK?srNL4_f6Lbq9B=#^4!^%9(6Mu-I3A#<@haE>3T4s5bwKGlNEh z*r)q{-xd=iQGdvjuZ}eqm)2yfBj?6$tz5vvP0mVGV{Y^W)0ny*Ue=o zVtZpnOJBd37c6}pwKXc-uJh)qIciV=z4q=Z9Z|34Ptso0)FvZ3YU7JKiK3R#J9u1F z>q2$+kwz5l!jO8okv6?zK?6jp`lb93Z6nnzwT+M}s(0_{{@{1>KmHZm4=d};=9r#; zXtMqcXZ_b;mtk+f8n7F%o3IvV-a3za@4>cUAHY6>eFFOo_9fT6ui^&EX_lH8v8wqJ%A{6(=;a`D%9{f6Z4txzcHRLq0?||=sx4<59K8ODT z{$6O<`v(47*i#tO;{8#L^=Dyajd{OladvooG#}N-U5YOK+G8_IBs>RrCJdgCB}IZsQ+`a9HpF diff --git a/src/rel/ROGUEMAP#FE1000 b/src/rel/ROGUEMAP#FE1000 deleted file mode 100644 index fd777eea998be0e8ea1c559258b178fd7758f2e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7964 zcmeI%dstLu9tZH>9A?g3m^%Xwx16MKI9g7oiy|p%n&qgIm?6>5M8l+nINF34NEsG0 z6WPd3v+Y7jO1qXUX<@wBc zFTZo?h%M( z$BOP&1*_|1Iun}%%B1DC*+q9Oyroo^CUw{*E(t7MwB&YM;c{DUQDD9;H&C>sw6JK& zZAD9Tlwu^}9yjAB53_C+C9c?FKFkC)m? zWp_oTC)C|KdK7@k*RUhGAMf)_Q4c+jArh1XaVHG9>f zpo1NCDCiO^dRC;mUTzTRTC>1K{qO9R>T3Z9>)r6Mp_nD#89&tL#!3g z3Qk5_Y9xq-ogww0IY=yoPo9%uu?nnA&0}_Y4Nla>8RFv;2AQpimZYTQl#6T^r=?wT zX=?gl`w&4GHvF;?LmgLSTzTcF(U*_O8aFcgs__$km6JJk^3~Z>rd~7c+UXOWlV;AE z;&NR-J9o}?H_XkOk$=<8H~-r0DfHf0)h-&8MMefOGs*4|aKYJKHztLpAwz2SEcY}|D3gX#Unq3!wfzU$UT=TCo2DgHH%ZTIP&r}UcR67qydN1rslfvVqfOsifPp(+vvgtHp{uRdcCggK@DZEc347%FM zlQ5`E<5T%GtnSm4snS!$PuCxV*>C|wa`?j ziG-Yh)@QjdkW6J3mljQ*r8=OcK(aTvNh{c|cB(NgZ!-FX1S(1LCS_@xxl%Jt+pZ*^ zS;(2{Or-QS>z<^-reu6>J~R86EnY24&Ku!Cl7lcQzFF?WXHZ>R&uL4oK2=RX#|4Z& zYqoNBM{IhQsafUW>UUF#HhqXCePmpd)>GwiK0-b&eUcfCYIe7z&o;6CvIJ>WCHicc zQ%i(1nzVk`1mdKcI9lV$o={>yfStUC?nT%5y#`Fw+I`7K3k6H}C2OkuUVS7rUcF!& zGMK#jIZa9D53lmO)RFgXm=O+W9c%>}kF<`O`X|m=$HHjVp^dDA0!FVMAKh?FrDtvz zm=yBdGcT_evuVg>1^MGEF4!&!02j$Jl(uWJ`G$KZ5@9 zJ~1+1G4EM9k;G^8Bt9!Al6mQ(wPNa}t6nhkQh1-}o)tDsA7JJOx{?8A{ydY4GV|Z4 zemL`0;vFAF=Es~b^JDsEzN)5AE_>fs=iKw+BCGmD|JckAU?tIHzVD=>%zTwHlKKAk z8fm^#0)C>sMw+v9$pP#&y~BU}UNeAo3^4D~T`1lR(i*D#QRZF4N0s;L0p-0mveoq3 z<7*>3&AD@~uD#$+^S$t&B=7yL<45MbI_kXNFOTHC|2@9f?`MDW?YqZEyVGFWQS3B` z{t0%P{#G);%%8jcMW1X|D5l| z1I)X)0rs6#lzC4lJkF?yMxK$;*3UUg`67ny|58r;e-yOhYo0#+2G0xMHE?IjtPVUX zaStvVYx0`%Q}Xy2_BFeiV|QXRRe6NUsZKK<1N-#)^LadC`3T>H-?5Id`0+?2Bf&x? zl&((PLxl*&t6*nO9sdpo$dNA-?CcrV!58y*#nV@DrU|2X9p$O2S&?Z%%`@}Eun!KV-gvxb7HkOm`R z5)^BwZmWh1?nHf9EY*#QH3hGUrQmGHhaIpR{jIU);76!`1>b;LOF;{y!Y~*O<6su# zK>^$bcS1F+fpxGEw!jY91ud`--hh+vKAeVc!K9;LBBX!~hQTs(gX_T!3*atT z4fj9|Y=UjD1KxnQ;P3Ded+Dg=Uv}>}FV~1R$oDPIqI$PS?4^76e zen+U|NNA4H#44?w^NeN^|J&J^Lel>{8&j$MP|LoK7MCh3aet_*qouQ}t$m8BJ@H6S z<7DE|&V6Tx_@wr>{Rg_b4jpbi5Xx1JO=>yV*3r^6Mb(tF?{Ld;b}2(Ls~u}Q5<1w` j)-_LcYA9=Wwzr%J%~r+PakZAN(2>@|q0mef{?7at_6q0K diff --git a/src/rel/RPNCALC#FE1000 b/src/rel/RPNCALC#FE1000 deleted file mode 100644 index 348f4a23e7a0e65e8422e2834d79ddef4b89dca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3481 zcmb`KdrTbH6~@ornSJmu3=6xE#MvDK#k*s(USr1w;$Tw(#p!mlhACPWu(1sjn1Zo@ zxHu|G#v)DBP}GsCRCTK~k#J)2PCr)t%tQBo_FVyeV#YCLbN9}mRkBzwk?OsJJ}NnT@!adzS})AMex>EY{1?w&zVyn2 z^r?R?_os&Z9|AnfYwYpewJdHH-?uDI`%=r|hHtBoEp%+{;zPH5)ozGtTh!!0)YxJ} zKEwt~obzuMa)pk~_RKwQhX#r|!#m>;svk>- z)Nnl)^?u}p>cc7*y93BchIWVBAz}fZ6AOQ?3ZgN?L>*rHU{TFZ3OSWxOjS}dE8qu+^A)%8W{LSbi8ASI;dVZf!k@JWzL zF^fpsS`u-&Vei2HhX?kK4h`3-gI=~-Da@sayS8<7@BS~<@{wGn(1q8~pjX^%?H^%k zEh-RQwn|ybW2<&cW!oyrl~Tl%!V-#jYQNAsI5d2iugZ@|@hzT44{u4~vD4T2K~x-* z4mlEcljfN0)*RKW+gc8ufDo8fha8%tJN{NWB_tiB6Pogh%V$pd7K}`Pz?ZW6#+RX& zVn~ zS*lngVG&e^9CiG^(=vDGf9F|yWxg}Z#e#~|6bq77SG3fsYZ7&8)Qytng3`fEg#vFQ zos3rXYZmUR-ajTFX=eCseecawj ziDGgp^mck3T}oHdZ_*p+kLecZ%*l$5NFXuXJ2E0iD{EwJXjmS!?v*^;`%wSLXzy^X znq7plYomvly1GbX)cgY%UMt=QVi7#<-O4t6b+{55!}F<^U`woiZtF-t!0i^&AK^Aa`Y^W@lqe%lJ(_8tQ|TDJ znU2%D=>%*m&7@VDP4A|cmm6H0X>g<6pw>So9~|mGFe>--Kh!@u654g&u7~?a!*-`u zvj-Sk>az&#j%}9$cyCSAvauafViiV|HRUdn#{v>gMQtiV*JzSoArY?#k@Q?%=rCDN zpW@BDiujc#8l{9vJ$UrG%bSQP+pW+~d^(wuwkJ1N=j?0y#F#|hiih|_x-THbCetFb z@=^k?tjx!+&tiR%oVMQKk^Z3rax}7)f4BW5WIflU_^mesbu!gUY!HkW5}N}HAiIdz zYOo$`1WlmKM{Ez60H?tXa0^uUiRoYloCCgMV)%E-ZUSs)oFp>NfM0{(fp@?H_!r1= zkWm6Y1FFDw5CiQ%10&!u@O5w$JP+o;&%q_|d+-_)Z zHlBk2H0%qoXP9hW!uXr8@5BBBHcMb;p&*;(uo2kpurb&!*kRbif@nM;knuHv%x?%m z^Qa&j$Kap9_)jo?0lWfzQ3#m7#oXKQ-xEahL-@Ba=Mc#dMKax@XcmaFSpqAIvJu93 z1XO`)%-<^pjUDhC;KvZxf|!HQN5CY;OpF~x?)PAi!~PKV6zpl(bE0UxftYvTzb`t? z8zM74hR$}%W}#Cw*E)kn)JbNIGicrqe<%DH{9W+d;J3r>caqT$2Ejpa7>t9*z?0x9 zFooD}BKF(xp99Chaqt3|!Q6{ZuQ3PzCGb=53veFeuOjC)_}9Q6z@NaM!Mm8dj-0>3 z{}B8gq=CmpMgj1FyFdVx0tIXWHQ=+L4Wz&xun%b902l>d0gr+sE;1i?d5tIGPXZHs z3w#GW1D*rZh?}Hg|3cL(1AntF7EAx<9;c=N^kI$&{phwUQ z+CV$#1be_f(2Lk1k8FGy_EC>)P9X0IkIy^`|2TNjBbqP4z6!2-MB_cgeSr9z$o&}n z6QlvlBEt!Mpd^dT)meBJvSgaSdZj^P+_Xv}H#;RK{qj5pU3BsM#k2G6l9#SrzB)gD czD4rU`8Tf2;`f#mApGQ#f@J;bl4PQP1DN?2?EnA( diff --git a/src/rel/RPNCALC_MF#FE1000 b/src/rel/RPNCALC_MF#FE1000 deleted file mode 100644 index 348f4a23e7a0e65e8422e2834d79ddef4b89dca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3481 zcmb`KdrTbH6~@ornSJmu3=6xE#MvDK#k*s(USr1w;$Tw(#p!mlhACPWu(1sjn1Zo@ zxHu|G#v)DBP}GsCRCTK~k#J)2PCr)t%tQBo_FVyeV#YCLbN9}mRkBzwk?OsJJ}NnT@!adzS})AMex>EY{1?w&zVyn2 z^r?R?_os&Z9|AnfYwYpewJdHH-?uDI`%=r|hHtBoEp%+{;zPH5)ozGtTh!!0)YxJ} zKEwt~obzuMa)pk~_RKwQhX#r|!#m>;svk>- z)Nnl)^?u}p>cc7*y93BchIWVBAz}fZ6AOQ?3ZgN?L>*rHU{TFZ3OSWxOjS}dE8qu+^A)%8W{LSbi8ASI;dVZf!k@JWzL zF^fpsS`u-&Vei2HhX?kK4h`3-gI=~-Da@sayS8<7@BS~<@{wGn(1q8~pjX^%?H^%k zEh-RQwn|ybW2<&cW!oyrl~Tl%!V-#jYQNAsI5d2iugZ@|@hzT44{u4~vD4T2K~x-* z4mlEcljfN0)*RKW+gc8ufDo8fha8%tJN{NWB_tiB6Pogh%V$pd7K}`Pz?ZW6#+RX& zVn~ zS*lngVG&e^9CiG^(=vDGf9F|yWxg}Z#e#~|6bq77SG3fsYZ7&8)Qytng3`fEg#vFQ zos3rXYZmUR-ajTFX=eCseecawj ziDGgp^mck3T}oHdZ_*p+kLecZ%*l$5NFXuXJ2E0iD{EwJXjmS!?v*^;`%wSLXzy^X znq7plYomvly1GbX)cgY%UMt=QVi7#<-O4t6b+{55!}F<^U`woiZtF-t!0i^&AK^Aa`Y^W@lqe%lJ(_8tQ|TDJ znU2%D=>%*m&7@VDP4A|cmm6H0X>g<6pw>So9~|mGFe>--Kh!@u654g&u7~?a!*-`u zvj-Sk>az&#j%}9$cyCSAvauafViiV|HRUdn#{v>gMQtiV*JzSoArY?#k@Q?%=rCDN zpW@BDiujc#8l{9vJ$UrG%bSQP+pW+~d^(wuwkJ1N=j?0y#F#|hiih|_x-THbCetFb z@=^k?tjx!+&tiR%oVMQKk^Z3rax}7)f4BW5WIflU_^mesbu!gUY!HkW5}N}HAiIdz zYOo$`1WlmKM{Ez60H?tXa0^uUiRoYloCCgMV)%E-ZUSs)oFp>NfM0{(fp@?H_!r1= zkWm6Y1FFDw5CiQ%10&!u@O5w$JP+o;&%q_|d+-_)Z zHlBk2H0%qoXP9hW!uXr8@5BBBHcMb;p&*;(uo2kpurb&!*kRbif@nM;knuHv%x?%m z^Qa&j$Kap9_)jo?0lWfzQ3#m7#oXKQ-xEahL-@Ba=Mc#dMKax@XcmaFSpqAIvJu93 z1XO`)%-<^pjUDhC;KvZxf|!HQN5CY;OpF~x?)PAi!~PKV6zpl(bE0UxftYvTzb`t? z8zM74hR$}%W}#Cw*E)kn)JbNIGicrqe<%DH{9W+d;J3r>caqT$2Ejpa7>t9*z?0x9 zFooD}BKF(xp99Chaqt3|!Q6{ZuQ3PzCGb=53veFeuOjC)_}9Q6z@NaM!Mm8dj-0>3 z{}B8gq=CmpMgj1FyFdVx0tIXWHQ=+L4Wz&xun%b902l>d0gr+sE;1i?d5tIGPXZHs z3w#GW1D*rZh?}Hg|3cL(1AntF7EAx<9;c=N^kI$&{phwUQ z+CV$#1be_f(2Lk1k8FGy_EC>)P9X0IkIy^`|2TNjBbqP4z6!2-MB_cgeSr9z$o&}n z6QlvlBEt!Mpd^dT)meBJvSgaSdZj^P+_Xv}H#;RK{qj5pU3BsM#k2G6l9#SrzB)gD czD4rU`8Tf2;`f#mApGQ#f@J;bl4PQP1DN?2?EnA( diff --git a/src/rel/SANE#FE1000 b/src/rel/SANE#FE1000 deleted file mode 100644 index 3392c7c521c669f78f6ba5bb9b08cc2dda9d2649..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2529 zcmcJRe@v8h9LGQReV+Rf7JT8rlZ1H&K7!y$ij5icLqx7bWN|~h*aC!Sa55-|mp-%E znJ}`>d7CY4tq`3N#fIj!xwQ!r4H1ojwz;)MO-ySQTXQsjUGML6$VA5cr?z{2e|$dg z@8|h^Ki}`O=d#VLnyAAXNm;hO3*U}jDgN%3^&z{T=ahwmR)JCi0xl zqSt?q1&{bcOo*|3rn)P{oL%?WtW{_IcUZ99f0qSkuAehN*IfjE7FvW-8SW%$PTO>7?!W)T+6+9j}1=@4*wx)cznFPlo`mA z#!E6BQN=G7=GpUhZmoX3v9_T;$3>)4mZcoMgDrjnohKDK*yKt#D>XBfRi+yZPnk$% zZnMhPMAWlNuZ#invZDFqSBx}HOw_;Ri%Aiqi(?Jd`v|k%)L?(CsoRvk_l@S z^Kkv4?)*|lj)=U1yp6?<+)eB9TpMD&sA6FfIpTGzy{@)$d&Tx$_WFiKyV|g$zRDpg zOKyg25ItFeTzfSJ%`wrCRaq6IC2^%TMq9#_lQG&-UX&y>W6@{~LX#S!3`YyiZ_z?C zPiPoUNM^3d*n-C)R+%S>m$+rSTP`(8!WyYtRoSxyc9Y$0Dz(VMj;%qh%Bsn;6dsG+ zZNZk1TOl_%=B+P!W_8BO`#aN?bKwws)345hTdQlRsHzU{%|5-ir%4&%+Cr|}w#uqR z>T5E@nxZ&bmI;NIlqB8ytgs?Gty*vQ=xv+c4scO3MA4qJDrI^;4SGKBa*)YqfCi-KlHcB%^Y!hO~f(R*4H-H zR@BvM)m7rG?PV^qm5I|KTlhTC>-9%(Nr#_xSc#2+4Y9-~!QMDxt)LqW0OH)Q~(uh1NGny&&;d??v*0558C(Uw;<*-+ z?29y^7T`&c2<#vUC?FN2gB4&USPim3HhA7df%PUs;1yG(Zwuz-U@K5TEvSRP5x!j* z?*@CoUeE+uzkD}2_BYneLxK$tYx_B&w|HSbGqJIHKoQGxr diff --git a/src/rel/SANITY#FE1000 b/src/rel/SANITY#FE1000 deleted file mode 100644 index fdcd8baa08aeec24a6e05e565392646be2db03b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2638 zcmb7`YiJx*6vt0)?#w>3PS;J7tlMVMB~B;FI*A6Ow4t#{G;!IkX^b&in%c=ombzVa zTx=9&i>+1G(D_g(6r`Ytl~6YBoCnr2?oTyvz&~vrNX5abv(@h`0^+7NF-^bJ1rt8V}j&tWmSe2F-B5L{U zZ&S1_s@ zCTfTkJdRgp1-ZuNL?v!9-VK`eSLXHgh|eUjG}2=2?XsrdG>sTpyKW%W;CiWn87XfD zN`-(Sl`JXqiiNoTa~HQ{H{rj^QpnUIdkpz{eOEzSUfAj8`(@K- zs;0JQSHZVDg~nI*^vRh_BN>4yQ4RH_uxnA28YroOPG$tq1S7zDrhNp{n1=SwmyJL= zK+FngI&ArDn1=PR$y86)OT*a+4Ue{rTq~LUsBG1k-nCV^u*fQBI2kpCh~vIeU1^dU z&idT|-B<}1trad>++?M^8pT@uiAK`;P1ecsS`I^XUNbT9yw_xTlZ{^Mc%_9`+V$G% zdI{|uFFmoEG9faeB`b<;M`xmWBWlWh>7U9*bYG#~h#svkgp8;aH0!BvS|)6qr7ovT zkc{Azu$JHyG($bOX$TKGtvFdW>-QNoJx6K?VLeBjFrNAZ9;GpNOG#%-GP*0%p?ccx zcP@?^?PN24xXc9d&;C%h{JOv~+(Fz_aTbo3*6TR9S1mM^3*mfLpiPd|4DBm~GEvf+ zD{30$iA$+Dx$OlLb5? zdvi)!a;|YG{YE)+uQ+itL<1?6T69qsyANe$E+sQmLhH_28eV3H&^{A<2fm?K`$w6S=$N`5hBED?a|E18|Grmrd*a5$5l*yB|ig&V3iBC2tGQGOg&eJ}qA9$oLBaG{&CAv*h}W7$k~#-P%d!mu zqk_cWcgw$%vI|VwdNE1)1t!%lCaHXZNyUXZfB8+nMJwo=4#Oy)x+nX^?U_42+_7zpN zw#vfx0E^i}kP*mE$Zp6JELJ?q$$o{$?6)EB@mO&I`sbY6Uvp-k5k$KE=TQv5V~eD>Jf?Mj&DKU|obJ3gq? LlK7udi4pw+TTEmT diff --git a/src/rel/SEXPR#FE1000 b/src/rel/SEXPR#FE1000 deleted file mode 100644 index 96d426a86f9bba762f7e67aa48b28e93a4a40267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11563 zcmds-eRNdSwZKpA+}uotB-~6w_%<;N5C)hRkYbD&6Cix(IE=}lF@h_`bkx*F7LB7# zt8)3$R-}#}Ep2@i6|J>s1}t}oZb^BT25^K9c}$=Ma~D4HgBtX+qc5IdEMJ;MeaJ^ zMsIG}inqoM9CEF1#fgXCT4%g$^_HwZvC(?j+got^Hec^w9;Wk$bM9N$BAxcNdfUW6Xjw9CN!V1)hE7boRUV799JB+)QpM96d!~?Q zc56aKvz1Da8Rl<_(EHC)>wl0+7?sx? zv%|v`zpK?co7!VuwbRuzu#!2ZJfdQ($!oK2UOexx+*0aa##T2Z%>6jg7?1&M! z%6~}}X^;}PUh9G;uc1V>gc)s6aTA+ivh&l@t&*`QZiR=E(HgfF$BnqTIBq74xYf!V zn9vlZPvuH81IVOB3e30}c{~-TyxGfawNJKVC;VNL?JndgcKcMFoN9L=SJ~~=I$3RZ zAy2d0Yjm>4?wV#Vh&@;sQ~p@ANOh%b29bCFs;-mvf+jPoJ!P*VFRsY#Fw*1vLYu;9 zHk%BUu0Y@6Ld9=Fep*o?>Qx1?^+lvBd3|wQp;Zux0n40u7Rzro`S^lmWSW_(o0)1S zOw@1fntG}klM!j#Fq+^b*KT4(k6Np(R^>4e%x0@kX+|tMRoe-JpVqEwX>6G2WMGfD z!F$*uI5}>}Bp6kmxGH93Skr7OF*75#!b6mqD2Q8AmUiUD&6OR#xUn+fjZUEVa1ljh zQk2du;q`Ce1R=AF}ZXwVg4r}1BZUY*j#?9%Gw^Eo3n^|G0BrAX^Lg=bt zej-es+n{%o=}z0U^t4U0gVBD|Hl<~iJ8@n;(pXj@YeUJV!uk&vX4JIO&6S|;Qr)0i zMZ1C)amSXLGTpLP6DKurQu)o%zqvR~)quEKMMbwut7!tph~%q~Co(roUi2x_vd$MZ z+~GZp)ni{i6SD<;QSH$-&=9i#{vGxhP9$|bflaF)BIn@#j z1j;1Qp*<~FH)jKD#Fb}V5YAR*a_qJQE9Y!*Uq0u8bc4a*oDI@Uuia*hT=)7|uh z>C`CBQk{Nzabh4}m5E4qQK?7&fz!HQNM^eG&LUC#9Mx77JZB~=wymhTuF7{^QP7@= zD$z>Cx+Sl&lN@TcN%ej&^BQ{Q$m_E%h&+>uo}iSiprP zh%KLY;$7mKvvv} zg+oy8e7d{WgB6*6@b$An2bgbx04Ey)`%IHO5T}q@N>U$PP7k%Mco$xWP zW|KT3d5HsFCk`;1EVPULXk>>O zmSY_ivKMQQPS40^qF*K`)6JIkZ`KV3T4}O>%g1%gro`Upk=b+)mG+Cgzk7^Oa!!9s zq@#1u4)a9z5LZwsts$-&;Fe;^$js;{iQ&0zh{5Qapi$n!g6_+D@v6wNl!Q49Fa5Gt zLhpH4DqJjcnl`DtVnuWHEEANw1xy3SBEgKd-{N#{Iz?}%ck^WG)clyt4-?>{PnzZ3 z4!JD^?Q*;h!)tXfY4%Y+_K?4lHC%dzEI_HtVI+%z2J~Qb=dtx?xCz}>>`*D;8Rg<# zu^0Wis=nf!?q0RwD)BWOl{uHEzT0sjll_;AnXyJ^aP!jTIl4Ud{z%E?aPhH6ghMg{ zt+~{Rtt>_93ASt~iYI#tVOaY~eQ?C?ERsp#ieyIL<6ZZ_eMKaXd!xg^UMwl$RIn_- zP9Sz<4v2{*-_t64)YDnf`^ahEX9p%Lcd2RDWz=E6yHSXlXi@^F%u@44j-;ZTaaMb; z9hl@+lQ%dEWvRN=OVSB_-s>^zR@f0NM%KY@$+$$npnclX{HwUWzVXU3l;S{2DtcPm z_uGNdBI+*Or#nYuNA^oGx4QN&J5VbQUa@S*GLrO8l5*4jU7w+k=6H3Otv9TkWmD8K*xAo}p$#ybMg>v#^4Rtf>^-f~3 zlZ3qaeS3@etKM9qvWsCeI+g=F;{SsC7apm!8!AMlZ`9hml{hTH6pk)_C1+i~NGiNc zRvZ=CAUbFZg*WJr1I)UZx>jaga$^(AyTQXL2AwlxTXnBUbo+qYdHVQO?myKiO*i z3ArXl#oqniMTa(1hFILRvd2v|&Fzs+)8;`@64EM7%dY2|_LQOA@I?%TzeIMVh$skD`us{tf2?FzxP?N2=^5pqTOs-xmL=Fx|h3z0xZN@MC~&DY?Ax3C@nKEtVnuPyD!9 z{Gg<1d7mG<`{QypRxF^m$QxxWMoR;?5*$unA}gb3rxSf2g!oKHaAd2BY<5t&X||cG z*_|`rh<5UgXm84Wk7fsUnicZFZ-A~U-$pvk;N_j!!G)a`8#zawr%WAUzg^CL`$mdh zxh*d5x8TG`(X?CL-lx6}SEFJ)Gi|(&wfFSRre1HsN&VO9C%OuA#4*+>$3b>_o@6@o z8TQYs=d^Lj;p~u45UTn1HtWfpbee5X3fipYojDb`B0p)ZYReJJSyMrIGqOkdv~$^oMnh~BXEc)xmTAL{; zlsdN!ecwZALW#^}g;ZsI8e#q5gC@V$*DI=6M z%auY_xbC9qGwbAqU3SQtH9u0Si>|lf)i7WX_lunJMxH7ak!Qp4+GurtabLkXaX-cTu`DdsN7%zc`(k9th<`=3g|uzTy0I&WTYW%gsq= zd|Zy9=4BeYG7$3A>A{E^D+3{8UPcQlnvwZo8HSYAj}Cb;$&A?Cd67)pqeIrr`dM=$ zGCHXgDTsjG$km)!pl$mNNE)9juej^~6l^MXsaiN^X7%I-r4BtC0 zWVt!%#-AU@+w-SqW_no=wd!J-Qa_X$ke=t|7|E9;%E>;3h~7Q%2oz zWh?_O|HhA?8{UV~Gn8>PtcM|`%2)}9AirE06QLUp!^e<43SD4&Kp9uUO86xlf#IW- zF&@r^dN={KW0Y|-JPk)dja5bwjDlIv2#eq|m|dX^?>J>_gy&&dP#MP|pFd^tj{%I^ z;3pH5@z_Mh3Rxj^4=LxNEaf}`zkm(!E7$~^;WzLOn1*t4U?7ZxY0wVK;CpZn{1|=? zPZ%oslu_gS7WrA&20P&;c$u=plpRI>BfJK0z{MWr#NbkBhK0}qS3w-Eh3nvYSPVD7 zP4FGK1sqrox54*eH6-C)SmRO2pL%TP0pv$v1L=*P0_V3p|IJh5>?Ut7^ul5I1007p z;a&I$Y*RVKFc?NcIgEjcFd3?0AzTS<&<@wbx1bAdh1*P(Tx0s32az9vzmPs@7CJ_@ zauTou4#QD+72bqWOF3g8P4 z-Xbo*5DMc>He%f4Xp6<;9v zp070dp|9Neocw|TgPaiqlye^33eUlRz^Cv9c=D7p0M3SsfRA3u`FST*%so zT9^Tia0x7iTj2-5-s^0Et%WN2Tw#r~i|3(2(>coXEuQaC_8#&Fg&yax$T@!H_@M-b z!R={Z4R^y<*ayeq12_p;Man6JDp&`{;0^e5kxKfD{Z47IaxR30@NHNM?Dfvi z;a9K;o`pSd5MF~f;C)bo7%%W)*_i?fNWxFxUk9n=gM(_EN01+f&F~T&g;(KY7+1o4 zLNhEZQOVYl8m9yKUicB|`$<2F+zq{O01m_3@IH74t7QIQk27L0djL#=X>dMFhk397 zu7g{t`{Thwod=NDBmZJ>jbjW^&L9{KUxP-t8t#Dy;o%`F`Ph&e=Lqtjp>U{5o;~zz zXXa4l%tpR&=())SL;cCyhWeey$=d=upcjtA>(qH`XpQp`vN23K*~3)QH>}1fN1g;z zNS`yTCYc!KcWxzpH|b}Q|A2e~K83%Lm*Sn=;mR2Sb6`HS!PUc6^19(Q4(F}279Jq| z2P1_!fK@mcU9_4R^zR@Kab1Pr+~C1vm~L z!6zeC^7D~3j_(ZS2!=o*YGs_ z4xWQO&;zf)F*pvd!wL8RK7lX5ELBcE6u}56hw(58s-Olg04`I` z_r|GqKgxEe;9eiPb&!u*a z+O_xK@m;;U_r<)UY**g3fBOvYX#3#)?K|qdW9{xEJGy%h?(T_rE9~z5`;T`Y>22@^ z?H77_UOL`=czf78!S3D9zfN`w?ixbg9#=k8`uq&zuLP)aGqmI`l>62#HPp_4_6Qpr$?NT5T9K#5z2LV|;fLnapo z5pi&Eb8t|o8gXc_P&?@2e`5Sz5cI*1ci(sS?j83DqYIQIg?o95o~Iuz{5u&1SRGXo zs}`4atg_+~yYj1{isIJ3%Q$y1%!^K`yx9K1RvS7<#JsO^e5PfNIaLsMrwAm)1sZ)i ze<>~4vC;gB+1xgK{e^y*{LdLKPvb#eR`paJRTWED>72Px>AO9rduT3diH=bc7*#>A z1jAbff)!*u6Y$m;uOsViFm8}-vP;@zpKv2yk2u6712QB>ahvNC!7a zdAHPeN#ivfO-AGKTU|1U!e|=qNf!74RTF6= diff --git a/src/rel/SINCOS#FE1000 b/src/rel/SINCOS#FE1000 deleted file mode 100644 index 8e4917b5e29d4531a6a942d422fbe300ed6b5a5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572 zcmdnR$dt;!a9)6gVVmILvqvu93_f}8%4Q=528Ifj_Z(@wcLW2(4oMlyFI48yDABoT zU}ZYZ^1ZE-(*(DhUNZg>!TsU;qMyaHrzm6?=2#Y3mgrZ=)G##MYF^o%+pXSzZBpel z!C7>gnsQZe-o6zQby_{XWx!(nmfY+kLY5jLi8h7j3R=z9w}u|Mr%< z&+l_Sl6)fmjOE3>m&;zqy#4=f!Uw)j6`wDB5&h==J@rSy&x~I_zh(a1{L}PT;@`}F z?Ee$~FZ+Mv|F{1P4M1l{urUU3F{Cl*WH7drL1+)ZkN;s}O&~D_H^0yS(-^d(+f0mxN5B>*Hf zSb#(tTNDRa&LRqjtPX=h4AXf52BsQ82BsN;42_J842|kQ>;%NAj0_Vi7!?|ufOI>f zR$~{C?qyV-IEhiIaRHFM6ezX=NUsKpZD3SlICK8skuJfOY}^dXUQ$ diff --git a/src/rel/SMATH#FE1000 b/src/rel/SMATH#FE1000 deleted file mode 100644 index ad6b73d73d811cdccdcee4365afaffb2e6f408c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5916 zcmdT|4{#LK8UJo?Z*OzCgv}AcB|x;p-jpF~`1!4G?EX&V(#zBUz4#Bs{aOTco8e z+2n~!p12&AiQ*E)Y^v^&URq3yNyysiL|W(MsF`0L#RITl#E3#nh+I-IXMunU zP~3s>3rd{NW8>8ljWsSONLF4znF}ak+!6L-;a_yFo@1l1n^YMq-r_a-U&CxwlSyjVJcDiROxTT0xJ9ptrP>bwfV&$YD8ebp%) z{1L#@XrA<<)S=}Ef*~Q|H+{lD0?>M$UicjhN(v!tV6}u$!Ws8G~ z6Pt_oQdtom%j9&tnG`{l^w&T-d&HX;7xmyWH*8|M0r~^msqpZER5;}P4B3^EzhouO zNh@(@E?CVq-XxQjujY2;UJ>TzE0}?q?r`(>y|I~;T%4hIPssdzWxC+?oD%sNG_~@C z$TwtaGiFgHwCTKGSv*BAUV7>Jw}f6io~h4VI-e^g^P-wEq)SRSzI*U^?cm=(xW{(z z=7~|+_^2?Ac&rU8t~>rwfv`9pY_3FTKOR5B+|PsMZxlR`4j%aC!8_BzJB?ud5>M~x zD$6!E)Ggy$Uqvzb&JUNiOvC+wp+ugr72khSTnsOya0NCfJdG4mouwrQgL3K}fXTtd z@kjf)1$Nv#PvY)JzRrp{UxOsUr8dF`lDa9Ob3oa2E!6mC`P#Kg-_4!_FD7ehD?ZL<&NHr*Dn%7cqT6!SYney3bUTbT*aqkyk$+Xmm=2Tx6+kV}2*iOcz&2nPuphVpR27lX4b)tR9Khij#C||N z?GYljnS5*ulWs+9||R`2lgLBzZLdv;2p3(h1h3-=YU@c0qu2xw6m}Y zRu9Xv-pF#TC0dDZZ*I2O>SIeFH$x6Vjsk0d?^^@xVXI&3gZ?L0m$m~u zfVf{H*FNh!w%=O9-hzD)`nO>}4n7I{X~cd6oCQ9%2DHo2e-67WVvnMWT`ziAsW^{S ziGFPnboHW33xbZqGT9HKBJc-y%l8Y^rJgi>2ncXk> zS&!t>`e54*TR&`11J6o6wg-3_cnkIs*iK6U?IZXpcG9l56Ps&yu?o9~&9~REyX}7V zpxveQK))5d4ZH*Pr|jrA@Eq_O^oO7ywFk5_;4#?$0{uDQ6W}8Bf=pVjOw1*_v?A~< z*~iKNFHj=~G(YUE!0o_#*f+>7_5f@@0v-W+;qxT)+Y!GD{0!{Bg#IO9AFv#( z&H!hD^T20-oJHDHpcuFjm=7!gR%8)t%W`SAf!AdD*uB90z{aeAwi))vfdSwbu)mt+ z*WQGD3i79rFGJ3E;594ny!z^2F%z z1f&u=aF}amQ}UgI;JGyN&M^2!Iy`g|JdcKwgZR}Mzd{cshq+Kg{1<4&M<L2Y`Wa>Dj?bPW^#q_&x z!6JiGo&MXMd^z7e=iGDO{qDJMXP+~eO}>$UpQ1NR&b~Z%u4DSusrWCaXQrlGCr`gR z-AbeqK3x9$|0l12&y;rJ#L)wfANcl(?hE)#94i~Yc=N=I4{8%nJ*ZE-boAIo{@(Zj z`i+*;CXNej;-ynLe!k$m{`#@pJFk!D-tO*FnZu0nTZ$u113a|mwwOUl9?>&A$sHPY zXe>((` zq3T;>mHB~&Y8l=0^Z2`gtdT@QMs?VjtbplB@ZqGE)Ey(??<&WW))^^Ioh|(+(4FPX z;omK#LCv8fT6d_i#(Re6F3xAQCa=iY5zXO_wg;s=8_`kEVXL}#N42aLs&=$tM;l8P z#76>-7E$W_kjJBH(ht&RQMl;#bb2UlrR~kh{=qGltVH;SKPypAiSn*Om9l<^_q4x) zHF_kCu%7suK&mlN6{7Hs?d=<)R_pdm!;sUk&Hnm!d$8BGdIpAi?_G!@^<-rIZNDbR zs3%r)2lcHmQ_X=0$0$`oomrzVWEwR^w6xT7J4Sr1tUR`}F(B7KDodw68*p&&7#K&4 zlt!IRjz3mTj(@buyd0~wOn*Ki*IEBVj%aK#A(}FfFIP2TX=H`j_IYB&qw}OT&xe=C z*T>tU7WQD>J!p>%+r1e(X$^1gz1PlIL&Lp8NjqxQNKtrCUKL6d{zsAv@PAZ|jh{e` zKarzFc~-z_6Ye%|2V_UX7ue`Jh1Zdlj zt+p&Dhz7w%Z!)ENqm6+p!YnuQlC^!DVA_8bY&H2vDW4Bp-lKd9ojO$6H(MFD6}u6w zAfGq2+B?h-4~!BWQp4H?Gwv%HZ3v8n%#nH%!&DJ<-nYVR*+Ajae2)$d+k>)49f%Q? zohm00g$wE}FTwNmdA$pFJ^8M`TxrISiP;6Am+Sn#8d$wHV!=57bp3t{OggZaz~b9jP1g0rXy~At2LY)f8T| z4)-6uCHJ0hu#ajfC;rdJ!LENC;i8S`>+78BwaTNZN%lANTvkd~$yxhhkAD$Y+xO@t zVuwBm*X6Hvhn>#a=}&&UJGvD4^2^HiV5$;gRnma`2Dzo!`wHrg6;r4Y30K~d_|h=5 zbnuP&3~Nd#;U#iaE5B&H)oG`<^$!hNp9we18=E4$+BsR9!e;B>K>wg^Wrqf~Z?(5Y zWi)=NJal{Qm&&}Yjjj&Va|Z8da{w0y@4j@3;b~-v*n9H`G|?tD5+L>h@GjshA(jOS z7ZHO#429UGauUaVWn#`(=KkGB?)yFxb*#+&G9&kHMq&#q5j$B>9APEy8Tj4=&cpvc z-YYNZhG#cN6&6z_%ztcPn@nxF6UB>;WDI_5$Am_9O2prNVt4{1EVC zjDLdhE3mV$XJF5w&hKFZoQrZ^AeM5)ZRX^z;v_b5?)HK207fx>fCt4v_Ch!)<7cl-8><6%lN$fDeI>0N((1!}kz;kAgoAd*y8m!{A3T?=Q&zhh8B5sVl-~6p8{PD5?x5ZZfzC z8H(tHy~n5!8H2k!407)?NbE8y+&!>+jUxA(@I3~;A35X3GVwh_quklo)|pJ2nHE!# zw!`G~t0{QB;9Ap=&O6Kknmac)d2%LZE}&CWCv&qW&)j7edi3PX%;|Mz5zS7`PUh}0 mOX#)JXLGr!cC(D+?*y}g@;?>KAmygcw40UW{b(?k5&au4L*}6X diff --git a/src/rel/TURTLE#FE1000 b/src/rel/TURTLE#FE1000 deleted file mode 100644 index bb327e73579a81e04acc86994e2bfc8566c92bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1479 zcmaLXUuaup7{~D^Z%&RU!Ht(>;Dt3y6GPXog;{0OM)41J^x}{Onn?&nVT-3TjG|JD z4c?ql5J84vGDLc@8^H-fY%i);GTOodX;PYW!<*fCCsPrJH)Vd`r2lZi!l&=^y#1ZG zPu~;zQBb`rGNO;j2eH+Swbn0_wMKh+v{h@YHYeq=uY#>SDW~*V*AX>q<&Ft$TE9ta z(S}53El-sPIss=kWCE%@*a>J_69|>8Qs{coE*uScwx^!8i4>1|mM5lkDA`@e3$-Vm zl^>b))Tt8@vmIF?Ux={lsr-nZb$He`MY!aY!e6?U6eFg(?!Fi(IWGs?ex~%4NilkU zUe77knZ2iTX(6TD_(3YYn@S&~h*)mQ93#wU@h6&tgmunrbqC1}n4=swagZC_%?%#T zmBPKIGSkiM{V8UuaIdLs?t4E)q{mcdx;cj2y%jT6xYtw`Z{|?0duQhM_OI)teybQM zI9zolr9D*{(4JLEYtOC>>Y`JygS00#??kS8>S{h2^~Cf@y5Wvc*Z zBy{dcDJS&srN9DBx0=X4c(lKLrMoR>vwu7)DxM;YBrOsNqqY91>{Mnz@dVG%dc!tt1>Xfw{ZcN@ge5%2|mLYxP}|}2Dh+`A8{LZ(8N95$FKNJ zN%eP?@&BTJh#h(fj`>zl{3mb(Q9O+lhVUFt2c`N_Fyp^M{TjyUCwR`KK8N!t;v(L| zOi-lWyuDWY;k53TR=c^izC5avvaww^TSKx|yK9PJv(u_&^_VI6KdLjbTCZ)^YmISd zMVoSKeKqeSqqRn@-QM16*TbI*ZYb=G}Gro2D3dTAhCL1?PBdbG@;h PbEeI@*1VT>_@{gTv{i|{XBf_P zJy^}qUNF>~dhQIBb5@S#3SLo6P$%tJ9GgrsN06YUveUWSre}Ai4?VE7U zY!cA8(UFWM0V+|1 zy=_~tS?QnJuGxM_zd`?)zK`x^I+<@UuQ6{j|7iU$>m}=xl%INuI!smA*4kdD&QX`B z8`LISr|o&$LEBdA7sxM>Cy5Id&2o{rM*P1eOT0wJ$Vu`n`98UiyiWgyu4XnfEb}-c z(}(D%sjbve>Nxcb^*QRh)Fky5GtK;h;W@Hte)4bOLV!(VqR9z8s!Ys#AIMXh<|7uK zAg7BQYTj$X9D)QGN4`az60`^@2|=FA;z-WOx;(GOI7Y{M@%{3=E0ujvRX8i0=jJO@ z8)Cze+clXQeIhdh-WHVzBLlvelrz2!n5(^~AHNz>lkQ?|qA@6mn!?UfY7Cs2=Onv9 z`KZXFro^KKiImGcx{AjR^VpF;4qa7~Q*?wqof?ZNXe>2PpUkpqip2r^HkvZqpdiDY zj*X>~g9?h243EWpSkj@!rUrL~Q^VSC3N16OrlLtTX7)xpk#i3~W+M3}N~=lV&0I7& z39STa11`h~X)DS?n7F~zq)W-NKu(&B>9|qEiqFli(q<}@Z_9`-kF3N4=w`>-gsbh3LvUWh7*+)2}WbUZe`>_AQCk4xiO8<4S`C8dCT z#91OY?e4yeHM_4AuQYV^d7~lW_2a|yBBk{e|)c$cDw^RXF zV{l6#E9PtS`s?!27f16X|`OoAUmMn^cP$Iqz}q4c+XmOun=9 zM5Y^7Fcha-$Lko%HkZ?&L)EiC$z?0l@$}7{w=$i+kjZ+|+V!~wZO)`+`?>3|NAwGs zi40q#!$0oV2^}|UIt>Xo`xm!5EO&Ee>UGVF5zVJ-Yjs_Hd*-aRT0J^5o?WYbtZ;q+ zpS6!=ZMr({I;%O;Y42&sP5zYo3vpv7#Y>iRY43mENdotl_W~s1+-wq7iJ_6R$}-Q* zz2^OP{w=bsO>&35!`?A&=$=)kYt#3vI$iru6;`3D$hxkvxY6_7jzesoSlEf0`8jye zE%eAa^PM+wIStE2zC1}>xB}AI73@h>86Lf?CUtnmhxl!+{I>NEuJ`h6tG|_RYV-RaUt{&RwLQLu3JUe@t@Xr~r->&^y$`K__>o69 z{GIQy`llKi{Y`WeOEt7Mwm;iWwbnN@w=|N$4za-sKnP&89fKAOp2DD++~gM{{@VXr&C#s<0lY(MuRn{fU!TeTv>ZY}+Hc6-@7thMYv*tKOd>~m#T z*jwBO>@|Cibvq8TL)4Nyc-T!<;VaiU0^QQ6hl3eC6}UkOde{{`MZ1pLf_;iO?W88rog z#bg`4#nfQkzVs+Pxd_{7l-AAMe^gG#g4xQG35sto)okX285|y^wO=Qwf=1oGsV_#T zsjp5F^Q)uDWmiyG@THi(=xq5(d>S|siiDAbDw+ibKZeEYK&tpB zpBH$Y1ePaD&>jnV-T*bAi3#U!qU{XoF-p2DO|V1(83E=xqvW(v6536GOc2((Q6l(| zXFHq<9Kg7{z7JY>o)_P_hXzWAz*O*6Q~hD&`I~#x^M>+pq{{-*L!#T!WjVA5cSTRv-oaZMBZs1oVzTIf(^&F$I?YqZTvosanHVuLgx3l03g^&=CfSW#7c<% z_7f`(;0lNO$}@E?MU0hCamg!1-C;5`yLa2FeeK;pn% zBDk=73FN6j;;8+3gV|+A%XW#q2+E7O)tLJ=gUOpMLA7YtZDy#mBwuR4!vug+=!M%% zEg`<-5UdD7kchlIYmrES#wrroPe{Zohr$#-P%n@4(s?DisKiQiCktkQZ}z1bA6U&h zG~3M`4h%zgkq3y2^ro{z7N z2)2N9FDa3=w0O&Lpcgc`*Klu-K)yCYWhFB2v6l)|AkThCl;=q(5Qx9ygm#gr&N>PC zET+?dYM{`OgShA|VX}5}c$Gx1L)?Kdjl$3e zbmMC@lAc~ibZ-DnCVr-4cDOvX_$RA&Au7%ZICj5P!9g3|C9l zp}>+MRgVCz0!jSHj#G5){UTrPm3ZLu5+5R~=Z)Y-BvnY25+(7X+ZlF-xn4dbdYpkWD#KPo#Agz`G2D)E0xC9Z$jPT*}L_!)2;UL#c(a?o2HdV&_Jfe3yp zdpU{1y=n(@rgoT<)<_(_QZ>}yj5TH4Q#ZHxT$y(r;=@kKfx~f}qI(@?{M&k+X4WNV z1dpDDU57S~1>o8atRgv03P1L8=M-)bq9j;}TM`-#=GvTg6gp(ia;VU(9{#DoCEW1E zZGmrjM+kz(`yk}uHwPeJf8E+3O&MDWX|j<6j+M3+n4TH3Y}iSOBA zL`l4My}{KcOK^E%&sjc&7K~OjXKY0mjhY7YYOo|+sOI4U4tK-eV0vmcnx4)(YaYXh z=Pj{n#olMwV8lS%kNy4?g?sb;%5VJ&4QsdJf;=~LIX);~iJz6Jc%^JR#tZ+)=;=2N KL%y{eS^fa_5tVcR diff --git a/src/rel/apple/CAT#FE1000 b/src/rel/apple/CAT#FE1000 deleted file mode 100644 index 0a4b94bf23ddec55a1dda345345b041b5a81366d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1396 zcmdT^&2Jk;9Q}EAv#CpyOukxC(sYAd$6ET~P^Au~5se!g17>65ZR=WqoXT0EC`x^> z+$x8{B9K6eB37Ib2Z~f~5eihOQjw@E<0P)^*tH!IxNrm^|t+lMEu0#&~M_5NW5fEH*^i3D9BEo&fcd)I~qGey5*XE&8FQsack0Xc;gmb?X2v zNSX?F``1=h@@t;IW`R#is=DWoUWFHn99quc+wYU%{XJ>CYOG@eWjKeObk1MxfhdW5YR?R`db!cOvtWXFtu4aNnmKhYC$;k1P3*zRe zSX%#TZ_i63e13$dR9nYZ-)oDGk~iRl zb~%LiE}xg_(x+~k`;wpQI2?>VB7PMaw9Ezg+;#re4N!pV`<+IjOa6cQbX21>)Du(b zB)_;gb9G@>&0bTlWo8%8ibMT#5Cpx~h&0?0 z-w5$8YBcMG+7;gGh`ho3s9D{v)r!-+pNcz$V$I-3sJU6MUgm>@dvU!~Zx~z^a;vyw m@F8+8%5n)&4~eUCytgE*wPgDQR&X-&1#&7i2eZ4SzQAF diff --git a/src/rel/apple/CMD#061000 b/src/rel/apple/CMD#061000 deleted file mode 100644 index 6de4bd1c0ca303e37d6425c92d5b7e372bd84578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3961 zcmai1eQXow8Gn5~pU>g^kq?3kfgNee9M=tQ%TUJHmNYRW^ayTpP-;NEBJ<8ksmqvi zMd>tBh!H{o1t~!p8m*xOEfs$xlxw9`G!9=2XzIL9VQPh@A`OygEAy&?)<59(d(WYu zYSW_l{dnHz^Y=c_^V&+&Ql)YJVvgYNl3y);qqwh_tx2Q*vKN!He!aS`b$yG_u(q-7 zr8YjgUbTj1wrX%-P+HjXIW{!$t0QUy8`_-ey7kd$q*Z8BTN|P;SyR0#Hbv^AYwKH| z_pn91qO5DESDIJ1xW3)aVXM}N5~**C6sQ~On-yVgWNlkSWfPP+n%mZ|R;@9@M#Wky z5xy<5Q571SH>_RPD6Fk-XlibB!e^LJcs4vC*`@2!EAGEZUGC-5cF&KbgeN2&@zhHb zo>kI$&(o5t_<3osCn|mBSuYvhSEa6!z0$?vloTmBD7{tkYw3gHccqWq?@71aqf)^8 zp+vmrq!r!^Qki#)bfY9L-7C2wz2N;sQoNJW;20q@5+MBC$ezs{>~#0)?r9@?Fy)pB zj>te(6OD`MDdS`s~th>^)J@EhZY#cSETXCm($`Ks19K9axX%H6q^$=!x- z4Iks&+++D2#>bOm#@lz^=?fWS(DF{&Wqh0#jJMOyv*)1gScZ%WhsB8;f6H~tdF@>8 zU)PT1zSN9!os9cfC;0u?Fp*=O5W4KT?978LiC>y{kt}NFy}V1 zp~11RUH;JP>Yhdn@|X7zA&W+q*y?JARPSaHY6u3A8=16oRLEDPr@%5XDm;{ipt6l1c4Algy1s9 z5z6tjlVN(LyL$J;VR7WnV1^tPr>$VW%Qwv!^X0!C6@XL@2v~saKP=|H9u;OKs&`*` zrBAr><_I_QJ>=3bNsGgu!_+Kl&>-eZ{v_l|CyGYC9u)@wpE!`w2C^7NMW1~l_syWc z-M&psi+!IWLq37z)HDN}sbCIRJoyEHeWKcz7e<9kQ~BbF!P;$bq3`DAc!@o^P3w?jN<;?xLpI!1J&I)-7et+kMw1~O$ z-L#9jQ0>dD8x_J8)pa>>RP=YA_xC-`)MLd0>^$M`TWrzOQwXo~#N_clDLtKAFf=te zJ~DS`8hJQ0byyq{+Ibj03d2XHho<1q^gw1v92g&R4IGDm=i%Q84VSl(vr$4;DG~`j zrEd37(x($j%9<1xoA#@&VoV2W!#Im^jNi#|DV`GDLAe00zT)0hDp3-1vLn$Zq&OVe zLqyaaB;^cF1h@iA+!+%Y3vc5XOUfSngLU-FQYpr>1CL!y2{>?4P8TV!7ZF_wUJVGd z7NnSmaoI?KbZl|=#B6LQ*s#_)Ht-nEkghH6j``9`pYk}Ne2CPkE4-)YFo6(})qod4 zf|%sLWt3+bwMQ819x!ST7`M0)DDf&qgmSPzVglu30&}3qPI*OS1}MLiqukL$y1+KV zk=~?uhWrYWB9n9w5-Xx&tO!Cl-^^qg?$9=T^}^tFzc-8=BZDn`MlsS7uId-@cL#-Vwgs~^Ov*7}uJYepn9R4-+wi_cQJ8)4J*z9bXw&#&! zqJd-2BP`Wmp`0rElDrZGn(Ae5QfR3l!ME6j^N4GcHyr#a(gMpP9yQ^iLads^s;!Fw z7F&~iEplXMP^SEj&@~{{yAvw;TKi5mI(9q&aRxvHs+l^BYVr0!_h~1IR|kEol*e!o zXkW6>t==fX;k^>fU`Yky0mZbHrP>44dPneLpdDFaNxc@l|D56@@qqe9aX7dJ+0_@D zi3bAh!EUv$Sm$WF&IdYlxD+D3J-Ub_qny}yS|s$<5Vx&P=_K?uq|lMB`4W8{iTHE9 zi2g#C0-d@Xtsztf3@r<0^^;Tpgaf6h9+4z0Q&e6CXEu5Fz=W)|M?BC{!lGqyKJ-fNP0E2+d-QV3)AAmjryQmg9Q@^(Y#Eht6}ZGQ-A8?AINcWy zP#+>F#Ke&`%8Xfv83>oD{Ux*v3XCyeP>amQz0!Xr=n5Pxt7)WTmD& z2>}fiS4yaFE3JZrT~p=KJyG-z53Nw^;PK9H^|X9!Mt=;m`Vv|-i&U~oTPZ4)Ai}Oc z>7xRxm^n~qNh9JV)W<@qs0L#^Cz#HDIr{FigS?OEN409EKg!{xRgCQ$a)5_b;a#S za<+b4OR*kSTcsUJIjC!dojKz6OoG{SY08TPBdof1P!~)EWpqkctxs#62M1El=tA^w zOywl_BqlGhd&#tUpL}JSWXg;?;bO1^8Zr{uE(T?6PyX9XiQ$5!lfPm9qASN)GYt_A ziG{IplNsk&C84@wa|%rh7Fb^)wdfC4Vn?pfaD^G=tL1d)SE9l-0b z%c0x1>y!oHfkz344DG#52r(pJ$z+%)45)@X=3qfK+c?&Z37*ouUZs&GlHP!4K#!n@ z>8n9LP@1fV537{#6N-hezr{)DYS!Hv@c7UO-i-%uPT~DvZLHY>kZBA4Uj1RQPC}+_ zNrl8bNSHQdhF}Adlzv37aQcT_o`mp6@vXzc25ab*Mkw z1ilU(`H2mnhscGl<+xmr9|c%b9#taE^^K7>dHJ&E}t8K=z?s)cWq*Xtu5D0JdGh@$3@ie_}#Y@FJu^`E{B90>T*gz0N?@1UoMo; z{SphM?_vqSY9#gxRBlu2TU9H5X7)UbzorO3Kjl@ek%&cCKPWEH)y0pI&BOMzFf6lg p_&wsVly;r)6@EQ^bIWZpsMpag-I2iwziPa_2Hp{)<4Sa^Rpd@ zs!dvy{GOlh`|-Ps*2Tn8C1#D2K51A!U>hzN6OTw!sqb%CZ`iJ+ZuOg%{xA6c&-nh& z`O&uzUFZ8g>-+oYo3YPh{}{e|d{|M5tPYhu#1Z`5E!kSIr{HJ-Ta%Ydt~fDSYd7ng znm0FzbsOtjo@o)Z&3a~NWUIP73~Ccwu3^JEVQoOKV?&Eo-?UlN0?lHJ-dv|WlbLFD zXcx$?_-evzn-fMqS?sWWA z?r`|zZK@ z{Vn;HeN6T_en)SZZdIkUE;zlehyrJtIfAR=}~SF$=92V zi3hBGQd`XS#`RG#4!WapPYCxaQ4$woQerq}JC{rgcj9r9h^NckiOD0<)nwW+mA0O} z-CEkmPiPvJ*bLYYB zM4V)^Nw{IVVZC}j^{=ZZQeTG>=ersDL^tqmY#7OjZV+9vU9!f_#Q8LL=L91>m^4!Y zI|S*sApK`(^iay4Ncx5*YIx=MPFwFRY*4=b0TwcA6q&8A#7WgYW?=}%!16>qW*rmL z<*^w+rpCnk)S!HSCiN9)WuX>-Bw`$+i5$Wvhp*T4r&1Q`KF>aOt(~I656XB^8 zJdknN!6Q=YyD>3GQMK>#&H?fAp0nJ|2a!voBqpJ@ZF61&2Ps|nXE9YYm4EiTF=-I) zlLq6V!6b$;$;G2j47s1@cS$j6;A3RSN1&XUWe#U7m;xD0x(sfgs&b{pG4X?$bive+ ze-~63xOOL=`Z&XEjwGY>WhM1UoF5aXlPMPnr{gKx2;d`DNFBAhcZo4^;IB8VslOa$ zL7u0qn5MwHyD!Eh%-yGAHl{+AE467%tSPTrosz~RclQPNz;ebOD`sH#uzTR4%z11E z=5-HGpB#{5v#GL?nd!;13rA*=ha)pbq!ICX0fLW1@UhvE8R#=R7$1=aCr509C!ya3 z=rC^7OV=MnT> z_T5D?B|$5@k}P7B!xir%l95NER_~OD%R<7|pu`}8g=3H?@BJ`y^-_@>6xfA>m!cvr ztduh(Dj501kiAztVorh_bTE{Kcu4zpdtcDPcA^DqgJXk$VVv}Ax3`zdD_!ctgbF^g zT3_Wnvw#u!h@$(PFcOCm;T}-Q0YmeEtLK2BIpB6X3>BPeKA{{Wkf2C~pvV-+=c%Ad zOaK+SILaMAY=~?l9_x=t<76)=B}SP?NHCvD!F&+mejB4@eh0UlJsH;umi8UYo*m4T z9T`&urXdG^<}};^Q-nDUr3iNqDCL0iJfJiOl;;6g=YVt0VI1c<=RU{Y9B|G#3^>m@ zIUv;BX`i!EpjPHIT+}tr8LqI0x?n@rDvqpIZ<<-F5$IyQwTKpjL1YmieTJJBj|)aAmB!s* zSQ@D?Dm7SK=@*PjS{Z7(W75igEGsD2rwJ42^F84+8RO^Q8#q2(D%6vhvAA;gw)3fuF->v2z9kmNb&O_ z{j;L|+5$oy<038B>tR#ZJx)!3Ftw+kow1Zw=KL6`46T&ZN*qGEJK};b&_(QEn4^bR zmQoipyVB2RjhZmgomRpb<3i6WLJND=5MRMXe0JsQd+jxvm3SMF`v}h}d8GE-x94Pn(buli`ji@6Naq1WV8x6hC;WH9;QXa`zR(S;hkjGyi0DGCYdqAR;cJL1c$gxIwY@x?dgA; zQK=>?>GW@zzIe*Q>;>`>4!Mc3;#o7yv2sLH2`v({zZ@OvzAKcc1Tb30MPlmX78R>xRvm9fgE+Ao! z$=CA8>6>Pht3hYwnWnsju-92X=?0Nno>7e*{5RDB3UgU93+n?2{_dj_gjw#}IzhZ{ zeZubj)9$Sk-0l}A!URc^eYEqKLTWeh^)gAPiXdG7%FRY}2u|Gw-H?(BD|BAhN+_>3 zLJy#G*caVr3P~GLyy|K=ubo$X-+Z%LEdvG`wdE<`-oFke`a~=l4I_mB{T+KSj~Tha z!m&qy;QQkhr`o_0$*5xwZvfAau@>FXXvE##;z%tNX<%iDh3jaOmC#1?Ng80)P=~jh zuAO_dGJSAE#)ZU}X2hr~4mcl)_w2Mog!hm7&k79UGc8NYWu{h}X;Hr=*x)FmCZ>`S z{T*lXYlPiN466yuuHnVn8MgCY0*@Lkj^bUAjc}J`KM|5BmuM^St@L)!7d&I|m0Q1CQiEt{mBjie zYU45TiCIlfo6AVISx25WHL}y(LJpgmCzaLgLQ{_ZGE6c zS^l_xgR*6#Vmw~`_;NdVY7de2XYH+!gV5Gs!p_gNqEE7g(DN)iXl=S?;)(SU9&WD| z@IUi1ytFkq>dBK4j~=TGOW`W`?WH9$9{RQ=@{c{IJwd8v_TRhGqSrR-89SNSOU%yd YeEjRKG&BbSnRET!g6z4zt(0v04|hLQI{*Lx diff --git a/src/rel/apple/CONIO#FE1000 b/src/rel/apple/CONIO#FE1000 deleted file mode 100644 index a12ee9617787637214dbdc2da58d9fd9e3879ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5046 zcmb7|4|G%29mjvUeR+9F3cRK%rD;n;DIq+AMEnQJKcOOEERT|LYC(kB#n@G4GiEg^ zBw!AB#Lj5Z9%N9kVCzu%*A1rINkt|Ic(Spw11Kn>;6!CA2R8n^eeY{SU}GMa!{`0p zz4!OK_ub#U_xHP{syF*78S-ojJyN`V@4NdBOsDfUd#)#^#JS&1% zp3~mv#$?=U!O!T8d*?iLtRp$(VppS-ms$ z6*t8D{?63t6ENkL_rh`}EY}W?ABXj@E3I$i*1JA=E_>Ix4bm4SliJ6|hX>Ka+T-!z zyvGB)$Ny}f1ce~RIK#E{an?HfJ=z(U+Ue2NaWgOA15s#+n_34f*(fHYCGtN{oS3uL zIpuP-DH*l31ExGcliHR%`;%mkdJqMFx&Ye_^xuKr`P|`MQ;YkujwzUvQlgW55`R&% zh-Rr4s#_(Gcs#O7_UGAr-)nwURvB4 zf`XLnnJp#t*;W}S(^OB&(y|;1%1LkV8Chs9r5NVy2H zf|L&-mXUHEqLGv%5Q`~zAI6#J6G>Ts@-Ne6BiT?4;zUtOTTJ`3CA42_q&KzaXq&c- z4r(juH4Wn>C#^RTK4BE|-I})b;6p0&NlBrHVp8@(^d;p32)HmwC$x{~OYJayt*H_; z$9xqahJOjJS#3(Fa5(jznaB_wP^%!1#z4(fZ5wIy#D}SARt_knF zc}J$%kZHb{ZeE9GD))IPI1q17H3mzmrGV;1*ERB1u?Ejte8I{Ze^XBDms&{ls$Om| z(Km#k2?LlluDQBFn{L3r;WmB0%&REmQf__%6PIwRU7j4(NUm??NS^+w4pQ^UXrMt@ z0}s~V4o#re=8?5_r9d& zl3*YoCN&+CdI%GG`pOBN%uMLp%oks6G54Xl@*drrPG4`bH*82M&W4Ri>|(x~#`$tc zv18{c6Zqq1Jk zyV9QrRj7`GDmPQ7=|v}s!Ml^l5sF&AUgqCWHDx_A5llvo^Ytf%hm8Q;qK@$5#kG{b zPg^)A#8kPvO}P&BdXKN@OEAxOr!Hlmg_JzBsl)ZM)0az%gX?mGU{#W5tSeXZwo9!z z*}vjP*YotnbR6`&ka-<;E?q17OYA&R{MSKqmFUh|ru)K`$DQSdv!)@fR3^PVr`0n5 zVY^qX%a>xEogjExX+v-CiV)$3f-ANDA@S@ABCce*k;tNit zUiI5b-vHCB)pu zaF(*r&GP~B86l3=8mq-BGfB|Ng^pVaGZq#oEGqBoYTkf|tyL@W1dHAbZqQ%OiXcvkSX}cAyLF&T@EiHib_Hz6UjZ9D4l#5`omV- z<_Hjf@S>2Z+9WjUwVOmPMSw&+weYg6^e0SD8C!;wX5%R>2P*1z)bYct`!me?!Z+Ct zFOLW9Xu;OWhNCUe?udlMqkD%34GUZW-{B$?7=+zfFK-5x# zTPe@RtOl0^=?$hc0d;C252(SyNTKX{yO2lCmZC_B z>^fQ$86dmLiz9<&*WBXB5Lu0r>ufGJ*K>JK@Ri0eL@FeC^oTU%%CqrdTsE$EtBnuS zVB^EQYU9JaW8=f@wDDm+u<>EKYRiFD5p(m|{6Z zv0Q+^5@PwF02Bh;6k{b|0Kg?MHV6y`Lx934HVh1Blo-LpL?vU1dhj&MO8f?FW-K-| z3+-S-7A1xWmc(dqr(lUaEKm$VG4`ZDiFVX=qHZ_Je*p);_h5jLV&lOb;4Uy7%mo2Z z4}Jj>;3d!k-T^zopTWoA1o#S^2Is&Slo1pcdQ@>cE3w9(V+V!DFBi zyZ~0CkM*$s9qf0YybJ6>U9N=^Wfp5<801*U>5u`7H5Rc@Y$1q)C7=NPs5r5?Bs?4O+k}U>#@&>%p5~6X*b2 z!CRmcybIm~?}HTh8#o9)0-u705tA$q5Z7^wmtQ$fo21Bohe5eYtsA|b!bWvan1nVqtGA1@fza{K+gVjnjbanLzRRK>l_hy^Doy z;sKyJCxGJTScDiZT)pBfzyzX#1z13orvNL%@uNUNHV_poz|L^?=-I;;A_asPz{RS7 H3a) z#-ucpGHyrHR*Hbzt<|QXwd<;B)v{7`A24-ebHRW&C-Izwf%-ApKW#NsRH@P=q&9or zYY+%3P5Zeh&pppM=Q-#7xbJJ-RYfd9beStuRe5Ue^y0;y?85xnzs?0x`LjJ|GTC&d zdoHzf>YSiG^#A_Xr!bv`eBUHI*~|CRh@`VOq|k_58@_+Gh=%0a$#45OY;(BjTROcV zjR#8LS?txtm89fFp-$udN}nV;9eBM2t!6^C_4oN4q?3Ca4-$C;3c(rIkrS>?TS8Ak zvk77f9TN3Y-!#({oq~-{tqZC~=a4eg<&sJ5pB_@!%T<_~reJDX7aj*kWM2_A49We| zuYN3MLH*Nx%!cva<1vYP{TdB_z+1}KZd#8K3WK?vVz3zuR$Fhy#?^jC{jBd2(>Mmk zyeOH|xO?7efrSj`MT`5eehqO5hWJqKV3KQG%fXu{9+Ui)XbSF;)$QB2mxBe~vFXx; z63E!JfK}wx0=j~PS36Qzy>=vc-03SN_*Pt3ns}&s({6&01t*-ohmfkK*lOxU4YdAm zkf&6Or zqU-yE)REX4YXEC_Jl5|KBl_yev!?vE!Sv`z@czdm_+iu=Q>_^Rnq8A^UDAtSpjbG}L*wp?@bs-zbl!xQ# zf1lxa#|RDJ;eWD@$Le@!wv=FS2R66)Y6K0jj#-BwO)Lai?T$8|LhAk&p}tY(dyEO~ z3?frrD|MO2w(yzBEw|{}nS1Jb{(6Hz9Su)$tG0n7jV9h}#kY&aF#f-(bOqwz6ybl={jx+kKBZ#j&G z37~=oq*z&Df9j}8wD6GU>#9Glh9|<&5$i;cMn-XnRXv_i2jk;Us(be7dL$vP5)IT* z+hj8jlo8%~9Z3h_AZ|Hpo&xiKyka>v;Y>C0rj_0F!$}+xFQ07Sfl?dRxWARhuqTCE zePH(bwQloeNnDbr#j<}p#qo3Gy2IMU{ZqWQz7QODpA^Mt4j&vu?9R1Y zE6(9oj``mvfzto^m$4>m1vKDUzjJT+QQYWz+Pee0)Rvwd?OhM}I=9`Uwsds%1h-kc zZ(R)^ATI6F=Zp;Y2Z(Y{l(@o&cgoNR$&k$)6QH* zDeM}inQrDb8<=Fa01vVXb0@1bA7&NCAo8OOePEx3{xIxspg94&#q7pO_;0gn;|wDs z2Y!J`#(S`rn9KYGxC*SZOQs5JwA&50oy=N$wdu9H%!d%`1$H4mfOrUT9r0%nn*k0Z z{ygF@+N+JDb~0W9f5q-HehvF3baT+;fo13}AoecmKSKOd;40!P0F&(IUD7I3l^n)K ziA=Y2w^0XMFS*Pul4@?1HWe$!IQvu;U7S+?}JYR z&jB;Q5#R^Ny$J1(!H)tz2Yvy(2FxON47oSKPk{dsJ^l>-Hh5a9Ff!nCKn_?0&I1>b zdlxnT1pg5D1o#ZNiuf0j%V07YGEfFo%4FUp*O+axWVC~K$&&eiY&W}Qml>3~*)Oj% zpF!?0v@ZZhp?OK>#w)O|$!m>cu)mib#vhPN0jGhpz#NbR7J>87T$EkL2jKq#J_9}n zz5r|r846GWlmqxgGbtpr9dH783pfd+fYZR=fO#MfECcVL$NS1EQ!bLsk|G!7 zmY1@AZWp$POLQ)s%B8Z|g?8?+cs`v?rxrW;szT;`D&ymv7MJp;a=UniMN&atNlOdM zxm6b5?`6+zjH2-fet3y6F1$7(Wuh$ ztZl|Fs5JNn*Cd(_y++4Z`QH8{siZk*dWk7>L>ZfxSQHj#s1jJ)P17*_9H(oXrv0iE z7&w-(sS>LEs!iEXzTSz2mBg#*)XJ)BDV265PAsQaM_tIPga!XJYj@4sef-G6V!|p> zQ?D<@?=6`*E68@M#ZT#V*}h?qc@DWb$zW^}x5wAtOWS3;ybdp8!-c=Vr7}|Z9LYhe z#4iV1_mToUwzvOf(tKR$L)s@CLKE^WS2WBCq($;CVe$1!y?!Y1+#69O!Tde79jVk1}9XI8^+wJ9H&+hm7$_))7V z2k-Q-RkOym5uVGA{JSA^b4MHE*sRx3zMYQ0$;Y}L99JHu!2m}J z`}skw5rZ&WGiN+qnskp|D991TtJkW)m zXpXIMV%MNlH|aNsjGN@vZ^8aVZsQMf7;S>v=!PBLZ9f4vj&Fp{JpvkOGCF24`qpd_wsR7ewL36WTzw`0cfk4--B zeV^x^_kEx5`!=nIV_E>J%k0ox9-EHOT;B!223X(%9Pj}i>;b#XMp>DQaxx#~WqZ`F zvKFgy7N_zSui7m;kN^QkzyZ#H6N&@HGKmt|5p~GUs8cSE7OTV}s>5=qPRpqlTg9UA zngIAYE}pD7yMDYjx%;N~ZdV?}iuJX-y9VrWCw86U5Fv=_B>`=xHuMW?r zd5cNg7tUyBl$&z{z1QW1L2Xd^YOcTc96CS`BWvrTBP%b0yRtNdQ*4zvF4M#5VX24J zn=XPt)1wm2hNY&Z(%fQc=_93>#!}2;X-|8aNtXz=nHf#EcA3VMGkN%mluSFJH#QWg=)&`AHj~Q)!4c6^m{SjTJV@FLuqJ)$BFx&r7p-sA|x^h9<=eOy6DxgRw55N%3_FOdoD6wFwux zgl24YUtz+s)Y2lQegzlw0o3F?BNZEA-BTsczp!DuyS=5Y<8XV+A-A`+-F>LFqxopd zvqxLoTaK+Op(iBhipqcwbWdRG&ii@yJ}D-4j|+7Cy)Zs4QhiF4R=c`WE;>G5hPTl@ zCE`_d-xjI9SI{e5QisreQjj`@?o$HQ@q$hiG>A0Mi8Nnb&@~19jEm+yt}3uePr3?c z1nzxIbr~=R5wRSYHOOXUPdNnJ0D{MmO+^r_ErM`kkr+IH&v%QM;K!H?BPTHa4C4!^ zze7xnb4AYZpZElp2|HP5a4ic#1$hzKfNVluLAD{=k)23A3*m#TE!@kp!6A&J$T{Ro zWE2@gzCpf4E+RS-LoOi+B#ESuE65!3BXR?|h1^DdK{Cj%$Q>ky{DCYW_mKxk9$`2L zatJ|+k;f1bDMwZ!Patj%!mBwKEdH_JkN&g~n@rRSHn8SqUl$nq*d?$KGm<+5CrnRF z&rCE3A{8;~ZNUZc%U7&qs)6(gs3wz%og_xpRjTq-naKw7l89n9k=#O7yB5{N%xpaw zr@^H}atBFM6-!PS^`yEC<#Z~(g&d@6W-|2_5zDE%W~gKhRq-pvHFIt&*-V32Dw(P$ Hc*p+$loPzG diff --git a/src/rel/apple/DGRTEST#FE1000 b/src/rel/apple/DGRTEST#FE1000 deleted file mode 100644 index 0d28ecaf0824033f266df8bd0701171527adaef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmZ9J&ubb%6vw|acG;+fjL@@@CK_Gw$02_~XuU+DsD(BJ4`CxY1W&T(m0UcOk~#Gn zNC}~bQgZ7pYc%P?szt5RKO*#2nnST~mZYV9^Jc!EnfINU!>cpCzl@4{WaLMr z2 diff --git a/src/rel/apple/FATCAT#FE1000 b/src/rel/apple/FATCAT#FE1000 deleted file mode 100644 index 34c0425f324847a9e5b8836936e61cfca9fff0a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 705 zcmc(d&r4KM6vxlK4jF-Q7z06`zF~sFMwxNd!c}0j2pLA^VQCK%%wc?s{DFZ6EnbTt zn4m`#1hZ-pv~VYGT$#TJ91%yM1h+xZu6^U@%}D=37e4oV&pF@2xr@7I?5s#lt^C#P z`cC6VY3q2u)Y#eE^5p-YhiOxmz{YvbziHoDITFw@ms?$|1~c+;iAN**2DtA ztHn-6F83AQH;Y$=6*R=RT+t_SqYX(!oA4F($xn%AaE|^dHu@zU(Qou0al@uaWQ`kk z8VRpKH}rr5u94`b>5DR^KfFag1h?T1jKV$o_f0Y!M|HVkGt|rIId}?-unaFC zgjety-oRUU$IJ)zd_>paGkh^3N2e#Fd_clMK|A7D(uCA^>)S_@niM|d-nZk1r+u+J O-2LupzqEd+x*`{PVw$7? diff --git a/src/rel/apple/FATGET#FE1000 b/src/rel/apple/FATGET#FE1000 deleted file mode 100644 index 27a88edab081d697284d7cc71a8d998bab2b1df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmZ`(U1(cn7=H78r|C)7CSUsFDzx_0X`QiTnaondy49_9H{rClXK5QnTgdsEW^Gbq z*0Eg_4wmUfL5>#_>eMk&6viB~-6)8mO}jwqLc78QF9gAxfruAgTAy<=1;K{%obP>~ z_wV`M!1;+Ylc-nt$Y@^MTHpC`Y@=K$m4}Pln`1lc8%2Zu|2M%slGLlmgMHCC7JhLs zu2PEi)fZTbp+wR?fh3<`o|MPv6)D0i$tD!^S(!pj42_yB>@tiL(c%uPIZuw%~sqmqJxK?xOkc~7qz>PZs z=_wzY`&i0%y@lpfMAWJ9k*Dftq>jG$eXpQKQ@)hC{Ddn`?F$xslC41XE!E|r-905+ zNc!EqfWd>kOb*N$s&*d+6 zHP*Cf$)IGJ043%E@qS7LGJ+D(h<|v|%wNdQ7EBFk()s5i-ouke^k+{RdPqM&(isp% zu^SGzC8AKJ)WpUQQKb2F-ke6YoSic@GoR1pV@{_u?%ylin%Yc#h$1aRPF%|^nAzFv zj9cO+yJL|X2@NB(Z!6~p#4=5kh-XQvxW17NW&Lpjw~?y!XIdyB{ZC?0b8V1wuYU)* zTJUn_G>yAA-cK_v`lVn0c+Y7V9qFdX!T$<>`6Z(!-s$Ny#PevOwRMrZF0hx5iOexE z6(1uU-J0k=D!QK+M%iHzj?`)W{U@A#A%=I@G1Er{Ru}GpnL%#O3Dl|)ahTho=*Tk^ z={Wn=^o$wPo`ak-Lxy(zA6ePydGiE{@X%|lR}jkqOTZnV4Co``L&Ibzm% zBI^>7eVJPA52@Aq7XCW$2k;m8Q=TT<@F@1U$7{dq>9W7`G}=GI|HZ@Yhn{x(PoSPD zb^}wagN*D>7PPw=w_jlG_AB5G)?tlxh2_|0e6QzJYxg zdA}m|5cmyz9an6XcUT8F*#XY&$9b0>19uWQ1^*0hw{;%0&+<-tf@{{RoUGRY6G#K+ zfGqGPP(Y6hsI$0YEyI2X_6ld#dx*Uc{{z^ous?!*jdSZ$*q;Mm0yluK!0)2w0q0cR zy?470MazD+Yi|B74)O&CM diff --git a/src/rel/apple/FATPUT#FE1000 b/src/rel/apple/FATPUT#FE1000 deleted file mode 100644 index 3673bb5394368f622b3423daedde7227bc579893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmZ`(Ur1A76hHUu?sILZ-$c-0;az`BR;&?4Hq?x?Ue;~o8afI#*!|3*cQS2Y55cYI zC11Xt3WC6=f-Ev9dUNQs!AzM21-%5l20a8l^kC=S85H5={_gqzo%1_fzF&w2K$JJY z{g$P*<;_n+E0t=wa-mdP9ok%8DJ5X%XV|3(@I35k?v9LO=;T1m16k~Dn8qwpnSdPv zDc7(Y1#TCr+l49>s##UQq=4BX2z09dkEYziZ7872lT#t7k5QX+QAMH7wSvh6EUh8xFyt-XV^!_XuQiq zolI3f0O58$Kdl*N{@UnOO%x16n=mHwg_&UEpW%E0a!rsN_v(WXZmqM(Pa3ApLX3?Y z(Z9Kb{TC?Y_%*{O>_o2;&nS1O`UJAR{#*+rV}~H?6)KHmTPBM&IlE0{{3g?pi0NOp za;=bz#5*C}_HW;_rxW$wbf&O>7J9SZ9H(qyQ;R^#SNC4mcuwQ#*ij(SxtAwi@Ca!X z47;`7-adPH+wB~&oigu_#P>mX_ob=KDA7Aa-Qt%LT93`v%uE=4^=!C|Q4TmoctJSl z2h0%W{UDQoGEaB|0r?GDtVRW_c0y1Ac|uWT58;&JlIKar6(%huC|@g$@)Oyg$^TUe zNEfQoL-3(X21)M6J=Q@486x{Q2IUzHSaGtikbZ;Ww+MGAb{7Nk9yZGd*dZUHW<5f% z<_J#+PYKTnFRAVor16-WmV^mj-yttmP?z1ycyQYYfBp=yano)0uR7OxptB70lFSmDz(i7 S@37T(<&O!jfpcH*Ai!^?;UK;M diff --git a/src/rel/apple/FATREADDSK#FE1000 b/src/rel/apple/FATREADDSK#FE1000 deleted file mode 100644 index b9b0b49033d9191a74c1ea7efcf203d351102ec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1475 zcmZ`(Ur1Y582|3MH`mmej|&{5j42PvZu4hDq=8=Vl>pml#9_B1vad)WJ6WZ#Kx>B}zn$M5^T z^Zh;NaOxCd0Q6B6KJstuJlOjsy188{ZjTgpx1xIwHVZKjUmU>ese7*Wkh?~8DKe3K zFd<7OxK~g6`h#iG^-@T8LxS|zI3z(Z#)SV_n3Ai3=z_l^Toa^ga_~-#;H5!ac9G+d zR!ovm=oiZ-w71i5lsJk3kkI?q?-fT0PPr!B1ajyV020z`0V$_OR4|cDFx6BejAv8` z>5X72cU9qOsvqWv38+BC1%NUM->;a;lzYN22Y}IzI?SI@!)>57hAoE~8SC=w95Zdh zVDrYjWiK^*&;x%qI5Kqoc-jBAJO!9OA7-Gy-eZig$xyan$(Yzd+*W|!(7;oUqrA(a^Vs)Y}>L2 zSSz~EVK03Y1svzrW+g|1*wi8H#B|42sOiSuV(T-lQ>7Zy$)x&r&(hb_t zg9KLA$UKd&)*KMk9_J9dD7HKZQ+_1;uQD8&#`PB@q^m7LdB)las9%eZ)RiNW6$2YIfQ>b;=3pX@W{NVSMeS{h(Yt+o+~SY%4Sp6;=G$Gg@j;WxZOjNY}tDJ7L%wJ7;CEBPBoEglh4)A@k4Vk@qD1%ysDC24_^Nb_e~a>WQd9n(1pK}v=l3PZ|BA9i6z(BS zyc;=)=p`~ACWN0y)=4wB(B>enp#DDb@sG&~{wZPkYXtHuh|dw%5vv6F4Yc1x`8Hw= zv5vTh*u%Boh?4&U`A^LC56b_djBgm%WQ7mNO8#XTct}2ye-(KQ`7PuW+TTHb7x}sj z`5TCvh}(#-(f$+0x)lY=`;X31BB&ImvfwDKTF+A#Y!z`)h3|`na-mduxKSu=Z-uF+ zYS=B7iiN!)>Vuu)&PI8X`r*;T{c^cDN{_(76HJdmxwtz@n*bl<&F$U27(F4xABsQ6 MD1++jOq&7z1N{7pbpQYW diff --git a/src/rel/apple/FATWRITEDSK#FE1000 b/src/rel/apple/FATWRITEDSK#FE1000 deleted file mode 100644 index 4908536a9705fbe1553923e3d37a6c63b1ca6407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1477 zcmZ`(Z)jUp6hH62m)EQ|$zAN$4Oe$t(z15hGi@iWrMSw{;%G=i^VWY;Np0S1lcjm_ zB@697C@F%1vT?tNxFJr80~tm3q4-Thm)1h+Lc2=E&jVo}{4Pj5H>u7qKHiVtIp>~p z?m6dPu3I4nKtEOCBk$(!qy1l_TRY{_&UkTeJG%d9tEhwcVgPPe(+iEqoDHf&k%{Di zX<0JCd3VS&5J-{k*McD@#K}NIj>HMZnD9RfvvMsEUGUEd*Es2(8D4J?yfTc-4)QXj z6qCdi`o*dVot^YMC5ECOB=lZ;TFoheS;w@KKpwsPK!Tx0K+3BT6-*=(Of`8DCetbe zL#M!09;(9AR6ooU6HtMO0{~?b{;_H*v(9O+><32AHDUg=Gu#2%sj!t}M%ucuu*gi? zFxZl@WZ5fiF7&{k&3a8G>;lv22fA9{*eNz9NiR%>a55yUf*U>kEfS>Nriy<022D32 z`>$G^Q-tCU$FLLAso$n-6Xe}cm7n`?@xms;z%F1L`>a~dhh|DU`Z#t@Zci`V<(VA?A$w1^h zXs7ELtc;Ns%{||AP;7UUL(EYOJpi*_B>ZnOnq)KekA|8-?;aOFOKdL$8MIR0Ifad&XwwNQ?E;4D2EN8KxoyZ#uRrGV;9q2(x z)a;993?t5RMmEQ=^SCIy=VIR&UIA-~MT2a9&W?*D4X&$Mv4}FJy%<}Kq0~J-{D2h~Znx)Z0WUAUUXvmRvUN8iw=Ca&ls zB4+4$ptuCDvui#6Ucdgfh=8|9KLwIO+(v95$Z_CNAUuW0gThxpnzlXLwVg>aA@$iqyS^f!Ogz3}AmL8VffpeLaI2-7oADeX0?YYiDm?r)P!ubLmj03~KK) HZ3Fll%`c1) diff --git a/src/rel/apple/FILEIO#FE1000 b/src/rel/apple/FILEIO#FE1000 deleted file mode 100644 index 0d1e7336478e0cf00008fd90ceb2e353317f6259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2727 zcma)-e`r-@7{{Oc-gC}9_nvLO_nvzv&YX8n&+d*}&e@n+iH*f1*BZLwdNG1M)3`+zGAveMy zKN(_D*1=#_pwJAC`MJ@d$utp`m-R{n43>{zz0*tQxch}w7Kz8>`KUo5q zl0M|Es=^Rjq*Nd&`Qs@msrUs`GRQ;?OEv^Eqz@(}6mzR6k4kjyeD^A4%gm(GJ>DewsD6)z8P_`*B=Cwwfi8 zDeFDnTc8bFWY2GFWs95&p3G!329Zn7b_|&!jfaeNZi|=-qNID)UU#FYF;;DEoU&>w zb8DJ{-alTb()AZl-f%1E&$`<$CIz3@ai$+`ZgO{2z`+^JMmx-LyVo6(l6ijl!BezC zWaa36-u}B+DJPYOD7U~PT)&^!TRBa7>oCK@7=nSlj}3xo)7B16K@tuJ}_G!Abk`|Ku0{}CNRAu zdmeJOpef=CNqYB0K{;8<$Y5J#GmfJ!N(k1RM9i9-Z)*Dci8#)#;W5G-#)}YHOx8TI zN)Yc(rAp(e(qs`Dr$MJewmIGsH&|17tRWW}n_J@Y#|M$wV2ioMj@=nG;}wkxE|TYy zDxy>o7Mp!PDf#emwoNS8J;g`+Ig@@HiJt0Nb(OSMZil&cirXsJYQuJnYrDhtbgrF^ z*t576Q0>`V+oIY6U^h4pIzS&71oyyw zphk${d&jCl4LA!ffPhLY0V=>2&<+lQ^B@E60tMd~6|4X@Xa|SDQE(A-fjb}=gC8gd zTfixB1`L6b7&&1gM+Gr39n1hT!7MNv6oFze50rpXFdvkI1z;gq1gbzaQF;R@4mu$1 z!0v?o6!tUB^+FF(H2n)H>5xxxR3GyDC|wC%1^cuw;w*Gjxb4=?bPeix{O1mg~IE$ib(>IRQFBKll-IzryD?=s%!m`xR%7pPVwV z6x8}D{UXMa&}+e~c;1HR?Xde`_rsosJ%hP#phuu@!~O&NFUF<`lzv7~oLbnoVDbHQ zwnOiSJ^+0f`YiN0=u6Ne(6?cks5qjCc#+Z?bSdmgQAr!n?_vBX_zGivcpiYh3H>|t zeb~Q6pTi__L?8nN4m<~*2dlwL zU=3IcUIFXD2Cxyl23o-zzyxmt8@vnJKs(q4J^*{cKCmAg03U%*z+rF%90Mo7=im!) z8k_-NgY)1b_!e9S-Jl1bn1M`ZPj4;v(eSO|&P;zjSE#2uGnnb`zlO)&D-ArC2D%42 Y2iNcj4d1xlnQ7ut8tlHlN?yY0KmIdSY5)KL diff --git a/src/rel/apple/GFXDEMO#FE1000 b/src/rel/apple/GFXDEMO#FE1000 deleted file mode 100644 index 2ee57b2243236ce446af9e0eaf1aa21789c58247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmX9)OG`pw5ItNk(xw{PmU?|4A}B6eMYIVQfmGxJ2?MR}HN_Vs5*5LPHc^D%zGZO+MNGkY7O}1pj?W^2zT~df_PsXp#no#_zl)g`Q{g8bXJ4CfF{Wly_1( zvIBn;RWJy0$Fb`_X=6O!6LpOV>FxgcFAI5lw@>_={8xxcWZaYlNi~| laA17L$d3O*k^>`S@Hy-a56Fd4Zx|ylCdRZsY=w!p`~wGZd{6)Y diff --git a/src/rel/apple/GRAFIX#FE1000 b/src/rel/apple/GRAFIX#FE1000 deleted file mode 100644 index 7587ec93db89f958eb1a32b4410ea1510bbff31c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1562 zcmbW%Uuau(6u|M5+iQAh+If<+U9-h3oi2_{nhFXEPORFFu~NG&8>K5KLep60HYU33 zW#|I)VIq#;P^5?=^rb#*F!2xcVO^TBZs}5*&QTHnfKI_pRL}=S^m}iYw1e%%!lya+ z+;h(Fm*2f)O`S0;lG0UjJye*Tt}O19+yANDDFcSjbXIFJY_HXf*ilVhOoTNp(m7~U z?=|1zp5Zn{?R%E%hXzce!OgDm%AKfY3@5gHf6%NJL~dJPna#JD&}PRqV><1c@jG{~ z7-&@ow*Bvc#>#;)cWrN$>F(a|?%rElYHPRI8#pE>;eNM`H*Li-TWL3IJ2B~|h@JbL z^-D)((7b%S)j@4wQj}t%~%d=HaPdL=xwY%nijA5=Er8)VZBe{ zPBZ`CcUm>6cAJVF(d1({9&I+Fc1V*)?D~jX+)>}LWk*-f)&W|?ZdGAdUj6xMeXAZ0 z>JW=&M0$F=#Gor1RJ&P|r5iP32h~f5ymWUhT_4GYC9z5UqpM^$Z&iPz(Awvhv=Qp` z*9Ills?(zCJ_4c*)%Nqicg;S7qnfHD@ah_9*rj@qAzf5jj8i`+lt zOha-FP_!U|m?8OgBaqubyb~j>J2ktA2QY$BJdcCidy#t%@hiyTD2|bT z!wBS05Whn_#^*Rb!YQ1_C-@wbID;ZCpo|Kx;46HKADHnI^L{aWd8^LMHPwkM{phO5 z>{Q|W%#-SqxyuVX)s)I&r7%_M)quzd9N3u&t<=nnA0L&38%3ujAdYa%#3KXqlcJl$WWA*7iZJLZT(2Xt2Vd<)-wdrvDSEB3mNK*`X6ariW%SR2 zjO4}n)&#sd_d?pF(Gynaq({+BxVxlFQ&V!Z&5BHLFq%Z1P!I#+u>LNwvTh4}o_wF@ z`ThC+j^oa_$p-+dK_2dRu002wC z6mF@FDZFm<{-a&z6mcDwo)vS%$g&}E+1=ZoB)$7XVoI#n#~%temHHzomTn9@n$xgW ztb9GWw|}pGG~If*n{ExPJl3vZ=~l%|?(SC(Q>kOrs~ZZZ&!gddQ4&7xoU+)An$~kg zCVZr3I;Tt)RTn97%Nce(^k$*A_d6#j zdk4Ll=xs!)IomhXg=`I-9m{eP{Qt&YIAY9F>RM4s!vfc8y-ZSKwVtiBU%%Qz1NW-6 zYAsu1-=PKFF|e_*p%+w3zonXbPBrw5I^PAdp2vRZf>ZOiP5VyEt8VqSW2A|z`3;=; z(^4%p?Fdsfoib~9nLk>_!ZIq3!+z1zPO7uTftc;I9_?<6Kwo7&wfl0X&V47%V!B$Vk{=Fnig6*{2XNqVF1v%+3fGE()%tGo?Jh4`ftY?I$;-%LkQ?+gFKuH;yyI`;P55_ zW2EW2uWcGaVdGmEXAvM*#t3d!W`uDToe{_tY%ER+H)n+R(C)cr!jYrHBCTgM%do0= zBM_5=&iZ*!oDyP}1aVr3T^1azHT6tGJ(X`BIngUvZJt zr!HS&8P9d(d*lbiK=Q~YVk6tgF7i9FkNkl&kiU=z$N@s!knkWB@gv8O0P-|)9C;2o zfpj6yBO=m^gpkw7i*A6{=MXdAnlinHBEMzsT9sF50d=liDi2e9%KrkR4>P*} diff --git a/src/rel/apple/GRTEST#FE1000 b/src/rel/apple/GRTEST#FE1000 deleted file mode 100644 index ddd7214d879b128ec5ac719892933a0b3e126c74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555 zcmZ9Jze~eF7>3`w7((sf3C^`r`@#j4}EV*`d z!gZ>ZEG!EYi_l2{p^MT9qGkQ1zyIC$eXiTj4E|I73@{r6azMeK5nAI0r{(cmyTDU1 zfCeq~IM$fK$N+=s!z2eU?E*_dAO0!malhl(FLan%*bL}BrqW}otKuT%-8wY`gO9|P z1$kb{t70V9=Q)iOeFonu@Vs)Stt(6K=@X55^vGC-sO^|qUOfw}t6v3GPx^(xju}|R zg>I!MkJ{cdVehW_U~WTTfzu>65tZ9W$X)cyJ%r>wdgUPopF diff --git a/src/rel/apple/HGRFONT#FE1000 b/src/rel/apple/HGRFONT#FE1000 deleted file mode 100644 index 7706901375e096fabe60413e6e5d4fc9d3a70fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcmeHJ!D`$v5FHd@gfWXSIw(OHtq9v9ma_N|mSA-24 z#r+_k{tYUO7;(v?|bU0s0;UN&ARbNJw>}f zeB@A3pn=P3paPgdO>k#5Fb98&^bGXz`LkTd=YM?v`92)q|NpE1&%KcyAjAoL2ATuK z46w;?lSIs-wQ@Zb*#2A(?7Otlal`DN@XuibN52+tt?fIIXTJcC)wYg#kxGEjl~L#Y z=-br>0|JlnqR3@KJ|upKgJ{B?d)P>0T+bT(M;io4O#+ubh4vwrN#7+vy-SQbFbs# z$w!@h?sZI3gmlr8{h-$BQVkiBb^1)L<@Cl(lP%{Vt)0fFJz&n7@vzovby};{X{}bL zwOXClYIRzx)oHC(r?pz0)_V5rt@8!s;^1Ju>QWuZy3s|~W`ix^M{c>ZK0ZHAn zF`7+BDRjj9Qpfn1db`JVxFyXmHz)zp5NJ4DUc`^-kW`fPvq&96VcDw>2fTc^(;E*p zi8EqqMJN)~XK(BD>V4c*eppF3W9s#WNFrN(DjeySTUKmS#yWgP?`T-LGU`_nkA;qk zwwRh9ieA;LsCYM?m=#lRG(;0Nb$U43J+H-F5g(iD6TG9r_?1y_JQ(*MDUZ{qvJ&gh z=Z(is6LCMWpVo={b@q6^pr9_xBN_P>Dm$S0GPc6&T%I>p>?i(uw zm99=TEqJ)=h?;6A3A*%M%Z3%d96sz1Ol>+IQubcPWljY~LrUZ7mh_W4yO%#n?D!lS zX~WZiK6+Wrpy!$spFEj%$RHn!UT!he3qd_PzUzoJL=T7ZSXksEJf{nw?y{6;Zic zO_kYIx*;X8gq7b2_vbLm~gdB|FvL(t;_BB>GRdoIDb({l7? zvQ{W4GyYrth5wYFX`RZKQmfmf+DsRBO8+V*eUQ|oW72ds?ZY;g;7ZxY9o$nZ9E~Sy z(+gag?l!4R+Q{i#q_m9W;m;;G@k?65OQlmTs4RsIP%Ia4+uNmTv*!n<0e{4QBa+QX@rI~Jjpd-oVRgYd&fn}xauxzYIW|RD!C$?_gTwyONvOl-w#jW4^cGa^OZK>J3BR>N>uy1nYn%o^G zhgEdVqVbPeJk?C&Ml+3Pm}z{WndUEH@j@0~&f+hy_{%K5oyB*u zcoU1CVDT0f|0RoDVv(yXGG=ykNbWzI9e&Au)9h%I+?<83l5L@@&$Q6h?G~Eju+W^( zT4>JWEN3mtDP=k9S!2>rL4coO6OT?rSojG(tSR| zUY}=?DwgvTD?LRMi?^~l+t{2PY|c)WbCKm-VL3Ng&N$1_+330{Hpg+v-D;xqhfIzW zlKU+aU9rvNIBs$;ve8qQ*c>Y@?v2PaxnE+DeJt|24d04QT(gaEBVfoP+%gz}t1u2Z z*~HVPC!T(|21&@^iN^s;cvAmWUaEKUoTn1w7oY~Qorvv5tO4T#@CIUU^Tzsiv@xEm zAK;Ci^N9ZzE+X~^Uh)uucv8U#86biMvS1d>fq9Sz3j|XC1wmK83@U^aPc>pM!d7@0 zYGDU_2X?_8@IoE@5MG6PXn+Io1{{I_G{H}y8GZ)8fKw2Lx8WT)3kpQxJ?McxP+<^; zVFZ2y7vT4B1>*2WxDJ1Tn{XTc1|I`45YIHwg8|av0Wg6TvS9{11fPLNU@qjs=b!)< z!WZFjSPIMF%di4g!Bg-wlz1p=f&CP-j`EXaYGV29b@fccOI3*b?B3>L!@_!2w;Pr_GVHLQhV zSO;H&ufrzzrjd|||J_7F`jkkl`$1aa_8&E)|6%_C?N`(OME3~o zs=fVA;rwI*8%P$G!TKv{Ki1p*w6K%*Fb5lCS}_==;X|~CFdJN;gMqGyQ)sqLgxO$( y4mx|Cf*}hX9ASm9jP@eET}r7iLc4>p{td!a);p&Z3*)pG9Z=474y_dMtLC4Y0)Kk| diff --git a/src/rel/apple/HGRSPRITE#FE1000 b/src/rel/apple/HGRSPRITE#FE1000 deleted file mode 100644 index af2469a67d3017959ce4c795553e5b87401e7a7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2587 zcmcImZD>MZA-DCbu0|WKB_Xd=!(W#LkA($OD(mQSn^}j z>GfmNA&$FI5!{MmhRQ(PuuQ~3V-wd%YGPuwGWTzwphMXYH;2$Y=ib{dr^tS+@Z9%# z-}8Rob4%hf+eGx3m(u?7;n8H_*1D0O^O^KJm(!V4`UCpE|K8vqavB`kCl4Om=R8gC zzIW<-xpvn>cG`ZWf2f*>nD8_aCdK+@s+fdvv0+VzX^5@oyKZ3%7BHDjj5B_qkQ}gM3J3$114DrIPAWB~=OT=Bjem9aG}>Ct@yNh_`th zb)7+?o}x7lqL4==|4Z)u2q^ONUc|6Zd)(ljsLCKpdXc2a@9tG)h~i$tGe84TL$ZPB zeCpw<8|h&8UEtA4?iJiHMRuJj5~r|4b_HCZ@b)#LvIs*U`O8#xNTlFUP*n*&<|=os z2*|`*?7{_ISs6r#01QUlvfXB+(2Y=$W;zrmGZwu?5EoxN5#v6!DCB8#*vvIBV+{_G zz%U?R9VQ;rp$6yRO)h5YquOYNgcAv>N>kT)LPg1%03b7iNvI*lgy`Xrz(jV zncsKb8J*-_!3~qSCgz6)Ybu2!ynP*V7pGRSEkzU(u@O}g)o=t|cw2gWV4~0IYnf|B zQjA%_GffyqX;Uz2R|Qh2JRqh*JF*@3SMnE!_u|R0 z83?yfq9IuvO3RC5(&9>fL5c+G@JdZ8{4FM8EQ&ajiC8-=-oeEpVm7MkCe?PHA_07- zLI(X_gG5i=ndl>5$o_0^eEpX9so#ZP6?KbJBGFun1P_vp#(()&MH%l6n=&>*xb)_t2%jrfA>p3PIAo@m`2QdocWAk7 zyT(IoG0{gyxp}Ah8?UG8cJ`PPt0^JY;33uy)Rq!E3}BON3xKKE6JTB$vGu?n z;2JOiG?x<#1KZ0<+d-u51S)K#FSWV#9l!zLJ6o}S&eo_8*%oOToZYe2>-V7lZCj)} z*%EyrtJhy;ZhaN==n=@RtV#a_h=ZR6@~l`NhkhS;0=VqOdYQdRUjW$v=?C5hT7a#< zPT(LAw^wQx?WA1>Zre$}Yj_LfB2`@lM26V5hEHTuU= zrS=u{Z-A4qjll0Z_-)`1=zl?9=pbz=;0Kz4)xbue9oPnZ27C@22hIRL0zUyG4$?;* z9&HSK9C!fOWzuAz5~v1hfd=4pne;bhkG2|o1JDI*1NOpxKyK6yLVh7vX5}8c4nY#_1Pi0bx!b)CDqp8v1+(z!9WctQvHu)N_B>XzbWwJqDC0IT+ z9OR1xyOas?C4vlRbGHilW?mzd#MPwWwStdl^Mcn+IwcE1TrDFalU>Uj$^6B`o2Zb> zr?01mv!l6mW~EY7V(Q7U7Nx;s@_Z_>LTR^@LgL0srMA@a$|p7`hb?97YEr0v@6_4N z@$6bb67UEE|twzc)@LGV)WBdNHf5k z0)0R$*^XU^)NObGkb%%Srfz58DN=mnxRC`78I&?W5(?@zO5IIqUYRQ(x10qvomG^q zt|qbpf7Zyr6GZ9inCs1yvrYs=C3fY=1rIgO&80*jI3eAyds@t%mF2<)GHs%X*N(#iE zjdVu(dTI72v%EznQ#=HtA@E0#R$4}Aej!ce$qlk=ehP3|NpVm%IEX9IBd$Y0+=RHu zfM48!32`5W#3GD~moT1l0E7#}q7J%v!A8VuHY(mQO}u3>vBmnu2R0~nSS+{4Kzw46 zTov~^8xjX>Aa{iLE9(~D(DNNV$C&?MdhRFgzgUN8uzuLJ_Al}ds92S9EycS5pW%^P zuQ_g#`zhIT>?z(u=rf@Jp^9sc@qR*O$0|+p0fOFPDZw>DX1#Ry@gU9zrNedHX+8w< zZChoxQnQ^g9%<#~L4psraLx7Xs%g#fk+z6^9NSCs(H2oMV_g47q(frhS^M PhR5MA9&bx>nhAhE98yzV diff --git a/src/rel/apple/HGRTILE#FE1000 b/src/rel/apple/HGRTILE#FE1000 deleted file mode 100644 index 9f786082d416109e91b1037bb91656939b699931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1210 zcma*kYiJZ#6bJA#kKLIhHQqDWMkUdehRYg++HZmd6~xE4B~_H55Q9mC3W8|STh!f} z)l@pTRU%4TyA_o+qOh1nkqWzc2#PkBJTM{%g+QVxSOZdN>GnU96tQ0#?)=WoIdjf1 zcjgnzY$dAqEc(Lhd)Pnx_;VtgT#C_Zq9l=#G{{VvWF@UQ}v8^X7&lN0Q0z(b4X5nJ88$ zrlW;y+UY43dgmV`(N(-=EI&xGu2R-nk&mW|h0-&-tJJBdf@E@XviW}|))e2({GN{n z=`5y<_osq%7E?>!p9<2MDHnUHDDs zvQ9qwBdzY7b-XWbTpq`p)r%ti_ z$WvV`Ydv)~d=4U>{5{K;tj@EXVs(+_TUJ+CmRVhA8S&H&mQ|j*#gaXBhh>eYdU+Ye zwwd)FnT;N$;wGh5!Ukx9?a&N6p&fR^9@q=};Q)LEham+Wa2!s64;eTOXW$(C06)P6 zxCA-43fCbIJ#Z6l!yPC>AKZm|@Bjv32u5KHp1@Q14aQ*tp2JIc1yk?_-ojr{2GgQc z1YD?sYG9ZLHLwusAO;_UgryeI$h`*x{X?ZK?r9NRjtvfl*+7`hB!7lU>DT`7)~7r( g^JsXa(QOa2yF-HyM+U|=x%J+^H+x6dx%dJ90NOgZKmY&$ diff --git a/src/rel/apple/INITSLOT#FE1000 b/src/rel/apple/INITSLOT#FE1000 deleted file mode 100644 index de2a558ab9643947f60262409770c686bded86d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 610 zcmYjP&ubGw7=5#i(5?uB8X_$zg9Hz2Og0FuRuN+>*t)JE*??lKE$wP7F^Ort?|zT(8tbx>_x{BAHC?aR5=EiAFulXTp5KiZY_b3B!yn zVJ3n&x|>!ZD3d)7BTPrh9^Y!#Bgl}^ONNmOY8d;~BK@CJywox?`w#-Yc&E|v?%}0( zA1^#r+1pe#;tzgPOqIZlKiZMWt$!|fA+vxWRqEVReOnHWS+}?4(U|Qg)a)1%eaB2O zRVm%MRTfi|wP{hNS66H9tXrN_??u7?l57u(mnqwBXuvPZ_S4UV?#C(n$5cu=Qy2fuUT9NbrQne-ZO z(hPOD3@X!JsjNt`yLWfr=lA}e-}CYA=JSclBBHSBqXX0S9C-WSU+*WH=Tl52R^0qp9pPBo)Y&nE zOzN0Ldet5x@;4GqpYOv}MiptNOlmbLoy4W9lDLm%H=ND#i9b0f(&EG%oG^)SXHAj* zVKHt>V5X!Ge{@nzVoUg5@1yxOrVm4%OG`~^46CLO7Zl+XCH=-vicH^Te^Y~5WR~Js zmznzlnf{o9Q}-8{ejZFWbte6$KaHW87)mb{qs^Vkpcup@!KN8}d$84*n0G-yTu=)O zfmWOkG_^&{Ksp%^BMCDQQbt=VKm!9!R%u4XP3~}>{6=Ewvn1mVyvC|G97d=vy9GW9-~v4wM5w$>5I&I`YiJj z&TYWCmvL?r&b>;{^=<`>SH)9^$_ zxI%#|79T54D%4h8n^Y+of@93mCT(7HDrvQ*(yI3sn@T#N&0`&b$#gTm_!8PK)>A9~ zj7ln{aL?@P!KS}yNw}`4UWbCrP-9F@hLTFW8Y3anyKzSX*DFbdEwxq0!*!Xqu<6_8 zZ?2z2;`lnC1kGS`GJpw!@RBtUV7V!LMIs*7YUk8HLSoj4m^Gw6+bO3uL#vV@Q>|A? zTPp`Csp_lOnt2z-!wr?Bt-%Vhyrg1OleRG)R-SWDrnFTX_g)td&n=rUq`ie3VM_0| zEyTn+eMyDyFTc)1wqPfwNPZf?&ek0gEtWVbT0?qo8MBoT4v6^^Mi@h-*3d=x1Vj4a zoosmP^Z4b%uNQDEO=$HvK=i(CLH1QSlOAlUTaNYePq=#ppX1>Q;dtXm6WDj@W{xTj zzabZ^Z8U=mX*E-xw`3j{%yiS=6G8L`EzivzXNJ;dTslE0 zLjiUoCV&H@Xn3R?SD(GI}rp7jmj^ zbvQY^%cg--up3{$WD6h#SfpwJHo*03jszQYzyhS8GUNuUGT3lF*f(pSjlwpF$<8k) zTo`aO;#03dSzx>MY?rG!{LUnaBBEI3!Y9jxNSCFuT$H%W1+pk-g4iGsB!U42pEHkb zAuVvRfe`9Z+C9J3hZrAJyO(G+auB^};W%9dMnBOhb7LQA89v!6x;t;tyYmoM?~uhe zqUve;a-|FLV8sR6n_Q9O!YW9EFEheYLGviGs^4B+tc;fzko=Xo*H;d2xaM#g%=WC! zP@tJh8~dn`p#YD9A)}NyMO!_Tu_-cit0j6k&KTUciHR|Vb#JcKUOY&W)gM2}_0kD_ z{CNBnFj(c?AyJsnP83dWR7I?u4!(y_MlBa~CKx^DdIF z4xDz<&RM*;?Nt`3Ownszri z@kmlNf~4)WU1i~LEfc9|CCjT-oXM-;@2ZxBN7SGq)wPVYPy0G)uP~rsng!?rW6Ljh z+7UMw+uPK9CwR3*zP4&^XeW&x-~eVq?{b{rq1FL@Fy5}rH;EMMwfkXkBd-iw4C5%?$2kVv6E#JA>qUa;zGm+ zLc)m;goHDf9TL2cvf9(%hVlvWYMq942mrQO0J*W9EYuo9ev)i)lgX}=>NM4KQWdQZ zN9Wf`^cxdxzo#U&q@S7AN{0{PE{{0k*ZdVt_4=?i@bL zH@7T0jU51UBhuYB$tj*#yv9%pA)%ZY(TYKIQDZMCpjrzCi1gtWTwZXDqDZue;+_3;}hFvdtvt!+p;)mmwq5RI1ei*>xmNBG# zyDef|Pg)HQ$e<74P)WtB=~VU^I+I;P=d<3n<7kIkwcVRT2(DI_dkQe{Wmu)QjxUUj z!j)1Twg{z%?g@CCs%FQ0$7TlI%UE_zt1h+4oueZVDBWQJ3Ca%Vh z4p~E$*t**r5u?U>P>}yDkhgr6cLdu099n@AoaOd-7RrEyGAL12Fv^fbS>Z-mX`%cD zKRzzt&)cEM#p|Op$;vPf7g-H~3=Ks4Q=GpL=vQo~+s{wz{?>RPcem8Qm(NeoU(UtX z=+Eh2)}IfJ@?y$6F@mcN(FfsAuLQuUvQyX&3a-D5D*Hk8SGlm&`NyylzK;%AobdI zY@!NrVnU|bD=H95%P#xL6p~f9{4vTZ?qw)Z5+m0h`NOU~xxV7Q;{O{n&~eYiPZGF! zWLK8tws*+w+6JaBq5qCgBZ?S)5a=Z03OD>p3x1Uwe%KAanqzmg{dB{4S}9b+V5H~o zfn7U3hL4Ia@;=-y_yukUAnQ@0#R}HsRv;0LjY11bwsJib7O82d#m3=>_6@6*?^~qIq_T*FaX5Z5^t$#Hw z?|+7t^{=7!{%0xP_Z&6#Jx`hbwe-^~FH+^F>*=*mU!qq&-9QIFdzs$*Y!lsf^;Np% zY7gzdx|#M~-9pPgf1TPte}gK&*hV|Q*iIe)-9ckA8G4J~z@ic1m*aQU*N|3^x9VtE z_~p5&bQ~+jt8&G9;nT47qxm(9KPtxib6RjiLhbmdSgUQvi}-ANn5I_Tb9dvNwTqTM z)VyR-yaF$7bgEsTgjGVrMoL1Zu3IS3^)m`~b&}e(ipHn#>bPqoRdwB}RHc5UQ0n)^ z)OEOILRVdBB$X+n)bapzT?$M{O)00;ReV~5lzJAQf8w((LaB2#lzMVBr8>q?su!Q_ zV<{CIN2xvIsO#N{6H-SeQrAE5`8PiO6Mba;_kl{(d-%}(_e;zJrJNH>%^s@q6k7qW=M=rga$r diff --git a/src/rel/apple/JIT16#FE1000 b/src/rel/apple/JIT16#FE1000 deleted file mode 100644 index 655a29cf4202b21c1433cb20123f711a5437b072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6130 zcmb_geQ;FO760Y!M>a1n*_RCh0v)$BQhYu!SSwqap%gGh-KMXQVvLMU?h zF=Z$Tij>)6mr=*DPRj^oQioa!%20+P;iHuf%%EVWN;|cPqqRc9XCfc_dd|IXlikfi zf$@*zy}kF`^E=G7kvpUMOGOePGX_cV+_(Ud2`-p5`Srpr^m7vwaF|v`>Rs zu^T|39;j~gHYi0lOzfmz8&uji(M_+7N<*l~{D;RzGEP4eUixQ3vB7-kJ?cec$oA4w zXN%uPeMq;xL{LOqNCd3Mifr$uKvSJvWc%q^lb-c!*nx;bTeFMo052w+Iuijqkff!l zw3KWStIeGWO)L_L)-;8WYpvEzIRvU82or+ZO8aV4ThLaM3017bZ8f5_sJt$CWw9CD zPpGlrsb`=9q{&6Yy;(LTi&z@6^C@rqEiH zo^|xJFw>cZc}_j5oCbuQMpQcw!E|C6@7T09ADXiO0cRmbIxQIHv_W?gw6+Lm((UL? zFUBY7CHN@425?@&#q>J#r`OY77wx@FdmCu)6&y=%#NX4Ka5()cwx_pXYkDi*NN>ZQ z^mc4W??6{t8Z023Q(Lz@EnK0HD;6B{BowsiXsa;7w$f@I^w>%=Zu^^zhN_!kG;n;7 z4U^6E;*A?SIZj&XUvWb5lVd^$(&%p}&tHv<(b zuSvI++um(~=IB_6=N1w~v$f`gYAd!zK9UP+-6sw$5M?}8ZiH*2Wc6H*#&3yttXz3f z$W78FlyIAFeOMVQpY@wiA!5>#G#sG(Q{~Xuis^ME_56&~=I$a}VFAWgmBBpdrNc_x zQepPWS95-p^^cRB8XL;b?2DUfmevJDVv&`f;JrArj0D(NCBhcg)Jis1vYBI=gTIix zww5cf#sX7ju$3u9bIlQ}sH=dv{ymbHP!u*sg|RZDNGuq=0p`d@Seqd4GZFcXE%sVS zu+8J=n%6L@Gzi3mX1Q+<;W>6$u5gb^F0OFIy?A4=MKj;q!6l(K-+6LBp$QcF;b&$B z8*k@A6rlFehVy(XQE zwklQ5!rH3rF4ETWgL9wK+zOQE)hY9+PPxZ*BtpU~5iTAi_mijS>5FqtaF~-}Da?(N z^iU~E=%JBoXWcJKo9J;Ampf@W6PNBt@(tPM%9wLG2{MUhl}rhyrGfRE$VZVfA{Y*< z5;PKZIdia=+Wwo)TzueAmu2DaE6X#y2=BOgG)$+JxVedgn=)$`|EA2MGC`STP$Q(o zqJO1s{ksesaXhM8H7__B05}lz}`Rya@xdolsx*1+bF6YM+Ox#w;*k!xieStQEV$7*jdzH4%wcZ zy}fwIHra=*Ls}D`9IdU((=w&RyEUK4`~ulfnvliH(0PW?c?!}UDb7>RoL-P_^AI|f zJQx=qq|_BI^fJC%1eXZPA!4Bsq-YI z$}Xi1wAC`~Dzl$G`_%tE7GfgSuYXkVD z+4$7zIDOg+;^#yZCEL0xn!-oXr=VMwEGmCl8DcJz)*&>quX!zotG-^tb^8h#E?@92 z7JPD+;J3j|*0n6M>tAoH%vma!LX%8sxEjj~1+K^PD6BwU5hLSo5YsDtt|sGRdKGWx zOdg1+QoFA9v1j}PuJ&cS+AY6Nd#|+x^5`BnG7|+`>lQ-s%AQ9_Kq0_MFprx}riF9W zx%pa=L@*gYa(iv|2i3ctD|QAsXhbtk74472vtKbA=a) zN*QT=#pRScvWSyDd6I@YK1rWTLhbCSZo-viHAnt{6NrV%9`X8>&)6-)2%wNxp1xL~ ze6I+_X&%e?$^FEam4Bjg6^^>^IvmC74DnOsD*VI;3%Thjac`MDyXI7l95;y{tS5U- z+zrv^5Qq4*BI|2K-wLDg_*nepcolwpd>nd@k4N}~fyYjmICgvj{&1oiM$a7>)^jH& z^+a%g&txp?slo4irr@2PsZe^SA>A_rR&OnK_Rhri-g_~lHwxoq9mbusu=?aI{Oe>r z4xXBW{iho7#;Lj3bLt^fo@m13r<<|;bPWGKZKL|keEjgt0(^XCAx52TLGo-X-aQ+~ z@N;cY&nB?=>>^A)*Nzv@Eyf+^mf)FlOY!EpPH25k;I6*qc(`u`zT3AF5B4Rosc#hy z^!)-K^{s~9{|qMfKZo!1Kaa=zU%*%UUc{unU*XyQHR$et3ALZD!>&))W5=gmc3UI z*8E6Yc+NL(zxST{>EU@T-)mktFIGmEPA0;0m5>g)rhsDUNPP)v>g%{M6~(C3gV0h< z&{JfxjwL|qDO99FN=53Y-qESoy_Kn=!03+6DmungqGRtcq%I5}-BCIMsY?1ANq={a z@Iqe3>%hUc56`CS`Q6?7qq>SW_I4jU(EZkZx+Y$`|JJ=Ps_Qtg_rRgO^?C&k9e!)~ c!3Xq8>^t=KU+&g#j`(;AOoE5~PLwS=eXl31`-KEHk7IH0#I#f~~f+7kcia7*9 z5ClON34-p?Z-R=@g!)gq*;|u3HOzja##A)uZxd5IBU!; zKu)w_Dks^nn}b9L*kbDzH8vt)C!n4!?NKTfJV5P0c&N}&HT^NIT(QM*w*f#q--g*X zoKp9JWVbrkShM{xRdKB0!!<7kDg$ag1S)wiX1%!LsV0BtJO7<*hC~m9g65)?Nk>>r zF-&ccjYdb}W`ZT;M1& diff --git a/src/rel/apple/JOYBUZZ#FE1000 b/src/rel/apple/JOYBUZZ#FE1000 deleted file mode 100644 index f72008095855ea6446224802e1a9476af08146ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmV-*0E+);00LzI0AvsW0Avuu&BW8$QvkHUgy_o3%BcXA!j+N=qzNw5G3})EM>qDAojxP0np~CEMdS90f>~rl%c3BV!#jqh?KyTpkV3{+v*VC X&;ZcQ04x9?TmZ_?+0f5Z2oVqfmr6Fq diff --git a/src/rel/apple/MATCHFILES#FE1000 b/src/rel/apple/MATCHFILES#FE1000 deleted file mode 100644 index 7168c0295eee7bdd05716a7977068e964d84ab6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1014 zcmc(eO=uHA6vyAb?8Ze&oGg|Sh+1o{B?^t=L8!D9Nk8c3qb4ay@UVwEmQYHBvWmBr zo+Jo4_Esc952c1)go1~drgmXtLX#pz!9(#TsNhxN+l?O=?=Jk9H~;_4oBs^#C&aq| ztLzvYDb@N;>oBovS~W8U|Nl$NA{RC8o>HFx7q{Hn?Kp7Y$VKihBv+X#Ltj>opC(b` zIJMz*+=6Y}u4KDiOZEM=?44N|XyXaMAiU^|!TZjy4jx*zg_?8N_&+x}3nw;Y3Pi~! zvT|BPj#|_{Oyoc{+Wp0J3Uj?I>VeCE43YqkdKrfe$<9jZkdym8T5!1E z&ZreQJ`Q`lPK5XixQN9@&~CZ<>eK zZo<+Gk7zee@<^UWbqIKbV{+7|o`K*+%Cj`fBTm5+1wFxIQ8(~eJ=Sees&@355a{7~ zk($#Lath4R&~J1|VU(Q5cp{rhy9COtUb2(p+BsN64rSDW!ST)Gq}k=zxax+heOXuO zsI!bA$hy)J+E4cE6fBAy%Oc%t8#|Vu-AHafP0NLxE$VOs}d@-mKI;4Ay#n zA4BS(pOrCR`eL^p%rKfJ^U8vsEo9irL%%&IHS2;qxXJ)WeSj%qL;=hb>k1ez0gMCU z8!;$=F-v3wD9#HW;~tFXmkN?`@?XmPdU~ZJDj4obs8icc!)D7$b_kdUwB3Z&unGHbj|$wm`&(aZTbtFhfg%Z9*0TB*vqm z8$2elsq>;eRFFVuovO6UAW#MxLu2X`h@t5ck|u$z?NHYZ1Z?Ubou=+XE8g$EXD0zN zsaAfz=bYcU=bdxz$BW-~u_&i=JeU4daHYRz_=Bn|1J`?B>K?jQ)q8#9{DOC{4fXZD zi0_f!zLk{y?9T}H%x8aQ6lMn?crgm|BtYdX zDVHjpN~zkZ2BkqMC=bd(Wl#yKgDOHf?vzsKJc1ER$se`#Hjt?M3JN~6^VJKSNNA(NhKdoYMz-?GMiO0lU9sbzK(vAN2;mZt?GBc}kAWM}5JW zqOR|tu4Aa{m#FLgbWBCU-f*s2-wVh}j!jCqWA0kC*`2ISu$X%hg8>DFp2$a!WSoSU zJElJG|0o@i11`!&h`AG!#*TvKzxN>KG^e^3vu1a#i00AIAu+l5Z=(+$e;9pQV7)CS z`5awtv3IaoIDJ0mpKsP>_E#h_wjDu_`Y9(~^QqoP%cj6|pidia6RDY(NhSS{t13V!v1>Lyp+M6VC1#FsXC3;p8D{(&^W8iZI zAD3bnnB{R%GS|xHznc~jB2rRJ=O81JXYQ&q*#))2d}4-ylNH19SPa~s45zl?6gT$_ zHJs!j*A!0)HIZjJHQA8UMO*z@><%s9qzFZ9pgZoR<2G-{t#q8cW3GbqcyY^i{KKU0 z3p&hdY-S|U;fqvXX19Ch;v`6xx@hjMjyuAy@eN*PvzZh@hFx5Ao*A$1J;}4uDb6tK zHz#@hE>k$g>)|I-pHbn@Cj}%FEF!GvobVad!?qfUMC0+c!{dp{X4pKx6%r~Ii$!rE z#cePJZ(D_4nkGsrY2w1BkhqN+i8lEEnKtd#8!6Kr>p(OzT+aL9*JQ7J)vVa+oh^`q zNbPZ3V<%6xb@JdrK}KxIRkYTklVkMOadVlNOYL#W&aKFh5%U$n0tKLxqjZEkbBkrX z8>QeZB7Dyvc{S}xuc6cFwRAPTjt-^Q)7^A%RvJDv4jW4-gxiN|6WC_SW~%jkr8u9o zgaQqBlhmG&f>W_uYdy~tPZmclYb?NCpLz(y!Npz?AWOugt~}GFYfFSf<6GuTROMKQT3a*L&QWV<`;KUfWwpXu-(^e0+tKT_v~s4ELd_^DnzOZa zo_JQ-Jv)6D`HMZRn2C3MmPSF|^8BD^P~En=?aj-y(oN3><}DWKV0UBiYCacRgKe5Yths>n3q<;5U=X+k{2j=% zkzN24+Q^t^tJZyxHv{!R47OI-z7P3lz}vui*e=6%6Y}T41As9y@>sPon-%H{8R=2r z2#|t3$39svv6JDk=NOCag}UEPdJ~WYx?umvo~ug|8MCBZeXd0MD##(oTOhXphkzde z25=nQNvT@D0J#?!1V(^cuzw2se<0gr(q);9e7Rbm26+zP16Ba5fGTiNa1D_60`0(2 z;5hImxL<+mg**t1K>q~#ZOH!y{tL`hNPiMo1S|)>3Dg7M23`U1-@N`k;K#rlKsWHA zLdG2>PrncOUyw=7(Dd@DxxAJOeBMe84im54;3yfqz7;GMd#2 zy#;y#cm+0Hovr^6@?pqF)Q!dowbXbWaZkdA|7wg&YPIo>T4?mB)AT;rJ_h~*+y@>2 z%t5*XmskvKt!or=gcXp9g&*^yi@aTt0mn#ur`1#wwRrUk5qpDls;K z4@2JK@)_G9?}FUwDm2<$impRG=8}vP(0}ThX8hb$NP{;<`U2c8#wsp}VKtZOT54oD zSLoeT_h5hb&{{s(6ubNS2A1<2Qyxn7rMib#;#XyVs(&~Y;(0VOaAR;VRmrE3`2&*| z5`JS|?Hw8p@h63NJ@tnWFQN}qLj&g*@Y&Qi(A@)}n1)9NhEkA9sJo}9_ZJI!DfRT; z6oOYI)CKW?({pA}KyizDv2Kojnc@^Q8Yzo9iUTum4 Z!fPYnXew8S2Kq-tCgH4`Ie#Q_$ diff --git a/src/rel/apple/MON#FE1000 b/src/rel/apple/MON#FE1000 deleted file mode 100644 index fc595d1a4c716c2e0fc049e5fce1b26da50e52bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmcCvU`l0RkQZPC;=^Z;T)r91pun&nD8#}50czp`RiXk~J{3Qh)dU5qelo{pf+Rv1 g7z`L<8Wk8A8kK=qn}K1XIRh8N;e%&<1h^O&04R+TPyhe` diff --git a/src/rel/apple/MOUSE#FE1000 b/src/rel/apple/MOUSE#FE1000 deleted file mode 100644 index 22d333655f51e07bd15126e8336d726eec89639c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1225 zcmY+^Z)g)|90%~8o?_C6&kPr8Le$Vr} zyF7PfR*1tym${P0f@4$Tg_(m?;8{M(bNrSU1a}4dg7<>-`SVwZ#xE(xaF6eLga5VX zKT@wZ^zIWXqJsFt1)&a(55${kyvBGqV)x5i{Xg9$t3Ppd#2zpP)QO1+zsyV3ewLSB zdoW*A?a_SEYv0OCpFMJy?16eC;UVf)v~}E?NJeM)SA+C=M1TYP}=I*q)eDIb?k2?N{Y5xZj4nMz4MBxgepwZ zrTReQ<7q{gUMHABFP17Ez35il)+J@FNj2eDO_EYgD^hw*A&Y9-Ba2>l?b5QfQB!r+ zd7X6?&N|<`bzsU z>@y-Y@!=(I4j3Xn9B|`8BNB=?Pt%6#-5p)W(xH7FT_+BQjvNb}INH$}s>LZI(ac(I z^7SI(tA4tmwt=&C9Eq1M8+FPRxDPE+Rz_z}7|lHz`)|lP=cXECi;doFeJNHUMp>6W z>~Hof#>2{PV{JWWcQT$>c8{CCW^9E#;5;$eTI%}(ecy6MW7%FREGyfa=q8;)*a~In z{fBHVM?)!bnMo927UtkBEC`a=1$}@w+rrCjRY5f@g=MfDR=_G)4SjGE?!bL`3S;mb z{)CtCH@t#>;9sKL8>+P4A%6s+P_9C$v=%EkH>`#Auo1SvR?Kh5{CCJE9KpC9<1@$? zA&0Sz@eSnLFof~X82^I&03O2=)JBwmHGw<@Gw=#tqh2Lct42_6r4YH*!efO6Sq-4W zm(Ym0%_3kmA;)0{?1sIlx1fFi`5Q>WA^0BJpdGs4B%A^ZPQzI^2N&QHT!CxQ2RES~ z2H{7z2fxC7cmz-38Ls=AsI;a9(I3;#cd&2{lP&CVjt5z#vC+w9{AU$r3T_Gz{SQ)| BJ8Vx<+J3I#E}lUO0gfRayg*|a zVkYJ?$WAO^kZUYvU}!7@;#weXU|^Wo%ply@4rF%$*}V+%6BjeEG%f?OS2D0nT*JWJ zxCzMK4ivuw6u%E-KLUzBWniAjz{tXI;p&w$ege!OI#_^(;qsMBhc8452r~c!_}Ixy XmqP?(LCkYUZ-fB-0|{{fc?JdmJfvZN diff --git a/src/rel/apple/PLASMA.SYSTEM#FF2000 b/src/rel/apple/PLASMA.SYSTEM#FF2000 deleted file mode 100644 index 08ba46cd3d4d3d80da4763ca579e0aa842bd1680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2671 zcmb7GduUr#7(dOeX&dW$Hr6e^F#5-arOaE$N)>#ushgzJF`Z5j>mP+~44h&oC_=aO zN>Ga_G|>83&V>aU?X-cNNd)b^BHe9}an{`2r2lnNa&IHE>5c8wZN%@~Jlf78*oJe@ z_kF+baen7{Zg}EBaY|$x2#RlP89`WM*L(=Ko>t%&l_Yo6C)E+uUms;sL(Dx`ud%9l)z`w0?Cf#XORQ7;GZHGdDSV4rk~F| zl{u98GCh}Z&upLZ&m5jPpcDOD{Wra+pH7XWJ~zHG9y9hC-Np&yl5xdwrMITNI-17Q zJE#Agb|rTtA5B`*&m|8hdy?-aKTLj=^i98$Ih7g9=$WC+&zYu-H?uj_lDd$(l-ix@ zN-d-|8L!S9oq2zz$9tqkvU`posX&l_5%oxBk7N;7%#;cNXzTzebL;($sW`4;AP5*~ zJ*AM^_-DAG&v*4^057$^sI(qXT3=UuuiPL_@vrg70s>gnFJ(z%oZ=D2y?kimmto9W z;H!Ov*#qZ3#RG#Fq(l(2&1GxjIV5z<3j;{-Bj4|T2;}y7xSGe;c=OneqJRWck7^O} zp)f)9hu0Z&3e3M-^|c8d53g zl|!{h{uy(; zQL?Do3!x%bFWI8BlK`8~H+e@(%HfjkkUV~sEr;Z@bC5cUcxokzAT{agpCcQiNHQf$ z%263NSiX;^6Va1Wu363RpakCrayGX`ZI=VVzqXm%tcaOXBGwWKHb~H4QY5pZom<(j z*4eqPHNpLPP5^DxQ0k1C#Ea5puiJWEbg5616Y=oyud#M8mi=PGZg3; zioxY*@g-h;@g=C9o7G(okGsk|s?CnrToC~bECZOc4wNcW^+C^hbx0;?NS&`A&3mZo z;pP7wQXP8A7<^tHQk6b}f;E95xq~AcsXWzp^n@BKMLWsodQKybjSPoZHQKcjt+F&6$<3YW z94EJ9(_-#*b8*P}6|afmRPJ84ay}bWJsGz6!BOs08Ro`a(k+wH7b*glsWLcwc22w# zz$*%k5=Se5c9@{*dRYVF>ul8=@IYlh81uiTy-X%mPM#@6S;Zr`n%vcdLU>C5CkE8A z%A>rbIfpCkukwO~R7t7qZhi)`W?1ZM`J4phqNDr`Vw9C?3U=WVIbMqmaUPo@*wvF(;ce@soV`{j5IO8l0Na?6_<43WUoyc}6J-49-%; zf|eDC0OJCX_bm>p>B?T|DjjI!!Z90V3(z>!uLr%?qc0CU zfunffN$k4^NB36+cwIb>*`4Qh5!?*F+>wY5@awiq>-9yreqAPDHnxdEEEN&Q6$nh zp^y-aC=e8}0!fhUaC45fHC@FD5iyYnODp`nT;I*2@{f*t?)f~=_kHijA7>-v0zj6G zK!t3=WB0$S5N4belP|Tf%mg>^9zehA3rUBURnM2eQkYXb8CAi82quj8~StX?*0e{ceb}SH`dp_e_LJo zy!`3o(&EDW-0b_n8~?P|?Q+_M@v+g7r^7=7{f{2>_4eH9wsqaQ(b3k@WNB=;#MRZB zYN{&@<)!+PVx6|AupmD#H(R4tWhm1WDTk5|9!Qkagg9wzj3kQi= zNF2pROJZWBaS2qOc;I02p%g`$GDD@-WasAP7Zet0b;Tw6(sDy(b&aXEj=R**XlZJJ zGZK-R+?L$45VQC;+)skbteKeM32Tz{-VJ-h!!IEVn^P?@0N~l2M!7U<(pvzHiw9$i zit5dgiIUcjij#w}IU|xO7<0IcaG8TM^(pP33^1!pw1X1hR8(E8)gJ~N6=<53 z6eq_txDzu8@5+)P)n`%;z*zPSGLKL-)c}J%-VjrmBkzUK{%x~(UPQmbNUc|~yM}7U+{#eC4QJOe-^ARBY(wv6;;nbF>qGUU9-~H3qp0U70p&nV zp1g~O zzZG11O2Oms_#Fl+3&Vu3ipl~1*-6)o-#}Bs=ye1PG!^!KVyXb&gvaL=s%SdEPZ6O} AssI20 diff --git a/src/rel/apple/PLAYSEQ#FE1000 b/src/rel/apple/PLAYSEQ#FE1000 deleted file mode 100644 index 551ef2c8f2f8737fef3d345964fd1415abdf7991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 421 zcmXYtO-lk%6o%ghm!^j{t^7hphYE`zXcr{8sDX@;0YNAtr3TX$31LAD2|I;Q8yY{D(WrmZnVBy4+~>LPxr@trhfoJ35>TN2c;NjiraMxGwqx1H-elleC-`4$ zg$hvP;@!=VmZ3Ab35FJf`j992(C=(uspmh)(q*2sEV1+1(^jB%#ULZ7TO56ee$Tfw zlX6mUWi7ArS4vmSdb-uVO*h(|)g4Xm@Vc-o(@By z2tF-yHa6WOiUw*r&a_Cez+KC+Oz(i=VdvYlWg_r2hqmigDBlYxTA*`A=vq>?u}LG_6v^rMqnnax zqEZK2ZZpy%C2QO!)08|%Sj$ydiWx_7C+fS2(u=jSN8=xfok;n$+?loIVmARcQ1*Ry zXUB#VQE5r^?!E8l^Zjw(@4N4N3G{}aWJg%-AV#4tJ2YFxNykTbWs(gbk@+~lhz=BP zsd1E*A^KCl+j-D&=)j@x96steeBgy64TlfxuUq&0;R8)gj;EhH>Nt4dXkA?$3e<$( zXTro5*cpC*LsZK-i%$0-9YNNHMT#xF}6L%#=ahVJNeIKS!zpaF1eJ9r{vUR z>haXiCd7$`$==Dclc!=$@t?%U;vdFq$DSG6k=&EKJWj?x9KSn$BJqv%Ufd-O!~bhJ16m*|CPGWz`Je^V6`Pfh%AV%x;QiPuvDsl5qzqJJzp zh7(hXN5|dcfyqmgS0~-}))Fq`Zbe)cBS`11#s%c&6gQ{h(xAd+JuqZE{0H1E+pjt; zBB0mJpR5yV(l@}@%=k^eds*XcLM>L zZ{+6j#?U)VAECNXoqzN*WEVW;E{5y~c$v;O7+6JKXUJv~T^m3aXS%!-SsIb!<4-L3 zk$!%eriMeR99mxH zZXQRZ_N3T&#TY-J^CZc=*TX(PTm8vH)xUe0)A6a}>p%vd;UVAjHw zdxBQVuyUD*UvYUwzv}X0gUpY*_!?JkyTDF@{d8PGf@p7-ypn+1eO_PV4J1g;MG@A% zMQp6a%DuRl(lICCm~VLfkl^#;9^ZLUki24#BuEX*oWdiogl*3%!)rNJklMkNUv0-* z#J$)<(%O3akRj|fWZ(4-e?*qNzB6;+nn%>N$Rlu#n>*(41|D$=r*dh*$5g0}zl}!t zQ(U@A(&_}vtbz4>dW*Ez=jpm#qtvK=B?j-ih`TB{m@kT);@nG7GNYcEYc4Y0s3FJ5 z=(FkJv@!E5G*w>gPqT>})@7j%bBHy~UIJuE)GYLYVGu-ZO4F|9B-mJtl`a z@9UAolNfcCczS$J%3Le>Mozx;OUXlSnW>D>lF;%%AaXEcZ->abO7*a1L3A!;yy9@F z9yOqQ^rYvwRj{Jri&a>wgldX95aE||v)uFBv{WVtPcWn_Qf7Y9Yj4SLnXc0LEMAt` zg$U(PB8@AeYvfnGPD-UVhgz~+){BFgA<8o3rqn;fDgIebeRsOcM)vuYcc+HG)>$eB z6=;IjGUV~0g2g%yS;&=-?7=7pIa?IEOC2xU~hGl!p3^zkd*D}k^Qpeph9&wr6 zgxF{Zg6JLa4dmZ8w_F;~%0WzDWeJ-Tih-XTo3>^{-xPvQC8ZjGp=QkQ$y6{CvA0Z7 zpDok63y7s-ZYUDeWnK(BLa%I2CIe6;q;G3-!9gM2M0AZ}C^(hhCk{3(e-C6~k5u4&{5RMz zg;ETf`yzh1jES>pMqvrn74V|(;-0oeUBLyavB--4D*(%_f+VCw9~3V z1sY-owm5V|xH~|A^BDpiTL@pvXq$xrc_G7Yk>x9jwo4}0=d)y9mubIXuEY7PUQzr? zWsM4dw14|m+Pq~Ma<2Dt+WO&ks-GrLtAwQ!;#A2_RTbWeg~=C%{@8%FlWaBDkI^;R zs+Ft4KvkH0PL|p8kQ-x_c|hFMN$w>#GBO)oNdogWdj%5l_qYg$>@q2f<2+_(&a!`A z5=rS2&TE%3y{w1rVLFPgLMn+AU6oXFb)}dzE|)*sid>F)xTj~`T!voSF@mU8Sny>& zu^JO@av0?1k9;=jXupLwe&z@kxBQEf7<1ra`n3WGq?l}e{P1G^3THMa+aHh z@U-=nLjv}6PYI$5BgtY5#BJ#KXXJ-gn3C;32iyMXR^igy5R-nVS@PS&>S zjf`&^jN^4crA>;S`G(V1K}tiUQh0X*FuEo`2G~ZxAe!9K-DdP4zGN_g?JE#y(gVDW z-WBvF#n%pw;mroYY$E6A;bb^{2Ea#)z>YZ`#wGc~i$4aW>LL<&F^!l3z5*2b_B89c zPL(4WrtAB z&QgGs1JWk7(Q7n6Ihev diff --git a/src/rel/apple/PLVM16#FF2000 b/src/rel/apple/PLVM16#FF2000 deleted file mode 100644 index 0d5aae6ecd2ea46443db529142340eae44dfab87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3241 zcmb_eeM}t36`y6#7>*DxX`CXIDC=4^!9{o>jeEkXS_`Pp1X9~L^+y%OmO)xqmg@AM zwo;{DiWgn2I)zwiAtcI*>mi`NgafPUnb>za%jt5llL7X=jFqep%wj&w`oOp@q}MmQ zcZaWTqgKj+X5Ra~H@|uF=FQBy+Px**FsE%5k>_bv+n#G<=f9BfqWCm^uDrtXB3oZm z|HFNU*nKs7U*5g1rn)R26|VH}1@9lTT29K_g?!8%7vp1*w`o6XG9mKY{z8?7tJp@m z^6hNZo|hjY*|V>vp@H4`(joT6nnPt}WoX4^1cG729f*dDd*oqxL|#CD4DXkx z#tzH8{7bn-E{=RV(h&J+WM|}PWG13S<|D61YNNZNr>_6y`qk?L@(+SP3ceS7Klt0w z+o4NgIsEJJ@57y8SNLXlF>HzyMb65_W87HvSYRwVmM0g;S@PHAXXRpfoBSQQTCN;h ziDXANN52={7=0n?jeHcj8O#rT8cKwo4;>ACGkhRy9^W|rjqw~_xc!U56+g=t3GtR& z7g}bz*vVU3Uf{fV_`L7%S1sV^wOUh{9RW+ zb7p`6E#PMGwxqTAodnewYgBqa5GI71UH^Q0x@ESDZJcYIZ@l9|wB`2tGl;H3?42cA z%=26^0HJYq~WW|W|AXRym!dLvPD@F?{Us-95v4OXI zvu}y)6ygC9rcbDdFFZyyQ*|10(3T0RnXX$vyg7w+F%J4N)xXKyzb=6Pp*^`fkq}e| z70}G)Y_&h@7!|ewrxF zv{N1ho>uXe)IYK)v5=ESsm3eO0pW)3SMU0I%v!eOfL*jBGy%;0Hu^P^6XI z@sb2e<;c*0)pE>WFn}bzp`_-(*-ME8Ff1Vi?djSzwxpDc^x$BWRpQ7R>dr@W1;lns zQ(TB!2jV?x#TgUSD@wm5#=eo|8&IJPM&p?60mV&}kvPt?e_57Q(kQ zsWv}wfe5h|HpPS()Q3CX7PI>j_&!+tEX*?`qV^a&Ncq`js?*R1VVOy>9ViVe%$7z0 z9Hi1fdm#y1Oi0{4BX3QLzStpmyvMD;^j1P98S0u$)}R1MhC>QmbJH0*(|bW!Qcf^3 z)8JMz^^{{KYA~jcfF4-NlTc<_fHMCYoYhTgaodnKt0f1k%K57z!uGI_R@dIh{OQ zDxechm-U?TF}6(sBUfOgWT=O4Q##W{KSYYL$3YPvNV`#7khvip(@Ta#2`q0y-lP-@ zAaAM z!sFk!+?uKFQ&{cs9=^ke_zn?CJ{B*^ap!I8bMW}AeboH7ZyL6GJpEbIz1%YAj0^Kl zweUENg!m%{k#?&9!vhEhK>reYG-$m*OA=Z}+)fg==PQmIVo1NmPDM~5dr*0OMMdO^ zAlIy*7?750?&0nBHU&TEbgFHNNW<0{rk=v%S*S@7Vi2}l5ftd0^V&us-aXf{tc+qB zCV>>`YyHxclY}2JcFxb7h$CJjMYHy>km7_{yJrJ|z`150{5$8~JuvQ^fA`>c%j}Wv W*$)qlpPIXPa9o(5o`!F_BmV*bJ)QRe diff --git a/src/rel/apple/PORTIO#FE1000 b/src/rel/apple/PORTIO#FE1000 deleted file mode 100644 index f4dde5d2dfae3d50b6e4afa9622aeadcbe70e989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmX|)F-yZx6opT21k+5{%}HD2{IGVLH&KLvju z7e7Z|R|P-Ua1hN4w4Nbm;#vmTi5nQ?8aFdAG;Rapy+C|`fnnld2I0ozK=vsh`z(X} z#AggFjW2=hHw-Kj-!m{begU$-1NHp^s`(4VEQ}0|?2HT(xfq2T`G9OeAX|h{exg1j zOQR8xZOX_p(H_Wl0U6mIpZh545EVtSQsu}xpeqKq<}C3Fy4=y aymUE4Ko-P2cl1VxfE)uPAqdDbFaQ9JrGyNnc5zvOWpP=quNCtJ&UhqBN)1NEDpjZlZL@+f1riOPW;VnVg_e%6msa z6j`-{memMamTFqT$-XN2fL|~nr$UJU4;X=CN&o-= diff --git a/src/rel/apple/SDFAT#FE1000 b/src/rel/apple/SDFAT#FE1000 deleted file mode 100644 index 173fb3ed30c16005fcfcf830f132e0407eb65384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmaLV&1(}u7{~EvCmRfUnK`JjguJvx$`Yg&5fPChslCL57$h!H1lI*i(Skw5gC#Ac zEq%d-5K#+);KBdG+C(T+ElI_C^U$*=Paf3orioaD5q^X!`Gh=4Wyjd_y=Bbfl#FDZ~ z7DNUyuJVV(mqky7fv0?#@RS=VDvQvUn_=qcPP41XW$(9?I$2an+4iN=I&M3^`=dhS z+2IXp(X-n(*uI+ZY&Xg-=Lqd9x_zE=v^%zWhQBu-4)^%&XJh2rPMlII(xbAXa`^*7 zd7zwQ?Xx3$y7hCWwYy4k`Gfq#-BWz!+W&3uE;>E?9OK$j`uF4Xh0P#Mbcbq0iyFfe z=CF(^YFNPrwy^_cM8z z#u=Q&Ih@BZE{Ft|BpFU{aj<8K_h z@MazPfB3ooy`e+T4S!@fd7rg6W9SFZjWBw#_tH}Xlh)45myZzF%ZWLA60`FQho89E zf9V6mk;^BniOVN467PRxxy*hNSMr{C@6x3PQrlyY_QeCzq}pLu+lksn)K*D}3qpK> zR2t8A#GOLiV^-^lsyO0xMBNo4eXTo$LwA$bxDt0+!^^}PLhxIdCn)j0$D5=@`(2Ht zlX=3?cr63upV$7l8%PGY!&*m{{t2wK(=`J3`EZ_{plDNNq{d4;@&2uvMiD`}FK5Z%x|Bj>%AfXD_*a-JqQ$1=scKWixS-x}LensO;K@&?sM06Yr}!Ni~Y^sOypPP{01tzoWfdo?@PAx7ww4syjo(cmSqQK-uXsnh%zkcDD!6dL}~R zflvUq#wS|{1|~^E?6xZHgGQpXL9Mj)sclO4U>4ZDgOEF<$=l?79DTe-I;?i&z}nu| z+J5at6ZHF5$RZZJia@bKzK*bqSIAx`{!yq(tZGN7M(JQ$b_EaP(&|@mKdiidB{Ny4 zB?Xshy?l>;=VU9nPF4LTlB24j8h&1i+RM9AmyW3GAp+Jcxz9|%NS>m-sjSzJ^$`b`*tRj1-D)QBTvF}aO_N_~7-*fdl=Q1e~ zpF9)IqT>CEj&zySNT_yNkSRl zIfe>m+YVbTvvJY~Cb1XMJfY@kQNh+0JWrIU%c`n4oM=NIdqy~|_7HYd(TJjk(+?`j z?ozZ#QQ0(gN;G#ix%P~3aQ@A#NYN&FF+2BYgE7}i!b?STNqC9ay<9}v<*D=cFHG}U z$$eIc-9^l&DCL7nrBAKIq)87h0dmJ0WNadq+(e9TBE~imYe;S)cJ(G=Y!k7mO~n55 zCSu7=#Quv-Bz^wDVhb6TzMI?q84?!abELo`cQh*7+P6ZM3h*c}2G>>jLAuMt zaG6*wlLAYyVq?%Bs0o|NroyZ3`J`ZBR(Ukq5iN1t-rm^M+U!s}9CvlJMYe&)BGGMX zbF3f>2_5zN1m=xZ!Ju5urtpf%Im;_6S24x1G=-BXmZm9IGR2al!V>gX`N{)4YSnZd z4_rB2$75HdlHF16;fh<+6gfUc3|b>gOLtZ!pX52G zDz*+uk#g|(in5Z8sp81qr5Syw#;WI z?Qc(}aUw+Dkn}AnO;FMW-BK_+izna-o0^;39UbxJXmm$A@)g{i)zsxsTbdog$Tp=p z8gqoA9c_+{jnNoyEVvZTW7Wo{8Snpds=ScGm0VYFy}z}w%h9;Caa+41@6Hv~OV`4v z|4Mf**!2%kQZIZW5^arv&=NxtbsIeNaf6c%7#3+ig>KkTs*PeiVJM~v=--0ANFdZD z6wzA+58W$x={JGL1g~}&`X`|q65QHRfoR7dk3s$gl5b8F% zwI(B>&Bh|yV)W2%$i0vsfV>y-V~`IUiS`V1&l)SVVT@OxTWlh9si{=U$GE~&tgXVh z+T@{CCNJG$a%(3cpEecISD<^>SEgt%S#Z4cvcs@*dbO`viFO~b2Y3j6 z55w!^&)e|11l<+LAA$b`{BPg}n?P;0)moN~&}{Hqz~_N41YZH}1YZO0 z1+M_#0DcE}9rzaT7Vx{lBj8=&J>VMnUhs#&9|8X!_#yDa;77oJ41N^+82FftXs013 zY=U+k<7+k#eaGgezqXZW7a?D<*|iTber#J#Keer-f3^8E{F_3BOpj*CB-Dmc%p_V4 z_?%3qb_@7C@cEezZ3(ypEC-4JH*g!^11f36YS*h4Wr~NrB-^wK#)~ zLD5KF8iUqMPL7Qv&W=oM5bc~!jGY-9Iae;uBoQ2 z>X}p3VlERV#zt$zMU0&tKVB{_XYBaI$ZN+gRER5?Fgku_JRmv=|4L-+_yxaMl;jg* zBR+9;%7B>H;aHrM6XQX#bc&xl^~&+FTG2ht8Q-;>s}akRx{>2P(UY=|$)Y#KlZ){Y Ld>zBGRuJ+}AJSDL diff --git a/src/rel/apple/SFMSPRT#FE1000 b/src/rel/apple/SFMSPRT#FE1000 deleted file mode 100644 index 07c7c6b300fbaa22d6ecc6b1bdd2adfe6cebf2f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2125 zcma);OK1~O6o#*<8AVH(X*&=~!I(lQ(S}JT*r7_%kg+XTD8`_oxDYBb?!;0NL6Sk3 zg`nwDeBnw_T#BL_Z8cV=SX!S81;M2txD~|zoO_elNY!cP{@;1tGj~GUk6L6>7rV_h zxMvsUmOm6<)Rw~eJl5sKrTN#c2m;@B0$L5IpD_%h%dxQqBGKmrw(m&t zY5xQ+>}Cg&2ppj8qlUvgA6meN9^|EV1k%S$Q7T1A7F%$d%#(@r39LxGO-&Gw^f^31 zJQ9z{2>@|!<4~TOfP=Id`C2DnpPT@B|1|*}DxU$)w@psKC(LKSL~ZEY>t_I>w}S~# z@y7(@lM^6MO<-XQdT=VDHNb-gjxTSx@CF(`{Ce&UK zuoSj@o|O)lN+llrFAM(?S#8-Tge9<$_U1Zzl9#%HXLg$Hx+ap}*~pu{v5xj+T&GA{ z8mHLUDvcLxq|8)zPj`E=*Py(dvaYd}RaU%{VwS1r){Ep#HipcY-Y$|)+1P6jh55XlWD#R_H|Vx`v>N5>|-o#eC9+W1(pxX1PK(p>9~ zjM!efX=J^vO(Wx_q_M6zF;;N*W;|9thb|S*xs--wBp2` zUHdZLw%^UH=SVYJD2az5_}wd0(=rY z1wIWv2d;q6gD-$Df@i>&!B@dIz_-A6!1uuS!4JWY!L#7!;Cb*Ocp3Z_{0aOS{000K z{0;ma`~&F@BRS4+rt#)_ zIWpI2$fX1ji1tugm5dFL;shB4HAw5f9BD!VLCyr)fnv34OiT;K+Ns4>uHUzNU?`oT zGri<<`*!#Dd++Vr_jcz7^uijVe5;vU<2z6OX5j4d?%uwx-iKoS$Cgt=#^aX5mRqd! ze|+v^OW6OCUcqXVxJ05jeYJVJ>69_U=reTd@6+OlZ`&nxDQ2bYF^%s{?Tzl~$I^IHPm1#CV+wp9Rn^x#Z z7t~aarJ$e>YV#;0+8gpTE+U7A%5*DIgvt*SRpQ)^+7A<6@(QlUEgli&vXmQ79lmx- z(0IwU(8A{JPorc>ocw*~` zM2H+Y$#%{5@3%3h_Aaf#QKng-SC}^g3RgH_@=OJ z?kat8y?lUBE)v{ThRP=PthqU8^cafM<#LQfmC5!fJ7O$9VsbCVn5Izc#YE8L@R+Q* zj6CL`$z$GT-4ZlA)2On5ZL2L{9=*rFUijJ7w16#&L&fPYmV5M4b8%|3ZIfDGz*%^G z{T_Yptwh)IP~B6gjyL&x-lW=fXIrwb)uJ3BuZZ3k^V@2+--aNk!)PkfVjQoH zc6qgq&tVgJOlnB(9}*s&Z6=SNG?i>y`5@BOu`Ktbx{k5rd4Dp+Z@c^Ebt@ri-S=Ks zw|GO{{5-Flr}%BtZ(g?&qSif2se5{|-|7NUuR*$@9UjZu;pzU?53U4_{N5Ldm=I#~ z225YM_cCu$DP@k|+c8qFG9z!nFUetGBh7@E-bh z5M)y_Atdr=!RJb-vY0kh>ki|2HkElr=GATFHT{=6?wiO;%qv8}OZ5j*FdOP| zITRv7E^oDNDx<}+js)xzt7N<(V-s4b@Ssj-yZi0wS{<_)JK&3kvK@1?_ z$yb(Q%gjWbtI!+;(Gg)Wx-Epzm8GdijG20qzIGfq>t>KBxIgJX(EPtY=+LKdL{lgl+|A|0wji=Cr%$!xu zTS$=TqeKTCOOWerYxrsA6o?PqV)=Hum0vdA4)086e8z#b|uo^bOlSI+! z0!0@HhR7;`BI{ry{1nc^hcE~uZ~?|@DUtzMFbSr>Tv!A$xZwLx4r{>=>!1!c!qe~! z{2X?|FJKS61TVuY@EW`UZ^Ap!2|e&WoP&>H1TMjs@OStZBp_X+$n7u@>~Igvg=G+i zI@k7z0_519?ygGhjB%fd#M_ut+1z;Sq3y z7pfotAqYb~JPA+1cGv;W!A{r(t?&xG3;pl`dw6F#H%Apb<91Q}6=pfi~C=2jSQ74xE6~FbKnN5x#)0fzl|V2MZK{17^S+m=E8D zhhY^w22Vf$YT-xl6W9VfVK*Fvb~plW!Mo52$Dj{R!7yBaui&3)6czNkh@{6H&{H%^ ze_Pb1XVC(^IeL%Y7%j&BLRg|tkA6?Di9CWhH&lQZ)0QV)6hCu%ITPtv*XadJM+0XEI%9n@Gf+=gEPgW9 z{~$9e#aLh8sRhiel>58-x?%&1Sh{-Vx3OLs?+^9oI=hWdo*C%vjQ7P>N)?$(dEoRZ zr*tA&?t1@B*L$6dqzUZwsrR~+uq+nuJgJnjnUa9coakC9^{XlUU9p7{9*qA62!O0; diff --git a/src/rel/apple/SOS#FE1000 b/src/rel/apple/SOS#FE1000 deleted file mode 100644 index e560f3d33371cf2beb6f4ec1d5bd4bba3069e2ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 777 zcmYjPO=uHQ5T4y`_s3QpJlH@sveptSwBp7#gf_yDX z(1S?VgLn~w8Wc~qP`q|&6BB4QN7MUUJaoeKX%TGv9k};T`6A17Ho? z;5TmWY*lw7cI9oPSl%v_C!qDMZhJjkFuyVV|`UL8;?&KqA9NMHK`!y zr7y~g`+0p&s5Nr1Dq3>M5o$_JD%PE!#fI~JZ#Z8!WK+&J48>GjB*;rbGNqzYlydv| z`W|0vFz52dz9Xzt{~nQ}sgDS_kDd<@cU1A%^C2e=Io6{gy$G!x@zj`aa! zPhF4@V(?m^8U?QiLlA9$`E5Tf_|<4T@i~BjU*2BOT<4O>grWL;J~c8CQB%gvrTLU` zT{}p7tJ4%{Wx6rmjWfYFKq-C*Chxj2_>hVJnyzM(he>~{uC@7w*(S8^XFM2pW8A~$ z<44#CDWuG550WfsGCO`;4~O&;29MGl>w~_Ae&*}NP!DKb)S<+;Jhono zX+gp{)ppJN_ZZy?)RL$f&Wf!`XJ;u5=XOyY@`h}~MqhEpEZDFO`nc{d9x)4j zNXG^q-7_#OZT(b^Wc=p8j)I{~IbG^hd{hem?r2KKWK|S2mS6lpx)i(C#U_SY&j4l{N#vP8Q;$KLBhQY z&Jdvw&Q3xX)GquI-M}AFge#GkkSP``G*YPQ&VbzPUs0fEwmQwf7X|SQ0@V|~u?u1< zg-OD_&qtn^>cC`%@w^$Ku)dEse2j2*6&k7MI7`ApQhF-Rz*ym@i0iVD;nH|3!rBM;ha3NWa(VK z6SfTJ6LvdpQP#?s8TVay%3Pq>%A&%o!K;y{h_SrRu(taZ7LjC1$k&_JCiYLr*OYM& zqPS$b&(Ym}J;>h!Pd0R(mecXG(`Zko-IfXNOK>x?R?aGqx;v2AiK|f>C!=A^Mx)ph zxyVHmcq^L3M^RclCLiKq6Zt!&4zlUk6XWBL4ASVyb8v8J@zg#te(g&kI$u)Nvb?LC zXT5j><*e1YI3O$&B14&>9HA^xu2H_}hPY12SrAo9!$SBVjPOayAsF=+fbdQ7 zPsp3(XQ9edD|& VJ#Eq~n!VWg?n0}zGHz}I{s9`mZY=-+ diff --git a/src/rel/apple/SOS.CMDJIT#FE1000 b/src/rel/apple/SOS.CMDJIT#FE1000 deleted file mode 100644 index a9871e65f28525c1420c149c833e20239947c99b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9769 zcmb_i3vg3cdj54K>uvj5vdwch!q%|nB8ma+TrA?KBW^gjK5)DgC*^kQFg^MjASs|W9-vBr5kxoyuDHMPPsTHkDupf^kWjMdc~?0@{=2krPYc}i3(K?$)xleos^IRn|sxwiBV5WB`I66Lu@Z0g{w(< zKI)O4DqKv8SBLMO8ucu7Ot~(-70-iIU`vidQ0&u^kobAm)Dmh7?gS-+KP})+|EmUC zY_ZN?LxBMYb1N1YFr&7|!X9*4^{$J0SK!oZOt}AP^jczpQ_rBb#*`2$D7|H`n`Px< zrn@7}>#<+Hg}5K&G43uGf)D@Y6qa3TC0iAn-*q>uJg>S}&}L?N(U!SiFb`0$v{m1} zdrHnw?XbY>F09H?ufIqp9+ru>P$J4i2rRJbeO5`v34p1+<(Hp3{*rsC)nMgrLPAWn%gw2Y@nJvs42Ll3`Ce_~Oh4s62$t|6vR-|A{ zd|?(Xm=vvUsfDKIxX#bQn6cNf*cRB6Gl`h6%e)a9CIVN$+dnh0aQonN%3nqjD@+TF zd^Aa+1*shdRO4o zft<$-^c!1eH?u8gcGg&+hfU5I3v4zzg=2x=7mAY=uXUX0O49_)5o37(2(v&y`_AGP6G1ymXpc|vpAZB)PIN`v6hhd+A8iWO=8)CX5 zm`H-I2qKamE-Xg45bn}ygp0DmZ~-sMo**~|1Ove}0iQijjzUV{VgeP2N2$W~&HDQ9 zR2ObhPvoHVB86jj<*a>ZgW(&8Ny+eFm&oo)D}A9K0#EYH;s+7+l%v_u1$)r#0_jaQ z$Z=p5OoJ>lg3_quQFv8*Zg)WkZ_jD)&r!HP7o<_JMn1vp)^Z$juH?|hk{it-C-;Iw zVJoqV)^n)vPVe4@FBLcHO*!6qZDUYy3UdOqPP5u(RXj4jU? zK5kpC$!^ie7K@UZ+dN-!nJtEofEHab2tbtv*oVO_hg~yek!qu%FZ=N=dlouF~JH_f-04Aq?+2Oo$bFjTdE*3(m zw8#>#=7hGc_8I{&Cj#lb5K3t4HF5~QURg{MF1FO^hbfMW`G#4?1Qh6ej`{tD&X#4z z^eizUVN2oW${U-25hU4?l7`k>I0$w5T?8R>e!d8aoe?%+5_$W8T?qStN#yMVCXrt& zXA*pl($mvlRunU+RO)m?fdF7!2gr%-456(-95@VaagxcRGqh8cQwdq5I&7WatQf7Q zrC=zJ2$f@<0>N&bAbWN{IAY`u<`~c8;|wb&@*Q04*<65W?JmEDR*CE!GAkyx&Oe(4 z0CMBfyKhlGcw+MkLm3ST;Uw%YA44x{avO>TF0#*)Vtg`!TU~J{Du{hcZUWpPdYt;{ zj}D5Nb8<2ZF2w9mV45ZZjum27+r(EdI|LL)S0Q-J4PW5F*a;jP#Q z;2FEX%@*SZ?{zqzw_=+He&(HVlj9vL;LV_0O1)XIg^S`QFP7`cofrKNCtkNqAmzJp zZ}=Oe)S!X~{Q;^eWrcyVybxuj zj`HvL_3bDEluM`jwo}bMH@b`EB?I*{2O1`1<|{ z`j-{)SCnVd*OljA*h+D#v||LXcKDY=o~0ZByUMP>xe^@g%X0ATF**3~*e{cy*4a0> ze@b6m$Y)p#D-<7^$ETHo*I!2~N6N0{bx|M~pY7DZra6b$`KLJA8y>HX!SQE+>=~n! zjIWbQ=?3&y?`QLyK7T#k;04{{g7^5Nqc|TJ*hBMrd|=vQsE#-g<0LFnFm{!_mTNMi z5-$$}6MxKNcC(6t9}!*neTZG~7r65PSsx9w*umE94h)v^4vZTSQxQC~{JkVT zd*1k~%e8<6Kas1w0CISrFH{d{n&2l?Q1H{G^Rv8=pLn^Lhb!xFJ%#-A7Q(Gzeoipp zE--~}GcEDamD6=J>x`dfoS9BX&oq$ltU?FR2IybUG*a_m6TLM!hYk;ZhmH>hY39(a z^x#l4y*D(MW}TZy_nuooZRZxz<#UTE^}!v~^TAzo_FRZ&eb_=XJ`B^250{eVd@BV$ zT237wwbN@K-AiQ`R?v^mMrh`Rm6W^?CHh#U*vG5s!p9x-!N;9+|HUID=jeq`chHHe zzoxgY?xb5jf04fZc^@77d^a8Wd=IVr;w9?-;$^D*axcC1bzpv7SOoo2PUtp1l z@W=5xLN%m>@KqfN3x7OUrM1Jo_*5?GAADN+|GT}W&1xddu*C5_Jz-YX$IFyA8u)u{ zlS=K@HmAv|k2Kg5WtO;2d0h;y-|42PWBrR(T)#OlRE>`)`tyhNXTx?Z+Io66FXC*g zwAkZ76nCf+KDk=(dc_*AP&PL3=b-k=wsOfHw}5&XhHaE^P{O4gYT&Q@?d5IwK0HzC zoE4qb;A)`S*4vv}8mPgAG2BmWRh#fqq_NERXLEhCxo;{i3b*jT{r6gYR#SUpTe(T4 zNJ}13hn<#pN-g-+Kslx*TvFT|-a@JiU+ElCb7%rL>mz{V3i>0P;$^C%k4MU)=HAuR zX;mGO(4P~o&6TR7OLZ_wU)-iTkjV0xVs_ldXNp;R_=G1#kG+}@;9+WwRlw>DAS9F_sVTgTqNYu8Q-i6`gs1$UXi<~2C}hVpF}wkbaHB(F?QOIy`{6Ryrl#z)|SyD+H!hUYm{zdbzCh|XcAxJ^Bc>)zjW!Xeso58HxOT=wB&BI@Gn?{ zTG@+BVm>&Q-SP1ZwJ)3=o3r*}Z^xD1wN-M*)!wyUdHT=fwU>JpUpIbdqjh_T?v<9v zB>fEK^lXx(CX#MPQBfX1IgIj8HrFsrYb5UY*DESCcdNaAxPmrAc6-`e53-0$* zRr+qJD%mMf@;Q{lW=fwgo048;^(Jeal>7%LrR}aM$ptP-R=FwpFv>2J0hB8!|L&#a zMHEXdC7(t~PoU%=%87}TTr!E0f1E_=_imb!{^BNAdZN#jzQyNC&ht@vCE9 zN1rA6Eb4#uS<-t@e(RIc`+Vl)arC`|@;^Rz`dia1>Go+-`aYDNY1jwK6VuG;7pHmB zpH1^5Z?B_tq|TGtW#gZ1X*ooL6-4V*f;P?oql)*_p^UM5@UjYFtxe78Wh z(}{Oa96WF=B)jOyp#uYN9yort>=w-fZyz`sl4W}H(3>X?waQi8I5_Y_*+VBz9_NNv hG!C@N)pYW$Qv(BsmdZ7B^u(!St@311e_x(L^nX6$^%npD diff --git a/src/rel/apple/SOS.INTERP#050000 b/src/rel/apple/SOS.INTERP#050000 deleted file mode 100644 index 7920d09726296d1703e0adc9d64eb56db672596b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5987 zcmd@%eQ*=kozE+=S_uP+YlH$^qA=7Is%u0pa4I1MV;k&5$O;x5@nkN7+OLB4d_KnB za-=yv;>~#O>{PxYnx+M>WXsk{HkMqr>CGHLA_4auN8`KW{T)HhF?m9OHq#N9L zAp3g2WPe+blmD5`a`(Q2{9xw);m>9N|M)*ter|W&`-{J~x;BJLL+0*O_p)wV_m1w{ z=-WM~x_SeA*Fe{sUBBqs+*{q-(tEnMu9xk7A@pnrhq`-B!gR-kMORVR z#;)=%PuFyyJ@n&HB6KSxghoP-hRmV0!Og+T!E3>qU}G>FT+{O(LO}Sb;4vP|<1(Iu zh@0Y3+myk62YI-Zhm(0#EY&_`XpN<~DY9f*fg~W?blevg&@}Jk-7PoyhoDAMoXky% ze!W&Uec~S$PH>aU6X_C>*DnHiV$zV<s%^$ zgOlGG_cGFkVCtQ*=vQN@_cM|)q&$|iO7~_@QCiQVSjtwP;!*;tmpNG)ie*AoS!4Zm z?m9V;`WxI0A0NwfTyKqMrF&p8qy*^e^moq1AjWgx-A+;rKp-xD!Tnff*jPVCMC!+9 z)75e_G#pcKJ|2!qN$4yt355B`*x1}b%wwIw0&_D|&H@6DbY3c{2)*_vL>-p`84Kwk zg(E1>XYrjSneFtS9i9sj5JV)y$_va>P;yxC1@bG#JI1*_@Vn83fT35lw+3-W+uv`~8l3un1Ta<0A=amB^3y zrRC6HiJ8d)$U6%1BhWE}OpHJ~PxFmx{it3J^;{%VeMepl7C9+W-OOF_Dp=S;dR*XVQgYXYx+Q zYDgw8r_z?B^x?#mG@;>xGKar43bh= zvXYHtlclf7viRo6Md?xT>_}(&E7FP?_-_a-tw?KRv2*!FX=yTPJr7CBL7BfM0Ag)6 z?9KX%*7xSpQml_zFO0@v$Yv$=C_jh)t-ja#!`%Fzlf10|f%WAD^In#ICC29sds+I8 z7;j%DhjLTYGF?dITRXHgl*tqHMY+oQu6$TMU0>4+v_83I3h!#)kO%I zhpYG$?`A}JTM~H=nkHT;pO4F8q7o|Nm0Mwt*))L|j($bc!gx4s&n2N+&!ihkuZm}< zJH5r?MbOg8X~j1=T0F~X&R+m+XW%ALz8BOJ+6m3*1?kS{8R=uUc%hkapJ@huBLGC? zOfv{w)?U`|S@A-ex_gEQk}FwFkRW;+L_cyX17jok7!d=;gKn^Q$$0P>e65HHP~zt_ zclr4i<6x1OJ{Ayg5XXUw5&a7UA>eoi(>6=bjZz_d5LGEd7i4CJ>7T=qDNHoqm&{>I zm;IZbC))M!F2;izFbyA2vyPI~3>{y0EZM&e>I_v4#U}hOiD|J05q_H+KJJ66?_M#SHX3kT&GXdG5VcU z`k^F@7x2paySu#f8($pW|7S&%IEGBpm*Ja%9*IkO5FFtpZ4lUl8ekM?V?E8$-YXLt z>4Q_GoQWkOu4DiMzp?o(j)7-$7pEo2b$Y2fMq5{}+a@tF#@Kwx=-oin!;VDK958wx zQ}E=L1#rag&4*XORq%A6+`=~sO4pm27&Hc3$fwg%|6NM40LQRVhOQR;nk~CAUn#hqWLfxWTE#Xn;QG};S zW%-3d`rZ|xR!s;?RZJ5N1P!KG2CG>eV)HG-W;!R1^J|w9u6z}}kjwI(!a~&K6Nbh2 z8JdV1t>tBfp>{E$(s}AR4=pW<16J^iCNv5a-4R?@&mH-#KsGN89JwkKA78>E&s9Nf zMy?kItR5hJCeW^L3|Mm!>s9$P?x?{U#cC0|7_m!G(=toxtm}2l@M65AR!?l)kG^7I z^r~E1R<6~d;w3s3ftz5=jOr-Gmj49IMS!+|L6nMr|0m zi3mndxKFxQuBA~S$mP5x=Y@9I^O5CifWyekB8&eiBcLk@BzXXBGgg(-Ra4HD$Wt9T^lXGA@cVtRX*)`Q zHj*UwmgA1=+4=O`z75Xj`+d2+jjB`K2UIAh#HIo*IhWN?_idPhKeuZ%0xL$17(yba zM`&(VS_eJ4g zFkQP2)vhBZ@*!gf8W%zs>#=Hr9xQv7XJZ~jNN$hisOqFixRYS5$n8jG@zVTP+FYhsgNa>(@R~+UISNSpB=Y+X z7PU1LnZMb>uEaE6*}_6f;jx(l*J&ba#6?(5&e+Hn;=(~StQ0PUV4#J7M~$AgPiAxB zL)wk5(=luW1q~~KrG;IMje|7%2+ki|4U_PZ1~Y4MLfjUcnzdky+i^FGEp4z}YIh)n z&6sJiW%WPtI3l(J*DnXG?AoHOk@Jp7BSbhCCs5mtI3jgxZO59{tPU<*j7+^(+=o^(Ra3kG%A7YjT>=Vc-xR4~tVpHW(a4}oA-u@86Yr!2F{*5gyE@z*UMwT5- zC3PissL&EpQ;h57n6((0*aED#uOi{;XM)??P@t3nF7T4xDX1MMJ@QN*MIZ!I=kb1f z9T_id8H@t90&0!j30Y*TfYv|QPzqXi*dZsd(Vuc?5Z(!;=qyCQ^D1OIcLr|P=WuH{ zBDkvDk;>vSm^!!u210IPkP)Gj;WJdtr5@G2r9R)K=1@6 e%QkWud@cY)diYS9-|IRf&c7cKP@QrXJ^z14(v$cA diff --git a/src/rel/apple/SOS.INTERPJIT#050000 b/src/rel/apple/SOS.INTERPJIT#050000 deleted file mode 100644 index 8cc7f05b85e5f29929d3d814537a896dd292f122..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6183 zcmd^Ce^49Ooqw$4)k?-#b^$B4+b9{A$ST3I6T6Dfod)y6U}VskwI^Y69UXxenYx7Y zz>de~UL1$@FjvTlDaz%1wOIiIX=RK=*z|H!+fshGg65h{Q)sV~yRor@L~=gMA~x1a(^XAv?{^Q;J4&!{E z1|2U(Y(fjq||194PqOP>i zH79g^F7VU*ji9G%Uf^%>H~TW@`^=7=Vlw_#Cc}Sm9QnZI|HGf_zJK$5?)wyeo*QWR zv%iN2E(R_KyaTNN^nichje)!9_k&pjx&7+~whnw};HiP3p!H);;43-T&GsF%3WT<3d zfB)hB^L=0TQT;{z-|bKLwe`36|FplaKhi(hU*G>#fC&}_4+ryu`-7bUZ=l;h+?6Xdr#s=^!fCudQGR}heym`;NA;|UZ* z_W7tc8btGgS8%o87B&PCpWu`HtmHH5ljiUBO$1-&XY*pIB1tf=f%VL6er%7g!}G_2 zL_yM@m;}4?f=AE8d_Kx2?0X1To=y(j26K`y=?kw9NItL7;~R@gF>kadCdDc+m5>kqHv^;xvH;x zHaw@!{0WkvSMbl;ZZ7gX8WR2@hn}_l5;*sxGId{oi3F1=VJfOjO>Hr6OcL6BULV+( zVg!_!+uPwCpOCjQU)nzAh>wnJxLo&optd4*AOkI3@_J z1Y!sz9!ZpJ8w7I#tJAs{IF#sn###w4GV$0O-LWyaJv%}R1j{1%2~w_kikR66(uP8uQ3gL0(7jT%M=OH zE6XC@iv-zT-^Gcg6oEig(tHw{8XyBsJd${T%2JeSIy_C3bczzK@Zdmspf4iw;D}e* zP$H)v7&+MnDfV)2lJwldT=J=#qEaCiz*mZP-x#=UdkDmq32{kKs2ZTYE}*5_TO~v) zeFezG(1PBBHhcj_Df;q7)yfJ4K{Y{C6A*|;<*pE4?x+W=fHx^R8I!k=15wU{{)#P} zEI_=c5I+MO3&hwYwDY{sqBTz0W{nA(Omrn--q(^gzH9s4(n@Q4(>QMXr7H=I zWsS?9&dkX(3N3ZQ_$j;-lGhXdgrOh_f24K&Nz%FTI3TaIGUF zQhqF%l&(%*lOL8YPWGlAlQ%7_ze(2erj#xz_2ylZbK-H^7=Wa%(*KtPh_}VG_ZqL+ zezgQkp)q2+G8KhGHY01NgeCePj6=46P|yD*&FjXW+Fn_8-Y4Z>OVJgFeNz676zw`4 zl!UGy2Nh^5{By@p1>jm?&Sc#1vUT%wZays_2np)5D-a}OFi5iabF%)M75*C){^>Xz z(c~M?e`^+zPdw00tv3WDp`-hT6ivb?&j}hZ?!OT?{WXaCZ^CE7EjNF|&EIsXM`>7d zJdI}NU{D}T830fX0P6U00L)du|8k6u_un*AZ;G@g${Oh|D<1AfrsI>OkTKZ6NNkwI; z4yGl=4u@75oJZJ_H841;wJ_F_p^^;y$xxv^P{x*!p;pJ%9C13!4%4;l;S%Sw%A=TN zD$0tThl&qZ<&X&&tpTHz2dec;%e7>7xXe*jTwA76j}})t=tE_PYRg#i0Ap(^YmXdY zm9dPB4rT5r)7F+f!_uXdM-SDMwuw)QuZZu2ej@%y$RnN$dqpw)PhvbQh@XZ1Vs%6m zTOuRkXn0KA5_wDf?eGWUe?}6bC-Qso=aGBjT;#vSvk_hB8<%oI<(Fb&(`Z~gH<}kZ zFuW!7@bDv{XNMmPJu&=vsAYIp=!e6n#lI90dMbp>3e;a4r0AH?H5uxh3MHY|ej6fe z0p7+vf{T&hqe>EZ=$mLoax4npN)=EP=ROhL7V`{Zc>0{KopJN}!B2v;s$+3UZ}W`Q z$Lq(UDeZmu;**5b7Lyd~W~QR4oOntXPTM74I5ne}=cfeuzmmzM3;v}mc^6VGq+O+p z^Sz!z=^9w+<@M54o|Z21y0I%@?E<_^l)H*{Mn9vQx+343x**?iNmts4^o2H%H^G9a zTxbKO>-y_DAtPN$QTHzpMe zr#$p$I=UJ8^9a45vHhj-zw*%Ie-ox=ANEFF3Os_EWpp(>5hi8)kd`;a4dKrt4755E za4UWlh(I&K%rJ1Egue(CN z5&FGEYC{}O7>LUA@qI!5jW-I{ghdr4k8!j7ZMdV*lTq0Sij#t@_k*}!2ZBMy)JXHR z=XWzY`J*0E&cqW@R}jD;Z)$soXW-e^&+7?syHT!*(6+7HpO%>jV`_Wb4}Us ziy|_u8teNC>vXADrzMOW4bw^kLx(Aj!CKCMxNPf$g;v#Zc3lpU%GS`UrL4bFM2MMe zBCvK@pp}@>TVGKG>edo2ouyrh(Aus9V1vkL!lO{Z4@95_*l-q zY<2b;6_(B045)COfkO}`IJ2MzN^zzE<<0E5@N>jS7E)Lg+c9EmK>J>*%TmJ60xCwG z7`ccFMo+rVx;Ag4Q7-7I(USc_<&JD*eH>^Qc{qeoZiPcn9v$pwK+63)yKR*`EWmEz zBZBn|_&aG93eCcpSpds=u+|H3-!iFjHp$jDW8INN@ma3tpAd)l$yQ$bBu;6blgmGnZh}d5SDL z2}rJeXR4<&EBWfY6ZR)_NuArN2F>z9gH$7S4Ome_)1k(64^b% zgAH53MlO&zyFz3;h+vA{d%0QbcpPD^+Ih`%^;Tqk89EGWEev~V*k=7c;11Jx7&Zpe zb=y(hcH$yOi|P7igPp&f z8j7vPa>ql!u+$eE3$ab3z&tk!PY~f?10Clmy0zX?%sp?}$u(+QU$DMwsfXrQly_PG zwBKPQ>AyH)vmS(Q_tZ^e%2KaXC8x#p9Bp}?E5LLiGM?qKQR@!G8L^fry~H5gP)IdC z?RW(>;HE0^wNq7M!wdVeT5Z_PW#c9;2OsB*mS(QNxd-6_71e4p_;RdWaEKtj0=DK2 z=p6>RRo?|qT6RK;XTfKIt2&;+IrRBX))Q$qbB`kYXbYyQHxd*`{>xz&bT$`Q8rr$d zn8usiIU11M+`gBB1Zbjb!Ub4MYQx0k;@nX!j1pdw z(7YK$+PSURG)i;d!r7x+VOzh|Y~id<$lhw#a#n10Ro~BGYbQ)|9MuS63ufBw8RO5~ zS3~xV?DxVpZd<`fXzXgJ1u|U96S$oxuZ9}7*)6$T+_bNpXePy08V!R@Xkp zu?>jeeQR?rRvLdD7+lZ?7z=SOLCb2_s90RfH0*F}KzJL3L&LwRy`7C-a?;3J-dfa9 za+ScVd84@)?3OzK6_^-%s&xn-fZBBCB9M6%Kv%cJ#r`O40}8Gz ztxjZc2^?Iw49*nw&>^RcQjt~Q8yT$|$WETR7P3Jd!)C3Lb3THaLZNyH2qLq=16Fpb z9&jNO?WqtU)K`C;K_`!ephr*b5eu5cQ+AQnhl@5j9c7iprDe6|gOzNF`RE}tx2tHE zZ51wRxaLmPrDigd+C*qXyfs>!Q$B;+0mp;E^t1WypM eK22UKO(LvFXE&vUqpb7ImG4;uTxT+ap8Fqa7Wn1> diff --git a/src/rel/apple/SPIPORT#FE1000 b/src/rel/apple/SPIPORT#FE1000 deleted file mode 100644 index dd153d1530fbdbba42cc1430aa5645d8751e1d4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1325 zcmchWO=uHQ6oqfz49O(;GjXO?-6&Fm4h4fkap5BVqEJe~P|`GoDlvr8ZlsIQg%Y76 zmT0q35JjViSg4B%5k!!eCXrUE3`rWTxGbf(P!SYSX+3YI)dst8Q9AI=oO|D!ch9|< zY?av=BDdzI_gel{p*($(>`O_c!aPG+t~$nVgm@}|V8bbHtU>qzby6MNxW;#NDTzl- z{P^zksU}|QCjvjIPQJ|2+Ggz9w#_))39H%MfRepC;Lh^T>{|x@!eVY#I{|KpuKxdl z{?p31$!6VEZa%4I%*S&z(^#oigfC7cwHiwF_SeE4ShzX2tWzgCb=jR-zs#s}*{9)I zbqzPOPK?8aaa@I$!GFe4Yv|oQB}1c5&yfB3S_8?@OY`HOgMQ$oDo!dbb`@fd7ta<6<6!5RR>WYwXUNmUFjoT)V1syfkPuQ zk}Y!!Q3^Za9o!%9vx2a!KTXpi? zwvr=O@|j2mO)bLQ8ZjL-fH>#{gJ2k#8YMSMl-?nEl6xdd9)xa@SULnwODx%q+*yzS z=fFiU1g?Wy;68W?o`Y$;JA-pRL4N^X!FTWz%mZ1bqzib!dY}RgY?g`4smfuMQ9d`> zta_+yPP~0lER9W9jw)^qQK2}QYgcq3%f;76lm?+n#eAC*7wS!EqEZ~2I;Qm6`CLH+ QgG)iXGHlCoF{q&9-%YOmk^lez diff --git a/src/rel/apple/TILETEST#FE1000 b/src/rel/apple/TILETEST#FE1000 deleted file mode 100644 index 81b812f79caaff1766dd2653aa65b1546ea6bd2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmW+wJqvvsyJyi>vwt!8fF%6ru@wxM%`55axt zAqe6;)>98X_u#8hn9UfOj%`LlFHsN(g5XO8V*k6j?4j2#=YP)c`|fwX@8iJN$GJh2 z6`bb8!pC=&wZZxF`@zNHQlWUA{>vBD80EQ1Bm8*}r4^HAm60%!w=1n4@C7t7Rc}*X zHC3nYr3!=k0!`Fy^4prpwP&+xp1=68lUKTI53XU&BtkyPkr za6cQ53Fq;zRR7h8Uar|$@gOBScYJ|kh;6X{6fMNR<{daj{!kMd=>e>mzWQJVztx#NCvk=Q8@Fk;)`Sb#nsdMB2=F zbyPt#_Ru-Bvc7@W!5fI(1aCpVplyg4$rDVmPBF61Lfz1L_%1M~brF0C z@Ef&j_uxPh&x$rqGoKzn-;UfACwQ=Ym diff --git a/src/rel/apple/UTHERNET#FE1000 b/src/rel/apple/UTHERNET#FE1000 deleted file mode 100644 index d6e7449967f978c6a5ae6696c7adeb4d4ec4cac9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1145 zcmZY9ZAep57zgm@9&dA+)tN~7HaF9jj9Zx!EmBV|xu>P8Nhl$dW3)rX*Bgn@+x1y=uaZ&A?L@0{m(&Uwy#fo+Vj2BHye zr54+xr=wFZs$m&YPe{SxWX2!@1j>=x-g`T+GreupBD_#za2*k*~| zXiGkb?ZIQzqtCOikxsZ{L1Ww;C)oSsS$$$|HZqY&m`zqRrTo`~Q@gBjb3{|h-zKV& znV+;G?xzlI9rrVJ4X>4Jn1o^}S2yxnW+vN=9oxC;6(yMk>?o)sJdh`vM$D#vit3En z8p!5uUF^#-_bVPrUE~T$-Bn+Hk~p2{3q85VVRQUBcT<@b%d{nol8csGfgq*va$C{j{8k(0HZJt&)_AzfwwRRpI`yLfh1Ab0x6IN8IT3JkPmC247S1!*aiDQg&H^nKB$M| z&;%M>gm&nHYtRqFa33DQI84KHcm?m^1AK(f@EsO`7=@D{8B$>dq{Ax61_!K$HBbZ! zY=9Ej1Y4jSDq$z=hJB#IVemsUoMqJ2%jEDC%r_b9>Ssye0n`WKHVi`)Yj>GF9K-Ko hVrF_fXJUG?hbM`-n#(j5n>PMeMkgQ7#`beN(J$H#O-cX& diff --git a/src/rel/apple/UTHERNET2#FE1000 b/src/rel/apple/UTHERNET2#FE1000 deleted file mode 100644 index 46eae2dc50829539f228c64938f048f11ce84f86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3767 zcmb`KeQZ8DveR{;@3?paz;2Iz~T+R83vCB9IX5qn)%B?|0ub zV0B}vv>|>z_w(F)&OPTmc-@w(gea(bVKp9m_4wJh?>_n3iG=X~*iX%sM~ZDv6!=rx z|NpedCtesG8Qn3F8XtXBOpH(Pb0Jj}r=AxRBNGS2$Y{!Ij(Yvn_~d4DeDCJU7bdP4 zqvC_nqb8fC&d5JizA6nAKb1S znfQT98vfu;-F;GbWf^NmRbr1yO26|{Z^IFlIG~5L4mOr9r|T~_%Zqc4kr-D=b4BUE z@AN=%cTYKo^%PGuIMG)z!2W!(DILjeYAYNOlj*FDFw)t8BReZaq*Z05W5>dYk)UHO zjsLAcr-e?RYAsam=&K&HT7`8-JR%TI^`>md35-=crV~os8*~DWITms(C$x!P*Gy5I zv-F%DMVT7xPS{yZIdChz@oLC$b$=VfF+_bYogp*Z~HkCCk*=spwDjMuKWDCcP zS!qXf#4AMC4Be~En)`oW7_i!UEN&GQrCU&PbJ67+iz+rGR6ne6#F)%Jj^#^=lc|U(4pT?ERP(XzK~wc&+POi?8J` z;pbgpg9sGG2&AL) z%nL%#>|#I`pIMvj?YL>S?&d8W0(Nrd3Z>I2W!w@{121>-Xx7KWFMW^x<4nKe5b5JM_VUFH-0d8)Kw%#meF_T$4|A&-Xp3<0clcv{r3fOzGk%h&eRm`>8QfiZ=`8 z;%dROYNxl^YI*z5psgnkCB1#6^5~s$htH1?|%^vHqGA zZ+(QG+N{|B^hX21wjR|!6t5!wqC-3=y$-*ppO;?P@A+Sn8t)Ssujj0EF6<|1?she| zSOcV%&Gi&E~YBOu+ zYH4HwNg2Hoee9t|wWd+E_ggz##l#aE>J*vKx}|;5;dz4b+d2-{i?s|^q@uA!hh})~ z%2c#rQQR$KKG7U}s6n;A*ZF|%nTgtsgNgllrPhhZAU(@QtD`i0mSsN6x8QOq$(^AcmY8C=+pKmow1;3DJOz8;AcDp6q3=F|Gcm|$>!|)PJ!W5i^^YAWQfe+vs%&fwa2%#>AG2N-kwY*yyV(P@?naSzt(~DKL*Z$3k=@XM@m#A6d3_~g;ioj}jeHm(+)GVp{VV-lFUxA*h^0Gw73gs6O zJHyYkfnX}&PeYs4!!SeJz|yW>kPI@!I#||em>`tX~G|J(0{D} diff --git a/src/rel/apple/ZIPCHIP#FE1000 b/src/rel/apple/ZIPCHIP#FE1000 deleted file mode 100644 index 36c5896230f0664ab173688cce5843d99c2e76f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmYjOOG^S#6h1Q=BvG7=iI`^4N=mY*MFmAtw2&xgATTS%gux^OCz7Gf>}xT9pj9nu z)v8TF6TJv}m=Ai;4+w&wUtphwLzna2^F1#2aJj>Rm?jFbjYjz5{<8ckotJJT`o9ih zJ2BI$1j$_-59}9WW?UvhX->{KIT4WwZ94%cI!H4iIGrsid3+0;5213>zM z4oOX_8~I^>H%4S!j2#6#n^WQb*>1}YXLG65hV8NJ`X%Xx?X~Q1GNo8HX8ztyaS?A6 z2buJKB4d=i#u)kZ2_k(Gh`^g8r#=t91inUgT?O9)-v-|W-vbVTBj6Y~1 X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/coniotest.pla: 0002: -; samplesrc/coniotest.pla: 0003: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X028 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/coniotest.pla: 0003: -; samplesrc/coniotest.pla: 0004: const SCR_PTR = $0400 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; SCR_PTR = 1024 -; samplesrc/coniotest.pla: 0005: const SCR_SIZE = 1024 - ; SCR_SIZE = 1024 -; samplesrc/coniotest.pla: 0006: -; samplesrc/coniotest.pla: 0007: byte[SCR_SIZE] ScrSave -_D029 !FILL 1024 ; ScrSave -; samplesrc/coniotest.pla: 0008: byte I -_D030 !FILL 1 ; I -; samplesrc/coniotest.pla: 0009: word Name -_D031 !FILL 2 ; Name -; samplesrc/coniotest.pla: 0010: -; samplesrc/coniotest.pla: 0011: // save text screen -; samplesrc/coniotest.pla: 0012: memcpy(@ScrSave, SCR_PTR, SCR_SIZE) -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/coniotest.pla: 0013: conio:clear(cls) -; samplesrc/coniotest.pla: 0014: for I=0 to 23 - !BYTE $26 ; LA _D029+0 -_F000 !WORD _D029+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _X018 -_F001 !WORD 0 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+6 -_F002 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$17 ; CB 23 - !BYTE $00 ; CN 0 -_B002 - !BYTE $7C ; DAB _D030+0 -_F003 !WORD _D030+0 -; samplesrc/coniotest.pla: 0015: conio:gotoxy(I,I) -; samplesrc/coniotest.pla: 0016: putc('A'+I) -; samplesrc/coniotest.pla: 0017: putc(' ') -; samplesrc/coniotest.pla: 0018: puti(I) -; samplesrc/coniotest.pla: 0019: next - !BYTE $68 ; LAB _D030+0 -_F004 !WORD _D030+0 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X028+8 -_F005 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$41 ; CB 65 - !BYTE $B4 ; ADDAB _D030+0 -_F006 !WORD _D030+0 - !BYTE $54 ; CALL _X002 -_F007 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F008 !WORD 0 - !BYTE $68 ; LAB _D030+0 -_F009 !WORD _D030+0 - !BYTE $54 ; CALL _X005 -_F010 !WORD 0 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $78 ; SAB _D030+0 -_F011 !WORD _D030+0 - !BYTE $30 ; DROP -; samplesrc/coniotest.pla: 0020: conio:gotoxy(10, 5) -; samplesrc/coniotest.pla: 0021: puts("What is your name") - !BYTE $14 ; CN 10 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+8 -_F012 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $11 - !BYTE $57,$68,$61,$74,$20,$69,$73,$20 - !BYTE $79,$6F,$75,$72,$20,$6E,$61,$6D - !BYTE $65 - !BYTE $54 ; CALL _X004 -_F013 !WORD 0 -; samplesrc/coniotest.pla: 0022: Name = gets('?'|$80) // $BF -; samplesrc/coniotest.pla: 0023: conio:gotoxy(12, 7) -; samplesrc/coniotest.pla: 0024: puts("Nice to meet you, ") - !BYTE $2A,$BF ; CB 191 - !BYTE $54 ; CALL _X007 -_F014 !WORD 0 - !BYTE $7A ; SAW _D031+0 -_F015 !WORD _D031+0 - !BYTE $18 ; CN 12 - !BYTE $0E ; CN 7 - !BYTE $6A ; LAW _X028+8 -_F016 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $12 - !BYTE $4E,$69,$63,$65,$20,$74,$6F,$20 - !BYTE $6D,$65,$65,$74,$20,$79,$6F,$75 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -; samplesrc/coniotest.pla: 0025: puts(Name) -; samplesrc/coniotest.pla: 0026: conio:gotoxy(16, 10) -; samplesrc/coniotest.pla: 0027: puts("Press any key ...") - !BYTE $6A ; LAW _D031+0 -_F018 !WORD _D031+0 - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 - !BYTE $2A,$10 ; CB 16 - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _X028+8 -_F020 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $11 - !BYTE $50,$72,$65,$73,$73,$20,$61,$6E - !BYTE $79,$20,$6B,$65,$79,$20,$2E,$2E - !BYTE $2E - !BYTE $54 ; CALL _X004 -_F021 !WORD 0 -; samplesrc/coniotest.pla: 0028: getc() -; samplesrc/coniotest.pla: 0029: conio:gotoxy(0, 5) -; samplesrc/coniotest.pla: 0030: memcpy(SCR_PTR, @ScrSave, SCR_SIZE) -; samplesrc/coniotest.pla: 0031: done - !BYTE $54 ; CALL _X006 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+8 -_F023 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $26 ; LA _D029+0 -_F024 !WORD _D029+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _X018 -_F025 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/dgrtest.a b/src/samplesrc/dgrtest.a deleted file mode 100644 index 60aefdc..0000000 --- a/src/samplesrc/dgrtest.a +++ /dev/null @@ -1,673 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/dgrtest.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/dgrtest.pla: 0001: -; samplesrc/dgrtest.pla: 0002: include "inc/dgrlib.plh" -; inc/dgrlib.plh: 0001: import dgrlib - ; DCI STRING: DGRLIB - !BYTE $C4,$C7,$D2,$CC,$C9,$42 - ; DGRLIB -> X028 -; inc/dgrlib.plh: 0002: predef dgrPlot(x, y)#0 - ; DGRPLOT -> X029 -; inc/dgrlib.plh: 0003: predef dgrHLin(x1, x2, y)#0 - ; DGRHLIN -> X030 -; inc/dgrlib.plh: 0004: predef dgrVLin(y1, y2, x)#0 - ; DGRVLIN -> X031 -; inc/dgrlib.plh: 0005: predef dgrBLT(x, y, width, height, src)#0 - ; DGRBLT -> X032 -; inc/dgrlib.plh: 0006: predef dgrTile(x, y, src)#0 - ; DGRTILE -> X033 -; inc/dgrlib.plh: 0007: predef dgrTileStr(x, y, tilestr, strlen, tilebuff)#0 - ; DGRTILESTR -> X034 -; inc/dgrlib.plh: 0008: predef dgrFill(x, y, tile)#0 - ; DGRFILL -> X035 -; inc/dgrlib.plh: 0009: predef dgrClear(clr)#0 - ; DGRCLEAR -> X036 -; inc/dgrlib.plh: 0010: predef dgrMode(mode)#1 - ; DGRMODE -> X037 -; inc/dgrlib.plh: 0011: predef dgrShow(page)#1 - ; DGRSHOW -> X038 -; inc/dgrlib.plh: 0012: predef dgrSwap#0 - ; DGRSWAP -> X039 -; inc/dgrlib.plh: 0013: predef dgrDrawBuf(page)#0 - ; DGRDRAWBUF -> X040 -; inc/dgrlib.plh: 0014: predef dgrColor(clr)#0 - ; DGRCOLOR -> X041 -; inc/dgrlib.plh: 0015: const dgrPage1 = 0 - ; dgrPage1 = 0 -; inc/dgrlib.plh: 0016: const dgrPage2 = 1 - ; dgrPage2 = 1 -; inc/dgrlib.plh: 0017: const dgrOff = -1 - ; dgrOff = -1 -; inc/dgrlib.plh: 0018: end -; samplesrc/dgrtest.pla: 0002: -; samplesrc/dgrtest.pla: 0003: include "inc/vblank.plh" -; inc/vblank.plh: 0001: import vblank - ; DCI STRING: VBLANK - !BYTE $D6,$C2,$CC,$C1,$CE,$4B - ; VBLANK -> X042 -; inc/vblank.plh: 0002: predef waitVBL#1 - ; WAITVBL -> X043 -; inc/vblank.plh: 0003: end -; samplesrc/dgrtest.pla: 0003: -; samplesrc/dgrtest.pla: 0004: include "inc/lines.plh" -; inc/lines.plh: 0001: import lines - ; DCI STRING: LINES - !BYTE $CC,$C9,$CE,$C5,$53 - ; LINES -> X044 -; inc/lines.plh: 0002: predef setlinespans(h, v)#0 - ; SETLINESPANS -> X045 -; inc/lines.plh: 0003: predef linespans(x1, y1, x2, y2)#0 - ; LINESPANS -> X046 -; inc/lines.plh: 0004: predef setlineplot(p)#0 - ; SETLINEPLOT -> X047 -; inc/lines.plh: 0005: predef line(x1, y1, x2, y2)#0 - ; LINE -> X048 -; inc/lines.plh: 0006: end -; samplesrc/dgrtest.pla: 0004: -; samplesrc/dgrtest.pla: 0005: sysflags restxt1|restxt2|resxtxt1|resxtxt2 // Reserve all text pages - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $000F ; SYSTEM FLAGS -; samplesrc/dgrtest.pla: 0006: -; samplesrc/dgrtest.pla: 0007: byte[] sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 -_D049 ; sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $80 - !BYTE $80 -; samplesrc/dgrtest.pla: 0008: byte[] = $80,$00,$0A,$0A,$0A,$0A,$00,$80 - !BYTE $80 - !BYTE $00 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $00 - !BYTE $80 -; samplesrc/dgrtest.pla: 0009: byte[] = $00,$0A,$0F,$0F,$0F,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/dgrtest.pla: 0010: byte[] = $00,$0A,$0F,$80,$80,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $80 - !BYTE $80 - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/dgrtest.pla: 0011: byte[] = $00,$0A,$0F,$80,$80,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $80 - !BYTE $80 - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/dgrtest.pla: 0012: byte[] = $00,$0A,$0F,$0F,$0F,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/dgrtest.pla: 0013: byte[] = $80,$00,$0A,$0A,$0A,$0A,$00,$80 - !BYTE $80 - !BYTE $00 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $00 - !BYTE $80 -; samplesrc/dgrtest.pla: 0014: byte[] = $80,$80,$00,$00,$00,$00,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $80 - !BYTE $80 -; samplesrc/dgrtest.pla: 0015: -; samplesrc/dgrtest.pla: 0016: byte[] tile1 = $88,$11,$88,$11,$88,$11,$AA,$00 -_D050 ; tile1 = $88,$11,$88,$11,$88,$11,$AA,$00 - !BYTE $88 - !BYTE $11 - !BYTE $88 - !BYTE $11 - !BYTE $88 - !BYTE $11 - !BYTE $AA - !BYTE $00 -; samplesrc/dgrtest.pla: 0017: byte[] = $88,$11,$88,$11,$88,$11,$AA,$00 - !BYTE $88 - !BYTE $11 - !BYTE $88 - !BYTE $11 - !BYTE $88 - !BYTE $11 - !BYTE $AA - !BYTE $00 -; samplesrc/dgrtest.pla: 0018: byte[] = $88,$11,$88,$11,$88,$11,$AA,$00 - !BYTE $88 - !BYTE $11 - !BYTE $88 - !BYTE $11 - !BYTE $88 - !BYTE $11 - !BYTE $AA - !BYTE $00 -; samplesrc/dgrtest.pla: 0019: byte[] = $0A,$05,$0A,$05,$0A,$05,$0A,$00 - !BYTE $0A - !BYTE $05 - !BYTE $0A - !BYTE $05 - !BYTE $0A - !BYTE $05 - !BYTE $0A - !BYTE $00 -; samplesrc/dgrtest.pla: 0020: -; samplesrc/dgrtest.pla: 0021: // -; samplesrc/dgrtest.pla: 0022: // Test routine -; samplesrc/dgrtest.pla: 0023: // -; samplesrc/dgrtest.pla: 0024: def dgrTest#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; dgrTest() -; samplesrc/dgrtest.pla: 0025: byte b, l, k - ; b -> [0] - ; l -> [1] - ; k -> [2] -; samplesrc/dgrtest.pla: 0026: word i, j, ii, ij - ; i -> [3] - ; j -> [5] - ; ii -> [7] - ; ij -> [9] -; samplesrc/dgrtest.pla: 0027: -; samplesrc/dgrtest.pla: 0028: b = dgrMode(dgrPage1) - !BYTE $58,$0B,$00 ; ENTER 11,0 -; samplesrc/dgrtest.pla: 0029: dgrDrawBuf(dgrPage1) -; samplesrc/dgrtest.pla: 0030: for k = 15 downto 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X037 -_F000 !WORD 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X040 -_F001 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $1E ; CN 15 -_B002 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/dgrtest.pla: 0031: dgrClear(k) -; samplesrc/dgrtest.pla: 0032: next - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X036 -_F002 !WORD 0 -_B003 - !BYTE $A8 ; DECBRGE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/dgrtest.pla: 0033: setlinespans(@dgrHLin, @dgrVLin) -; samplesrc/dgrtest.pla: 0034: for l = 0 to 79 - !BYTE $26 ; LA _X030+0 -_F003 !WORD 0+0 - !BYTE $26 ; LA _X031+0 -_F004 !WORD 0+0 - !BYTE $54 ; CALL _X045 -_F005 !WORD 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/dgrtest.pla: 0035: dgrColor(l) -; samplesrc/dgrtest.pla: 0036: linespans(0, 0, l, 47) -; samplesrc/dgrtest.pla: 0037: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X041 -_F006 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X046 -_F007 !WORD 0 -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/dgrtest.pla: 0038: for l = 47 downto 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$2F ; CB 47 -_B008 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/dgrtest.pla: 0039: dgrColor(l) -; samplesrc/dgrtest.pla: 0040: linespans(0, 0, 79, l) -; samplesrc/dgrtest.pla: 0041: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X041 -_F008 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X046 -_F009 !WORD 0 -_B009 - !BYTE $A8 ; DECBRGE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/dgrtest.pla: 0042: ii = 2 -; samplesrc/dgrtest.pla: 0043: ij = -1 -; samplesrc/dgrtest.pla: 0044: i = 40 -; samplesrc/dgrtest.pla: 0045: j = 10 -; samplesrc/dgrtest.pla: 0046: ^$C010 -; samplesrc/dgrtest.pla: 0047: dgrDrawBuf(dgrPage2) -; samplesrc/dgrtest.pla: 0048: while ^$C000 < 128 - !BYTE $04 ; CN 2 - !BYTE $76,$07 ; SLW [7] - !BYTE $20 ; MINUS ONE - !BYTE $76,$09 ; SLW [9] - !BYTE $2A,$28 ; CB 40 - !BYTE $76,$03 ; SLW [3] - !BYTE $14 ; CN 10 - !BYTE $76,$05 ; SLW [5] - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X040 -_F010 !WORD 0 - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B010 -; samplesrc/dgrtest.pla: 0049: dgrFill(k, k, @tile1) -; samplesrc/dgrtest.pla: 0050: dgrBLT(i, j, 8, 8, @sprite1) -; samplesrc/dgrtest.pla: 0051: waitVBL -; samplesrc/dgrtest.pla: 0052: dgrSwap -; samplesrc/dgrtest.pla: 0053: k++ - !BYTE $64,$02 ; LLB [2] - !BYTE $34 ; DUP - !BYTE $26 ; LA _D050+0 -_F011 !WORD _D050+0 - !BYTE $54 ; CALL _X035 -_F012 !WORD 0 - !BYTE $66,$03 ; LLW [3] - !BYTE $66,$05 ; LLW [5] - !BYTE $10 ; CN 8 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D049+0 -_F013 !WORD _D049+0 - !BYTE $54 ; CALL _X032 -_F014 !WORD 0 - !BYTE $54 ; CALL _X043 -_F015 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X039 -_F016 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; samplesrc/dgrtest.pla: 0054: i = i + ii -; samplesrc/dgrtest.pla: 0055: if i < -3 or i > 75 -; samplesrc/dgrtest.pla: 0056: ii = -ii -; samplesrc/dgrtest.pla: 0057: fin - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $B2,$07 ; ADDLW [7] - !BYTE $6E,$03 ; DLW [3] - !BYTE $5E,$FD ; CFFB -3 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B013 - !WORD _B013-* - !BYTE $66,$03 ; LLW [3] - !BYTE $2A,$4B ; CB 75 - !BYTE $44 ; ISGT -_B013 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$07 ; LLW [7] - !BYTE $90 ; NEG - !BYTE $76,$07 ; SLW [7] -_B014 -_B015 -; samplesrc/dgrtest.pla: 0058: j = j + ij -; samplesrc/dgrtest.pla: 0059: if j < -3 or j > 43 -; samplesrc/dgrtest.pla: 0060: ij = -ij -; samplesrc/dgrtest.pla: 0061: fin - !BYTE $66,$05 ; LLW [5] - !BYTE $B2,$09 ; ADDLW [9] - !BYTE $6E,$05 ; DLW [5] - !BYTE $5E,$FD ; CFFB -3 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B016 - !WORD _B016-* - !BYTE $66,$05 ; LLW [5] - !BYTE $2A,$2B ; CB 43 - !BYTE $44 ; ISGT -_B016 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $66,$09 ; LLW [9] - !BYTE $90 ; NEG - !BYTE $76,$09 ; SLW [9] -_B017 -_B018 -; samplesrc/dgrtest.pla: 0062: loop -_B012 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* -_B011 -; samplesrc/dgrtest.pla: 0063: ^$C010 -; samplesrc/dgrtest.pla: 0064: dgrMode(dgrOff) -; samplesrc/dgrtest.pla: 0065: end - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X037 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/dgrtest.pla: 0066: -; samplesrc/dgrtest.pla: 0067: dgrTest -_INIT -; samplesrc/dgrtest.pla: 0068: done - !BYTE $54 ; CALL _C000 -_F018 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 43 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: DGRHLIN - !BYTE $C4,$C7,$D2,$C8,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: DGRVLIN - !BYTE $C4,$C7,$D2,$D6,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: DGRBLT - !BYTE $C4,$C7,$D2,$C2,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: DGRFILL - !BYTE $C4,$C7,$D2,$C6,$C9,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: DGRCLEAR - !BYTE $C4,$C7,$D2,$C3,$CC,$C5,$C1,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: DGRMODE - !BYTE $C4,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: DGRSWAP - !BYTE $C4,$C7,$D2,$D3,$D7,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 39 ; ESD INDEX - ; DCI STRING: DGRDRAWBUF - !BYTE $C4,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: DGRCOLOR - !BYTE $C4,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: WAITVBL - !BYTE $D7,$C1,$C9,$D4,$D6,$C2,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 43 ; ESD INDEX - ; DCI STRING: SETLINESPANS - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: LINESPANS - !BYTE $CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 46 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fatcat.a b/src/samplesrc/fatcat.a deleted file mode 100644 index 2e5aedd..0000000 --- a/src/samplesrc/fatcat.a +++ /dev/null @@ -1,700 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/fatcat.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/fatcat.pla: 0001: -; samplesrc/fatcat.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; samplesrc/fatcat.pla: 0002: -; samplesrc/fatcat.pla: 0003: include "inc/sdfat.plh" -; inc/sdfat.plh: 0001: // -; inc/sdfat.plh: 0002: // FAT I/O object -; inc/sdfat.plh: 0003: // -; inc/sdfat.plh: 0004: import sdFAT - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - ; SDFAT -> X031 -; inc/sdfat.plh: 0005: // -; inc/sdfat.plh: 0006: // Open flags -; inc/sdfat.plh: 0007: // -; inc/sdfat.plh: 0008: const O_READ = $01 - ; O_READ = 1 -; inc/sdfat.plh: 0009: const O_WRITE = $02 - ; O_WRITE = 2 -; inc/sdfat.plh: 0010: const O_APPEND = $04 - ; O_APPEND = 4 -; inc/sdfat.plh: 0011: const O_SYNC = $08 - ; O_SYNC = 8 -; inc/sdfat.plh: 0012: const O_TRUNC = $10 - ; O_TRUNC = 16 -; inc/sdfat.plh: 0013: const O_AT_END = $20 - ; O_AT_END = 32 -; inc/sdfat.plh: 0014: const O_CREAT = $40 - ; O_CREAT = 64 -; inc/sdfat.plh: 0015: const O_EXCL = $80 - ; O_EXCL = 128 -; inc/sdfat.plh: 0016: const MAX_FAT_BUF_SIZE = 512 - ; MAX_FAT_BUF_SIZE = 512 -; inc/sdfat.plh: 0017: // -; inc/sdfat.plh: 0018: // Interface -; inc/sdfat.plh: 0019: // -; inc/sdfat.plh: 0020: struc t_sdFAT -; inc/sdfat.plh: 0021: word getDir - ; getDir = 0 -; inc/sdfat.plh: 0022: word setDir - ; setDir = 2 -; inc/sdfat.plh: 0023: word newDir - ; newDir = 4 -; inc/sdfat.plh: 0024: word removeDir - ; removeDir = 6 -; inc/sdfat.plh: 0025: word renameFile - ; renameFile = 8 -; inc/sdfat.plh: 0026: word removeFile - ; removeFile = 10 -; inc/sdfat.plh: 0027: word existsFile - ; existsFile = 12 -; inc/sdfat.plh: 0028: word openFirstFile - ; openFirstFile = 14 -; inc/sdfat.plh: 0029: word openNextFile - ; openNextFile = 16 -; inc/sdfat.plh: 0030: word openFile - ; openFile = 18 -; inc/sdfat.plh: 0031: word closeFile - ; closeFile = 20 -; inc/sdfat.plh: 0032: word readFile - ; readFile = 22 -; inc/sdfat.plh: 0033: word writeFile - ; writeFile = 24 -; inc/sdfat.plh: 0034: word syncFile - ; syncFile = 26 -; inc/sdfat.plh: 0035: word rewindFile - ; rewindFile = 28 -; inc/sdfat.plh: 0036: word seekFile - ; seekFile = 30 -; inc/sdfat.plh: 0037: word seekOffsetFile - ; seekOffsetFile = 32 -; inc/sdfat.plh: 0038: word posFile - ; posFile = 34 -; inc/sdfat.plh: 0039: word sizeOfFile - ; sizeOfFile = 36 -; inc/sdfat.plh: 0040: word truncateFile - ; truncateFile = 38 -; inc/sdfat.plh: 0041: word isDir - ; isDir = 40 -; inc/sdfat.plh: 0042: word isFile - ; isFile = 42 -; inc/sdfat.plh: 0043: end - ; t_sdFAT = 44 -; inc/sdfat.plh: 0044: end -; samplesrc/fatcat.pla: 0003: -; samplesrc/fatcat.pla: 0004: -; samplesrc/fatcat.pla: 0005: word arg - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D032 !FILL 2 ; arg -; samplesrc/fatcat.pla: 0006: byte[64] cwd -_D033 !FILL 64 ; cwd -; samplesrc/fatcat.pla: 0007: byte[64] pathname -_D034 !FILL 64 ; pathname -; samplesrc/fatcat.pla: 0008: -; samplesrc/fatcat.pla: 0009: def fatCat(path)#0 -_SUBSEG ; BYTECODE STARTS - ; path -> [0] -_C000 ; fatCat() -; samplesrc/fatcat.pla: 0010: byte filename[32] - ; filename -> [2] -; samplesrc/fatcat.pla: 0011: -; samplesrc/fatcat.pla: 0012: sdFAT:setDir(path) - !BYTE $58,$22,$01 ; ENTER 34,1 -; samplesrc/fatcat.pla: 0013: puts("Directory of "); puts(path); puts(":\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+2 -_F000 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $0D - !BYTE $44,$69,$72,$65,$63,$74,$6F,$72 - !BYTE $79,$20,$6F,$66,$20 - !BYTE $54 ; CALL _X004 -_F001 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F002 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3A,$0D - !BYTE $54 ; CALL _X004 -_F003 !WORD 0 -; samplesrc/fatcat.pla: 0014: sdFAT:openFirstFile(@filename) -; samplesrc/fatcat.pla: 0015: while filename - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+14 -_F004 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; samplesrc/fatcat.pla: 0016: puts(" "); puts(@filename) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$20,$20,$20 - !BYTE $54 ; CALL _X004 -_F005 !WORD 0 -; samplesrc/fatcat.pla: 0017: if sdFAT:isDir(); putc('/'); fin - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X004 -_F006 !WORD 0 - !BYTE $6A ; LAW _X031+40 -_F007 !WORD 0+40 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F008 !WORD 0 -_B004 -_B005 -; samplesrc/fatcat.pla: 0018: putln -; samplesrc/fatcat.pla: 0019: sdFAT:closeFile() -; samplesrc/fatcat.pla: 0020: sdFAT:openNextFile(@filename) -; samplesrc/fatcat.pla: 0021: loop - !BYTE $54 ; CALL _X003 -_F009 !WORD 0 - !BYTE $6A ; LAW _X031+20 -_F010 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+16 -_F011 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B003 - !BYTE $64,$02 ; LLB [2] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; samplesrc/fatcat.pla: 0022: end - !BYTE $5A,$22 ; LEAVE 34 -; samplesrc/fatcat.pla: 0023: -; samplesrc/fatcat.pla: 0024: sdFAT:getDir(@cwd) -_INIT -; samplesrc/fatcat.pla: 0025: if cwd[cwd] <> '/' // append '/' to cwd if needed -; samplesrc/fatcat.pla: 0026: cwd++ - !BYTE $26 ; LA _D033+0 -_F012 !WORD _D033+0 - !BYTE $6A ; LAW _X031+0 -_F013 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D033+0 -_F014 !WORD _D033+0 - !BYTE $B4 ; ADDAB _D033+0 -_F015 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B006 - !WORD _B006-* - !BYTE $68 ; LAB _D033+0 -_F016 !WORD _D033+0 - !BYTE $8C ; INCR -; samplesrc/fatcat.pla: 0027: cwd[cwd] = '/' -; samplesrc/fatcat.pla: 0028: fin - !BYTE $78 ; SAB _D033+0 -_F017 !WORD _D033+0 - !BYTE $2A,$2F ; CB 47 - !BYTE $26 ; LA _D033+0 -_F018 !WORD _D033+0 - !BYTE $B4 ; ADDAB _D033+0 -_F019 !WORD _D033+0 - !BYTE $70 ; SB -_B006 -_B007 -; samplesrc/fatcat.pla: 0029: arg = argNext(argFirst) -; samplesrc/fatcat.pla: 0030: if ^arg -; samplesrc/fatcat.pla: 0031: while ^arg - !BYTE $54 ; CALL _X029 -_F020 !WORD 0 - !BYTE $54 ; CALL _X030 -_F021 !WORD 0 - !BYTE $7A ; SAW _D032+0 -_F022 !WORD _D032+0 - !BYTE $6A ; LAW _D032+0 -_F023 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B010 -; samplesrc/fatcat.pla: 0032: if ^(arg + 1) <> '/' // relative path argument - append to cwd -; samplesrc/fatcat.pla: 0033: memcpy(@pathname, @cwd, cwd + 1) -; samplesrc/fatcat.pla: 0034: else - !BYTE $6A ; LAW _D032+0 -_F024 !WORD _D032+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B013 - !WORD _B013-* - !BYTE $26 ; LA _D034+0 -_F025 !WORD _D034+0 - !BYTE $26 ; LA _D033+0 -_F026 !WORD _D033+0 - !BYTE $68 ; LAB _D033+0 -_F027 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F028 !WORD 0 - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B013 -; samplesrc/fatcat.pla: 0035: pathname = 0 // absolute path -; samplesrc/fatcat.pla: 0036: fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F029 !WORD _D034+0 -_B014 -; samplesrc/fatcat.pla: 0037: memcpy(@pathname + pathname + 1, arg + 1, ^arg) // append path argument -; samplesrc/fatcat.pla: 0038: pathname = pathname + ^arg -; samplesrc/fatcat.pla: 0039: if pathname[pathname] <> '/' -; samplesrc/fatcat.pla: 0040: pathname++ - !BYTE $26 ; LA _D034+0 -_F030 !WORD _D034+0 - !BYTE $B4 ; ADDAB _D034+0 -_F031 !WORD _D034+0 - !BYTE $8C ; INCR - !BYTE $6A ; LAW _D032+0 -_F032 !WORD _D032+0 - !BYTE $8C ; INCR - !BYTE $6A ; LAW _D032+0 -_F033 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F034 !WORD 0 - !BYTE $68 ; LAB _D034+0 -_F035 !WORD _D034+0 - !BYTE $6A ; LAW _D032+0 -_F036 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $78 ; SAB _D034+0 -_F037 !WORD _D034+0 - !BYTE $26 ; LA _D034+0 -_F038 !WORD _D034+0 - !BYTE $B4 ; ADDAB _D034+0 -_F039 !WORD _D034+0 - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B015 - !WORD _B015-* - !BYTE $68 ; LAB _D034+0 -_F040 !WORD _D034+0 - !BYTE $8C ; INCR -; samplesrc/fatcat.pla: 0041: pathname[pathname] = '/' -; samplesrc/fatcat.pla: 0042: fin - !BYTE $78 ; SAB _D034+0 -_F041 !WORD _D034+0 - !BYTE $2A,$2F ; CB 47 - !BYTE $26 ; LA _D034+0 -_F042 !WORD _D034+0 - !BYTE $B4 ; ADDAB _D034+0 -_F043 !WORD _D034+0 - !BYTE $70 ; SB -_B015 -_B016 -; samplesrc/fatcat.pla: 0043: fatCat(@pathname) -; samplesrc/fatcat.pla: 0044: arg = argNext(arg) -; samplesrc/fatcat.pla: 0045: loop - !BYTE $26 ; LA _D034+0 -_F044 !WORD _D034+0 - !BYTE $54 ; CALL _C000 -_F045 !WORD _C000 - !BYTE $6A ; LAW _D032+0 -_F046 !WORD _D032+0 - !BYTE $54 ; CALL _X030 -_F047 !WORD 0 - !BYTE $7A ; SAW _D032+0 -_F048 !WORD _D032+0 -_B012 - !BYTE $6A ; LAW _D032+0 -_F049 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* -_B011 -; samplesrc/fatcat.pla: 0046: else - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -_B008 -; samplesrc/fatcat.pla: 0047: fatCat(@cwd) -; samplesrc/fatcat.pla: 0048: fin - !BYTE $26 ; LA _D033+0 -_F050 !WORD _D033+0 - !BYTE $54 ; CALL _C000 -_F051 !WORD _C000 -_B009 -; samplesrc/fatcat.pla: 0049: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fatget.a b/src/samplesrc/fatget.a deleted file mode 100644 index e9ebee3..0000000 --- a/src/samplesrc/fatget.a +++ /dev/null @@ -1,1485 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/fatget.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/fatget.pla: 0001: -; samplesrc/fatget.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; samplesrc/fatget.pla: 0002: -; samplesrc/fatget.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X030 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X031 - ; ARGNEXT -> X032 -; inc/args.plh: 0003: end -; samplesrc/fatget.pla: 0003: -; samplesrc/fatget.pla: 0004: include "inc/sdfat.plh" -; inc/sdfat.plh: 0001: // -; inc/sdfat.plh: 0002: // FAT I/O object -; inc/sdfat.plh: 0003: // -; inc/sdfat.plh: 0004: import sdFAT - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - ; SDFAT -> X033 -; inc/sdfat.plh: 0005: // -; inc/sdfat.plh: 0006: // Open flags -; inc/sdfat.plh: 0007: // -; inc/sdfat.plh: 0008: const O_READ = $01 - ; O_READ = 1 -; inc/sdfat.plh: 0009: const O_WRITE = $02 - ; O_WRITE = 2 -; inc/sdfat.plh: 0010: const O_APPEND = $04 - ; O_APPEND = 4 -; inc/sdfat.plh: 0011: const O_SYNC = $08 - ; O_SYNC = 8 -; inc/sdfat.plh: 0012: const O_TRUNC = $10 - ; O_TRUNC = 16 -; inc/sdfat.plh: 0013: const O_AT_END = $20 - ; O_AT_END = 32 -; inc/sdfat.plh: 0014: const O_CREAT = $40 - ; O_CREAT = 64 -; inc/sdfat.plh: 0015: const O_EXCL = $80 - ; O_EXCL = 128 -; inc/sdfat.plh: 0016: const MAX_FAT_BUF_SIZE = 512 - ; MAX_FAT_BUF_SIZE = 512 -; inc/sdfat.plh: 0017: // -; inc/sdfat.plh: 0018: // Interface -; inc/sdfat.plh: 0019: // -; inc/sdfat.plh: 0020: struc t_sdFAT -; inc/sdfat.plh: 0021: word getDir - ; getDir = 0 -; inc/sdfat.plh: 0022: word setDir - ; setDir = 2 -; inc/sdfat.plh: 0023: word newDir - ; newDir = 4 -; inc/sdfat.plh: 0024: word removeDir - ; removeDir = 6 -; inc/sdfat.plh: 0025: word renameFile - ; renameFile = 8 -; inc/sdfat.plh: 0026: word removeFile - ; removeFile = 10 -; inc/sdfat.plh: 0027: word existsFile - ; existsFile = 12 -; inc/sdfat.plh: 0028: word openFirstFile - ; openFirstFile = 14 -; inc/sdfat.plh: 0029: word openNextFile - ; openNextFile = 16 -; inc/sdfat.plh: 0030: word openFile - ; openFile = 18 -; inc/sdfat.plh: 0031: word closeFile - ; closeFile = 20 -; inc/sdfat.plh: 0032: word readFile - ; readFile = 22 -; inc/sdfat.plh: 0033: word writeFile - ; writeFile = 24 -; inc/sdfat.plh: 0034: word syncFile - ; syncFile = 26 -; inc/sdfat.plh: 0035: word rewindFile - ; rewindFile = 28 -; inc/sdfat.plh: 0036: word seekFile - ; seekFile = 30 -; inc/sdfat.plh: 0037: word seekOffsetFile - ; seekOffsetFile = 32 -; inc/sdfat.plh: 0038: word posFile - ; posFile = 34 -; inc/sdfat.plh: 0039: word sizeOfFile - ; sizeOfFile = 36 -; inc/sdfat.plh: 0040: word truncateFile - ; truncateFile = 38 -; inc/sdfat.plh: 0041: word isDir - ; isDir = 40 -; inc/sdfat.plh: 0042: word isFile - ; isFile = 42 -; inc/sdfat.plh: 0043: end - ; t_sdFAT = 44 -; inc/sdfat.plh: 0044: end -; samplesrc/fatget.pla: 0004: -; samplesrc/fatget.pla: 0005: -; samplesrc/fatget.pla: 0006: const COPY_BUF_SIZE = 8192 // 8K - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; COPY_BUF_SIZE = 8192 -; samplesrc/fatget.pla: 0007: const LOWER_DIFF = 'a' - 'A' - ; LOWER_DIFF = 32 -; samplesrc/fatget.pla: 0008: -; samplesrc/fatget.pla: 0009: byte[17] proname -_D034 !FILL 17 ; proname -; samplesrc/fatget.pla: 0010: byte protype -_D035 !FILL 1 ; protype -; samplesrc/fatget.pla: 0011: word proaux -_D036 !FILL 2 ; proaux -; samplesrc/fatget.pla: 0012: word arg -_D037 !FILL 2 ; arg -; samplesrc/fatget.pla: 0013: -; samplesrc/fatget.pla: 0014: def putByte(val)#0 -_SUBSEG ; BYTECODE STARTS - ; val -> [0] -_C000 ; putByte() -; samplesrc/fatget.pla: 0015: byte c - ; c -> [2] -; samplesrc/fatget.pla: 0016: c = ((val >> 4) & $0F) + '0' - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatget.pla: 0017: if c > '9' -; samplesrc/fatget.pla: 0018: c = c + 7 -; samplesrc/fatget.pla: 0019: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B001 -_B002 -; samplesrc/fatget.pla: 0020: putc(c) -; samplesrc/fatget.pla: 0021: c = (val & $0F) + '0' -; samplesrc/fatget.pla: 0022: if c > '9' -; samplesrc/fatget.pla: 0023: c = c + 7 -; samplesrc/fatget.pla: 0024: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B003 -_B004 -; samplesrc/fatget.pla: 0025: putc(c) -; samplesrc/fatget.pla: 0026: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatget.pla: 0027: -; samplesrc/fatget.pla: 0028: def putWord(val)#0 - ; val -> [0] -_C001 ; putWord() -; samplesrc/fatget.pla: 0029: putByte(val.1) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/fatget.pla: 0030: putByte(val.0) -; samplesrc/fatget.pla: 0031: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C000 -_F002 !WORD _C000 - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/fatget.pla: 0032: -; samplesrc/fatget.pla: 0033: def hexByte(hexChars) - ; hexChars -> [0] -_C002 ; hexByte() -; samplesrc/fatget.pla: 0034: byte lo, hi - ; lo -> [2] - ; hi -> [3] -; samplesrc/fatget.pla: 0035: -; samplesrc/fatget.pla: 0036: lo = toupper(^(hexChars + 1)) - '0' - !BYTE $58,$04,$01 ; ENTER 4,1 -; samplesrc/fatget.pla: 0037: if lo > 9 -; samplesrc/fatget.pla: 0038: lo = lo - 7 -; samplesrc/fatget.pla: 0039: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F004 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $64,$02 ; LLB [2] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$02 ; SLB [2] -_B005 -_B006 -; samplesrc/fatget.pla: 0040: hi = toupper(^hexChars) - '0' -; samplesrc/fatget.pla: 0041: if hi > 9 -; samplesrc/fatget.pla: 0042: hi = hi - 7 -; samplesrc/fatget.pla: 0043: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F005 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $6C,$03 ; DLB [3] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $64,$03 ; LLB [3] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$03 ; SLB [3] -_B007 -_B008 -; samplesrc/fatget.pla: 0044: return (hi << 4) | lo - !BYTE $64,$03 ; LLB [3] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $64,$02 ; LLB [2] - !BYTE $96 ; OR - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/fatget.pla: 0045: end -; samplesrc/fatget.pla: 0046: -; samplesrc/fatget.pla: 0047: def hexWord(hexChars) - ; hexChars -> [0] -_C003 ; hexWord() -; samplesrc/fatget.pla: 0048: return (hexByte(hexChars) << 8) | hexByte(hexChars + 2) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F006 !WORD _C002 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C002 -_F007 !WORD _C002 - !BYTE $96 ; OR - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/fatget.pla: 0049: end -; samplesrc/fatget.pla: 0050: -; samplesrc/fatget.pla: 0051: def mkProName(fatName, proName, proType, proAux)#0 - ; fatName -> [0] - ; proName -> [2] - ; proType -> [4] - ; proAux -> [6] -_C004 ; mkProName() -; samplesrc/fatget.pla: 0052: byte n, l - ; n -> [8] - ; l -> [9] -; samplesrc/fatget.pla: 0053: -; samplesrc/fatget.pla: 0054: ^proType = $02 // default to BIN - !BYTE $58,$0A,$04 ; ENTER 10,4 -; samplesrc/fatget.pla: 0055: *proAux = $0000 // default to 0 -; samplesrc/fatget.pla: 0056: // -; samplesrc/fatget.pla: 0057: // Check for CiderPress style extension -; samplesrc/fatget.pla: 0058: // -; samplesrc/fatget.pla: 0059: l = ^fatName -; samplesrc/fatget.pla: 0060: if l > 7 and ^(fatName + l - 6) == '#' -; samplesrc/fatget.pla: 0061: ^proType = hexByte(fatName + l - 5) -; samplesrc/fatget.pla: 0062: *proAux = hexWord(fatName + l - 3) -; samplesrc/fatget.pla: 0063: l = l - 7 -; samplesrc/fatget.pla: 0064: fin - !BYTE $04 ; CN 2 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$09 ; DLB [9] - !BYTE $0E ; CN 7 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B009 - !WORD _B009-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$09 ; ADDLB [9] - !BYTE $3A,$06 ; SUBI 6 - !BYTE $60 ; LB - !BYTE $2A,$23 ; CB 35 - !BYTE $40 ; ISEQ -_B009 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$09 ; ADDLB [9] - !BYTE $3A,$05 ; SUBI 5 - !BYTE $54 ; CALL _C002 -_F008 !WORD _C002 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$09 ; ADDLB [9] - !BYTE $3A,$03 ; SUBI 3 - !BYTE $54 ; CALL _C003 -_F009 !WORD _C003 - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $64,$09 ; LLB [9] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$09 ; SLB [9] -_B010 -_B011 -; samplesrc/fatget.pla: 0065: // -; samplesrc/fatget.pla: 0066: // Scan backward looking for dir seperator -; samplesrc/fatget.pla: 0067: // -; samplesrc/fatget.pla: 0068: for n = l downto 1 - !BYTE $02 ; CN 1 - !BYTE $64,$09 ; LLB [9] - !BYTE $A2 ; BRLT _B012 - !WORD _B012-* -_B013 - !BYTE $6C,$08 ; DLB [8] -; samplesrc/fatget.pla: 0069: if ^(fatName + n) == '/' -; samplesrc/fatget.pla: 0070: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B015 - !WORD _B015-* - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -; samplesrc/fatget.pla: 0071: fin -_B015 -_B016 -; samplesrc/fatget.pla: 0072: next -_B014 - !BYTE $A8 ; DECBRGE _B013 - !WORD _B013-* -_B012 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; samplesrc/fatget.pla: 0073: if l - n > 15 -; samplesrc/fatget.pla: 0074: l = n + 15 -; samplesrc/fatget.pla: 0075: fin - !BYTE $64,$09 ; LLB [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $84 ; SUB - !BYTE $1E ; CN 15 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $64,$08 ; LLB [8] - !BYTE $38,$0F ; ADDI 15 - !BYTE $74,$09 ; SLB [9] -_B017 -_B018 -; samplesrc/fatget.pla: 0076: memcpy(proName + 1, fatName + 1 + n, l - n) -; samplesrc/fatget.pla: 0077: ^proName = l - n -; samplesrc/fatget.pla: 0078: end - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F010 !WORD 0 - !BYTE $64,$09 ; LLB [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $84 ; SUB - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $5A,$0A ; LEAVE 10 -; samplesrc/fatget.pla: 0079: -; samplesrc/fatget.pla: 0080: def getYN(prompt) - ; prompt -> [0] -_C005 ; getYN() -; samplesrc/fatget.pla: 0081: byte yn - ; yn -> [2] -; samplesrc/fatget.pla: 0082: -; samplesrc/fatget.pla: 0083: puts(prompt) - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatget.pla: 0084: yn = getc -; samplesrc/fatget.pla: 0085: return yn == 'Y' or yn == 'y' - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F011 !WORD 0 - !BYTE $54 ; CALL _X006 -_F012 !WORD 0 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$59 ; CB 89 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B019 - !WORD _B019-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$79 ; CB 121 - !BYTE $40 ; ISEQ -_B019 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatget.pla: 0086: end -; samplesrc/fatget.pla: 0087: -; samplesrc/fatget.pla: 0088: def bigFatRead(buf, len) - ; buf -> [0] - ; len -> [2] -_C006 ; bigFatRead() -; samplesrc/fatget.pla: 0089: word xferLen, fatLen - ; xferLen -> [4] - ; fatLen -> [6] -; samplesrc/fatget.pla: 0090: -; samplesrc/fatget.pla: 0091: xferLen = 0 - !BYTE $58,$08,$02 ; ENTER 8,2 -; samplesrc/fatget.pla: 0092: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B021 -; samplesrc/fatget.pla: 0093: if len > MAX_FAT_BUF_SIZE -; samplesrc/fatget.pla: 0094: fatLen = MAX_FAT_BUF_SIZE -; samplesrc/fatget.pla: 0095: else - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B023 -; samplesrc/fatget.pla: 0096: fatLen = len -; samplesrc/fatget.pla: 0097: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] -_B024 -; samplesrc/fatget.pla: 0098: fatLen = sdFAT:readFile(buf, fatLen) -; samplesrc/fatget.pla: 0099: if fatLen > 0 -; samplesrc/fatget.pla: 0100: xferLen = xferLen + fatLen -; samplesrc/fatget.pla: 0101: len = len - fatLen -; samplesrc/fatget.pla: 0102: buf = buf + fatLen -; samplesrc/fatget.pla: 0103: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X033+22 -_F013 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $6E,$06 ; DLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -_B025 -; samplesrc/fatget.pla: 0104: len = 0 -; samplesrc/fatget.pla: 0105: fin - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B026 -; samplesrc/fatget.pla: 0106: until len == 0 -_B022 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* -_B020 -; samplesrc/fatget.pla: 0107: return xferLen - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/fatget.pla: 0108: end -; samplesrc/fatget.pla: 0109: -; samplesrc/fatget.pla: 0110: def fatCopyFrom(src, dst, type, aux) - ; src -> [0] - ; dst -> [2] - ; type -> [4] - ; aux -> [6] -_C007 ; fatCopyFrom() -; samplesrc/fatget.pla: 0111: word copyBuf, copyLen, freeAddr - ; copyBuf -> [8] - ; copyLen -> [10] - ; freeAddr -> [12] -; samplesrc/fatget.pla: 0112: byte ref - ; ref -> [14] -; samplesrc/fatget.pla: 0113: -; samplesrc/fatget.pla: 0114: copyBuf = heapallocalign(COPY_BUF_SIZE, 8, @freeAddr) - !BYTE $58,$0F,$04 ; ENTER 15,4 -; samplesrc/fatget.pla: 0115: if not copyBuf -; samplesrc/fatget.pla: 0116: puts("Not enough free memory!\n"); putln - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $10 ; CN 8 - !BYTE $28,$0C ; LLA [12] - !BYTE $54 ; CALL _X013 -_F014 !WORD 0 - !BYTE $6E,$08 ; DLW [8] - !BYTE $4E ; BRTRU _B027 - !WORD _B027-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $4E,$6F,$74,$20,$65,$6E,$6F,$75 - !BYTE $67,$68,$20,$66,$72,$65,$65,$20 - !BYTE $6D,$65,$6D,$6F,$72,$79,$21,$0D - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; samplesrc/fatget.pla: 0117: return -1 - !BYTE $54 ; CALL _X003 -_F016 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/fatget.pla: 0118: fin -_B027 -_B028 -; samplesrc/fatget.pla: 0119: // -; samplesrc/fatget.pla: 0120: // Check if dst already exists -; samplesrc/fatget.pla: 0121: // -; samplesrc/fatget.pla: 0122: ref = fileio:open(dst) -; samplesrc/fatget.pla: 0123: if ref -; samplesrc/fatget.pla: 0124: fileio:close(ref) -; samplesrc/fatget.pla: 0125: puts("Overwrite "); puts(dst) - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X028+14 -_F017 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0E ; DLB [14] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $64,$0E ; LLB [14] - !BYTE $6A ; LAW _X028+16 -_F018 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $0A - !BYTE $4F,$76,$65,$72,$77,$72,$69,$74 - !BYTE $65,$20 - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 -; samplesrc/fatget.pla: 0126: if not getYN("(Y/N)?") - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $28,$59,$2F,$4E,$29,$3F - !BYTE $54 ; CALL _C005 -_F021 !WORD _C005 - !BYTE $4E ; BRTRU _B031 - !WORD _B031-* -; samplesrc/fatget.pla: 0127: heaprelease(freeAddr) -; samplesrc/fatget.pla: 0128: return -1 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _X015 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/fatget.pla: 0129: fin -_B031 -_B032 -; samplesrc/fatget.pla: 0130: putln -; samplesrc/fatget.pla: 0131: destroy(dst) -; samplesrc/fatget.pla: 0132: fin - !BYTE $54 ; CALL _X003 -_F023 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$18 ; CB 24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B029 -_B030 -; samplesrc/fatget.pla: 0133: // -; samplesrc/fatget.pla: 0134: // Create dst file -; samplesrc/fatget.pla: 0135: // -; samplesrc/fatget.pla: 0136: if fileio:create(dst, type, aux) -; samplesrc/fatget.pla: 0137: puts("Create file error: "); putByte(perr); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X028+22 -_F024 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $43,$72,$65,$61,$74,$65,$20,$66 - !BYTE $69,$6C,$65,$20,$65,$72,$72,$6F - !BYTE $72,$3A,$20 - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 -; samplesrc/fatget.pla: 0138: fin - !BYTE $68 ; LAB _X029+0 -_F026 !WORD 0+0 - !BYTE $54 ; CALL _C000 -_F027 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F028 !WORD 0 -_B033 -_B034 -; samplesrc/fatget.pla: 0139: ref = fileio:open(dst) -; samplesrc/fatget.pla: 0140: if not ref -; samplesrc/fatget.pla: 0141: puts("Error opening file: "); puts(dst); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X028+14 -_F029 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0E ; DLB [14] - !BYTE $4E ; BRTRU _B035 - !WORD _B035-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$66,$69 - !BYTE $6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -; samplesrc/fatget.pla: 0142: puts("Open file error: "); putByte(perr); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 - !BYTE $54 ; CALL _X003 -_F032 !WORD 0 - !BYTE $2E ; CS - !BYTE $11 - !BYTE $4F,$70,$65,$6E,$20,$66,$69,$6C - !BYTE $65,$20,$65,$72,$72,$6F,$72,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F033 !WORD 0 -; samplesrc/fatget.pla: 0143: return -1 - !BYTE $68 ; LAB _X029+0 -_F034 !WORD 0+0 - !BYTE $54 ; CALL _C000 -_F035 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F036 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/fatget.pla: 0144: fin -_B035 -_B036 -; samplesrc/fatget.pla: 0145: // -; samplesrc/fatget.pla: 0146: // Copy FAT file over in big chunks -; samplesrc/fatget.pla: 0147: // -; samplesrc/fatget.pla: 0148: if sdFAT:openFile(src, O_READ) -; samplesrc/fatget.pla: 0149: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+18 -_F037 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* -_B040 -; samplesrc/fatget.pla: 0150: copyLen = bigFatRead(copyBuf, COPY_BUF_SIZE) -; samplesrc/fatget.pla: 0151: if copyLen -; samplesrc/fatget.pla: 0152: if fileio:write(ref, copyBuf, copyLen) <> copyLen -; samplesrc/fatget.pla: 0153: puts("Error writing file:"); puts(dst); putln - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _C006 -_F038 !WORD _C006 - !BYTE $6E,$0A ; DLW [10] - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _X028+20 -_F039 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $66,$0A ; LLW [10] - !BYTE $22 ; BREQ _B044 - !WORD _B044-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $45,$72,$72,$6F,$72,$20,$77,$72 - !BYTE $69,$74,$69,$6E,$67,$20,$66,$69 - !BYTE $6C,$65,$3A - !BYTE $54 ; CALL _X004 -_F040 !WORD 0 -; samplesrc/fatget.pla: 0154: puts("Write file error: "); putByte(perr); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 - !BYTE $54 ; CALL _X003 -_F042 !WORD 0 - !BYTE $2E ; CS - !BYTE $12 - !BYTE $57,$72,$69,$74,$65,$20,$66,$69 - !BYTE $6C,$65,$20,$65,$72,$72,$6F,$72 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F043 !WORD 0 -; samplesrc/fatget.pla: 0155: copyLen = 0 // Force end of copy -; samplesrc/fatget.pla: 0156: fin - !BYTE $68 ; LAB _X029+0 -_F044 !WORD 0+0 - !BYTE $54 ; CALL _C000 -_F045 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F046 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] -_B044 -_B045 -; samplesrc/fatget.pla: 0157: fin -_B042 -_B043 -; samplesrc/fatget.pla: 0158: until copyLen == 0 -_B041 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B040 - !WORD _B040-* -_B039 -; samplesrc/fatget.pla: 0159: sdFAT:closeFile() -; samplesrc/fatget.pla: 0160: else - !BYTE $6A ; LAW _X033+20 -_F047 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B037 -; samplesrc/fatget.pla: 0161: puts("Error opening FAT file:"); puts(src); putln - !BYTE $2E ; CS - !BYTE $17 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$46,$41 - !BYTE $54,$20,$66,$69,$6C,$65,$3A - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 -; samplesrc/fatget.pla: 0162: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 - !BYTE $54 ; CALL _X003 -_F050 !WORD 0 -_B038 -; samplesrc/fatget.pla: 0163: fileio:close(ref) -; samplesrc/fatget.pla: 0164: heaprelease(freeAddr) -; samplesrc/fatget.pla: 0165: return 0 - !BYTE $64,$0E ; LLB [14] - !BYTE $6A ; LAW _X028+16 -_F051 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _X015 -_F052 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/fatget.pla: 0166: end -; samplesrc/fatget.pla: 0167: -; samplesrc/fatget.pla: 0168: arg = argNext(argFirst) -_INIT -; samplesrc/fatget.pla: 0169: if ^arg -; samplesrc/fatget.pla: 0170: mkProName(arg, @proname, @protype, @proaux) -; samplesrc/fatget.pla: 0171: puts(arg);puts(" ==> ");puts(@proname) - !BYTE $54 ; CALL _X031 -_F053 !WORD 0 - !BYTE $54 ; CALL _X032 -_F054 !WORD 0 - !BYTE $7A ; SAW _D037+0 -_F055 !WORD _D037+0 - !BYTE $6A ; LAW _D037+0 -_F056 !WORD _D037+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $6A ; LAW _D037+0 -_F057 !WORD _D037+0 - !BYTE $26 ; LA _D034+0 -_F058 !WORD _D034+0 - !BYTE $26 ; LA _D035+0 -_F059 !WORD _D035+0 - !BYTE $26 ; LA _D036+0 -_F060 !WORD _D036+0 - !BYTE $54 ; CALL _C004 -_F061 !WORD _C004 - !BYTE $6A ; LAW _D037+0 -_F062 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F063 !WORD 0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$3D,$3D,$3E,$20 - !BYTE $54 ; CALL _X004 -_F064 !WORD 0 -; samplesrc/fatget.pla: 0172: putc(' ');putByte(protype);putc(',');putWord(proaux);putln -; samplesrc/fatget.pla: 0173: fatCopyFrom(arg, @proname, protype, proaux) -; samplesrc/fatget.pla: 0174: else - !BYTE $26 ; LA _D034+0 -_F065 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F066 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F067 !WORD 0 - !BYTE $68 ; LAB _D035+0 -_F068 !WORD _D035+0 - !BYTE $54 ; CALL _C000 -_F069 !WORD _C000 - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _X002 -_F070 !WORD 0 - !BYTE $6A ; LAW _D036+0 -_F071 !WORD _D036+0 - !BYTE $54 ; CALL _C001 -_F072 !WORD _C001 - !BYTE $54 ; CALL _X003 -_F073 !WORD 0 - !BYTE $6A ; LAW _D037+0 -_F074 !WORD _D037+0 - !BYTE $26 ; LA _D034+0 -_F075 !WORD _D034+0 - !BYTE $68 ; LAB _D035+0 -_F076 !WORD _D035+0 - !BYTE $6A ; LAW _D036+0 -_F077 !WORD _D036+0 - !BYTE $54 ; CALL _C007 -_F078 !WORD _C007 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 -; samplesrc/fatget.pla: 0175: puts("Usage: +FATGET "); putln - !BYTE $2E ; CS - !BYTE $1D - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $46,$41,$54,$47,$45,$54,$20,$3C - !BYTE $46,$41,$54,$20,$66,$69,$6C,$65 - !BYTE $6E,$61,$6D,$65,$3E - !BYTE $54 ; CALL _X004 -_F079 !WORD 0 -; samplesrc/fatget.pla: 0176: fin - !BYTE $54 ; CALL _X003 -_F080 !WORD 0 -_B047 -; samplesrc/fatget.pla: 0177: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 9 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fatput.a b/src/samplesrc/fatput.a deleted file mode 100644 index 651f7ad..0000000 --- a/src/samplesrc/fatput.a +++ /dev/null @@ -1,1218 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/fatput.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/fatput.pla: 0001: -; samplesrc/fatput.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; samplesrc/fatput.pla: 0002: -; samplesrc/fatput.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X030 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X031 - ; ARGNEXT -> X032 -; inc/args.plh: 0003: end -; samplesrc/fatput.pla: 0003: -; samplesrc/fatput.pla: 0004: include "inc/sdfat.plh" -; inc/sdfat.plh: 0001: // -; inc/sdfat.plh: 0002: // FAT I/O object -; inc/sdfat.plh: 0003: // -; inc/sdfat.plh: 0004: import sdFAT - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - ; SDFAT -> X033 -; inc/sdfat.plh: 0005: // -; inc/sdfat.plh: 0006: // Open flags -; inc/sdfat.plh: 0007: // -; inc/sdfat.plh: 0008: const O_READ = $01 - ; O_READ = 1 -; inc/sdfat.plh: 0009: const O_WRITE = $02 - ; O_WRITE = 2 -; inc/sdfat.plh: 0010: const O_APPEND = $04 - ; O_APPEND = 4 -; inc/sdfat.plh: 0011: const O_SYNC = $08 - ; O_SYNC = 8 -; inc/sdfat.plh: 0012: const O_TRUNC = $10 - ; O_TRUNC = 16 -; inc/sdfat.plh: 0013: const O_AT_END = $20 - ; O_AT_END = 32 -; inc/sdfat.plh: 0014: const O_CREAT = $40 - ; O_CREAT = 64 -; inc/sdfat.plh: 0015: const O_EXCL = $80 - ; O_EXCL = 128 -; inc/sdfat.plh: 0016: const MAX_FAT_BUF_SIZE = 512 - ; MAX_FAT_BUF_SIZE = 512 -; inc/sdfat.plh: 0017: // -; inc/sdfat.plh: 0018: // Interface -; inc/sdfat.plh: 0019: // -; inc/sdfat.plh: 0020: struc t_sdFAT -; inc/sdfat.plh: 0021: word getDir - ; getDir = 0 -; inc/sdfat.plh: 0022: word setDir - ; setDir = 2 -; inc/sdfat.plh: 0023: word newDir - ; newDir = 4 -; inc/sdfat.plh: 0024: word removeDir - ; removeDir = 6 -; inc/sdfat.plh: 0025: word renameFile - ; renameFile = 8 -; inc/sdfat.plh: 0026: word removeFile - ; removeFile = 10 -; inc/sdfat.plh: 0027: word existsFile - ; existsFile = 12 -; inc/sdfat.plh: 0028: word openFirstFile - ; openFirstFile = 14 -; inc/sdfat.plh: 0029: word openNextFile - ; openNextFile = 16 -; inc/sdfat.plh: 0030: word openFile - ; openFile = 18 -; inc/sdfat.plh: 0031: word closeFile - ; closeFile = 20 -; inc/sdfat.plh: 0032: word readFile - ; readFile = 22 -; inc/sdfat.plh: 0033: word writeFile - ; writeFile = 24 -; inc/sdfat.plh: 0034: word syncFile - ; syncFile = 26 -; inc/sdfat.plh: 0035: word rewindFile - ; rewindFile = 28 -; inc/sdfat.plh: 0036: word seekFile - ; seekFile = 30 -; inc/sdfat.plh: 0037: word seekOffsetFile - ; seekOffsetFile = 32 -; inc/sdfat.plh: 0038: word posFile - ; posFile = 34 -; inc/sdfat.plh: 0039: word sizeOfFile - ; sizeOfFile = 36 -; inc/sdfat.plh: 0040: word truncateFile - ; truncateFile = 38 -; inc/sdfat.plh: 0041: word isDir - ; isDir = 40 -; inc/sdfat.plh: 0042: word isFile - ; isFile = 42 -; inc/sdfat.plh: 0043: end - ; t_sdFAT = 44 -; inc/sdfat.plh: 0044: end -; samplesrc/fatput.pla: 0004: -; samplesrc/fatput.pla: 0005: -; samplesrc/fatput.pla: 0006: const COPY_BUF_SIZE = 8192 // 8K - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; COPY_BUF_SIZE = 8192 -; samplesrc/fatput.pla: 0007: const LOWER_DIFF = 'a' - 'A' - ; LOWER_DIFF = 32 -; samplesrc/fatput.pla: 0008: -; samplesrc/fatput.pla: 0009: word arg -_D034 !FILL 2 ; arg -; samplesrc/fatput.pla: 0010: byte[24] fatName -_D035 !FILL 24 ; fatName -; samplesrc/fatput.pla: 0011: -; samplesrc/fatput.pla: 0012: def putByte(val)#0 -_SUBSEG ; BYTECODE STARTS - ; val -> [0] -_C000 ; putByte() -; samplesrc/fatput.pla: 0013: byte c - ; c -> [2] -; samplesrc/fatput.pla: 0014: c = ((val >> 4) & $0F) + '0' - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatput.pla: 0015: if c > '9' -; samplesrc/fatput.pla: 0016: c = c + 7 -; samplesrc/fatput.pla: 0017: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B001 -_B002 -; samplesrc/fatput.pla: 0018: putc(c) -; samplesrc/fatput.pla: 0019: c = (val & $0F) + '0' -; samplesrc/fatput.pla: 0020: if c > '9' -; samplesrc/fatput.pla: 0021: c = c + 7 -; samplesrc/fatput.pla: 0022: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B003 -_B004 -; samplesrc/fatput.pla: 0023: putc(c) -; samplesrc/fatput.pla: 0024: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatput.pla: 0025: -; samplesrc/fatput.pla: 0026: def hexChars(cptr, b)#0 - ; cptr -> [0] - ; b -> [2] -_C001 ; hexChars() -; samplesrc/fatput.pla: 0027: byte h - ; h -> [4] -; samplesrc/fatput.pla: 0028: -; samplesrc/fatput.pla: 0029: h = ((b >> 4) & $0F) + '0' - !BYTE $58,$05,$02 ; ENTER 5,2 -; samplesrc/fatput.pla: 0030: if h > '9' -; samplesrc/fatput.pla: 0031: h = h + 7 -; samplesrc/fatput.pla: 0032: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$04 ; DLB [4] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $64,$04 ; LLB [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$04 ; SLB [4] -_B005 -_B006 -; samplesrc/fatput.pla: 0033: ^cptr = h -; samplesrc/fatput.pla: 0034: cptr++ - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/fatput.pla: 0035: h = (b & $0F) + '0' -; samplesrc/fatput.pla: 0036: if h > '9' -; samplesrc/fatput.pla: 0037: h = h + 7 -; samplesrc/fatput.pla: 0038: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$04 ; DLB [4] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $64,$04 ; LLB [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$04 ; SLB [4] -_B007 -_B008 -; samplesrc/fatput.pla: 0039: ^cptr = h -; samplesrc/fatput.pla: 0040: end - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/fatput.pla: 0041: -; samplesrc/fatput.pla: 0042: def mkFatName(proName, fatName) - ; proName -> [0] - ; fatName -> [2] -_C002 ; mkFatName() -; samplesrc/fatput.pla: 0043: word l, n - ; l -> [4] - ; n -> [6] -; samplesrc/fatput.pla: 0044: byte fileinfo[t_fileinfo] - ; fileinfo -> [8] -; samplesrc/fatput.pla: 0045: -; samplesrc/fatput.pla: 0046: if !fileio:getfileinfo(proName, @fileinfo) - !BYTE $58,$17,$02 ; ENTER 23,2 -; samplesrc/fatput.pla: 0047: // -; samplesrc/fatput.pla: 0048: // Scan backward looking for dir seperator -; samplesrc/fatput.pla: 0049: // -; samplesrc/fatput.pla: 0050: l = ^proName -; samplesrc/fatput.pla: 0051: for n = l downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$08 ; LLA [8] - !BYTE $6A ; LAW _X028+4 -_F002 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $76,$04 ; SLW [4] - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $A2 ; BRLT _B011 - !WORD _B011-* -_B012 - !BYTE $6E,$06 ; DLW [6] -; samplesrc/fatput.pla: 0052: if ^(proName + n) == '/' -; samplesrc/fatput.pla: 0053: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B014 - !WORD _B014-* - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; samplesrc/fatput.pla: 0054: fin -_B014 -_B015 -; samplesrc/fatput.pla: 0055: next -_B013 - !BYTE $A8 ; DECBRGE _B012 - !WORD _B012-* -_B011 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP -; samplesrc/fatput.pla: 0056: memcpy(fatName + 1, proName + 1 + n, l - n) -; samplesrc/fatput.pla: 0057: ^fatName = l - n + 7 -; samplesrc/fatput.pla: 0058: // -; samplesrc/fatput.pla: 0059: // Build CiderPress style extension -; samplesrc/fatput.pla: 0060: // -; samplesrc/fatput.pla: 0061: n = fatName + ^fatName - 6 -; samplesrc/fatput.pla: 0062: ^n = '#' -; samplesrc/fatput.pla: 0063: hexChars(n + 1, fileinfo.file_type) -; samplesrc/fatput.pla: 0064: hexChars(n + 3, fileinfo.aux_type.1) -; samplesrc/fatput.pla: 0065: hexChars(n + 5, fileinfo.aux_type) -; samplesrc/fatput.pla: 0066: else - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F003 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$06 ; SUBI 6 - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$23 ; CB 35 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $64,$09 ; LLB [9] - !BYTE $54 ; CALL _C001 -_F004 !WORD _C001 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $28,$0A ; LLA [10] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _C001 -_F005 !WORD _C001 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $64,$0A ; LLB [10] - !BYTE $54 ; CALL _C001 -_F006 !WORD _C001 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; samplesrc/fatput.pla: 0067: // -; samplesrc/fatput.pla: 0068: // Error getting info on file -; samplesrc/fatput.pla: 0069: // -; samplesrc/fatput.pla: 0070: puts("Error reading "); puts(proName); putln - !BYTE $2E ; CS - !BYTE $0E - !BYTE $45,$72,$72,$6F,$72,$20,$72,$65 - !BYTE $61,$64,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F007 !WORD 0 -; samplesrc/fatput.pla: 0071: return -1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F008 !WORD 0 - !BYTE $54 ; CALL _X003 -_F009 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$17 ; LEAVE 23 -; samplesrc/fatput.pla: 0072: fin -_B010 -; samplesrc/fatput.pla: 0073: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$17 ; LEAVE 23 -; samplesrc/fatput.pla: 0074: end -; samplesrc/fatput.pla: 0075: -; samplesrc/fatput.pla: 0076: def getYN(prompt) - ; prompt -> [0] -_C003 ; getYN() -; samplesrc/fatput.pla: 0077: byte yn - ; yn -> [2] -; samplesrc/fatput.pla: 0078: -; samplesrc/fatput.pla: 0079: puts(prompt) - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatput.pla: 0080: yn = getc -; samplesrc/fatput.pla: 0081: return yn == 'Y' or yn == 'y' - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F010 !WORD 0 - !BYTE $54 ; CALL _X006 -_F011 !WORD 0 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$59 ; CB 89 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B016 - !WORD _B016-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$79 ; CB 121 - !BYTE $40 ; ISEQ -_B016 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatput.pla: 0082: end -; samplesrc/fatput.pla: 0083: -; samplesrc/fatput.pla: 0084: def bigFatWrite(buf, len) - ; buf -> [0] - ; len -> [2] -_C004 ; bigFatWrite() -; samplesrc/fatput.pla: 0085: word xferLen, fatLen - ; xferLen -> [4] - ; fatLen -> [6] -; samplesrc/fatput.pla: 0086: -; samplesrc/fatput.pla: 0087: xferLen = 0 - !BYTE $58,$08,$02 ; ENTER 8,2 -; samplesrc/fatput.pla: 0088: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B018 -; samplesrc/fatput.pla: 0089: if len > MAX_FAT_BUF_SIZE -; samplesrc/fatput.pla: 0090: fatLen = MAX_FAT_BUF_SIZE -; samplesrc/fatput.pla: 0091: else - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B020 -; samplesrc/fatput.pla: 0092: fatLen = len -; samplesrc/fatput.pla: 0093: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] -_B021 -; samplesrc/fatput.pla: 0094: fatLen = sdFAT:writeFile(buf, fatLen) -; samplesrc/fatput.pla: 0095: if fatLen > 0 -; samplesrc/fatput.pla: 0096: xferLen = xferLen + fatLen -; samplesrc/fatput.pla: 0097: len = len - fatLen -; samplesrc/fatput.pla: 0098: buf = buf + fatLen -; samplesrc/fatput.pla: 0099: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X033+24 -_F012 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $6E,$06 ; DLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B023 - !WORD _B023-* -_B022 -; samplesrc/fatput.pla: 0100: len = 0 -; samplesrc/fatput.pla: 0101: fin - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B023 -; samplesrc/fatput.pla: 0102: until len == 0 -_B019 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* -_B017 -; samplesrc/fatput.pla: 0103: return xferLen - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/fatput.pla: 0104: end -; samplesrc/fatput.pla: 0105: -; samplesrc/fatput.pla: 0106: def fatCopyTo(src, dst) - ; src -> [0] - ; dst -> [2] -_C005 ; fatCopyTo() -; samplesrc/fatput.pla: 0107: word copyBuf, copyLen, freeAddr - ; copyBuf -> [4] - ; copyLen -> [6] - ; freeAddr -> [8] -; samplesrc/fatput.pla: 0108: byte ref - ; ref -> [10] -; samplesrc/fatput.pla: 0109: -; samplesrc/fatput.pla: 0110: copyBuf = heapallocalign(COPY_BUF_SIZE, 8, @freeAddr) - !BYTE $58,$0B,$02 ; ENTER 11,2 -; samplesrc/fatput.pla: 0111: if not copyBuf -; samplesrc/fatput.pla: 0112: puts("Not enough free memory!\n"); putln - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $10 ; CN 8 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X013 -_F013 !WORD 0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B024 - !WORD _B024-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $4E,$6F,$74,$20,$65,$6E,$6F,$75 - !BYTE $67,$68,$20,$66,$72,$65,$65,$20 - !BYTE $6D,$65,$6D,$6F,$72,$79,$21,$0D - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 -; samplesrc/fatput.pla: 0113: return -1 - !BYTE $54 ; CALL _X003 -_F015 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/fatput.pla: 0114: fin -_B024 -_B025 -; samplesrc/fatput.pla: 0115: ref = fileio:open(src) -; samplesrc/fatput.pla: 0116: if not ref -; samplesrc/fatput.pla: 0117: puts("Error opening file: "); puts(src); putln - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X028+14 -_F016 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0A ; DLB [10] - !BYTE $4E ; BRTRU _B026 - !WORD _B026-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$66,$69 - !BYTE $6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -; samplesrc/fatput.pla: 0118: puts("Open file error: "); putByte(perr); putln - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 - !BYTE $54 ; CALL _X003 -_F019 !WORD 0 - !BYTE $2E ; CS - !BYTE $11 - !BYTE $4F,$70,$65,$6E,$20,$66,$69,$6C - !BYTE $65,$20,$65,$72,$72,$6F,$72,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -; samplesrc/fatput.pla: 0119: return -1 - !BYTE $68 ; LAB _X029+0 -_F021 !WORD 0+0 - !BYTE $54 ; CALL _C000 -_F022 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F023 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/fatput.pla: 0120: fin -_B026 -_B027 -; samplesrc/fatput.pla: 0121: // -; samplesrc/fatput.pla: 0122: // Copy file over in big chunks -; samplesrc/fatput.pla: 0123: // -; samplesrc/fatput.pla: 0124: if sdFAT:openFile(dst, O_READ | O_WRITE | O_CREAT) -; samplesrc/fatput.pla: 0125: repeat - !BYTE $66,$02 ; LLW [2] - !BYTE $06 ; CN 3 - !BYTE $3E,$40 ; ORI 64 - !BYTE $6A ; LAW _X033+18 -_F024 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* -_B031 -; samplesrc/fatput.pla: 0126: copyLen = fileio:read(ref, copyBuf, COPY_BUF_SIZE) -; samplesrc/fatput.pla: 0127: if copyLen -; samplesrc/fatput.pla: 0128: copyLen = bigFatWrite(copyBuf, copyLen) -; samplesrc/fatput.pla: 0129: if !copyLen -; samplesrc/fatput.pla: 0130: fin - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $6A ; LAW _X028+18 -_F025 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C004 -_F026 !WORD _C004 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B035 - !WORD _B035-* -_B035 -_B036 -; samplesrc/fatput.pla: 0131: fin -_B033 -_B034 -; samplesrc/fatput.pla: 0132: until copyLen == 0 -_B032 - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B031 - !WORD _B031-* -_B030 -; samplesrc/fatput.pla: 0133: sdFAT:closeFile() -; samplesrc/fatput.pla: 0134: else - !BYTE $6A ; LAW _X033+20 -_F027 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B028 -; samplesrc/fatput.pla: 0135: puts("Error opening FAT file:"); puts(dst); putln - !BYTE $2E ; CS - !BYTE $17 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$46,$41 - !BYTE $54,$20,$66,$69,$6C,$65,$3A - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -; samplesrc/fatput.pla: 0136: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 - !BYTE $54 ; CALL _X003 -_F030 !WORD 0 -_B029 -; samplesrc/fatput.pla: 0137: fileio:close(ref) -; samplesrc/fatput.pla: 0138: heaprelease(freeAddr) -; samplesrc/fatput.pla: 0139: return 0 - !BYTE $64,$0A ; LLB [10] - !BYTE $6A ; LAW _X028+16 -_F031 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _X015 -_F032 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/fatput.pla: 0140: end -; samplesrc/fatput.pla: 0141: -; samplesrc/fatput.pla: 0142: arg = argNext(argFirst) -_INIT -; samplesrc/fatput.pla: 0143: if ^arg -; samplesrc/fatput.pla: 0144: mkFatName(arg, @fatName) -; samplesrc/fatput.pla: 0145: puts(arg); puts(" ==> "); puts(@fatName); putln - !BYTE $54 ; CALL _X031 -_F033 !WORD 0 - !BYTE $54 ; CALL _X032 -_F034 !WORD 0 - !BYTE $7A ; SAW _D034+0 -_F035 !WORD _D034+0 - !BYTE $6A ; LAW _D034+0 -_F036 !WORD _D034+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $6A ; LAW _D034+0 -_F037 !WORD _D034+0 - !BYTE $26 ; LA _D035+0 -_F038 !WORD _D035+0 - !BYTE $54 ; CALL _C002 -_F039 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D034+0 -_F040 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$3D,$3D,$3E,$20 - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 -; samplesrc/fatput.pla: 0146: fatCopyTo(arg, @fatName) -; samplesrc/fatput.pla: 0147: else - !BYTE $26 ; LA _D035+0 -_F043 !WORD _D035+0 - !BYTE $54 ; CALL _X004 -_F044 !WORD 0 - !BYTE $54 ; CALL _X003 -_F045 !WORD 0 - !BYTE $6A ; LAW _D034+0 -_F046 !WORD _D034+0 - !BYTE $26 ; LA _D035+0 -_F047 !WORD _D035+0 - !BYTE $54 ; CALL _C005 -_F048 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B037 -; samplesrc/fatput.pla: 0148: puts("Usage: +FATPUT "); putln - !BYTE $2E ; CS - !BYTE $19 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $46,$41,$54,$50,$55,$54,$20,$3C - !BYTE $66,$69,$6C,$65,$6E,$61,$6D,$65 - !BYTE $3E - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 -; samplesrc/fatput.pla: 0149: fin - !BYTE $54 ; CALL _X003 -_F050 !WORD 0 -_B038 -; samplesrc/fatput.pla: 0150: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fatreaddsk.a b/src/samplesrc/fatreaddsk.a deleted file mode 100644 index 1257b51..0000000 --- a/src/samplesrc/fatreaddsk.a +++ /dev/null @@ -1,1449 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/fatreaddsk.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/fatreaddsk.pla: 0001: -; samplesrc/fatreaddsk.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; samplesrc/fatreaddsk.pla: 0002: -; samplesrc/fatreaddsk.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X030 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X031 - ; ARGNEXT -> X032 -; inc/args.plh: 0003: end -; samplesrc/fatreaddsk.pla: 0003: -; samplesrc/fatreaddsk.pla: 0004: include "inc/sdfat.plh" -; inc/sdfat.plh: 0001: // -; inc/sdfat.plh: 0002: // FAT I/O object -; inc/sdfat.plh: 0003: // -; inc/sdfat.plh: 0004: import sdFAT - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - ; SDFAT -> X033 -; inc/sdfat.plh: 0005: // -; inc/sdfat.plh: 0006: // Open flags -; inc/sdfat.plh: 0007: // -; inc/sdfat.plh: 0008: const O_READ = $01 - ; O_READ = 1 -; inc/sdfat.plh: 0009: const O_WRITE = $02 - ; O_WRITE = 2 -; inc/sdfat.plh: 0010: const O_APPEND = $04 - ; O_APPEND = 4 -; inc/sdfat.plh: 0011: const O_SYNC = $08 - ; O_SYNC = 8 -; inc/sdfat.plh: 0012: const O_TRUNC = $10 - ; O_TRUNC = 16 -; inc/sdfat.plh: 0013: const O_AT_END = $20 - ; O_AT_END = 32 -; inc/sdfat.plh: 0014: const O_CREAT = $40 - ; O_CREAT = 64 -; inc/sdfat.plh: 0015: const O_EXCL = $80 - ; O_EXCL = 128 -; inc/sdfat.plh: 0016: const MAX_FAT_BUF_SIZE = 512 - ; MAX_FAT_BUF_SIZE = 512 -; inc/sdfat.plh: 0017: // -; inc/sdfat.plh: 0018: // Interface -; inc/sdfat.plh: 0019: // -; inc/sdfat.plh: 0020: struc t_sdFAT -; inc/sdfat.plh: 0021: word getDir - ; getDir = 0 -; inc/sdfat.plh: 0022: word setDir - ; setDir = 2 -; inc/sdfat.plh: 0023: word newDir - ; newDir = 4 -; inc/sdfat.plh: 0024: word removeDir - ; removeDir = 6 -; inc/sdfat.plh: 0025: word renameFile - ; renameFile = 8 -; inc/sdfat.plh: 0026: word removeFile - ; removeFile = 10 -; inc/sdfat.plh: 0027: word existsFile - ; existsFile = 12 -; inc/sdfat.plh: 0028: word openFirstFile - ; openFirstFile = 14 -; inc/sdfat.plh: 0029: word openNextFile - ; openNextFile = 16 -; inc/sdfat.plh: 0030: word openFile - ; openFile = 18 -; inc/sdfat.plh: 0031: word closeFile - ; closeFile = 20 -; inc/sdfat.plh: 0032: word readFile - ; readFile = 22 -; inc/sdfat.plh: 0033: word writeFile - ; writeFile = 24 -; inc/sdfat.plh: 0034: word syncFile - ; syncFile = 26 -; inc/sdfat.plh: 0035: word rewindFile - ; rewindFile = 28 -; inc/sdfat.plh: 0036: word seekFile - ; seekFile = 30 -; inc/sdfat.plh: 0037: word seekOffsetFile - ; seekOffsetFile = 32 -; inc/sdfat.plh: 0038: word posFile - ; posFile = 34 -; inc/sdfat.plh: 0039: word sizeOfFile - ; sizeOfFile = 36 -; inc/sdfat.plh: 0040: word truncateFile - ; truncateFile = 38 -; inc/sdfat.plh: 0041: word isDir - ; isDir = 40 -; inc/sdfat.plh: 0042: word isFile - ; isFile = 42 -; inc/sdfat.plh: 0043: end - ; t_sdFAT = 44 -; inc/sdfat.plh: 0044: end -; samplesrc/fatreaddsk.pla: 0004: -; samplesrc/fatreaddsk.pla: 0005: -; samplesrc/fatreaddsk.pla: 0006: const COPY_BUF_SIZE = 4096 // 4K - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; COPY_BUF_SIZE = 4096 -; samplesrc/fatreaddsk.pla: 0007: const COPY_BLK_SIZE = COPY_BUF_SIZE/512 - ; COPY_BLK_SIZE = 8 -; samplesrc/fatreaddsk.pla: 0008: const COPY_BLK_CNT = COPY_BLK_SIZE-1 - ; COPY_BLK_CNT = 7 -; samplesrc/fatreaddsk.pla: 0009: const DRIVE1 = $60 // drive 1, slot 6 - ; DRIVE1 = 96 -; samplesrc/fatreaddsk.pla: 0010: const DRIVE2 = $D0 // drive 2, slot 6 - ; DRIVE2 = 208 -; samplesrc/fatreaddsk.pla: 0011: const LOWER_DIFF = 'a' - 'A' - ; LOWER_DIFF = 32 -; samplesrc/fatreaddsk.pla: 0012: // -; samplesrc/fatreaddsk.pla: 0013: // Track sector order -; samplesrc/fatreaddsk.pla: 0014: // -; samplesrc/fatreaddsk.pla: 0015: const ORDER_DOS = 0 - ; ORDER_DOS = 0 -; samplesrc/fatreaddsk.pla: 0016: const ORDER_PRODOS = 1 - ; ORDER_PRODOS = 1 -; samplesrc/fatreaddsk.pla: 0017: -; samplesrc/fatreaddsk.pla: 0018: word arg, image -_D034 !FILL 2 ; arg, image -_D035 !FILL 2 ; image -; samplesrc/fatreaddsk.pla: 0019: byte unit = DRIVE1 -_D036 ; unit = DRIVE1 - !BYTE $60 -; samplesrc/fatreaddsk.pla: 0020: byte order -_D037 !FILL 1 ; order -; samplesrc/fatreaddsk.pla: 0021: // -; samplesrc/fatreaddsk.pla: 0022: // DOS to ProDOS sector ordering -; samplesrc/fatreaddsk.pla: 0023: // -; samplesrc/fatreaddsk.pla: 0024: byte[] secOrder = $0,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$F -_D038 ; secOrder = $0,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$F - !BYTE $00 - !BYTE $0E - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $0F -; samplesrc/fatreaddsk.pla: 0025: -; samplesrc/fatreaddsk.pla: 0026: def putb(b)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; b -> [0] -_P008 ; putb(b)#0() -_C000 ; putb() -; samplesrc/fatreaddsk.pla: 0027: byte c - ; c -> [2] -; samplesrc/fatreaddsk.pla: 0028: c = ((b >> 4) & $0F) + '0' - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatreaddsk.pla: 0029: if c > '9' -; samplesrc/fatreaddsk.pla: 0030: c = c + 7 -; samplesrc/fatreaddsk.pla: 0031: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B001 -_B002 -; samplesrc/fatreaddsk.pla: 0032: putc(c) -; samplesrc/fatreaddsk.pla: 0033: c = (b & $0F) + '0' -; samplesrc/fatreaddsk.pla: 0034: if c > '9' -; samplesrc/fatreaddsk.pla: 0035: c = c + 7 -; samplesrc/fatreaddsk.pla: 0036: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B003 -_B004 -; samplesrc/fatreaddsk.pla: 0037: putc(c) -; samplesrc/fatreaddsk.pla: 0038: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatreaddsk.pla: 0039: -; samplesrc/fatreaddsk.pla: 0040: def getYN(prompt) - ; prompt -> [0] -_C001 ; getYN() -; samplesrc/fatreaddsk.pla: 0041: byte yn - ; yn -> [2] -; samplesrc/fatreaddsk.pla: 0042: -; samplesrc/fatreaddsk.pla: 0043: puts(prompt) - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatreaddsk.pla: 0044: yn = getc -; samplesrc/fatreaddsk.pla: 0045: putln -; samplesrc/fatreaddsk.pla: 0046: return yn == 'Y' or yn == 'y' - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F002 !WORD 0 - !BYTE $54 ; CALL _X006 -_F003 !WORD 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $54 ; CALL _X003 -_F004 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$59 ; CB 89 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B005 - !WORD _B005-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$79 ; CB 121 - !BYTE $40 ; ISEQ -_B005 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatreaddsk.pla: 0047: end -; samplesrc/fatreaddsk.pla: 0048: -; samplesrc/fatreaddsk.pla: 0049: def trkSecToBlk(bufSec, bufBlk)#0 - ; bufSec -> [0] - ; bufBlk -> [2] -_C002 ; trkSecToBlk() -; samplesrc/fatreaddsk.pla: 0050: byte sector - ; sector -> [4] -; samplesrc/fatreaddsk.pla: 0051: -; samplesrc/fatreaddsk.pla: 0052: for sector = 0 to 15 - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B007 - !BYTE $6C,$04 ; DLB [4] -; samplesrc/fatreaddsk.pla: 0053: memcpy(bufBlk + (sector << 8), bufSec + (secOrder[sector] << 8), 256) -; samplesrc/fatreaddsk.pla: 0054: next - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$04 ; LLB [4] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D038+0 -_F005 !WORD _D038+0 - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X018 -_F006 !WORD 0 -_B008 - !BYTE $A4 ; INCBRLE _B007 - !WORD _B007-* -_B006 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; samplesrc/fatreaddsk.pla: 0055: end - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/fatreaddsk.pla: 0056: -; samplesrc/fatreaddsk.pla: 0057: def bigFatWrite(buf, len) - ; buf -> [0] - ; len -> [2] -_C003 ; bigFatWrite() -; samplesrc/fatreaddsk.pla: 0058: word xferLen, fatLen - ; xferLen -> [4] - ; fatLen -> [6] -; samplesrc/fatreaddsk.pla: 0059: -; samplesrc/fatreaddsk.pla: 0060: xferLen = 0 - !BYTE $58,$08,$02 ; ENTER 8,2 -; samplesrc/fatreaddsk.pla: 0061: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B010 -; samplesrc/fatreaddsk.pla: 0062: if len > MAX_FAT_BUF_SIZE -; samplesrc/fatreaddsk.pla: 0063: fatLen = MAX_FAT_BUF_SIZE -; samplesrc/fatreaddsk.pla: 0064: else - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -_B012 -; samplesrc/fatreaddsk.pla: 0065: fatLen = len -; samplesrc/fatreaddsk.pla: 0066: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] -_B013 -; samplesrc/fatreaddsk.pla: 0067: fatLen = sdFAT:writeFile(buf, fatLen) -; samplesrc/fatreaddsk.pla: 0068: if fatLen > 0 -; samplesrc/fatreaddsk.pla: 0069: xferLen = xferLen + fatLen -; samplesrc/fatreaddsk.pla: 0070: len = len - fatLen -; samplesrc/fatreaddsk.pla: 0071: buf = buf + fatLen -; samplesrc/fatreaddsk.pla: 0072: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X033+24 -_F007 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $6E,$06 ; DLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -_B014 -; samplesrc/fatreaddsk.pla: 0073: len = 0 -; samplesrc/fatreaddsk.pla: 0074: fin - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B015 -; samplesrc/fatreaddsk.pla: 0075: until len == 0 -_B011 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* -_B009 -; samplesrc/fatreaddsk.pla: 0076: return xferLen - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/fatreaddsk.pla: 0077: end -; samplesrc/fatreaddsk.pla: 0078: -; samplesrc/fatreaddsk.pla: 0079: def fatReadImage(src, drv, order) - ; src -> [0] - ; drv -> [2] - ; order -> [4] -_C004 ; fatReadImage() -; samplesrc/fatreaddsk.pla: 0080: word inBuf, outBuf, copyLen, freeAddr - ; inBuf -> [6] - ; outBuf -> [8] - ; copyLen -> [10] - ; freeAddr -> [12] -; samplesrc/fatreaddsk.pla: 0081: word blocknum, bufblk - ; blocknum -> [14] - ; bufblk -> [16] -; samplesrc/fatreaddsk.pla: 0082: -; samplesrc/fatreaddsk.pla: 0083: inBuf = heapallocalign(COPY_BUF_SIZE * 2, 8, @freeAddr) - !BYTE $58,$12,$03 ; ENTER 18,3 -; samplesrc/fatreaddsk.pla: 0084: if not inBuf -; samplesrc/fatreaddsk.pla: 0085: puts("Not enough free memory!\n"); putln - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $10 ; CN 8 - !BYTE $28,$0C ; LLA [12] - !BYTE $54 ; CALL _X013 -_F008 !WORD 0 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $4E,$6F,$74,$20,$65,$6E,$6F,$75 - !BYTE $67,$68,$20,$66,$72,$65,$65,$20 - !BYTE $6D,$65,$6D,$6F,$72,$79,$21,$0D - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 -; samplesrc/fatreaddsk.pla: 0086: return -1 - !BYTE $54 ; CALL _X003 -_F010 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$12 ; LEAVE 18 -; samplesrc/fatreaddsk.pla: 0087: fin -_B016 -_B017 -; samplesrc/fatreaddsk.pla: 0088: if order == ORDER_DOS -; samplesrc/fatreaddsk.pla: 0089: outBuf = inBuf + COPY_BUF_SIZE -; samplesrc/fatreaddsk.pla: 0090: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B018 -; samplesrc/fatreaddsk.pla: 0091: outBuf = inBuf -; samplesrc/fatreaddsk.pla: 0092: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$08 ; SLW [8] -_B019 -; samplesrc/fatreaddsk.pla: 0093: // -; samplesrc/fatreaddsk.pla: 0094: // Copy FAT image over one track at a time -; samplesrc/fatreaddsk.pla: 0095: // -; samplesrc/fatreaddsk.pla: 0096: if sdFAT:openFile(src, O_READ | O_WRITE | O_CREAT) -; samplesrc/fatreaddsk.pla: 0097: if !drv; putc(7); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $06 ; CN 3 - !BYTE $3E,$40 ; ORI 64 - !BYTE $6A ; LAW _X033+18 -_F011 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X002 -_F012 !WORD 0 -_B022 -_B023 -; samplesrc/fatreaddsk.pla: 0098: for blocknum = 0 to 279 step COPY_BLK_SIZE - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $00 ; CN 0 -_B025 - !BYTE $6E,$0E ; DLW [14] -; samplesrc/fatreaddsk.pla: 0099: if drv -; samplesrc/fatreaddsk.pla: 0100: ^$24=^$20 // Move cursor to left edge -; samplesrc/fatreaddsk.pla: 0101: puts("Reading blocks: "); puti(blocknum) - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $68,$20,$00 ; LAB 32 - !BYTE $78,$24,$00 ; SAB 36 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $52,$65,$61,$64,$69,$6E,$67,$20 - !BYTE $62,$6C,$6F,$63,$6B,$73,$3A,$20 - !BYTE $54 ; CALL _X004 -_F013 !WORD 0 -; samplesrc/fatreaddsk.pla: 0102: for bufblk = 0 to COPY_BLK_CNT - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _X005 -_F014 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B030 - !BYTE $6E,$10 ; DLW [16] -; samplesrc/fatreaddsk.pla: 0103: if fileio:readblock(drv, inBuf + (bufblk << 9), blocknum + bufblk) -; samplesrc/fatreaddsk.pla: 0104: puts("Read disk error: $"); putb(perr); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$10 ; LLW [16] - !BYTE $12 ; CN 9 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$0E ; LLW [14] - !BYTE $B2,$10 ; ADDLW [16] - !BYTE $6A ; LAW _X028+32 -_F015 !WORD 0+32 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $2E ; CS - !BYTE $12 - !BYTE $52,$65,$61,$64,$20,$64,$69,$73 - !BYTE $6B,$20,$65,$72,$72,$6F,$72,$3A - !BYTE $20,$24 - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -; samplesrc/fatreaddsk.pla: 0105: break - !BYTE $68 ; LAB _X029+0 -_F017 !WORD 0+0 - !BYTE $54 ; CALL _C000 -_F018 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F019 !WORD 0 - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -; samplesrc/fatreaddsk.pla: 0106: fin -_B032 -_B033 -; samplesrc/fatreaddsk.pla: 0107: next -_B031 - !BYTE $A4 ; INCBRLE _B030 - !WORD _B030-* -_B029 - !BYTE $76,$10 ; SLW [16] - !BYTE $30 ; DROP -; samplesrc/fatreaddsk.pla: 0108: fin -_B027 -_B028 -; samplesrc/fatreaddsk.pla: 0109: if order == ORDER_DOS -; samplesrc/fatreaddsk.pla: 0110: trkSecToBlk(inBuf, outBuf) -; samplesrc/fatreaddsk.pla: 0111: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B034 - !WORD _B034-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C002 -_F020 !WORD _C002 -_B034 -_B035 -; samplesrc/fatreaddsk.pla: 0112: copyLen = bigFatWrite(outBuf, COPY_BUF_SIZE) -; samplesrc/fatreaddsk.pla: 0113: if copyLen <> COPY_BUF_SIZE -; samplesrc/fatreaddsk.pla: 0114: puts("Write image file error\n"); - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C003 -_F021 !WORD _C003 - !BYTE $6E,$0A ; DLW [10] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $22 ; BREQ _B036 - !WORD _B036-* - !BYTE $2E ; CS - !BYTE $17 - !BYTE $57,$72,$69,$74,$65,$20,$69,$6D - !BYTE $61,$67,$65,$20,$66,$69,$6C,$65 - !BYTE $20,$65,$72,$72,$6F,$72,$0D - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -; samplesrc/fatreaddsk.pla: 0115: fin -_B036 -_B037 -; samplesrc/fatreaddsk.pla: 0116: if copyLen < COPY_BUF_SIZE or perr -; samplesrc/fatreaddsk.pla: 0117: puts("Error creating image: "); puts(src); putln - !BYTE $66,$0A ; LLW [10] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B038 - !WORD _B038-* - !BYTE $68 ; LAB _X029+0 -_F023 !WORD 0+0 -_B038 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $45,$72,$72,$6F,$72,$20,$63,$72 - !BYTE $65,$61,$74,$69,$6E,$67,$20,$69 - !BYTE $6D,$61,$67,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -; samplesrc/fatreaddsk.pla: 0118: break - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 - !BYTE $54 ; CALL _X003 -_F026 !WORD 0 - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; samplesrc/fatreaddsk.pla: 0119: fin -_B039 -_B040 -; samplesrc/fatreaddsk.pla: 0120: next -_B026 - !BYTE $10 ; CN 8 - !BYTE $A6 ; ADDBRLE _B025 - !WORD _B025-* -_B024 - !BYTE $76,$0E ; SLW [14] - !BYTE $30 ; DROP -; samplesrc/fatreaddsk.pla: 0121: if !drv; putc(7);fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B041 - !WORD _B041-* - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X002 -_F027 !WORD 0 -_B041 -_B042 -; samplesrc/fatreaddsk.pla: 0122: putln -; samplesrc/fatreaddsk.pla: 0123: sdFAT:closeFile() -; samplesrc/fatreaddsk.pla: 0124: else - !BYTE $54 ; CALL _X003 -_F028 !WORD 0 - !BYTE $6A ; LAW _X033+20 -_F029 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B020 -; samplesrc/fatreaddsk.pla: 0125: puts("Error opening image file:"); puts(src); putln - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$69,$6D - !BYTE $61,$67,$65,$20,$66,$69,$6C,$65 - !BYTE $3A - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -; samplesrc/fatreaddsk.pla: 0126: return -1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 - !BYTE $54 ; CALL _X003 -_F032 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$12 ; LEAVE 18 -; samplesrc/fatreaddsk.pla: 0127: fin -_B021 -; samplesrc/fatreaddsk.pla: 0128: heaprelease(freeAddr) -; samplesrc/fatreaddsk.pla: 0129: return 0 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _X015 -_F033 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$12 ; LEAVE 18 -; samplesrc/fatreaddsk.pla: 0130: end -; samplesrc/fatreaddsk.pla: 0131: -; samplesrc/fatreaddsk.pla: 0132: arg = argNext(argFirst) -_INIT -; samplesrc/fatreaddsk.pla: 0133: if ^arg -; samplesrc/fatreaddsk.pla: 0134: image = arg -; samplesrc/fatreaddsk.pla: 0135: arg = argNext(arg) -; samplesrc/fatreaddsk.pla: 0136: if ^arg -; samplesrc/fatreaddsk.pla: 0137: when ^(arg + 1) - !BYTE $54 ; CALL _X031 -_F034 !WORD 0 - !BYTE $54 ; CALL _X032 -_F035 !WORD 0 - !BYTE $7A ; SAW _D034+0 -_F036 !WORD _D034+0 - !BYTE $6A ; LAW _D034+0 -_F037 !WORD _D034+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $6A ; LAW _D034+0 -_F038 !WORD _D034+0 - !BYTE $7A ; SAW _D035+0 -_F039 !WORD _D035+0 - !BYTE $6A ; LAW _D034+0 -_F040 !WORD _D034+0 - !BYTE $54 ; CALL _X032 -_F041 !WORD 0 - !BYTE $7A ; SAW _D034+0 -_F042 !WORD _D034+0 - !BYTE $6A ; LAW _D034+0 -_F043 !WORD _D034+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $6A ; LAW _D034+0 -_F044 !WORD _D034+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B048-* -; samplesrc/fatreaddsk.pla: 0138: is '2' // Drive 2 option -_B049 -; samplesrc/fatreaddsk.pla: 0139: unit = DRIVE2 -; samplesrc/fatreaddsk.pla: 0140: break - !BYTE $2A,$D0 ; CB 208 - !BYTE $78 ; SAB _D036+0 -_F045 !WORD _D036+0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -; samplesrc/fatreaddsk.pla: 0141: is 'T' // Test speed option -_B050 -; samplesrc/fatreaddsk.pla: 0142: is 't' -_B051 -; samplesrc/fatreaddsk.pla: 0143: unit = 0 -; samplesrc/fatreaddsk.pla: 0144: break - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D036+0 -_F046 !WORD _D036+0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -; samplesrc/fatreaddsk.pla: 0145: wend - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B048 - !BYTE $03 ; CASEBLOCK - !WORD $0032 - !WORD _B049-* - !WORD $0054 - !WORD _B050-* - !WORD $0074 - !WORD _B051-* -_B047 -; samplesrc/fatreaddsk.pla: 0146: fin -_B045 -_B046 -; samplesrc/fatreaddsk.pla: 0147: if unit -; samplesrc/fatreaddsk.pla: 0148: puts("Reading "); puts(image); puts(" from Drive "); putc((unit >> 7) + '1') - !BYTE $68 ; LAB _D036+0 -_F047 !WORD _D036+0 - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $52,$65,$61,$64,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 - !BYTE $6A ; LAW _D035+0 -_F049 !WORD _D035+0 - !BYTE $54 ; CALL _X004 -_F050 !WORD 0 - !BYTE $2E ; CS - !BYTE $0C - !BYTE $20,$66,$72,$6F,$6D,$20,$44,$72 - !BYTE $69,$76,$65,$20 - !BYTE $54 ; CALL _X004 -_F051 !WORD 0 -; samplesrc/fatreaddsk.pla: 0149: else - !BYTE $68 ; LAB _D036+0 -_F052 !WORD _D036+0 - !BYTE $0E ; CN 7 - !BYTE $9C ; SHR - !BYTE $38,$31 ; ADDI 49 - !BYTE $54 ; CALL _X002 -_F053 !WORD 0 - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B052 -; samplesrc/fatreaddsk.pla: 0150: puts("Speed test writing 143K to SD card"); - !BYTE $2E ; CS - !BYTE $22 - !BYTE $53,$70,$65,$65,$64,$20,$74,$65 - !BYTE $73,$74,$20,$77,$72,$69,$74,$69 - !BYTE $6E,$67,$20,$31,$34,$33,$4B,$20 - !BYTE $74,$6F,$20,$53,$44,$20,$63,$61 - !BYTE $72,$64 - !BYTE $54 ; CALL _X004 -_F054 !WORD 0 -; samplesrc/fatreaddsk.pla: 0151: fin -_B053 -; samplesrc/fatreaddsk.pla: 0152: // -; samplesrc/fatreaddsk.pla: 0153: // Figure sector ordering from filename -; samplesrc/fatreaddsk.pla: 0154: // -; samplesrc/fatreaddsk.pla: 0155: puts("\nUsing ") - !BYTE $2E ; CS - !BYTE $07 - !BYTE $0D,$55,$73,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F055 !WORD 0 -; samplesrc/fatreaddsk.pla: 0156: if toupper(^(image + ^image)) == 'O' and toupper(^(image + ^image - 1)) == 'P' -; samplesrc/fatreaddsk.pla: 0157: order = ORDER_PRODOS -; samplesrc/fatreaddsk.pla: 0158: puts("ProDOS") - !BYTE $6A ; LAW _D035+0 -_F056 !WORD _D035+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F057 !WORD 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B054 - !WORD _B054-* - !BYTE $6A ; LAW _D035+0 -_F058 !WORD _D035+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F059 !WORD 0 - !BYTE $2A,$50 ; CB 80 - !BYTE $40 ; ISEQ -_B054 - !BYTE $4C ; BRFLS _B055 - !WORD _B055-* - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D037+0 -_F060 !WORD _D037+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $50,$72,$6F,$44,$4F,$53 - !BYTE $54 ; CALL _X004 -_F061 !WORD 0 -; samplesrc/fatreaddsk.pla: 0159: else - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B055 -; samplesrc/fatreaddsk.pla: 0160: order = ORDER_DOS -; samplesrc/fatreaddsk.pla: 0161: puts("DOS 3.3") - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D037+0 -_F062 !WORD _D037+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $44,$4F,$53,$20,$33,$2E,$33 - !BYTE $54 ; CALL _X004 -_F063 !WORD 0 -; samplesrc/fatreaddsk.pla: 0162: fin -_B056 -; samplesrc/fatreaddsk.pla: 0163: if getYN(" order. Continue? (Y/N)") - !BYTE $2E ; CS - !BYTE $17 - !BYTE $20,$6F,$72,$64,$65,$72,$2E,$20 - !BYTE $43,$6F,$6E,$74,$69,$6E,$75,$65 - !BYTE $3F,$20,$28,$59,$2F,$4E,$29 - !BYTE $54 ; CALL _C001 -_F064 !WORD _C001 - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* -; samplesrc/fatreaddsk.pla: 0164: fatReadImage(image, unit, order) -; samplesrc/fatreaddsk.pla: 0165: fin - !BYTE $6A ; LAW _D035+0 -_F065 !WORD _D035+0 - !BYTE $68 ; LAB _D036+0 -_F066 !WORD _D036+0 - !BYTE $68 ; LAB _D037+0 -_F067 !WORD _D037+0 - !BYTE $54 ; CALL _C004 -_F068 !WORD _C004 - !BYTE $30 ; DROP -_B057 -_B058 -; samplesrc/fatreaddsk.pla: 0166: else - !BYTE $50 ; BRNCH _B044 - !WORD _B044-* -_B043 -; samplesrc/fatreaddsk.pla: 0167: puts("Read DSK image from floppy disk drive\n") - !BYTE $2E ; CS - !BYTE $26 - !BYTE $52,$65,$61,$64,$20,$44,$53,$4B - !BYTE $20,$69,$6D,$61,$67,$65,$20,$66 - !BYTE $72,$6F,$6D,$20,$66,$6C,$6F,$70 - !BYTE $70,$79,$20,$64,$69,$73,$6B,$20 - !BYTE $64,$72,$69,$76,$65,$0D - !BYTE $54 ; CALL _X004 -_F069 !WORD 0 -; samplesrc/fatreaddsk.pla: 0168: puts("Usage: +FATREADDSK [1,2,T]\n") - !BYTE $2E ; CS - !BYTE $2C - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $46,$41,$54,$52,$45,$41,$44,$44 - !BYTE $53,$4B,$20,$3C,$44,$53,$4B,$20 - !BYTE $69,$6D,$61,$67,$65,$20,$66,$69 - !BYTE $6C,$65,$3E,$20,$5B,$31,$2C,$32 - !BYTE $2C,$54,$5D,$0D - !BYTE $54 ; CALL _X004 -_F070 !WORD 0 -; samplesrc/fatreaddsk.pla: 0169: fin -_B044 -; samplesrc/fatreaddsk.pla: 0170: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 6 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fatwritedsk.a b/src/samplesrc/fatwritedsk.a deleted file mode 100644 index 0d66535..0000000 --- a/src/samplesrc/fatwritedsk.a +++ /dev/null @@ -1,1452 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/fatwritedsk.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/fatwritedsk.pla: 0001: -; samplesrc/fatwritedsk.pla: 0002: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X028 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X029 -; inc/fileio.plh: 0082: end -; samplesrc/fatwritedsk.pla: 0002: -; samplesrc/fatwritedsk.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X030 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X031 - ; ARGNEXT -> X032 -; inc/args.plh: 0003: end -; samplesrc/fatwritedsk.pla: 0003: -; samplesrc/fatwritedsk.pla: 0004: include "inc/sdfat.plh" -; inc/sdfat.plh: 0001: // -; inc/sdfat.plh: 0002: // FAT I/O object -; inc/sdfat.plh: 0003: // -; inc/sdfat.plh: 0004: import sdFAT - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - ; SDFAT -> X033 -; inc/sdfat.plh: 0005: // -; inc/sdfat.plh: 0006: // Open flags -; inc/sdfat.plh: 0007: // -; inc/sdfat.plh: 0008: const O_READ = $01 - ; O_READ = 1 -; inc/sdfat.plh: 0009: const O_WRITE = $02 - ; O_WRITE = 2 -; inc/sdfat.plh: 0010: const O_APPEND = $04 - ; O_APPEND = 4 -; inc/sdfat.plh: 0011: const O_SYNC = $08 - ; O_SYNC = 8 -; inc/sdfat.plh: 0012: const O_TRUNC = $10 - ; O_TRUNC = 16 -; inc/sdfat.plh: 0013: const O_AT_END = $20 - ; O_AT_END = 32 -; inc/sdfat.plh: 0014: const O_CREAT = $40 - ; O_CREAT = 64 -; inc/sdfat.plh: 0015: const O_EXCL = $80 - ; O_EXCL = 128 -; inc/sdfat.plh: 0016: const MAX_FAT_BUF_SIZE = 512 - ; MAX_FAT_BUF_SIZE = 512 -; inc/sdfat.plh: 0017: // -; inc/sdfat.plh: 0018: // Interface -; inc/sdfat.plh: 0019: // -; inc/sdfat.plh: 0020: struc t_sdFAT -; inc/sdfat.plh: 0021: word getDir - ; getDir = 0 -; inc/sdfat.plh: 0022: word setDir - ; setDir = 2 -; inc/sdfat.plh: 0023: word newDir - ; newDir = 4 -; inc/sdfat.plh: 0024: word removeDir - ; removeDir = 6 -; inc/sdfat.plh: 0025: word renameFile - ; renameFile = 8 -; inc/sdfat.plh: 0026: word removeFile - ; removeFile = 10 -; inc/sdfat.plh: 0027: word existsFile - ; existsFile = 12 -; inc/sdfat.plh: 0028: word openFirstFile - ; openFirstFile = 14 -; inc/sdfat.plh: 0029: word openNextFile - ; openNextFile = 16 -; inc/sdfat.plh: 0030: word openFile - ; openFile = 18 -; inc/sdfat.plh: 0031: word closeFile - ; closeFile = 20 -; inc/sdfat.plh: 0032: word readFile - ; readFile = 22 -; inc/sdfat.plh: 0033: word writeFile - ; writeFile = 24 -; inc/sdfat.plh: 0034: word syncFile - ; syncFile = 26 -; inc/sdfat.plh: 0035: word rewindFile - ; rewindFile = 28 -; inc/sdfat.plh: 0036: word seekFile - ; seekFile = 30 -; inc/sdfat.plh: 0037: word seekOffsetFile - ; seekOffsetFile = 32 -; inc/sdfat.plh: 0038: word posFile - ; posFile = 34 -; inc/sdfat.plh: 0039: word sizeOfFile - ; sizeOfFile = 36 -; inc/sdfat.plh: 0040: word truncateFile - ; truncateFile = 38 -; inc/sdfat.plh: 0041: word isDir - ; isDir = 40 -; inc/sdfat.plh: 0042: word isFile - ; isFile = 42 -; inc/sdfat.plh: 0043: end - ; t_sdFAT = 44 -; inc/sdfat.plh: 0044: end -; samplesrc/fatwritedsk.pla: 0004: -; samplesrc/fatwritedsk.pla: 0005: -; samplesrc/fatwritedsk.pla: 0006: const COPY_BUF_SIZE = 4096 // 4K - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; COPY_BUF_SIZE = 4096 -; samplesrc/fatwritedsk.pla: 0007: const COPY_BLK_SIZE = COPY_BUF_SIZE/512 - ; COPY_BLK_SIZE = 8 -; samplesrc/fatwritedsk.pla: 0008: const COPY_BLK_CNT = COPY_BLK_SIZE-1 - ; COPY_BLK_CNT = 7 -; samplesrc/fatwritedsk.pla: 0009: const DRIVE1 = $60 // drive 1, slot 6 - ; DRIVE1 = 96 -; samplesrc/fatwritedsk.pla: 0010: const DRIVE2 = $D0 // drive 2, slot 6 - ; DRIVE2 = 208 -; samplesrc/fatwritedsk.pla: 0011: const LOWER_DIFF = 'a' - 'A' - ; LOWER_DIFF = 32 -; samplesrc/fatwritedsk.pla: 0012: // -; samplesrc/fatwritedsk.pla: 0013: // Track sector order -; samplesrc/fatwritedsk.pla: 0014: // -; samplesrc/fatwritedsk.pla: 0015: const ORDER_DOS = 0 - ; ORDER_DOS = 0 -; samplesrc/fatwritedsk.pla: 0016: const ORDER_PRODOS = 1 - ; ORDER_PRODOS = 1 -; samplesrc/fatwritedsk.pla: 0017: -; samplesrc/fatwritedsk.pla: 0018: word arg, image -_D034 !FILL 2 ; arg, image -_D035 !FILL 2 ; image -; samplesrc/fatwritedsk.pla: 0019: byte unit = DRIVE1 -_D036 ; unit = DRIVE1 - !BYTE $60 -; samplesrc/fatwritedsk.pla: 0020: byte order -_D037 !FILL 1 ; order -; samplesrc/fatwritedsk.pla: 0021: -; samplesrc/fatwritedsk.pla: 0022: // -; samplesrc/fatwritedsk.pla: 0023: // DOS to ProDOS sector ordering -; samplesrc/fatwritedsk.pla: 0024: // -; samplesrc/fatwritedsk.pla: 0025: byte[] secOrder = $0,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$F -_D038 ; secOrder = $0,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$F - !BYTE $00 - !BYTE $0E - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $0F -; samplesrc/fatwritedsk.pla: 0026: -; samplesrc/fatwritedsk.pla: 0027: def putb(b)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; b -> [0] -_P008 ; putb(b)#0() -_C000 ; putb() -; samplesrc/fatwritedsk.pla: 0028: byte c - ; c -> [2] -; samplesrc/fatwritedsk.pla: 0029: c = ((b >> 4) & $0F) + '0' - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatwritedsk.pla: 0030: if c > '9' -; samplesrc/fatwritedsk.pla: 0031: c = c + 7 -; samplesrc/fatwritedsk.pla: 0032: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B001 -_B002 -; samplesrc/fatwritedsk.pla: 0033: putc(c) -; samplesrc/fatwritedsk.pla: 0034: c = (b & $0F) + '0' -; samplesrc/fatwritedsk.pla: 0035: if c > '9' -; samplesrc/fatwritedsk.pla: 0036: c = c + 7 -; samplesrc/fatwritedsk.pla: 0037: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $64,$02 ; LLB [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$02 ; SLB [2] -_B003 -_B004 -; samplesrc/fatwritedsk.pla: 0038: putc(c) -; samplesrc/fatwritedsk.pla: 0039: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatwritedsk.pla: 0040: -; samplesrc/fatwritedsk.pla: 0041: def getYN(prompt) - ; prompt -> [0] -_C001 ; getYN() -; samplesrc/fatwritedsk.pla: 0042: byte yn - ; yn -> [2] -; samplesrc/fatwritedsk.pla: 0043: -; samplesrc/fatwritedsk.pla: 0044: puts(prompt) - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/fatwritedsk.pla: 0045: yn = getc -; samplesrc/fatwritedsk.pla: 0046: putln -; samplesrc/fatwritedsk.pla: 0047: return yn == 'Y' or yn == 'y' - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F002 !WORD 0 - !BYTE $54 ; CALL _X006 -_F003 !WORD 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $54 ; CALL _X003 -_F004 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$59 ; CB 89 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B005 - !WORD _B005-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$79 ; CB 121 - !BYTE $40 ; ISEQ -_B005 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/fatwritedsk.pla: 0048: end -; samplesrc/fatwritedsk.pla: 0049: -; samplesrc/fatwritedsk.pla: 0050: def trkSecToBlk(bufSec, bufBlk)#0 - ; bufSec -> [0] - ; bufBlk -> [2] -_C002 ; trkSecToBlk() -; samplesrc/fatwritedsk.pla: 0051: byte sector - ; sector -> [4] -; samplesrc/fatwritedsk.pla: 0052: -; samplesrc/fatwritedsk.pla: 0053: for sector = 0 to 15 - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B007 - !BYTE $6C,$04 ; DLB [4] -; samplesrc/fatwritedsk.pla: 0054: memcpy(bufBlk + (sector << 8), bufSec + (secOrder[sector] << 8), 256) -; samplesrc/fatwritedsk.pla: 0055: next - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$04 ; LLB [4] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D038+0 -_F005 !WORD _D038+0 - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X018 -_F006 !WORD 0 -_B008 - !BYTE $A4 ; INCBRLE _B007 - !WORD _B007-* -_B006 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; samplesrc/fatwritedsk.pla: 0056: end - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/fatwritedsk.pla: 0057: -; samplesrc/fatwritedsk.pla: 0058: def bigFatRead(buf, len) - ; buf -> [0] - ; len -> [2] -_C003 ; bigFatRead() -; samplesrc/fatwritedsk.pla: 0059: word xferLen, fatLen - ; xferLen -> [4] - ; fatLen -> [6] -; samplesrc/fatwritedsk.pla: 0060: -; samplesrc/fatwritedsk.pla: 0061: xferLen = 0 - !BYTE $58,$08,$02 ; ENTER 8,2 -; samplesrc/fatwritedsk.pla: 0062: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B010 -; samplesrc/fatwritedsk.pla: 0063: if len > MAX_FAT_BUF_SIZE -; samplesrc/fatwritedsk.pla: 0064: fatLen = MAX_FAT_BUF_SIZE -; samplesrc/fatwritedsk.pla: 0065: else - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -_B012 -; samplesrc/fatwritedsk.pla: 0066: fatLen = len -; samplesrc/fatwritedsk.pla: 0067: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$06 ; SLW [6] -_B013 -; samplesrc/fatwritedsk.pla: 0068: fatLen = sdFAT:readFile(buf, fatLen) -; samplesrc/fatwritedsk.pla: 0069: if fatLen > 0 -; samplesrc/fatwritedsk.pla: 0070: xferLen = xferLen + fatLen -; samplesrc/fatwritedsk.pla: 0071: len = len - fatLen -; samplesrc/fatwritedsk.pla: 0072: buf = buf + fatLen -; samplesrc/fatwritedsk.pla: 0073: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X033+22 -_F007 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $6E,$06 ; DLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -_B014 -; samplesrc/fatwritedsk.pla: 0074: len = 0 -; samplesrc/fatwritedsk.pla: 0075: fin - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B015 -; samplesrc/fatwritedsk.pla: 0076: until len == 0 -_B011 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* -_B009 -; samplesrc/fatwritedsk.pla: 0077: return xferLen - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/fatwritedsk.pla: 0078: end -; samplesrc/fatwritedsk.pla: 0079: -; samplesrc/fatwritedsk.pla: 0080: def fatWriteImage(src, drv, order) - ; src -> [0] - ; drv -> [2] - ; order -> [4] -_C004 ; fatWriteImage() -; samplesrc/fatwritedsk.pla: 0081: word inBuf, outBuf, copyLen, freeAddr - ; inBuf -> [6] - ; outBuf -> [8] - ; copyLen -> [10] - ; freeAddr -> [12] -; samplesrc/fatwritedsk.pla: 0082: word blocknum, bufblk - ; blocknum -> [14] - ; bufblk -> [16] -; samplesrc/fatwritedsk.pla: 0083: -; samplesrc/fatwritedsk.pla: 0084: outBuf = heapallocalign(COPY_BUF_SIZE * 2, 8, @freeAddr) - !BYTE $58,$12,$03 ; ENTER 18,3 -; samplesrc/fatwritedsk.pla: 0085: if not outBuf -; samplesrc/fatwritedsk.pla: 0086: puts("Not enough free memory!\n"); putln - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $10 ; CN 8 - !BYTE $28,$0C ; LLA [12] - !BYTE $54 ; CALL _X013 -_F008 !WORD 0 - !BYTE $6E,$08 ; DLW [8] - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $4E,$6F,$74,$20,$65,$6E,$6F,$75 - !BYTE $67,$68,$20,$66,$72,$65,$65,$20 - !BYTE $6D,$65,$6D,$6F,$72,$79,$21,$0D - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 -; samplesrc/fatwritedsk.pla: 0087: return -1 - !BYTE $54 ; CALL _X003 -_F010 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$12 ; LEAVE 18 -; samplesrc/fatwritedsk.pla: 0088: fin -_B016 -_B017 -; samplesrc/fatwritedsk.pla: 0089: if order == ORDER_DOS -; samplesrc/fatwritedsk.pla: 0090: inBuf = outBuf + COPY_BUF_SIZE -; samplesrc/fatwritedsk.pla: 0091: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B018 -; samplesrc/fatwritedsk.pla: 0092: inBuf = outBuf -; samplesrc/fatwritedsk.pla: 0093: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $76,$06 ; SLW [6] -_B019 -; samplesrc/fatwritedsk.pla: 0094: // -; samplesrc/fatwritedsk.pla: 0095: // Copy FAT image over one track at a time -; samplesrc/fatwritedsk.pla: 0096: // -; samplesrc/fatwritedsk.pla: 0097: if sdFAT:openFile(src, O_READ) -; samplesrc/fatwritedsk.pla: 0098: if !drv; putc(7); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+18 -_F011 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X002 -_F012 !WORD 0 -_B022 -_B023 -; samplesrc/fatwritedsk.pla: 0099: for blocknum = 0 to 279 step COPY_BLK_SIZE - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $00 ; CN 0 -_B025 - !BYTE $6E,$0E ; DLW [14] -; samplesrc/fatwritedsk.pla: 0100: copyLen = bigFatRead(inBuf, COPY_BUF_SIZE) -; samplesrc/fatwritedsk.pla: 0101: if copyLen == COPY_BUF_SIZE -; samplesrc/fatwritedsk.pla: 0102: if drv -; samplesrc/fatwritedsk.pla: 0103: ^$24=^$20 // Move cursor to left edge -; samplesrc/fatwritedsk.pla: 0104: puts("Writing blocks: "); puti(blocknum) - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C003 -_F013 !WORD _C003 - !BYTE $6E,$0A ; DLW [10] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $24 ; BRNE _B027 - !WORD _B027-* - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $68,$20,$00 ; LAB 32 - !BYTE $78,$24,$00 ; SAB 36 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $57,$72,$69,$74,$69,$6E,$67,$20 - !BYTE $62,$6C,$6F,$63,$6B,$73,$3A,$20 - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 -; samplesrc/fatwritedsk.pla: 0105: if order == ORDER_DOS -; samplesrc/fatwritedsk.pla: 0106: trkSecToBlk(inBuf, outBuf) -; samplesrc/fatwritedsk.pla: 0107: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _X005 -_F015 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B031 - !WORD _B031-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C002 -_F016 !WORD _C002 -_B031 -_B032 -; samplesrc/fatwritedsk.pla: 0108: for bufblk = 0 to COPY_BLK_CNT - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B034 - !BYTE $6E,$10 ; DLW [16] -; samplesrc/fatwritedsk.pla: 0109: if fileio:writeblock(drv, outBuf + (bufblk << 9), blocknum + bufblk) -; samplesrc/fatwritedsk.pla: 0110: puts("Write disk error: $"); putb(perr); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$10 ; LLW [16] - !BYTE $12 ; CN 9 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$0E ; LLW [14] - !BYTE $B2,$10 ; ADDLW [16] - !BYTE $6A ; LAW _X028+34 -_F017 !WORD 0+34 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $57,$72,$69,$74,$65,$20,$64,$69 - !BYTE $73,$6B,$20,$65,$72,$72,$6F,$72 - !BYTE $3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 -; samplesrc/fatwritedsk.pla: 0111: break - !BYTE $68 ; LAB _X029+0 -_F019 !WORD 0+0 - !BYTE $54 ; CALL _C000 -_F020 !WORD _C000 - !BYTE $54 ; CALL _X003 -_F021 !WORD 0 - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -; samplesrc/fatwritedsk.pla: 0112: fin -_B036 -_B037 -; samplesrc/fatwritedsk.pla: 0113: next -_B035 - !BYTE $A4 ; INCBRLE _B034 - !WORD _B034-* -_B033 - !BYTE $76,$10 ; SLW [16] - !BYTE $30 ; DROP -; samplesrc/fatwritedsk.pla: 0114: fin -_B029 -_B030 -; samplesrc/fatwritedsk.pla: 0115: else - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B027 -; samplesrc/fatwritedsk.pla: 0116: puts("Read image file error\n"); - !BYTE $2E ; CS - !BYTE $16 - !BYTE $52,$65,$61,$64,$20,$69,$6D,$61 - !BYTE $67,$65,$20,$66,$69,$6C,$65,$20 - !BYTE $65,$72,$72,$6F,$72,$0D - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -; samplesrc/fatwritedsk.pla: 0117: fin -_B028 -; samplesrc/fatwritedsk.pla: 0118: if copyLen < COPY_BUF_SIZE or perr -; samplesrc/fatwritedsk.pla: 0119: puts("Error creating floppy: "); puts(src); putln - !BYTE $66,$0A ; LLW [10] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B038 - !WORD _B038-* - !BYTE $68 ; LAB _X029+0 -_F023 !WORD 0+0 -_B038 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $2E ; CS - !BYTE $17 - !BYTE $45,$72,$72,$6F,$72,$20,$63,$72 - !BYTE $65,$61,$74,$69,$6E,$67,$20,$66 - !BYTE $6C,$6F,$70,$70,$79,$3A,$20 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -; samplesrc/fatwritedsk.pla: 0120: break - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 - !BYTE $54 ; CALL _X003 -_F026 !WORD 0 - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; samplesrc/fatwritedsk.pla: 0121: fin -_B039 -_B040 -; samplesrc/fatwritedsk.pla: 0122: next -_B026 - !BYTE $10 ; CN 8 - !BYTE $A6 ; ADDBRLE _B025 - !WORD _B025-* -_B024 - !BYTE $76,$0E ; SLW [14] - !BYTE $30 ; DROP -; samplesrc/fatwritedsk.pla: 0123: if !drv; putc(7);fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B041 - !WORD _B041-* - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X002 -_F027 !WORD 0 -_B041 -_B042 -; samplesrc/fatwritedsk.pla: 0124: putln -; samplesrc/fatwritedsk.pla: 0125: sdFAT:closeFile() -; samplesrc/fatwritedsk.pla: 0126: else - !BYTE $54 ; CALL _X003 -_F028 !WORD 0 - !BYTE $6A ; LAW _X033+20 -_F029 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B020 -; samplesrc/fatwritedsk.pla: 0127: puts("Error opening image file:"); puts(src); putln - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$69,$6D - !BYTE $61,$67,$65,$20,$66,$69,$6C,$65 - !BYTE $3A - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -; samplesrc/fatwritedsk.pla: 0128: return -1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 - !BYTE $54 ; CALL _X003 -_F032 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$12 ; LEAVE 18 -; samplesrc/fatwritedsk.pla: 0129: fin -_B021 -; samplesrc/fatwritedsk.pla: 0130: heaprelease(freeAddr) -; samplesrc/fatwritedsk.pla: 0131: return 0 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _X015 -_F033 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$12 ; LEAVE 18 -; samplesrc/fatwritedsk.pla: 0132: end -; samplesrc/fatwritedsk.pla: 0133: -; samplesrc/fatwritedsk.pla: 0134: arg = argNext(argFirst) -_INIT -; samplesrc/fatwritedsk.pla: 0135: if ^arg -; samplesrc/fatwritedsk.pla: 0136: image = arg -; samplesrc/fatwritedsk.pla: 0137: arg = argNext(arg) -; samplesrc/fatwritedsk.pla: 0138: if ^arg -; samplesrc/fatwritedsk.pla: 0139: when ^(arg + 1) - !BYTE $54 ; CALL _X031 -_F034 !WORD 0 - !BYTE $54 ; CALL _X032 -_F035 !WORD 0 - !BYTE $7A ; SAW _D034+0 -_F036 !WORD _D034+0 - !BYTE $6A ; LAW _D034+0 -_F037 !WORD _D034+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $6A ; LAW _D034+0 -_F038 !WORD _D034+0 - !BYTE $7A ; SAW _D035+0 -_F039 !WORD _D035+0 - !BYTE $6A ; LAW _D034+0 -_F040 !WORD _D034+0 - !BYTE $54 ; CALL _X032 -_F041 !WORD 0 - !BYTE $7A ; SAW _D034+0 -_F042 !WORD _D034+0 - !BYTE $6A ; LAW _D034+0 -_F043 !WORD _D034+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $6A ; LAW _D034+0 -_F044 !WORD _D034+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B048-* -; samplesrc/fatwritedsk.pla: 0140: is '2' // Drive 2 option -_B049 -; samplesrc/fatwritedsk.pla: 0141: unit = DRIVE2 -; samplesrc/fatwritedsk.pla: 0142: break - !BYTE $2A,$D0 ; CB 208 - !BYTE $78 ; SAB _D036+0 -_F045 !WORD _D036+0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -; samplesrc/fatwritedsk.pla: 0143: is 'T' // Test speed option -_B050 -; samplesrc/fatwritedsk.pla: 0144: is 't' -_B051 -; samplesrc/fatwritedsk.pla: 0145: unit = 0 -; samplesrc/fatwritedsk.pla: 0146: break - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D036+0 -_F046 !WORD _D036+0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -; samplesrc/fatwritedsk.pla: 0147: wend - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B048 - !BYTE $03 ; CASEBLOCK - !WORD $0032 - !WORD _B049-* - !WORD $0054 - !WORD _B050-* - !WORD $0074 - !WORD _B051-* -_B047 -; samplesrc/fatwritedsk.pla: 0148: fin -_B045 -_B046 -; samplesrc/fatwritedsk.pla: 0149: if unit -; samplesrc/fatwritedsk.pla: 0150: puts("Writing "); puts(image); puts(" to Drive "); putc((unit >> 7) + '1') - !BYTE $68 ; LAB _D036+0 -_F047 !WORD _D036+0 - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $57,$72,$69,$74,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 - !BYTE $6A ; LAW _D035+0 -_F049 !WORD _D035+0 - !BYTE $54 ; CALL _X004 -_F050 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$74,$6F,$20,$44,$72,$69,$76 - !BYTE $65,$20 - !BYTE $54 ; CALL _X004 -_F051 !WORD 0 -; samplesrc/fatwritedsk.pla: 0151: else - !BYTE $68 ; LAB _D036+0 -_F052 !WORD _D036+0 - !BYTE $0E ; CN 7 - !BYTE $9C ; SHR - !BYTE $38,$31 ; ADDI 49 - !BYTE $54 ; CALL _X002 -_F053 !WORD 0 - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B052 -; samplesrc/fatwritedsk.pla: 0152: puts("Speed test reading 143K from SD card"); - !BYTE $2E ; CS - !BYTE $24 - !BYTE $53,$70,$65,$65,$64,$20,$74,$65 - !BYTE $73,$74,$20,$72,$65,$61,$64,$69 - !BYTE $6E,$67,$20,$31,$34,$33,$4B,$20 - !BYTE $66,$72,$6F,$6D,$20,$53,$44,$20 - !BYTE $63,$61,$72,$64 - !BYTE $54 ; CALL _X004 -_F054 !WORD 0 -; samplesrc/fatwritedsk.pla: 0153: fin -_B053 -; samplesrc/fatwritedsk.pla: 0154: // -; samplesrc/fatwritedsk.pla: 0155: // Figure sector ordering from filename -; samplesrc/fatwritedsk.pla: 0156: // -; samplesrc/fatwritedsk.pla: 0157: puts("\nUsing ") - !BYTE $2E ; CS - !BYTE $07 - !BYTE $0D,$55,$73,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F055 !WORD 0 -; samplesrc/fatwritedsk.pla: 0158: if toupper(^(image + ^image)) == 'O' and toupper(^(image + ^image - 1)) == 'P' -; samplesrc/fatwritedsk.pla: 0159: order = ORDER_PRODOS -; samplesrc/fatwritedsk.pla: 0160: puts("ProDOS") - !BYTE $6A ; LAW _D035+0 -_F056 !WORD _D035+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F057 !WORD 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B054 - !WORD _B054-* - !BYTE $6A ; LAW _D035+0 -_F058 !WORD _D035+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F059 !WORD 0 - !BYTE $2A,$50 ; CB 80 - !BYTE $40 ; ISEQ -_B054 - !BYTE $4C ; BRFLS _B055 - !WORD _B055-* - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D037+0 -_F060 !WORD _D037+0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $50,$72,$6F,$44,$4F,$53 - !BYTE $54 ; CALL _X004 -_F061 !WORD 0 -; samplesrc/fatwritedsk.pla: 0161: else - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B055 -; samplesrc/fatwritedsk.pla: 0162: order = ORDER_DOS -; samplesrc/fatwritedsk.pla: 0163: puts("DOS 3.3") - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D037+0 -_F062 !WORD _D037+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $44,$4F,$53,$20,$33,$2E,$33 - !BYTE $54 ; CALL _X004 -_F063 !WORD 0 -; samplesrc/fatwritedsk.pla: 0164: fin -_B056 -; samplesrc/fatwritedsk.pla: 0165: if getYN(" order. Continue? (Y/N)") - !BYTE $2E ; CS - !BYTE $17 - !BYTE $20,$6F,$72,$64,$65,$72,$2E,$20 - !BYTE $43,$6F,$6E,$74,$69,$6E,$75,$65 - !BYTE $3F,$20,$28,$59,$2F,$4E,$29 - !BYTE $54 ; CALL _C001 -_F064 !WORD _C001 - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* -; samplesrc/fatwritedsk.pla: 0166: fatWriteImage(image, unit, order) -; samplesrc/fatwritedsk.pla: 0167: fin - !BYTE $6A ; LAW _D035+0 -_F065 !WORD _D035+0 - !BYTE $68 ; LAB _D036+0 -_F066 !WORD _D036+0 - !BYTE $68 ; LAB _D037+0 -_F067 !WORD _D037+0 - !BYTE $54 ; CALL _C004 -_F068 !WORD _C004 - !BYTE $30 ; DROP -_B057 -_B058 -; samplesrc/fatwritedsk.pla: 0168: else - !BYTE $50 ; BRNCH _B044 - !WORD _B044-* -_B043 -; samplesrc/fatwritedsk.pla: 0169: puts("Write DSK image to floppy disk drive\n") - !BYTE $2E ; CS - !BYTE $25 - !BYTE $57,$72,$69,$74,$65,$20,$44,$53 - !BYTE $4B,$20,$69,$6D,$61,$67,$65,$20 - !BYTE $74,$6F,$20,$66,$6C,$6F,$70,$70 - !BYTE $79,$20,$64,$69,$73,$6B,$20,$64 - !BYTE $72,$69,$76,$65,$0D - !BYTE $54 ; CALL _X004 -_F069 !WORD 0 -; samplesrc/fatwritedsk.pla: 0170: puts("Usage: +FATWRITEDSK [1,2,T]\n") - !BYTE $2E ; CS - !BYTE $2D - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $46,$41,$54,$57,$52,$49,$54,$45 - !BYTE $44,$53,$4B,$20,$3C,$44,$53,$4B - !BYTE $20,$69,$6D,$61,$67,$65,$20,$66 - !BYTE $69,$6C,$65,$3E,$20,$5B,$31,$2C - !BYTE $32,$2C,$54,$5D,$0D - !BYTE $54 ; CALL _X004 -_F070 !WORD 0 -; samplesrc/fatwritedsk.pla: 0171: fin -_B044 -; samplesrc/fatwritedsk.pla: 0172: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 6 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: SDFAT - !BYTE $D3,$C4,$C6,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/fibertest.a b/src/samplesrc/fibertest.a deleted file mode 100644 index ffc09cc..0000000 --- a/src/samplesrc/fibertest.a +++ /dev/null @@ -1,339 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/fibertest.pla: 0001: // -; samplesrc/fibertest.pla: 0002: // Test Fiber library -; samplesrc/fibertest.pla: 0003: // -; samplesrc/fibertest.pla: 0004: -; samplesrc/fibertest.pla: 0005: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/fibertest.pla: 0005: -; samplesrc/fibertest.pla: 0006: include "inc/fiber.plh" -; inc/fiber.plh: 0001: import fiber - ; DCI STRING: FIBER - !BYTE $C6,$C9,$C2,$C5,$52 - ; FIBER -> X028 -; inc/fiber.plh: 0002: predef fbrInit(numPool), fbrStop(fid)#0, fbrExit#0, fbrStart(defaddr, param) - ; FBRINIT -> X029 - ; FBRSTOP -> X030 - ; FBREXIT -> X031 - ; FBRSTART -> X032 -; inc/fiber.plh: 0003: predef fbrYield#0, fbrHalt#0, fbrResume(fid)#0 - ; FBRYIELD -> X033 - ; FBRHALT -> X034 - ; FBRRESUME -> X035 -; inc/fiber.plh: 0004: byte fbrCount - ; FBRCOUNT -> X036 -; inc/fiber.plh: 0005: end -; samplesrc/fibertest.pla: 0006: -; samplesrc/fibertest.pla: 0007: -; samplesrc/fibertest.pla: 0008: def fbrTest(fid, param)#0 - !BYTE $00 ; END OF MODULE DEPENDENCIES - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; fid -> [0] - ; param -> [2] -_C000 ; fbrTest() -; samplesrc/fibertest.pla: 0009: byte i - ; i -> [4] -; samplesrc/fibertest.pla: 0010: -; samplesrc/fibertest.pla: 0011: for i = 1 to param - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6C,$04 ; DLB [4] -; samplesrc/fibertest.pla: 0012: puti(fid); putln -; samplesrc/fibertest.pla: 0013: fbrYield -; samplesrc/fibertest.pla: 0014: next - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X005 -_F000 !WORD 0 - !BYTE $54 ; CALL _X003 -_F001 !WORD 0 - !BYTE $54 ; CALL _X033 -_F002 !WORD 0 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; samplesrc/fibertest.pla: 0015: end - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/fibertest.pla: 0016: -; samplesrc/fibertest.pla: 0017: //puts("fbrSwap = "); puth(@fbrSwap); putln -; samplesrc/fibertest.pla: 0018: fbrInit(4) -_INIT -; samplesrc/fibertest.pla: 0019: fbrStart(@fbrTest, 3) -; samplesrc/fibertest.pla: 0020: fbrStart(@fbrTest, 2) -; samplesrc/fibertest.pla: 0021: fbrStart(@fbrTest, 1) -; samplesrc/fibertest.pla: 0022: while fbrCount > 1; fbrYield; loop - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X029 -_F003 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _C000+0 -_F004 !WORD _C000+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X032 -_F005 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _C000+0 -_F006 !WORD _C000+0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X032 -_F007 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _C000+0 -_F008 !WORD _C000+0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X032 -_F009 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 - !BYTE $54 ; CALL _X033 -_F010 !WORD 0 -_B006 - !BYTE $68 ; LAB _X036+0 -_F011 !WORD 0+0 - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; samplesrc/fibertest.pla: 0023: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: FBRINIT - !BYTE $C6,$C2,$D2,$C9,$CE,$C9,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: FBRSTART - !BYTE $C6,$C2,$D2,$D3,$D4,$C1,$D2,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: FBRYIELD - !BYTE $C6,$C2,$D2,$D9,$C9,$C5,$CC,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: FBRCOUNT - !BYTE $C6,$C2,$D2,$C3,$CF,$D5,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/gfxdemo.a b/src/samplesrc/gfxdemo.a deleted file mode 100644 index 60ee7f1..0000000 --- a/src/samplesrc/gfxdemo.a +++ /dev/null @@ -1,613 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/gfxdemo.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/gfxdemo.pla: 0001: -; samplesrc/gfxdemo.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; samplesrc/gfxdemo.pla: 0002: -; samplesrc/gfxdemo.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; samplesrc/gfxdemo.pla: 0003: -; samplesrc/gfxdemo.pla: 0004: include "inc/grafix.plh" -; inc/grafix.plh: 0001: import grafix - ; DCI STRING: GRAFIX - !BYTE $C7,$D2,$C1,$C6,$C9,$58 - ; GRAFIX -> X033 -; inc/grafix.plh: 0002: predef pencolor(clr)#0 - ; PENCOLOR -> X034 -; inc/grafix.plh: 0003: predef fillcolor(clr)#0 - ; FILLCOLOR -> X035 -; inc/grafix.plh: 0004: predef fillscreen()#0 - ; FILLSCREEN -> X036 -; inc/grafix.plh: 0005: predef penmove(x, y)#0 - ; PENMOVE -> X037 -; inc/grafix.plh: 0006: predef plot(x, y)#0 - ; PLOT -> X038 -; inc/grafix.plh: 0007: predef line(x1, y1, x2, y2)#0 - ; LINE -> X039 -; inc/grafix.plh: 0008: predef lineto(x, y)#0 - ; LINETO -> X040 -; inc/grafix.plh: 0009: predef rect(x1, y1, x2, y2)#0 - ; RECT -> X041 -; inc/grafix.plh: 0010: predef fillrect(x1, y1, x2, y2)#0 - ; FILLRECT -> X042 -; inc/grafix.plh: 0011: predef bitblt(blk, pitch, x, y, width, height)#0 - ; BITBLT -> X043 -; inc/grafix.plh: 0012: predef drawmode(mode)#0 - ; DRAWMODE -> X044 -; inc/grafix.plh: 0013: predef setmode(mode)#0 - ; SETMODE -> X045 -; inc/grafix.plh: 0014: end -; samplesrc/gfxdemo.pla: 0004: -; samplesrc/gfxdemo.pla: 0005: -; samplesrc/gfxdemo.pla: 0006: var arg - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D046 !FILL 2 ; arg -; samplesrc/gfxdemo.pla: 0007: byte ref -_D047 !FILL 1 ; ref -; samplesrc/gfxdemo.pla: 0008: -; samplesrc/gfxdemo.pla: 0009: def showimage#0 -_SUBSEG ; BYTECODE STARTS -_C000 ; showimage() -; samplesrc/gfxdemo.pla: 0010: var row, x - ; row -> [0] - ; x -> [2] -; samplesrc/gfxdemo.pla: 0011: byte scanline[140] - ; scanline -> [4] -; samplesrc/gfxdemo.pla: 0012: -; samplesrc/gfxdemo.pla: 0013: for row = 0 to 191 - !BYTE $58,$90,$00 ; ENTER 144,0 - !BYTE $2A,$BF ; CB 191 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6E,$00 ; DLW [0] -; samplesrc/gfxdemo.pla: 0014: // -; samplesrc/gfxdemo.pla: 0015: // Read one scanline at a time, scale it, and draw it -; samplesrc/gfxdemo.pla: 0016: // -; samplesrc/gfxdemo.pla: 0017: fileio:read(ref, @scanline, 140) -; samplesrc/gfxdemo.pla: 0018: for x = 139 downto 0 - !BYTE $68 ; LAB _D047+0 -_F000 !WORD _D047+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $2A,$8C ; CB 140 - !BYTE $6A ; LAW _X031+18 -_F001 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $2A,$8B ; CB 139 -_B005 - !BYTE $6E,$02 ; DLW [2] -; samplesrc/gfxdemo.pla: 0019: //scanline[x] = scanline[x] >> 4 -; samplesrc/gfxdemo.pla: 0020: pencolor(scanline[x] >> 4) -; samplesrc/gfxdemo.pla: 0021: plot(x, row) -; samplesrc/gfxdemo.pla: 0022: next - !BYTE $28,$04 ; LLA [4] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $54 ; CALL _X034 -_F002 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X038 -_F003 !WORD 0 -_B006 - !BYTE $A8 ; DECBRGE _B005 - !WORD _B005-* -_B004 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; samplesrc/gfxdemo.pla: 0023: next -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; samplesrc/gfxdemo.pla: 0024: end - !BYTE $5A,$90 ; LEAVE 144 -; samplesrc/gfxdemo.pla: 0025: -; samplesrc/gfxdemo.pla: 0026: arg = argNext(argFirst) -_INIT -; samplesrc/gfxdemo.pla: 0027: if ^arg -; samplesrc/gfxdemo.pla: 0028: ref = fileio:open(arg) -; samplesrc/gfxdemo.pla: 0029: if ref -; samplesrc/gfxdemo.pla: 0030: setmode(3) // 140 x 192 full color (or greyscale) -; samplesrc/gfxdemo.pla: 0031: showimage -; samplesrc/gfxdemo.pla: 0032: fileio:close(ref) -; samplesrc/gfxdemo.pla: 0033: getc -; samplesrc/gfxdemo.pla: 0034: setmode(-1) -; samplesrc/gfxdemo.pla: 0035: else - !BYTE $54 ; CALL _X029 -_F004 !WORD 0 - !BYTE $54 ; CALL _X030 -_F005 !WORD 0 - !BYTE $7A ; SAW _D046+0 -_F006 !WORD _D046+0 - !BYTE $6A ; LAW _D046+0 -_F007 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D046+0 -_F008 !WORD _D046+0 - !BYTE $6A ; LAW _X031+14 -_F009 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D047+0 -_F010 !WORD _D047+0 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X045 -_F011 !WORD 0 - !BYTE $54 ; CALL _C000 -_F012 !WORD _C000 - !BYTE $68 ; LAB _D047+0 -_F013 !WORD _D047+0 - !BYTE $6A ; LAW _X031+16 -_F014 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X006 -_F015 !WORD 0 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X045 -_F016 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; samplesrc/gfxdemo.pla: 0036: puts("Unable to open "); puts(arg); putln - !BYTE $2E ; CS - !BYTE $0F - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$20 - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -; samplesrc/gfxdemo.pla: 0037: fin - !BYTE $6A ; LAW _D046+0 -_F018 !WORD _D046+0 - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 - !BYTE $54 ; CALL _X003 -_F020 !WORD 0 -_B010 -; samplesrc/gfxdemo.pla: 0038: else - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; samplesrc/gfxdemo.pla: 0039: puts("Usage: gfxdemo \n") - !BYTE $2E ; CS - !BYTE $1B - !BYTE $55,$73,$61,$67,$65,$3A,$20,$67 - !BYTE $66,$78,$64,$65,$6D,$6F,$20,$3C - !BYTE $69,$6D,$61,$67,$65,$66,$69,$6C - !BYTE $65,$3E,$0D - !BYTE $54 ; CALL _X004 -_F021 !WORD 0 -; samplesrc/gfxdemo.pla: 0040: fin -_B008 -; samplesrc/gfxdemo.pla: 0041: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: PENCOLOR - !BYTE $D0,$C5,$CE,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: PLOT - !BYTE $D0,$CC,$CF,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: SETMODE - !BYTE $D3,$C5,$D4,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/grtest.a b/src/samplesrc/grtest.a deleted file mode 100644 index b1e13f5..0000000 --- a/src/samplesrc/grtest.a +++ /dev/null @@ -1,673 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/grtest.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/grtest.pla: 0001: -; samplesrc/grtest.pla: 0002: include "inc/grlib.plh" -; inc/grlib.plh: 0001: import grlib - ; DCI STRING: GRLIB - !BYTE $C7,$D2,$CC,$C9,$42 - ; GRLIB -> X028 -; inc/grlib.plh: 0002: predef grPlot(x, y)#0 - ; GRPLOT -> X029 -; inc/grlib.plh: 0003: predef grHLin(x1, x2, y)#0 - ; GRHLIN -> X030 -; inc/grlib.plh: 0004: predef grVLin(y1, y2, x)#0 - ; GRVLIN -> X031 -; inc/grlib.plh: 0005: predef grBLT(x, y, width, height, src)#0 - ; GRBLT -> X032 -; inc/grlib.plh: 0006: predef grTile(x, y, src)#0 - ; GRTILE -> X033 -; inc/grlib.plh: 0007: predef grTileStr(x, y, tilestr, strlen, tilebuff)#0 - ; GRTILESTR -> X034 -; inc/grlib.plh: 0008: predef grFill(x, y, tile)#0 - ; GRFILL -> X035 -; inc/grlib.plh: 0009: predef grClear(clr)#0 - ; GRCLEAR -> X036 -; inc/grlib.plh: 0010: predef grMode(mode)#1 - ; GRMODE -> X037 -; inc/grlib.plh: 0011: predef grShow(page)#1 - ; GRSHOW -> X038 -; inc/grlib.plh: 0012: predef grSwap#0 - ; GRSWAP -> X039 -; inc/grlib.plh: 0013: predef grDrawBuf(page)#0 - ; GRDRAWBUF -> X040 -; inc/grlib.plh: 0014: predef grColor(clr)#0 - ; GRCOLOR -> X041 -; inc/grlib.plh: 0015: const grPage1 = 0 - ; grPage1 = 0 -; inc/grlib.plh: 0016: const grPage2 = 1 - ; grPage2 = 1 -; inc/grlib.plh: 0017: const grOff = -1 - ; grOff = -1 -; inc/grlib.plh: 0018: end -; samplesrc/grtest.pla: 0002: -; samplesrc/grtest.pla: 0003: include "inc/vblank.plh" -; inc/vblank.plh: 0001: import vblank - ; DCI STRING: VBLANK - !BYTE $D6,$C2,$CC,$C1,$CE,$4B - ; VBLANK -> X042 -; inc/vblank.plh: 0002: predef waitVBL#1 - ; WAITVBL -> X043 -; inc/vblank.plh: 0003: end -; samplesrc/grtest.pla: 0003: -; samplesrc/grtest.pla: 0004: include "inc/lines.plh" -; inc/lines.plh: 0001: import lines - ; DCI STRING: LINES - !BYTE $CC,$C9,$CE,$C5,$53 - ; LINES -> X044 -; inc/lines.plh: 0002: predef setlinespans(h, v)#0 - ; SETLINESPANS -> X045 -; inc/lines.plh: 0003: predef linespans(x1, y1, x2, y2)#0 - ; LINESPANS -> X046 -; inc/lines.plh: 0004: predef setlineplot(p)#0 - ; SETLINEPLOT -> X047 -; inc/lines.plh: 0005: predef line(x1, y1, x2, y2)#0 - ; LINE -> X048 -; inc/lines.plh: 0006: end -; samplesrc/grtest.pla: 0004: -; samplesrc/grtest.pla: 0005: sysflags restxt1|restxt2 // Reserve all text pages - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0003 ; SYSTEM FLAGS -; samplesrc/grtest.pla: 0006: -; samplesrc/grtest.pla: 0007: byte[] sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 -_D049 ; sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $80 - !BYTE $80 -; samplesrc/grtest.pla: 0008: byte[] = $80,$00,$0A,$0A,$0A,$0A,$00,$80 - !BYTE $80 - !BYTE $00 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $00 - !BYTE $80 -; samplesrc/grtest.pla: 0009: byte[] = $00,$0A,$0F,$0F,$0F,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/grtest.pla: 0010: byte[] = $00,$0A,$0F,$80,$80,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $80 - !BYTE $80 - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/grtest.pla: 0011: byte[] = $00,$0A,$0F,$80,$80,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $80 - !BYTE $80 - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/grtest.pla: 0012: byte[] = $00,$0A,$0F,$0F,$0F,$0F,$0A,$00 - !BYTE $00 - !BYTE $0A - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0A - !BYTE $00 -; samplesrc/grtest.pla: 0013: byte[] = $80,$00,$0A,$0A,$0A,$0A,$00,$80 - !BYTE $80 - !BYTE $00 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $00 - !BYTE $80 -; samplesrc/grtest.pla: 0014: byte[] = $80,$80,$00,$00,$00,$00,$80,$80 - !BYTE $80 - !BYTE $80 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $80 - !BYTE $80 -; samplesrc/grtest.pla: 0015: -; samplesrc/grtest.pla: 0016: byte[] tile1 = $11,$11,$11,$11,$11,$11,$55,$00 -_D050 ; tile1 = $11,$11,$11,$11,$11,$11,$55,$00 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $55 - !BYTE $00 -; samplesrc/grtest.pla: 0017: byte[] = $11,$11,$11,$11,$11,$11,$55,$00 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $55 - !BYTE $00 -; samplesrc/grtest.pla: 0018: byte[] = $11,$11,$11,$11,$11,$11,$55,$00 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $55 - !BYTE $00 -; samplesrc/grtest.pla: 0019: byte[] = $05,$05,$05,$05,$05,$05,$05,$00 - !BYTE $05 - !BYTE $05 - !BYTE $05 - !BYTE $05 - !BYTE $05 - !BYTE $05 - !BYTE $05 - !BYTE $00 -; samplesrc/grtest.pla: 0020: -; samplesrc/grtest.pla: 0021: // -; samplesrc/grtest.pla: 0022: // Test routine -; samplesrc/grtest.pla: 0023: // -; samplesrc/grtest.pla: 0024: def grTest#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; grTest() -; samplesrc/grtest.pla: 0025: byte b, l, k - ; b -> [0] - ; l -> [1] - ; k -> [2] -; samplesrc/grtest.pla: 0026: word i, j, ii, ij - ; i -> [3] - ; j -> [5] - ; ii -> [7] - ; ij -> [9] -; samplesrc/grtest.pla: 0027: -; samplesrc/grtest.pla: 0028: b = grMode(grPage1) - !BYTE $58,$0B,$00 ; ENTER 11,0 -; samplesrc/grtest.pla: 0029: grDrawBuf(grPage1) -; samplesrc/grtest.pla: 0030: for k = 15 downto 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X037 -_F000 !WORD 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X040 -_F001 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $1E ; CN 15 -_B002 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/grtest.pla: 0031: grClear(k) -; samplesrc/grtest.pla: 0032: next - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X036 -_F002 !WORD 0 -_B003 - !BYTE $A8 ; DECBRGE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/grtest.pla: 0033: setlinespans(@grHLin, @grVLin) -; samplesrc/grtest.pla: 0034: for l = 0 to 39 - !BYTE $26 ; LA _X030+0 -_F003 !WORD 0+0 - !BYTE $26 ; LA _X031+0 -_F004 !WORD 0+0 - !BYTE $54 ; CALL _X045 -_F005 !WORD 0 - !BYTE $2A,$27 ; CB 39 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/grtest.pla: 0035: grColor(l) -; samplesrc/grtest.pla: 0036: linespans(0, 0, l, 47) -; samplesrc/grtest.pla: 0037: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X041 -_F006 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X046 -_F007 !WORD 0 -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/grtest.pla: 0038: for l = 47 downto 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$2F ; CB 47 -_B008 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/grtest.pla: 0039: grColor(l) -; samplesrc/grtest.pla: 0040: linespans(0, 0, 39, l) -; samplesrc/grtest.pla: 0041: next - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X041 -_F008 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$27 ; CB 39 - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X046 -_F009 !WORD 0 -_B009 - !BYTE $A8 ; DECBRGE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/grtest.pla: 0042: ii = 2 -; samplesrc/grtest.pla: 0043: ij = -1 -; samplesrc/grtest.pla: 0044: i = 20 -; samplesrc/grtest.pla: 0045: j = 10 -; samplesrc/grtest.pla: 0046: ^$C010 -; samplesrc/grtest.pla: 0047: grDrawBuf(grPage2) -; samplesrc/grtest.pla: 0048: while ^$C000 < 128 - !BYTE $04 ; CN 2 - !BYTE $76,$07 ; SLW [7] - !BYTE $20 ; MINUS ONE - !BYTE $76,$09 ; SLW [9] - !BYTE $2A,$14 ; CB 20 - !BYTE $76,$03 ; SLW [3] - !BYTE $14 ; CN 10 - !BYTE $76,$05 ; SLW [5] - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X040 -_F010 !WORD 0 - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B010 -; samplesrc/grtest.pla: 0049: grFill(k, k, @tile1) -; samplesrc/grtest.pla: 0050: grBLT(i, j, 8, 8, @sprite1) -; samplesrc/grtest.pla: 0051: waitVBL -; samplesrc/grtest.pla: 0052: grSwap -; samplesrc/grtest.pla: 0053: k++ - !BYTE $64,$02 ; LLB [2] - !BYTE $34 ; DUP - !BYTE $26 ; LA _D050+0 -_F011 !WORD _D050+0 - !BYTE $54 ; CALL _X035 -_F012 !WORD 0 - !BYTE $66,$03 ; LLW [3] - !BYTE $66,$05 ; LLW [5] - !BYTE $10 ; CN 8 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D049+0 -_F013 !WORD _D049+0 - !BYTE $54 ; CALL _X032 -_F014 !WORD 0 - !BYTE $54 ; CALL _X043 -_F015 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X039 -_F016 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; samplesrc/grtest.pla: 0054: i = i + ii -; samplesrc/grtest.pla: 0055: if i < -3 or i > 35 -; samplesrc/grtest.pla: 0056: ii = -ii -; samplesrc/grtest.pla: 0057: fin - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $B2,$07 ; ADDLW [7] - !BYTE $6E,$03 ; DLW [3] - !BYTE $5E,$FD ; CFFB -3 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B013 - !WORD _B013-* - !BYTE $66,$03 ; LLW [3] - !BYTE $2A,$23 ; CB 35 - !BYTE $44 ; ISGT -_B013 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$07 ; LLW [7] - !BYTE $90 ; NEG - !BYTE $76,$07 ; SLW [7] -_B014 -_B015 -; samplesrc/grtest.pla: 0058: j = j + ij -; samplesrc/grtest.pla: 0059: if j < -3 or j > 43 -; samplesrc/grtest.pla: 0060: ij = -ij -; samplesrc/grtest.pla: 0061: fin - !BYTE $66,$05 ; LLW [5] - !BYTE $B2,$09 ; ADDLW [9] - !BYTE $6E,$05 ; DLW [5] - !BYTE $5E,$FD ; CFFB -3 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B016 - !WORD _B016-* - !BYTE $66,$05 ; LLW [5] - !BYTE $2A,$2B ; CB 43 - !BYTE $44 ; ISGT -_B016 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $66,$09 ; LLW [9] - !BYTE $90 ; NEG - !BYTE $76,$09 ; SLW [9] -_B017 -_B018 -; samplesrc/grtest.pla: 0062: loop -_B012 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* -_B011 -; samplesrc/grtest.pla: 0063: ^$C010 -; samplesrc/grtest.pla: 0064: grMode(grOff) -; samplesrc/grtest.pla: 0065: end - !BYTE $68,$10,$C0 ; LAB 49168 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X037 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0B ; LEAVE 11 -; samplesrc/grtest.pla: 0066: -; samplesrc/grtest.pla: 0067: grTest -_INIT -; samplesrc/grtest.pla: 0068: done - !BYTE $54 ; CALL _C000 -_F018 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 43 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: GRHLIN - !BYTE $C7,$D2,$C8,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: GRVLIN - !BYTE $C7,$D2,$D6,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: GRBLT - !BYTE $C7,$D2,$C2,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: GRFILL - !BYTE $C7,$D2,$C6,$C9,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: GRCLEAR - !BYTE $C7,$D2,$C3,$CC,$C5,$C1,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: GRMODE - !BYTE $C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: GRSWAP - !BYTE $C7,$D2,$D3,$D7,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 39 ; ESD INDEX - ; DCI STRING: GRDRAWBUF - !BYTE $C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: GRCOLOR - !BYTE $C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: WAITVBL - !BYTE $D7,$C1,$C9,$D4,$D6,$C2,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 43 ; ESD INDEX - ; DCI STRING: SETLINESPANS - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: LINESPANS - !BYTE $CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 46 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/hello.a b/src/samplesrc/hello.a deleted file mode 100644 index 7045e9e..0000000 --- a/src/samplesrc/hello.a +++ /dev/null @@ -1,195 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/hello.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/hello.pla: 0001: -; samplesrc/hello.pla: 0002: -; samplesrc/hello.pla: 0003: puts( \ - !BYTE $00 ; END OF MODULE DEPENDENCIES - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/hello.pla: 0004: puts( "Hello, world.\n" \ -; samplesrc/hello.pla: 0005: puts( "Hello, world.\n" ) - !BYTE $2E ; CS - !BYTE $0E - !BYTE $48,$65,$6C,$6C,$6F,$2C,$20,$77 - !BYTE $6F,$72,$6C,$64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F000 !WORD 0 -; samplesrc/hello.pla: 0006: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/hgrtest.a b/src/samplesrc/hgrtest.a deleted file mode 100644 index 90a3cef..0000000 --- a/src/samplesrc/hgrtest.a +++ /dev/null @@ -1,899 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/hgrtest.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/hgrtest.pla: 0001: -; samplesrc/hgrtest.pla: 0002: include "inc/hgrlib.plh" -; inc/hgrlib.plh: 0001: import hgrlib - ; DCI STRING: HGRLIB - !BYTE $C8,$C7,$D2,$CC,$C9,$42 - ; HGRLIB -> X028 -; inc/hgrlib.plh: 0002: predef divmod7(x)#2 - ; DIVMOD7 -> X029 -; inc/hgrlib.plh: 0003: predef hgrPlot(x, y)#0 - ; HGRPLOT -> X030 -; inc/hgrlib.plh: 0004: predef hgrOrPlot(x, y)#0 - ; HGRORPLOT -> X031 -; inc/hgrlib.plh: 0005: predef hgrXorPlot(x, y)#0 - ; HGRXORPLOT -> X032 -; inc/hgrlib.plh: 0006: predef hgrHLin(x1, x2, y)#0 - ; HGRHLIN -> X033 -; inc/hgrlib.plh: 0007: predef hgrVLin(y1, y2, x)#0 - ; HGRVLIN -> X034 -; inc/hgrlib.plh: 0008: predef hgrXorHLin(x1, x2, y)#0 - ; HGRXORHLIN -> X035 -; inc/hgrlib.plh: 0009: predef hgrXorVLin(y1, y2, x)#0 - ; HGRXORVLIN -> X036 -; inc/hgrlib.plh: 0010: predef hgrRect(x1, y1, x2, y2)#0 - ; HGRRECT -> X037 -; inc/hgrlib.plh: 0011: predef hgrXorRect(x1, y1, x2, y2)#0 - ; HGRXORRECT -> X038 -; inc/hgrlib.plh: 0012: predef hgrBLT(x, y, width, height, srcptr)#0 - ; HGRBLT -> X039 -; inc/hgrlib.plh: 0013: predef hgrCopySrc(ofst, y, w, h, srcptr)#0 - ; HGRCOPYSRC -> X040 -; inc/hgrlib.plh: 0014: predef hgrAndSrc(ofst, y, w, h, srcptr)#0 - ; HGRANDSRC -> X041 -; inc/hgrlib.plh: 0015: predef hgrXorSrc(ofst, y, w, h, srcptr)#0 - ; HGRXORSRC -> X042 -; inc/hgrlib.plh: 0016: predef hgrOrSrc(ofst, y, w, h, srcptr)#0 - ; HGRORSRC -> X043 -; inc/hgrlib.plh: 0017: predef hgrCopyDst(ofst, y, w, h, dstptr)#0 - ; HGRCOPYDST -> X044 -; inc/hgrlib.plh: 0018: predef hgrMode(mode)#1 - ; HGRMODE -> X045 -; inc/hgrlib.plh: 0019: predef hgrClear#0 - ; HGRCLEAR -> X046 -; inc/hgrlib.plh: 0020: predef hgrShow(page)#1 - ; HGRSHOW -> X047 -; inc/hgrlib.plh: 0021: predef hgrSwap#1 - ; HGRSWAP -> X048 -; inc/hgrlib.plh: 0022: predef hgrDrawBuf(page)#1 - ; HGRDRAWBUF -> X049 -; inc/hgrlib.plh: 0023: predef hgrColor(clr)#0 - ; HGRCOLOR -> X050 -; inc/hgrlib.plh: 0024: const hgrPage1 = 0 - ; hgrPage1 = 0 -; inc/hgrlib.plh: 0025: const hgrPage2 = 1 - ; hgrPage2 = 1 -; inc/hgrlib.plh: 0026: const hgrOff = -1 - ; hgrOff = -1 -; inc/hgrlib.plh: 0027: end -; samplesrc/hgrtest.pla: 0002: -; samplesrc/hgrtest.pla: 0003: include "inc/hgrsprite.plh" -; inc/hgrsprite.plh: 0001: import hgrsprite - ; DCI STRING: HGRSPRITE - !BYTE $C8,$C7,$D2,$D3,$D0,$D2,$C9,$D4,$45 - ; HGRSPRITE -> X051 -; inc/hgrsprite.plh: 0002: predef spriteCompile(w, h, xcenter, ycenter, srcptr)#1 - ; SPRITECOMPILE -> X052 -; inc/hgrsprite.plh: 0003: predef spriteDup(sprtsrc)#1 - ; SPRITEDUP -> X053 -; inc/hgrsprite.plh: 0004: predef spriteRead(filestr)#1 - ; SPRITEREAD -> X054 -; inc/hgrsprite.plh: 0005: predef spriteSave(filestr, sprtptr)#1 - ; SPRITESAVE -> X055 -; inc/hgrsprite.plh: 0006: predef spriteDraw(sprtptr)#0 - ; SPRITEDRAW -> X056 -; inc/hgrsprite.plh: 0007: predef spriteDrawXor(sprtptr)#0 - ; SPRITEDRAWXOR -> X057 -; inc/hgrsprite.plh: 0008: predef spriteUnDraw(sprtptr)#0 - ; SPRITEUNDRAW -> X058 -; inc/hgrsprite.plh: 0009: predef spriteUnDrawXor(sprtptr)#0 - ; SPRITEUNDRAWXOR -> X059 -; inc/hgrsprite.plh: 0010: predef spritePos(x, y, sprtptr)#0 - ; SPRITEPOS -> X060 -; inc/hgrsprite.plh: 0011: predef spritePosIndex(x, y, i)#0 - ; SPRITEPOSINDEX -> X061 -; inc/hgrsprite.plh: 0012: predef spriteUnDrawList#0 - ; SPRITEUNDRAWLIST -> X062 -; inc/hgrsprite.plh: 0013: predef spriteUnDrawXorList#0 - ; SPRITEUNDRAWXORLIST -> X063 -; inc/hgrsprite.plh: 0014: predef spriteDrawList#0 - ; SPRITEDRAWLIST -> X064 -; inc/hgrsprite.plh: 0015: predef spriteDrawXorList#0 - ; SPRITEDRAWXORLIST -> X065 -; inc/hgrsprite.plh: 0016: predef spriteAdd(i, sprtptr)#1 - ; SPRITEADD -> X066 -; inc/hgrsprite.plh: 0017: predef spriteDel(i)#1 - ; SPRITEDEL -> X067 -; inc/hgrsprite.plh: 0018: predef spriteDrawBuf(page)#1 - ; SPRITEDRAWBUF -> X068 -; inc/hgrsprite.plh: 0019: end -; samplesrc/hgrtest.pla: 0003: -; samplesrc/hgrtest.pla: 0004: include "inc/lines.plh" -; inc/lines.plh: 0001: import lines - ; DCI STRING: LINES - !BYTE $CC,$C9,$CE,$C5,$53 - ; LINES -> X069 -; inc/lines.plh: 0002: predef setlinespans(h, v)#0 - ; SETLINESPANS -> X070 -; inc/lines.plh: 0003: predef linespans(x1, y1, x2, y2)#0 - ; LINESPANS -> X071 -; inc/lines.plh: 0004: predef setlineplot(p)#0 - ; SETLINEPLOT -> X072 -; inc/lines.plh: 0005: predef line(x1, y1, x2, y2)#0 - ; LINE -> X073 -; inc/lines.plh: 0006: end -; samplesrc/hgrtest.pla: 0004: -; samplesrc/hgrtest.pla: 0005: sysflags reshgr1|reshgr2 // Reserve HGR page 1 and 2 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0030 ; SYSTEM FLAGS -; samplesrc/hgrtest.pla: 0006: -; samplesrc/hgrtest.pla: 0007: byte ball = $88, $83, $33, $38, $88 -_D074 ; ball = $88, $83, $33, $38, $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/hgrtest.pla: 0008: byte = $88, $33, $11, $33, $88 - !BYTE $88 - !BYTE $33 - !BYTE $11 - !BYTE $33 - !BYTE $88 -; samplesrc/hgrtest.pla: 0009: byte = $83, $31, $11, $13, $38 - !BYTE $83 - !BYTE $31 - !BYTE $11 - !BYTE $13 - !BYTE $38 -; samplesrc/hgrtest.pla: 0010: byte = $33, $11, $11, $11, $33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/hgrtest.pla: 0011: byte = $33, $11, $11, $11, $33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/hgrtest.pla: 0012: byte = $33, $11, $11, $11, $33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/hgrtest.pla: 0013: byte = $33, $11, $11, $11, $33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/hgrtest.pla: 0014: byte = $83, $31, $11, $13, $38 - !BYTE $83 - !BYTE $31 - !BYTE $11 - !BYTE $13 - !BYTE $38 -; samplesrc/hgrtest.pla: 0015: byte = $88, $33, $11, $33, $88 - !BYTE $88 - !BYTE $33 - !BYTE $11 - !BYTE $33 - !BYTE $88 -; samplesrc/hgrtest.pla: 0016: byte = $88, $83, $33, $38, $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/hgrtest.pla: 0017: var sprtBall -_D075 !FILL 2 ; sprtBall -; samplesrc/hgrtest.pla: 0018: def testline#0 -_SUBSEG ; BYTECODE STARTS -_C000 ; testline() -; samplesrc/hgrtest.pla: 0019: var i - ; i -> [0] -; samplesrc/hgrtest.pla: 0020: -; samplesrc/hgrtest.pla: 0021: setlinespans(@hgrHlin, @hgrVlin) - !BYTE $58,$02,$00 ; ENTER 2,0 -; samplesrc/hgrtest.pla: 0022: setlineplot(@hgrXorPlot) -; samplesrc/hgrtest.pla: 0023: hgrColor(7) -; samplesrc/hgrtest.pla: 0024: for i = 0 to 191 step 8 - !BYTE $26 ; LA _X033+0 -_F000 !WORD 0+0 - !BYTE $26 ; LA _X034+0 -_F001 !WORD 0+0 - !BYTE $54 ; CALL _X070 -_F002 !WORD 0 - !BYTE $26 ; LA _X032+0 -_F003 !WORD 0+0 - !BYTE $54 ; CALL _X072 -_F004 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X050 -_F005 !WORD 0 - !BYTE $2A,$BF ; CB 191 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6E,$00 ; DLW [0] -; samplesrc/hgrtest.pla: 0025: linespans(0, i, 279, 191 - i) -; samplesrc/hgrtest.pla: 0026: //line(0, i, 279, 191 - i) -; samplesrc/hgrtest.pla: 0027: next - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $2A,$BF ; CB 191 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X071 -_F006 !WORD 0 -_B003 - !BYTE $10 ; CN 8 - !BYTE $A6 ; ADDBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; samplesrc/hgrtest.pla: 0028: for i = 0 to 279 step 9 - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6E,$00 ; DLW [0] -; samplesrc/hgrtest.pla: 0029: linespans(i, 0, 279 - i, 191) -; samplesrc/hgrtest.pla: 0030: //line(i, 0, 279 - i, 191) -; samplesrc/hgrtest.pla: 0031: next - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $2A,$BF ; CB 191 - !BYTE $54 ; CALL _X071 -_F007 !WORD 0 -_B006 - !BYTE $12 ; CN 9 - !BYTE $A6 ; ADDBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; samplesrc/hgrtest.pla: 0032: end - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/hgrtest.pla: 0033: def testblt(sprtnum)#0 - ; sprtnum -> [0] -_C001 ; testblt() -; samplesrc/hgrtest.pla: 0034: var[16] i, j, ii, jj - ; i -> [2] - ; j -> [34] - ; ii -> [66] - ; jj -> [98] -; samplesrc/hgrtest.pla: 0035: byte k - ; k -> [130] -; samplesrc/hgrtest.pla: 0036: -; samplesrc/hgrtest.pla: 0037: sprtnum = sprtnum - 1 - !BYTE $58,$83,$01 ; ENTER 131,1 -; samplesrc/hgrtest.pla: 0038: i[0] = 100 -; samplesrc/hgrtest.pla: 0039: ii[0] = 1 -; samplesrc/hgrtest.pla: 0040: j[0] = 80 -; samplesrc/hgrtest.pla: 0041: jj[0] = -1 -; samplesrc/hgrtest.pla: 0042: if sprtnum -; samplesrc/hgrtest.pla: 0043: for k = 1 to sprtnum - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $76,$00 ; SLW [0] - !BYTE $2A,$64 ; CB 100 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $76,$42 ; SLW [66] - !BYTE $2A,$50 ; CB 80 - !BYTE $76,$22 ; SLW [34] - !BYTE $20 ; MINUS ONE - !BYTE $76,$62 ; SLW [98] - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B009 - !WORD _B009-* -_B010 - !BYTE $6C,$82 ; DLB [130] -; samplesrc/hgrtest.pla: 0044: spriteAdd(k, spriteDup(sprtBall)) -; samplesrc/hgrtest.pla: 0045: i[k] = ((i[k - 1] ^ 37) + 97) % 270 -; samplesrc/hgrtest.pla: 0046: ii[k] = -ii[k - 1] -; samplesrc/hgrtest.pla: 0047: j[k] = ((j[k - 1] ^ 29) + 53) % 180 -; samplesrc/hgrtest.pla: 0048: jj[k] = -jj[k - 1] -; samplesrc/hgrtest.pla: 0049: next - !BYTE $64,$82 ; LLB [130] - !BYTE $6A ; LAW _D075+0 -_F008 !WORD _D075+0 - !BYTE $54 ; CALL _X053 -_F009 !WORD 0 - !BYTE $54 ; CALL _X066 -_F010 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$82 ; LLB [130] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$25 ; CB 37 - !BYTE $98 ; XOR - !BYTE $38,$61 ; ADDI 97 - !BYTE $2C,$0E,$01 ; CW 270 - !BYTE $8A ; MOD - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW - !BYTE $28,$42 ; LLA [66] - !BYTE $64,$82 ; LLB [130] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW - !BYTE $28,$22 ; LLA [34] - !BYTE $64,$82 ; LLB [130] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$1D ; CB 29 - !BYTE $98 ; XOR - !BYTE $38,$35 ; ADDI 53 - !BYTE $2A,$B4 ; CB 180 - !BYTE $8A ; MOD - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW - !BYTE $28,$62 ; LLA [98] - !BYTE $64,$82 ; LLB [130] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $28,$62 ; LLA [98] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW -_B011 - !BYTE $A4 ; INCBRLE _B010 - !WORD _B010-* -_B009 - !BYTE $74,$82 ; SLB [130] - !BYTE $30 ; DROP -; samplesrc/hgrtest.pla: 0050: fin -_B007 -_B008 -; samplesrc/hgrtest.pla: 0051: while ^$C000 < 128 - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B012 -; samplesrc/hgrtest.pla: 0052: for k = 0 to sprtnum - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B015 - !WORD _B015-* -_B016 - !BYTE $6C,$82 ; DLB [130] -; samplesrc/hgrtest.pla: 0053: i[k] = i[k] + ii[k] -; samplesrc/hgrtest.pla: 0054: if i[k] < -5 or i[k] > 284 -; samplesrc/hgrtest.pla: 0055: ii[k] = -ii[k] -; samplesrc/hgrtest.pla: 0056: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $5E,$FB ; CFFB -5 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B018 - !WORD _B018-* - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $2C,$1C,$01 ; CW 284 - !BYTE $44 ; ISGT -_B018 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW -_B019 -_B020 -; samplesrc/hgrtest.pla: 0057: j[k] = j[k] + jj[k] -; samplesrc/hgrtest.pla: 0058: if j[k] < -5 or j[k] > 196 -; samplesrc/hgrtest.pla: 0059: jj[k] = -jj[k] -; samplesrc/hgrtest.pla: 0060: fin - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $28,$62 ; LLA [98] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $5E,$FB ; CFFB -5 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B021 - !WORD _B021-* - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $2A,$C4 ; CB 196 - !BYTE $44 ; ISGT -_B021 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $28,$62 ; LLA [98] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $28,$62 ; LLA [98] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $72 ; SW -_B022 -_B023 -; samplesrc/hgrtest.pla: 0061: spritePosIndex(i[k], j[k], k) -; samplesrc/hgrtest.pla: 0062: next - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$82 ; IDXLB [130] - !BYTE $62 ; LW - !BYTE $64,$82 ; LLB [130] - !BYTE $54 ; CALL _X061 -_F011 !WORD 0 -_B017 - !BYTE $A4 ; INCBRLE _B016 - !WORD _B016-* -_B015 - !BYTE $74,$82 ; SLB [130] - !BYTE $30 ; DROP -; samplesrc/hgrtest.pla: 0063: spriteDrawList() -; samplesrc/hgrtest.pla: 0064: spriteDrawBuf(hgrSwap()) -; samplesrc/hgrtest.pla: 0065: loop - !BYTE $54 ; CALL _X064 -_F012 !WORD 0 - !BYTE $54 ; CALL _X048 -_F013 !WORD 0 - !BYTE $54 ; CALL _X068 -_F014 !WORD 0 - !BYTE $30 ; DROP -_B014 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* -_B013 -; samplesrc/hgrtest.pla: 0066: end - !BYTE $5A,$83 ; LEAVE 131 -; samplesrc/hgrtest.pla: 0067: -; samplesrc/hgrtest.pla: 0068: hgrMode(hgrPage1) -_INIT -; samplesrc/hgrtest.pla: 0069: spriteDrawBuf(hgrDrawBuf(hgrPage1)) // So we can see the compile process -; samplesrc/hgrtest.pla: 0070: sprtBall = spriteCompile(10, 10, 5, 5, @ball) -; samplesrc/hgrtest.pla: 0071: hgrColor(0) -; samplesrc/hgrtest.pla: 0072: hgrClear() -; samplesrc/hgrtest.pla: 0073: testline -; samplesrc/hgrtest.pla: 0074: memcpy($4000, $2000, $2000) // Copy to both buffers -; samplesrc/hgrtest.pla: 0075: spriteDrawBuf(hgrDrawBuf(hgrPage2)) -; samplesrc/hgrtest.pla: 0076: spriteAdd(0, sprtBall) -; samplesrc/hgrtest.pla: 0077: testblt(16) -; samplesrc/hgrtest.pla: 0078: getc -; samplesrc/hgrtest.pla: 0079: hgrMode(hgrOff) -; samplesrc/hgrtest.pla: 0080: done - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F015 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X049 -_F016 !WORD 0 - !BYTE $54 ; CALL _X068 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $14 ; CN 10 - !BYTE $34 ; DUP - !BYTE $0A ; CN 5 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D074+0 -_F018 !WORD _D074+0 - !BYTE $54 ; CALL _X052 -_F019 !WORD 0 - !BYTE $7A ; SAW _D075+0 -_F020 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X050 -_F021 !WORD 0 - !BYTE $54 ; CALL _X046 -_F022 !WORD 0 - !BYTE $54 ; CALL _C000 -_F023 !WORD _C000 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _X018 -_F024 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X049 -_F025 !WORD 0 - !BYTE $54 ; CALL _X068 -_F026 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D075+0 -_F027 !WORD _D075+0 - !BYTE $54 ; CALL _X066 -_F028 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C001 -_F029 !WORD _C001 - !BYTE $54 ; CALL _X006 -_F030 !WORD 0 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X045 -_F031 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 70 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 72 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 71 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 71 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 64 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 68 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 49 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 68 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 46 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 49 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 68 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: HGRXORPLOT - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D0,$CC,$CF,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: HGRHLIN - !BYTE $C8,$C7,$D2,$C8,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: HGRVLIN - !BYTE $C8,$C7,$D2,$D6,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: HGRMODE - !BYTE $C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: HGRCLEAR - !BYTE $C8,$C7,$D2,$C3,$CC,$C5,$C1,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 46 ; ESD INDEX - ; DCI STRING: HGRSWAP - !BYTE $C8,$C7,$D2,$D3,$D7,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 48 ; ESD INDEX - ; DCI STRING: HGRDRAWBUF - !BYTE $C8,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 49 ; ESD INDEX - ; DCI STRING: HGRCOLOR - !BYTE $C8,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 50 ; ESD INDEX - ; DCI STRING: SPRITECOMPILE - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C3,$CF,$CD,$D0,$C9,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 52 ; ESD INDEX - ; DCI STRING: SPRITEDUP - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D5,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 53 ; ESD INDEX - ; DCI STRING: SPRITEPOSINDEX - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D0,$CF,$D3,$C9,$CE,$C4,$C5,$58 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 61 ; ESD INDEX - ; DCI STRING: SPRITEDRAWLIST - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$CC,$C9,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 64 ; ESD INDEX - ; DCI STRING: SPRITEADD - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C1,$C4,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 66 ; ESD INDEX - ; DCI STRING: SPRITEDRAWBUF - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 68 ; ESD INDEX - ; DCI STRING: SETLINESPANS - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 70 ; ESD INDEX - ; DCI STRING: LINESPANS - !BYTE $CC,$C9,$CE,$C5,$D3,$D0,$C1,$CE,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 71 ; ESD INDEX - ; DCI STRING: SETLINEPLOT - !BYTE $D3,$C5,$D4,$CC,$C9,$CE,$C5,$D0,$CC,$CF,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 72 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/httpd.a b/src/samplesrc/httpd.a deleted file mode 100644 index 5e72bb8..0000000 --- a/src/samplesrc/httpd.a +++ /dev/null @@ -1,1782 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/httpd.pla: 0001: // -; samplesrc/httpd.pla: 0002: // HTTP Daemon -; samplesrc/httpd.pla: 0003: // -; samplesrc/httpd.pla: 0004: // with these updates by D. Finnigan on 12 Nov 15: -; samplesrc/httpd.pla: 0005: // - revised 404 and 400 responses -; samplesrc/httpd.pla: 0006: // - split 200 OK response headers -; samplesrc/httpd.pla: 0007: // - added get_file_info() call -; samplesrc/httpd.pla: 0008: // - check for binary files and set Content-Type accordingly -; samplesrc/httpd.pla: 0009: // still todo: output base filename for Content-Disposition header -; samplesrc/httpd.pla: 0010: // -; samplesrc/httpd.pla: 0011: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/httpd.pla: 0011: -; samplesrc/httpd.pla: 0012: include "inc/inet.plh" -; inc/inet.plh: 0001: // -; inc/inet.plh: 0002: // iNet API -; inc/inet.plh: 0003: // -; inc/inet.plh: 0004: import iNet - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - ; INET -> X028 -; inc/inet.plh: 0005: struc t_inet -; inc/inet.plh: 0006: word initIP - ; initIP = 0 -; inc/inet.plh: 0007: word serviceIP - ; serviceIP = 2 -; inc/inet.plh: 0008: word openUDP - ; openUDP = 4 -; inc/inet.plh: 0009: word sendUDP - ; sendUDP = 6 -; inc/inet.plh: 0010: word closeUDP - ; closeUDP = 8 -; inc/inet.plh: 0011: word listenTCP - ; listenTCP = 10 -; inc/inet.plh: 0012: word connectTCP - ; connectTCP = 12 -; inc/inet.plh: 0013: word sendTCP - ; sendTCP = 14 -; inc/inet.plh: 0014: word closeTCP - ; closeTCP = 16 -; inc/inet.plh: 0015: word setInterfaceIP - ; setInterfaceIP = 18 -; inc/inet.plh: 0016: word getInterfaceHA - ; getInterfaceHA = 20 -; inc/inet.plh: 0017: word setDNS - ; setDNS = 22 -; inc/inet.plh: 0018: word resolveIP - ; resolveIP = 24 -; inc/inet.plh: 0019: word setCallback - ; setCallback = 26 -; inc/inet.plh: 0020: word setParam - ; setParam = 28 -; inc/inet.plh: 0021: end - ; t_inet = 30 -; inc/inet.plh: 0022: end -; samplesrc/httpd.pla: 0012: -; samplesrc/httpd.pla: 0013: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X029 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X030 -; inc/fileio.plh: 0082: end -; samplesrc/httpd.pla: 0013: -; samplesrc/httpd.pla: 0014: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X031 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/httpd.pla: 0014: -; samplesrc/httpd.pla: 0015: -; samplesrc/httpd.pla: 0016: word socketHTTP - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D032 !FILL 2 ; socketHTTP -; samplesrc/httpd.pla: 0017: byte[65] prefix -_D033 !FILL 65 ; prefix -; samplesrc/httpd.pla: 0018: word filebuff -_D034 !FILL 2 ; filebuff -; samplesrc/httpd.pla: 0019: byte[15] fileInfo = 0 // used for get_file_info() -_D035 ; fileInfo = 0 // used for get_file_info() - !BYTE $00 - !FILL $0E -; samplesrc/httpd.pla: 0020: byte defhtml = "INDEX.HTML" -_D036 ; defhtml = "INDEX.HTML" - !BYTE $0A - !BYTE $49,$4E,$44,$45,$58,$2E,$48,$54 - !BYTE $4D,$4C -; samplesrc/httpd.pla: 0021: byte[200] okhdr // combined response header -_D037 !FILL 200 ; okhdr // combined response header -; samplesrc/httpd.pla: 0022: // -; samplesrc/httpd.pla: 0023: // HTTP response codes -; samplesrc/httpd.pla: 0024: // For the 4xx codes, if you change the body, make sure to update the Content-Length too -; samplesrc/httpd.pla: 0025: byte httpOK = "HTTP/1.1 200 OK\n\r" -_D038 ; httpOK = "HTTP/1.1 200 OK\n\r" - !BYTE $11 - !BYTE $48,$54,$54,$50,$2F,$31,$2E,$31 - !BYTE $20,$32,$30,$30,$20,$4F,$4B,$0D - !BYTE $0A -; samplesrc/httpd.pla: 0026: byte httpBAD = "HTTP/1.1 400 Bad Request\n\rContent-Type: text/plain\n\rContent-Length: 17\n\r\n\r400 Bad Request\n\r" -_D039 ; httpBAD = "HTTP/1.1 400 Bad Request\n\rContent-Type: text/plain\n\rContent-Length: 17\n\r\n\r400 Bad Request\n\r" - !BYTE $5B - !BYTE $48,$54,$54,$50,$2F,$31,$2E,$31 - !BYTE $20,$34,$30,$30,$20,$42,$61,$64 - !BYTE $20,$52,$65,$71,$75,$65,$73,$74 - !BYTE $0D,$0A,$43,$6F,$6E,$74,$65,$6E - !BYTE $74,$2D,$54,$79,$70,$65,$3A,$20 - !BYTE $74,$65,$78,$74,$2F,$70,$6C,$61 - !BYTE $69,$6E,$0D,$0A,$43,$6F,$6E,$74 - !BYTE $65,$6E,$74,$2D,$4C,$65,$6E,$67 - !BYTE $74,$68,$3A,$20,$31,$37,$0D,$0A - !BYTE $0D,$0A,$34,$30,$30,$20,$42,$61 - !BYTE $64,$20,$52,$65,$71,$75,$65,$73 - !BYTE $74,$0D,$0A -; samplesrc/httpd.pla: 0027: byte httpNOTFOUND = "HTTP/1.1 404 Not Found\n\rStatus: 404 Not Found\n\rContent-Type: text/plain\n\rContent-Length: 28\n\r\n\r404 Error: File not found.\n\r" -_D040 ; httpNOTFOUND = "HTTP/1.1 404 Not Found\n\rStatus: 404 Not Found\n\rContent-Type: text/plain\n\rContent-Length: 28\n\r\n\r404 Error: File not found.\n\r" - !BYTE $7B - !BYTE $48,$54,$54,$50,$2F,$31,$2E,$31 - !BYTE $20,$34,$30,$34,$20,$4E,$6F,$74 - !BYTE $20,$46,$6F,$75,$6E,$64,$0D,$0A - !BYTE $53,$74,$61,$74,$75,$73,$3A,$20 - !BYTE $34,$30,$34,$20,$4E,$6F,$74,$20 - !BYTE $46,$6F,$75,$6E,$64,$0D,$0A,$43 - !BYTE $6F,$6E,$74,$65,$6E,$74,$2D,$54 - !BYTE $79,$70,$65,$3A,$20,$74,$65,$78 - !BYTE $74,$2F,$70,$6C,$61,$69,$6E,$0D - !BYTE $0A,$43,$6F,$6E,$74,$65,$6E,$74 - !BYTE $2D,$4C,$65,$6E,$67,$74,$68,$3A - !BYTE $20,$32,$38,$0D,$0A,$0D,$0A,$34 - !BYTE $30,$34,$20,$45,$72,$72,$6F,$72 - !BYTE $3A,$20,$46,$69,$6C,$65,$20,$6E - !BYTE $6F,$74,$20,$66,$6F,$75,$6E,$64 - !BYTE $2E,$0D,$0A -; samplesrc/httpd.pla: 0028: // -; samplesrc/httpd.pla: 0029: // HTTP response headers -; samplesrc/httpd.pla: 0030: // -; samplesrc/httpd.pla: 0031: byte httpContentType = "Content-Type: " -_D041 ; httpContentType = "Content-Type: " - !BYTE $0E - !BYTE $43,$6F,$6E,$74,$65,$6E,$74,$2D - !BYTE $54,$79,$70,$65,$3A,$20 -; samplesrc/httpd.pla: 0032: byte httpContentLen = "Content-Length: " -_D042 ; httpContentLen = "Content-Length: " - !BYTE $10 - !BYTE $43,$6F,$6E,$74,$65,$6E,$74,$2D - !BYTE $4C,$65,$6E,$67,$74,$68,$3A,$20 -; samplesrc/httpd.pla: 0033: byte httpContentAttach = "Content-Disposition: attachment; filename=" -_D043 ; httpContentAttach = "Content-Disposition: attachment; filename=" - !BYTE $2A - !BYTE $43,$6F,$6E,$74,$65,$6E,$74,$2D - !BYTE $44,$69,$73,$70,$6F,$73,$69,$74 - !BYTE $69,$6F,$6E,$3A,$20,$61,$74,$74 - !BYTE $61,$63,$68,$6D,$65,$6E,$74,$3B - !BYTE $20,$66,$69,$6C,$65,$6E,$61,$6D - !BYTE $65,$3D -; samplesrc/httpd.pla: 0034: byte httpEnd = "\n\r\n\r" -_D044 ; httpEnd = "\n\r\n\r" - !BYTE $04 - !BYTE $0D,$0A,$0D,$0A -; samplesrc/httpd.pla: 0035: // -; samplesrc/httpd.pla: 0036: // MIME content types -; samplesrc/httpd.pla: 0037: // -; samplesrc/httpd.pla: 0038: byte mimeTextHtml = "text/html" -_D045 ; mimeTextHtml = "text/html" - !BYTE $09 - !BYTE $74,$65,$78,$74,$2F,$68,$74,$6D - !BYTE $6C -; samplesrc/httpd.pla: 0039: byte mimeOctetStream = "application/octet-stream" -_D046 ; mimeOctetStream = "application/octet-stream" - !BYTE $18 - !BYTE $61,$70,$70,$6C,$69,$63,$61,$74 - !BYTE $69,$6F,$6E,$2F,$6F,$63,$74,$65 - !BYTE $74,$2D,$73,$74,$72,$65,$61,$6D -; samplesrc/httpd.pla: 0040: // -; samplesrc/httpd.pla: 0041: // DEBUG -; samplesrc/httpd.pla: 0042: // -; samplesrc/httpd.pla: 0043: def putip(ipptr)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; ipptr -> [0] -_C000 ; putip() -; samplesrc/httpd.pla: 0044: byte i - ; i -> [2] -; samplesrc/httpd.pla: 0045: -; samplesrc/httpd.pla: 0046: for i = 0 to 2 - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/httpd.pla: 0047: puti(ipptr->[i]); putc('.') -; samplesrc/httpd.pla: 0048: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F000 !WORD 0 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/httpd.pla: 0049: puti(ipptr->[i]) -; samplesrc/httpd.pla: 0050: end - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F002 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/httpd.pla: 0051: def dumpbytes(buf, len)#0 - ; buf -> [0] - ; len -> [2] -_C001 ; dumpbytes() -; samplesrc/httpd.pla: 0052: word i - ; i -> [4] -; samplesrc/httpd.pla: 0053: -; samplesrc/httpd.pla: 0054: for i = 0 to len - 1 - !BYTE $58,$06,$02 ; ENTER 6,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B004 - !WORD _B004-* -_B005 - !BYTE $6E,$04 ; DLW [4] -; samplesrc/httpd.pla: 0055: putb(buf->[i]) -; samplesrc/httpd.pla: 0056: if i & 15 == 15 -; samplesrc/httpd.pla: 0057: putln -; samplesrc/httpd.pla: 0058: else - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X008 -_F003 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B007 - !WORD _B007-* - !BYTE $54 ; CALL _X003 -_F004 !WORD 0 - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; samplesrc/httpd.pla: 0059: putc(' ') -; samplesrc/httpd.pla: 0060: fin - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F005 !WORD 0 -_B008 -; samplesrc/httpd.pla: 0061: next -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; samplesrc/httpd.pla: 0062: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/httpd.pla: 0063: def dumpchars(buf, len)#0 - ; buf -> [0] - ; len -> [2] -_C002 ; dumpchars() -; samplesrc/httpd.pla: 0064: word i - ; i -> [4] -; samplesrc/httpd.pla: 0065: -; samplesrc/httpd.pla: 0066: len = len - 1 - !BYTE $58,$06,$02 ; ENTER 6,2 -; samplesrc/httpd.pla: 0067: for i = 0 to len - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B009 - !WORD _B009-* -_B010 - !BYTE $6E,$04 ; DLW [4] -; samplesrc/httpd.pla: 0068: putc(buf->[i]) -; samplesrc/httpd.pla: 0069: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F006 !WORD 0 -_B011 - !BYTE $A4 ; INCBRLE _B010 - !WORD _B010-* -_B009 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; samplesrc/httpd.pla: 0070: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/httpd.pla: 0071: // -; samplesrc/httpd.pla: 0072: // String functions -; samplesrc/httpd.pla: 0073: // -; samplesrc/httpd.pla: 0074: def strcat2(dst, src1, src2) - ; dst -> [0] - ; src1 -> [2] - ; src2 -> [4] -_C003 ; strcat2() -; samplesrc/httpd.pla: 0075: memcpy(dst + 1, src1 + 1, ^src1) - !BYTE $58,$06,$03 ; ENTER 6,3 -; samplesrc/httpd.pla: 0076: memcpy(dst + 1 + ^src1, src2 + 1, ^src2) -; samplesrc/httpd.pla: 0077: ^dst = ^src1 + ^src2 -; samplesrc/httpd.pla: 0078: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F007 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F008 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/httpd.pla: 0079: end -; samplesrc/httpd.pla: 0080: def itos(dst, i) - ; dst -> [0] - ; i -> [2] -_C004 ; itos() -; samplesrc/httpd.pla: 0081: if i < 0; ^dst = '-'; i = -i; dst++; fin - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2A,$2D ; CB 45 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $90 ; NEG - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B012 -_B013 -; samplesrc/httpd.pla: 0082: if i < 10 -; samplesrc/httpd.pla: 0083: ^dst = i + '0' -; samplesrc/httpd.pla: 0084: else - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -_B014 -; samplesrc/httpd.pla: 0085: dst = itos(dst, i / 10) -; samplesrc/httpd.pla: 0086: ^dst = i % 10 + '0' -; samplesrc/httpd.pla: 0087: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _C004 -_F009 !WORD _C004 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B015 -; samplesrc/httpd.pla: 0088: return dst + 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/httpd.pla: 0089: end -; samplesrc/httpd.pla: 0090: // -; samplesrc/httpd.pla: 0091: // Send the file contents -; samplesrc/httpd.pla: 0092: // -; samplesrc/httpd.pla: 0093: def sendFile(fd, socket, len)#0 - ; fd -> [0] - ; socket -> [2] - ; len -> [4] -_C005 ; sendFile() -; samplesrc/httpd.pla: 0094: while isuge(len, 1024) - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B016 -; samplesrc/httpd.pla: 0095: fileio:read(fd, filebuff, 1024) -; samplesrc/httpd.pla: 0096: len = len - 1024 -; samplesrc/httpd.pla: 0097: iNet:sendTCP(socket, filebuff, 1024) -; samplesrc/httpd.pla: 0098: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D034+0 -_F010 !WORD _D034+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $6A ; LAW _X029+18 -_F011 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D034+0 -_F012 !WORD _D034+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $6A ; LAW _X028+14 -_F013 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B018 - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _X025 -_F014 !WORD 0 - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* -_B017 -; samplesrc/httpd.pla: 0099: if len -; samplesrc/httpd.pla: 0100: fileio:read(fd, filebuff, len) -; samplesrc/httpd.pla: 0101: iNet:sendTCP(socket, filebuff, len) -; samplesrc/httpd.pla: 0102: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D034+0 -_F015 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X029+18 -_F016 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D034+0 -_F017 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _X028+14 -_F018 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B019 -_B020 -; samplesrc/httpd.pla: 0103: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/httpd.pla: 0104: // -; samplesrc/httpd.pla: 0105: // Serve HTTP requests -; samplesrc/httpd.pla: 0106: // -; samplesrc/httpd.pla: 0107: def servHTTP(remip, remport, lclport, data, len, param) - ; remip -> [0] - ; remport -> [2] - ; lclport -> [4] - ; data -> [6] - ; len -> [8] - ; param -> [10] -_C006 ; servHTTP() -; samplesrc/httpd.pla: 0108: byte i, refnum, err - ; i -> [12] - ; refnum -> [13] - ; err -> [14] -; samplesrc/httpd.pla: 0109: byte[65] filename - ; filename -> [15] -; samplesrc/httpd.pla: 0110: byte[8] lenstr - ; lenstr -> [80] -; samplesrc/httpd.pla: 0111: word url, filelen - ; url -> [88] - ; filelen -> [90] -; samplesrc/httpd.pla: 0112: -; samplesrc/httpd.pla: 0113: // -; samplesrc/httpd.pla: 0114: // Parse HTTP request -; samplesrc/httpd.pla: 0115: // -; samplesrc/httpd.pla: 0116: if len > 0 - !BYTE $58,$5C,$06 ; ENTER 92,6 -; samplesrc/httpd.pla: 0117: //dumpchars(data, len) -; samplesrc/httpd.pla: 0118: // -; samplesrc/httpd.pla: 0119: // Better be 'GET' -; samplesrc/httpd.pla: 0120: // -; samplesrc/httpd.pla: 0121: if data->0 == 'G' and data->1 == 'E' and data->2 == 'T' and data->3 == ' ' -; samplesrc/httpd.pla: 0122: len = len - 1 -; samplesrc/httpd.pla: 0123: if len > 64 -; samplesrc/httpd.pla: 0124: len = 64 // maximum ProDOS path -; samplesrc/httpd.pla: 0125: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $2A,$47 ; CB 71 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B023 - !WORD _B023-* - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$45 ; CB 69 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B024 - !WORD _B024-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $2A,$54 ; CB 84 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B025 - !WORD _B025-* - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $40 ; ISEQ -_B025 -_B024 -_B023 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR - !BYTE $6E,$08 ; DLW [8] - !BYTE $2A,$40 ; CB 64 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $2A,$40 ; CB 64 - !BYTE $76,$08 ; SLW [8] -_B028 -_B029 -; samplesrc/httpd.pla: 0126: for i = 4 to len // get ProDOS path from URL - !BYTE $66,$08 ; LLW [8] - !BYTE $08 ; CN 4 - !BYTE $A0 ; BRGT _B030 - !WORD _B030-* -_B031 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/httpd.pla: 0127: if data->[i] <= ' ' -; samplesrc/httpd.pla: 0128: data->3 = i - 4 -; samplesrc/httpd.pla: 0129: url = data + 3 -; samplesrc/httpd.pla: 0130: if url->1 == '/' -; samplesrc/httpd.pla: 0131: if url->0 == 1 -; samplesrc/httpd.pla: 0132: url = @defhtml // Is this a directory with no file given? Use index.html -; samplesrc/httpd.pla: 0133: else - !BYTE $66,$06 ; LLW [6] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $64,$0C ; LLB [12] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $6E,$58 ; DLW [88] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B035 - !WORD _B035-* - !BYTE $66,$58 ; LLW [88] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B037 - !WORD _B037-* - !BYTE $26 ; LA _D036+0 -_F019 !WORD _D036+0 - !BYTE $76,$58 ; SLW [88] - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B037 -; samplesrc/httpd.pla: 0134: url->1 = url->0 - 1 -; samplesrc/httpd.pla: 0135: url = url + 1 -; samplesrc/httpd.pla: 0136: fin - !BYTE $66,$58 ; LLW [88] - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $66,$58 ; LLW [88] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$58 ; LLW [88] - !BYTE $8C ; INCR - !BYTE $76,$58 ; SLW [88] -_B038 -; samplesrc/httpd.pla: 0137: fin -_B035 -_B036 -; samplesrc/httpd.pla: 0138: strcat2(@filename, @prefix, url) -; samplesrc/httpd.pla: 0139: puts("GET:"); puts(@filename);putln - !BYTE $28,$0F ; LLA [15] - !BYTE $26 ; LA _D033+0 -_F020 !WORD _D033+0 - !BYTE $66,$58 ; LLW [88] - !BYTE $54 ; CALL _C003 -_F021 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $04 - !BYTE $47,$45,$54,$3A - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -; samplesrc/httpd.pla: 0140: // -; samplesrc/httpd.pla: 0141: // Get file info -; samplesrc/httpd.pla: 0142: // -; samplesrc/httpd.pla: 0143: //puts("getting file info "); // debug -; samplesrc/httpd.pla: 0144: refnum = fileio:open(@filename) // try to open this file with ProDOS -; samplesrc/httpd.pla: 0145: if refnum // file was opened OK -; samplesrc/httpd.pla: 0146: filelen = fileio:geteof(refnum) // get length of file for Content-Length -; samplesrc/httpd.pla: 0147: lenstr = itos(@lenstr + 1, filelen) - (@lenstr + 1) -; samplesrc/httpd.pla: 0148: strcat2(@okhdr, @httpOK, @httpContentLen) -; samplesrc/httpd.pla: 0149: strcat2(@okhdr, @okhdr, @lenstr) -; samplesrc/httpd.pla: 0150: strcat2(@okhdr, @okhdr, "\n\r") - !BYTE $28,$0F ; LLA [15] - !BYTE $54 ; CALL _X004 -_F023 !WORD 0 - !BYTE $54 ; CALL _X003 -_F024 !WORD 0 - !BYTE $28,$0F ; LLA [15] - !BYTE $6A ; LAW _X029+14 -_F025 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$0D ; DLB [13] - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $64,$0D ; LLB [13] - !BYTE $6A ; LAW _X029+8 -_F026 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $76,$5A ; SLW [90] - !BYTE $28,$51 ; LLA [81] - !BYTE $66,$5A ; LLW [90] - !BYTE $54 ; CALL _C004 -_F027 !WORD _C004 - !BYTE $28,$51 ; LLA [81] - !BYTE $84 ; SUB - !BYTE $74,$50 ; SLB [80] - !BYTE $26 ; LA _D037+0 -_F028 !WORD _D037+0 - !BYTE $26 ; LA _D038+0 -_F029 !WORD _D038+0 - !BYTE $26 ; LA _D042+0 -_F030 !WORD _D042+0 - !BYTE $54 ; CALL _C003 -_F031 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F032 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $28,$50 ; LLA [80] - !BYTE $54 ; CALL _C003 -_F033 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F034 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $0D,$0A - !BYTE $54 ; CALL _C003 -_F035 !WORD _C003 - !BYTE $30 ; DROP -; samplesrc/httpd.pla: 0151: // -; samplesrc/httpd.pla: 0152: // Content type header -; samplesrc/httpd.pla: 0153: // -; samplesrc/httpd.pla: 0154: fileio:getfileinfo(@filename, @fileInfo) -; samplesrc/httpd.pla: 0155: if fileInfo.1 == $03 OR fileInfo.1 == $04 -; samplesrc/httpd.pla: 0156: // -; samplesrc/httpd.pla: 0157: // this a text file -; samplesrc/httpd.pla: 0158: // -; samplesrc/httpd.pla: 0159: //puts(@mimeTextHtml) // debug -; samplesrc/httpd.pla: 0160: strcat2(@okhdr, @okhdr, @httpContentType) -; samplesrc/httpd.pla: 0161: strcat2(@okhdr, @okhdr, @mimeTextHtml) -; samplesrc/httpd.pla: 0162: else - !BYTE $28,$0F ; LLA [15] - !BYTE $26 ; LA _D035+0 -_F036 !WORD _D035+0 - !BYTE $6A ; LAW _X029+4 -_F037 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D035+1 -_F038 !WORD _D035+1 - !BYTE $06 ; CN 3 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B041 - !WORD _B041-* - !BYTE $68 ; LAB _D035+1 -_F039 !WORD _D035+1 - !BYTE $08 ; CN 4 - !BYTE $40 ; ISEQ -_B041 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $26 ; LA _D037+0 -_F040 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D041+0 -_F041 !WORD _D041+0 - !BYTE $54 ; CALL _C003 -_F042 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F043 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D045+0 -_F044 !WORD _D045+0 - !BYTE $54 ; CALL _C003 -_F045 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B042 -; samplesrc/httpd.pla: 0163: // -; samplesrc/httpd.pla: 0164: // send as binary attachment -; samplesrc/httpd.pla: 0165: // -; samplesrc/httpd.pla: 0166: //puts(@mimeOctetStream) // debug -; samplesrc/httpd.pla: 0167: strcat2(@okhdr, @okhdr, @httpContentType) -; samplesrc/httpd.pla: 0168: strcat2(@okhdr, @okhdr, @mimeOctetStream) -; samplesrc/httpd.pla: 0169: strcat2(@okhdr, @okhdr, "\n\r") - !BYTE $26 ; LA _D037+0 -_F046 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D041+0 -_F047 !WORD _D041+0 - !BYTE $54 ; CALL _C003 -_F048 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F049 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D046+0 -_F050 !WORD _D046+0 - !BYTE $54 ; CALL _C003 -_F051 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F052 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $0D,$0A - !BYTE $54 ; CALL _C003 -_F053 !WORD _C003 - !BYTE $30 ; DROP -; samplesrc/httpd.pla: 0170: // -; samplesrc/httpd.pla: 0171: // and send filename too -; samplesrc/httpd.pla: 0172: // -; samplesrc/httpd.pla: 0173: strcat2(@okhdr, @okhdr, @httpContentAttach) -; samplesrc/httpd.pla: 0174: // todo: get the base filename... -; samplesrc/httpd.pla: 0175: fin - !BYTE $26 ; LA _D037+0 -_F054 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D043+0 -_F055 !WORD _D043+0 - !BYTE $54 ; CALL _C003 -_F056 !WORD _C003 - !BYTE $30 ; DROP -_B043 -; samplesrc/httpd.pla: 0176: strcat2(@okhdr, @okhdr, @httpEnd) -; samplesrc/httpd.pla: 0177: //dumpchars(@okhdr + 1, okhdr) // debug -; samplesrc/httpd.pla: 0178: iNet:sendTCP(socketHTTP, @okhdr + 1, okhdr) // send HTTP response header to client -; samplesrc/httpd.pla: 0179: sendFile(refnum, socketHTTP, filelen) // send file data to client -; samplesrc/httpd.pla: 0180: fileio:close(refnum) -; samplesrc/httpd.pla: 0181: else // file couldn't be opened, so return 404 on this - !BYTE $26 ; LA _D037+0 -_F057 !WORD _D037+0 - !BYTE $34 ; DUP - !BYTE $26 ; LA _D044+0 -_F058 !WORD _D044+0 - !BYTE $54 ; CALL _C003 -_F059 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D032+0 -_F060 !WORD _D032+0 - !BYTE $26 ; LA _D037+1 -_F061 !WORD _D037+1 - !BYTE $68 ; LAB _D037+0 -_F062 !WORD _D037+0 - !BYTE $6A ; LAW _X028+14 -_F063 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$0D ; LLB [13] - !BYTE $6A ; LAW _D032+0 -_F064 !WORD _D032+0 - !BYTE $66,$5A ; LLW [90] - !BYTE $54 ; CALL _C005 -_F065 !WORD _C005 - !BYTE $64,$0D ; LLB [13] - !BYTE $6A ; LAW _X029+16 -_F066 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B039 -; samplesrc/httpd.pla: 0182: puts("404 Not Found");putln // debug - !BYTE $2E ; CS - !BYTE $0D - !BYTE $34,$30,$34,$20,$4E,$6F,$74,$20 - !BYTE $46,$6F,$75,$6E,$64 - !BYTE $54 ; CALL _X004 -_F067 !WORD 0 -; samplesrc/httpd.pla: 0183: iNet:sendTCP(socketHTTP, @httpNOTFOUND + 1, httpNOTFOUND) -; samplesrc/httpd.pla: 0184: fin // refnum - !BYTE $54 ; CALL _X003 -_F068 !WORD 0 - !BYTE $6A ; LAW _D032+0 -_F069 !WORD _D032+0 - !BYTE $26 ; LA _D040+1 -_F070 !WORD _D040+1 - !BYTE $68 ; LAB _D040+0 -_F071 !WORD _D040+0 - !BYTE $6A ; LAW _X028+14 -_F072 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B040 -; samplesrc/httpd.pla: 0185: break - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -; samplesrc/httpd.pla: 0186: fin -_B033 -_B034 -; samplesrc/httpd.pla: 0187: next -_B032 - !BYTE $A4 ; INCBRLE _B031 - !WORD _B031-* -_B030 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/httpd.pla: 0188: else - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B026 -; samplesrc/httpd.pla: 0189: iNet:sendTCP(socketHTTP, @httpBAD + 1, httpBAD) -; samplesrc/httpd.pla: 0190: fin - !BYTE $6A ; LAW _D032+0 -_F073 !WORD _D032+0 - !BYTE $26 ; LA _D039+1 -_F074 !WORD _D039+1 - !BYTE $68 ; LAB _D039+0 -_F075 !WORD _D039+0 - !BYTE $6A ; LAW _X028+14 -_F076 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B027 -; samplesrc/httpd.pla: 0191: fin -_B021 -_B022 -; samplesrc/httpd.pla: 0192: socketHTTP = iNet:closeTCP(socketHTTP) -; samplesrc/httpd.pla: 0193: return 0 - !BYTE $6A ; LAW _D032+0 -_F077 !WORD _D032+0 - !BYTE $6A ; LAW _X028+16 -_F078 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D032+0 -_F079 !WORD _D032+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$5C ; LEAVE 92 -; samplesrc/httpd.pla: 0194: end -; samplesrc/httpd.pla: 0195: -; samplesrc/httpd.pla: 0196: if !iNet:initIP() -_INIT -; samplesrc/httpd.pla: 0197: return -1 - !BYTE $6A ; LAW _X028+0 -_F080 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B044 - !WORD _B044-* - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; samplesrc/httpd.pla: 0198: fin -_B044 -_B045 -; samplesrc/httpd.pla: 0199: puts("PLASMA Web Server, Version 1.0\n") - !BYTE $2E ; CS - !BYTE $1F - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$57 - !BYTE $65,$62,$20,$53,$65,$72,$76,$65 - !BYTE $72,$2C,$20,$56,$65,$72,$73,$69 - !BYTE $6F,$6E,$20,$31,$2E,$30,$0D - !BYTE $54 ; CALL _X004 -_F081 !WORD 0 -; samplesrc/httpd.pla: 0200: fileio:getpfx(@prefix) -; samplesrc/httpd.pla: 0201: // -; samplesrc/httpd.pla: 0202: // Alloc aligned file/io buffers -; samplesrc/httpd.pla: 0203: // -; samplesrc/httpd.pla: 0204: filebuff = heapallocalign(1024, 8, 0) -; samplesrc/httpd.pla: 0205: // -; samplesrc/httpd.pla: 0206: // Service IP -; samplesrc/httpd.pla: 0207: // -; samplesrc/httpd.pla: 0208: repeat - !BYTE $26 ; LA _D033+0 -_F082 !WORD _D033+0 - !BYTE $6A ; LAW _X029+0 -_F083 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X013 -_F084 !WORD 0 - !BYTE $7A ; SAW _D034+0 -_F085 !WORD _D034+0 -_B047 -; samplesrc/httpd.pla: 0209: // -; samplesrc/httpd.pla: 0210: // (Re)Open HTTPD port -; samplesrc/httpd.pla: 0211: // -; samplesrc/httpd.pla: 0212: if !socketHTTP -; samplesrc/httpd.pla: 0213: socketHTTP = iNet:listenTCP(80, @servHTTP, 0) -; samplesrc/httpd.pla: 0214: fin - !BYTE $6A ; LAW _D032+0 -_F086 !WORD _D032+0 - !BYTE $4E ; BRTRU _B049 - !WORD _B049-* - !BYTE $2A,$50 ; CB 80 - !BYTE $26 ; LA _C006+0 -_F087 !WORD _C006+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+10 -_F088 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D032+0 -_F089 !WORD _D032+0 -_B049 -_B050 -; samplesrc/httpd.pla: 0215: iNet:serviceIP() -; samplesrc/httpd.pla: 0216: until conio:keypressed() - !BYTE $6A ; LAW _X028+2 -_F090 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B048 - !BYTE $6A ; LAW _X031+0 -_F091 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* -_B046 -; samplesrc/httpd.pla: 0217: -; samplesrc/httpd.pla: 0218: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 8 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 13 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: HEAPALLOCALIGN - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$C3,$C1,$CC,$C9,$C7,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 13 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/int32test.a b/src/samplesrc/int32test.a deleted file mode 100644 index f26ebfc..0000000 --- a/src/samplesrc/int32test.a +++ /dev/null @@ -1,757 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/int32test.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/int32test.pla: 0001: -; samplesrc/int32test.pla: 0002: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X028 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X029 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X030 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X031 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X032 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X033 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X034 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X035 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X036 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X037 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X038 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X039 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X040 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X041 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X042 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X043 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X044 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X045 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X046 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X047 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X048 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X049 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X050 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X051 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X052 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X053 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X054 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X055 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X056 -; inc/int32.plh: 0032: end -; samplesrc/int32test.pla: 0002: -; samplesrc/int32test.pla: 0003: -; samplesrc/int32test.pla: 0004: def testi32#0 - !BYTE $00 ; END OF MODULE DEPENDENCIES - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; testi32() -; samplesrc/int32test.pla: 0005: word il, ih - ; il -> [0] - ; ih -> [2] -; samplesrc/int32test.pla: 0006: res[t_i32] i32 - ; i32 -> [4] -; samplesrc/int32test.pla: 0007: -; samplesrc/int32test.pla: 0008: ih = 0 - !BYTE $58,$08,$00 ; ENTER 8,0 -; samplesrc/int32test.pla: 0009: for il = 0 to 10 - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $14 ; CN 10 - !BYTE $00 ; CN 0 -_B002 - !BYTE $6E,$00 ; DLW [0] -; samplesrc/int32test.pla: 0010: load32(@il) -; samplesrc/int32test.pla: 0011: muli16(10) -; samplesrc/int32test.pla: 0012: divi16(2) -; samplesrc/int32test.pla: 0013: store32(@i32) -; samplesrc/int32test.pla: 0014: puti32(@i32); putln -; samplesrc/int32test.pla: 0015: next - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _X032 -_F000 !WORD 0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X042 -_F001 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X044 -_F002 !WORD 0 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X034 -_F003 !WORD 0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X056 -_F004 !WORD 0 - !BYTE $54 ; CALL _X003 -_F005 !WORD 0 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; samplesrc/int32test.pla: 0016: muli16(-30000) -; samplesrc/int32test.pla: 0017: store32(@i32) -; samplesrc/int32test.pla: 0018: puti32(@i32); putln -; samplesrc/int32test.pla: 0019: loadi16(100) -; samplesrc/int32test.pla: 0020: if islti16(50) -; samplesrc/int32test.pla: 0021: puts("100 < 50\n") - !BYTE $2C,$D0,$8A ; CW -30000 - !BYTE $54 ; CALL _X042 -_F006 !WORD 0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X034 -_F007 !WORD 0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X056 -_F008 !WORD 0 - !BYTE $54 ; CALL _X003 -_F009 !WORD 0 - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X033 -_F010 !WORD 0 - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _X054 -_F011 !WORD 0 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $31,$30,$30,$20,$3C,$20,$35,$30 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F012 !WORD 0 -; samplesrc/int32test.pla: 0022: fin -_B004 -_B005 -; samplesrc/int32test.pla: 0023: if islti16(500) -; samplesrc/int32test.pla: 0024: puts("100 < 500\n") - !BYTE $2C,$F4,$01 ; CW 500 - !BYTE $54 ; CALL _X054 -_F013 !WORD 0 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3C,$20,$35,$30 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 -; samplesrc/int32test.pla: 0025: fin -_B006 -_B007 -; samplesrc/int32test.pla: 0026: if isgti16(50) -; samplesrc/int32test.pla: 0027: puts("100 > 50\n") - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _X052 -_F015 !WORD 0 - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $31,$30,$30,$20,$3E,$20,$35,$30 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -; samplesrc/int32test.pla: 0028: fin -_B008 -_B009 -; samplesrc/int32test.pla: 0029: if isgti16(500) -; samplesrc/int32test.pla: 0030: puts("100 > 500\n") - !BYTE $2C,$F4,$01 ; CW 500 - !BYTE $54 ; CALL _X052 -_F017 !WORD 0 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3E,$20,$35,$30 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 -; samplesrc/int32test.pla: 0031: fin -_B010 -_B011 -; samplesrc/int32test.pla: 0032: if islei16(50) -; samplesrc/int32test.pla: 0033: puts("100 <= 50\n") - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _X050 -_F019 !WORD 0 - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3C,$3D,$20,$35 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -; samplesrc/int32test.pla: 0034: fin -_B012 -_B013 -; samplesrc/int32test.pla: 0035: if islei16(500) -; samplesrc/int32test.pla: 0036: puts("100 <= 500\n") - !BYTE $2C,$F4,$01 ; CW 500 - !BYTE $54 ; CALL _X050 -_F021 !WORD 0 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $31,$30,$30,$20,$3C,$3D,$20,$35 - !BYTE $30,$30,$0D - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -; samplesrc/int32test.pla: 0037: fin -_B014 -_B015 -; samplesrc/int32test.pla: 0038: if isgei16(50) -; samplesrc/int32test.pla: 0039: puts("100 >= 50\n") - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _X048 -_F023 !WORD 0 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3E,$3D,$20,$35 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -; samplesrc/int32test.pla: 0040: fin -_B016 -_B017 -; samplesrc/int32test.pla: 0041: if isgei16(500) -; samplesrc/int32test.pla: 0042: puts("100 >= 500\n") - !BYTE $2C,$F4,$01 ; CW 500 - !BYTE $54 ; CALL _X048 -_F025 !WORD 0 - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $31,$30,$30,$20,$3E,$3D,$20,$35 - !BYTE $30,$30,$0D - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 -; samplesrc/int32test.pla: 0043: fin -_B018 -_B019 -; samplesrc/int32test.pla: 0044: -; samplesrc/int32test.pla: 0045: if islti16(100) -; samplesrc/int32test.pla: 0046: puts("100 < 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X054 -_F027 !WORD 0 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3C,$20,$31,$30 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -; samplesrc/int32test.pla: 0047: fin -_B020 -_B021 -; samplesrc/int32test.pla: 0048: if islti16(100) -; samplesrc/int32test.pla: 0049: puts("100 < 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X054 -_F029 !WORD 0 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3C,$20,$31,$30 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -; samplesrc/int32test.pla: 0050: fin -_B022 -_B023 -; samplesrc/int32test.pla: 0051: if isgti16(100) -; samplesrc/int32test.pla: 0052: puts("100 > 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X052 -_F031 !WORD 0 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3E,$20,$31,$30 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F032 !WORD 0 -; samplesrc/int32test.pla: 0053: fin -_B024 -_B025 -; samplesrc/int32test.pla: 0054: if isgti16(100) -; samplesrc/int32test.pla: 0055: puts("100 > 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X052 -_F033 !WORD 0 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $31,$30,$30,$20,$3E,$20,$31,$30 - !BYTE $30,$0D - !BYTE $54 ; CALL _X004 -_F034 !WORD 0 -; samplesrc/int32test.pla: 0056: fin -_B026 -_B027 -; samplesrc/int32test.pla: 0057: if islei16(100) -; samplesrc/int32test.pla: 0058: puts("100 <= 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X050 -_F035 !WORD 0 - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $31,$30,$30,$20,$3C,$3D,$20,$31 - !BYTE $30,$30,$0D - !BYTE $54 ; CALL _X004 -_F036 !WORD 0 -; samplesrc/int32test.pla: 0059: fin -_B028 -_B029 -; samplesrc/int32test.pla: 0060: if islei16(100) -; samplesrc/int32test.pla: 0061: puts("100 <= 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X050 -_F037 !WORD 0 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $31,$30,$30,$20,$3C,$3D,$20,$31 - !BYTE $30,$30,$0D - !BYTE $54 ; CALL _X004 -_F038 !WORD 0 -; samplesrc/int32test.pla: 0062: fin -_B030 -_B031 -; samplesrc/int32test.pla: 0063: if isgei16(100) -; samplesrc/int32test.pla: 0064: puts("100 >= 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X048 -_F039 !WORD 0 - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $31,$30,$30,$20,$3E,$3D,$20,$31 - !BYTE $30,$30,$0D - !BYTE $54 ; CALL _X004 -_F040 !WORD 0 -; samplesrc/int32test.pla: 0065: fin -_B032 -_B033 -; samplesrc/int32test.pla: 0066: if isgei16(100) -; samplesrc/int32test.pla: 0067: puts("100 >= 100\n") - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X048 -_F041 !WORD 0 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $31,$30,$30,$20,$3E,$3D,$20,$31 - !BYTE $30,$30,$0D - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 -; samplesrc/int32test.pla: 0068: fin -_B034 -_B035 -; samplesrc/int32test.pla: 0069: end - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/int32test.pla: 0070: -; samplesrc/int32test.pla: 0071: testi32 -_INIT -; samplesrc/int32test.pla: 0072: done - !BYTE $54 ; CALL _C000 -_F043 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 44 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 56 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 56 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: LOAD32 - !BYTE $CC,$CF,$C1,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: LOADI16 - !BYTE $CC,$CF,$C1,$C4,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: MULI16 - !BYTE $CD,$D5,$CC,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - ; DCI STRING: DIVI16 - !BYTE $C4,$C9,$D6,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 44 ; ESD INDEX - ; DCI STRING: ISGEI16 - !BYTE $C9,$D3,$C7,$C5,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 48 ; ESD INDEX - ; DCI STRING: ISLEI16 - !BYTE $C9,$D3,$CC,$C5,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 50 ; ESD INDEX - ; DCI STRING: ISGTI16 - !BYTE $C9,$D3,$C7,$D4,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 52 ; ESD INDEX - ; DCI STRING: ISLTI16 - !BYTE $C9,$D3,$CC,$D4,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 54 ; ESD INDEX - ; DCI STRING: PUTI32 - !BYTE $D0,$D5,$D4,$C9,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 56 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/maze.a b/src/samplesrc/maze.a deleted file mode 100644 index 434559c..0000000 --- a/src/samplesrc/maze.a +++ /dev/null @@ -1,3671 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/maze.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/maze.pla: 0001: -; samplesrc/maze.pla: 0002: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X028 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/maze.pla: 0002: -; samplesrc/maze.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X029 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X030 - ; ARGNEXT -> X031 -; inc/args.plh: 0003: end -; samplesrc/maze.pla: 0003: -; samplesrc/maze.pla: 0004: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X032 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X033 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X034 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X035 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X036 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X037 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X038 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X039 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X040 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X041 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X042 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X043 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X044 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X045 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X046 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X047 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X048 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X049 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X050 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X051 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X052 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X053 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X054 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X055 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X056 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X057 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X058 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X059 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X060 -; inc/int32.plh: 0032: end -; samplesrc/maze.pla: 0004: -; samplesrc/maze.pla: 0005: include "inc/hgrlib.plh" -; inc/hgrlib.plh: 0001: import hgrlib - ; DCI STRING: HGRLIB - !BYTE $C8,$C7,$D2,$CC,$C9,$42 - ; HGRLIB -> X061 -; inc/hgrlib.plh: 0002: predef divmod7(x)#2 - ; DIVMOD7 -> X062 -; inc/hgrlib.plh: 0003: predef hgrPlot(x, y)#0 - ; HGRPLOT -> X063 -; inc/hgrlib.plh: 0004: predef hgrOrPlot(x, y)#0 - ; HGRORPLOT -> X064 -; inc/hgrlib.plh: 0005: predef hgrXorPlot(x, y)#0 - ; HGRXORPLOT -> X065 -; inc/hgrlib.plh: 0006: predef hgrHLin(x1, x2, y)#0 - ; HGRHLIN -> X066 -; inc/hgrlib.plh: 0007: predef hgrVLin(y1, y2, x)#0 - ; HGRVLIN -> X067 -; inc/hgrlib.plh: 0008: predef hgrXorHLin(x1, x2, y)#0 - ; HGRXORHLIN -> X068 -; inc/hgrlib.plh: 0009: predef hgrXorVLin(y1, y2, x)#0 - ; HGRXORVLIN -> X069 -; inc/hgrlib.plh: 0010: predef hgrRect(x1, y1, x2, y2)#0 - ; HGRRECT -> X070 -; inc/hgrlib.plh: 0011: predef hgrXorRect(x1, y1, x2, y2)#0 - ; HGRXORRECT -> X071 -; inc/hgrlib.plh: 0012: predef hgrBLT(x, y, width, height, srcptr)#0 - ; HGRBLT -> X072 -; inc/hgrlib.plh: 0013: predef hgrCopySrc(ofst, y, w, h, srcptr)#0 - ; HGRCOPYSRC -> X073 -; inc/hgrlib.plh: 0014: predef hgrAndSrc(ofst, y, w, h, srcptr)#0 - ; HGRANDSRC -> X074 -; inc/hgrlib.plh: 0015: predef hgrXorSrc(ofst, y, w, h, srcptr)#0 - ; HGRXORSRC -> X075 -; inc/hgrlib.plh: 0016: predef hgrOrSrc(ofst, y, w, h, srcptr)#0 - ; HGRORSRC -> X076 -; inc/hgrlib.plh: 0017: predef hgrCopyDst(ofst, y, w, h, dstptr)#0 - ; HGRCOPYDST -> X077 -; inc/hgrlib.plh: 0018: predef hgrMode(mode)#1 - ; HGRMODE -> X078 -; inc/hgrlib.plh: 0019: predef hgrClear#0 - ; HGRCLEAR -> X079 -; inc/hgrlib.plh: 0020: predef hgrShow(page)#1 - ; HGRSHOW -> X080 -; inc/hgrlib.plh: 0021: predef hgrSwap#1 - ; HGRSWAP -> X081 -; inc/hgrlib.plh: 0022: predef hgrDrawBuf(page)#1 - ; HGRDRAWBUF -> X082 -; inc/hgrlib.plh: 0023: predef hgrColor(clr)#0 - ; HGRCOLOR -> X083 -; inc/hgrlib.plh: 0024: const hgrPage1 = 0 - ; hgrPage1 = 0 -; inc/hgrlib.plh: 0025: const hgrPage2 = 1 - ; hgrPage2 = 1 -; inc/hgrlib.plh: 0026: const hgrOff = -1 - ; hgrOff = -1 -; inc/hgrlib.plh: 0027: end -; samplesrc/maze.pla: 0005: -; samplesrc/maze.pla: 0006: include "inc/hgrtile.plh" -; inc/hgrtile.plh: 0001: import hgrtile - ; DCI STRING: HGRTILE - !BYTE $C8,$C7,$D2,$D4,$C9,$CC,$45 - ; HGRTILE -> X084 -; inc/hgrtile.plh: 0002: predef tileDraw(x, y, tileptr)#0 - ; TILEDRAW -> X085 -; inc/hgrtile.plh: 0003: predef tileXorDraw(x, y, tileptr)#0 - ; TILEXORDRAW -> X086 -; inc/hgrtile.plh: 0004: predef tileOrDraw(x, y, tileptr)#0 - ; TILEORDRAW -> X087 -; inc/hgrtile.plh: 0005: predef tileAndDraw(x, y, tileptr)#0 - ; TILEANDDRAW -> X088 -; inc/hgrtile.plh: 0006: predef tileDrawStr(x, y, strptr, strlen, tileset)#0 - ; TILEDRAWSTR -> X089 -; inc/hgrtile.plh: 0007: predef tileFromText(txtpage, tileset)#0 - ; TILEFROMTEXT -> X090 -; inc/hgrtile.plh: 0008: predef tileDrawBuf(page)#1 - ; TILEDRAWBUF -> X091 -; inc/hgrtile.plh: 0009: end -; samplesrc/maze.pla: 0006: -; samplesrc/maze.pla: 0007: sysflags reshgr1 // Reserve HGR page 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0010 ; SYSTEM FLAGS -; samplesrc/maze.pla: 0008: -; samplesrc/maze.pla: 0009: const rndnum = $4E // ZP location of RND - ; rndnum = 78 -; samplesrc/maze.pla: 0010: const WALL_NONE = 0 - ; WALL_NONE = 0 -; samplesrc/maze.pla: 0011: const WALL_TOP = 1 - ; WALL_TOP = 1 -; samplesrc/maze.pla: 0012: const WALL_LEFT = 2 - ; WALL_LEFT = 2 -; samplesrc/maze.pla: 0013: const DIR_UP = 1 - ; DIR_UP = 1 -; samplesrc/maze.pla: 0014: const DIR_LEFT = 2 - ; DIR_LEFT = 2 -; samplesrc/maze.pla: 0015: const DIR_DOWN = 4 - ; DIR_DOWN = 4 -; samplesrc/maze.pla: 0016: const DIR_RIGHT = 8 - ; DIR_RIGHT = 8 -; samplesrc/maze.pla: 0017: const CELL_TRACED = 16 - ; CELL_TRACED = 16 -; samplesrc/maze.pla: 0018: const CELL_SOLVED = 32 - ; CELL_SOLVED = 32 -; samplesrc/maze.pla: 0019: const CELL_VISITED = 4 - ; CELL_VISITED = 4 -; samplesrc/maze.pla: 0020: const SEEN_TOP = 8 - ; SEEN_TOP = 8 -; samplesrc/maze.pla: 0021: const SEEN_LEFT = 16 - ; SEEN_LEFT = 16 -; samplesrc/maze.pla: 0022: const CELL_SEEN = 32 - ; CELL_SEEN = 32 -; samplesrc/maze.pla: 0023: const MAZE_WIDTH = 39 - ; MAZE_WIDTH = 39 -; samplesrc/maze.pla: 0024: const MAZE_HEIGHT = 23 - ; MAZE_HEIGHT = 23 -; samplesrc/maze.pla: 0025: const PLAYER = 8*8 - ; PLAYER = 64 -; samplesrc/maze.pla: 0026: //const CRUMB = 5*8 -; samplesrc/maze.pla: 0027: -; samplesrc/maze.pla: 0028: byte mazeTileSet = $00, $00, $00, $00, $00, $00, $00, $00 // No walls -_D092 ; mazeTileSet = $00, $00, $00, $00, $00, $00, $00, $00 // No walls - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; samplesrc/maze.pla: 0029: byte = $7F, $00, $00, $00, $00, $00, $00, $00 // Top wall - !BYTE $7F - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; samplesrc/maze.pla: 0030: byte = $03, $03, $03, $03, $03, $03, $03, $03 // Left wall - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 -; samplesrc/maze.pla: 0031: byte = $7F, $03, $03, $03, $03, $03, $03, $03 // Top & Left walls - !BYTE $7F - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 -; samplesrc/maze.pla: 0032: byte = $00, $00, $00, $00, $08, $00, $00, $00 // No walls + crumb - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; samplesrc/maze.pla: 0033: byte = $7F, $00, $00, $00, $08, $00, $00, $00 // Top wall + crumb - !BYTE $7F - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; samplesrc/maze.pla: 0034: byte = $03, $03, $03, $03, $0B, $03, $03, $03 // Left wall + crumb - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $0B - !BYTE $03 - !BYTE $03 - !BYTE $03 -; samplesrc/maze.pla: 0035: byte = $7F, $03, $03, $03, $0B, $03, $03, $03 // Top & Left walls + crumb - !BYTE $7F - !BYTE $03 - !BYTE $03 - !BYTE $03 - !BYTE $0B - !BYTE $03 - !BYTE $03 - !BYTE $03 -; samplesrc/maze.pla: 0036: byte = $00, $00, $10, $54, $54, $54, $10, $00 // Player - !BYTE $00 - !BYTE $00 - !BYTE $10 - !BYTE $54 - !BYTE $54 - !BYTE $54 - !BYTE $10 - !BYTE $00 -; samplesrc/maze.pla: 0037: //byte = $00, $00, $00, $00, $08, $00, $00, $00 // Bread crumb -; samplesrc/maze.pla: 0038: -; samplesrc/maze.pla: 0039: word maze[] = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 -_D093 ; maze[] = $0400,$0480,$0500,$0580,$0600,$0680,$0700,$0780 - !WORD $0400 - !WORD $0480 - !WORD $0500 - !WORD $0580 - !WORD $0600 - !WORD $0680 - !WORD $0700 - !WORD $0780 -; samplesrc/maze.pla: 0040: word = $0428,$04A8,$0528,$05A8,$0628,$06A8,$0728,$07A8 - !WORD $0428 - !WORD $04A8 - !WORD $0528 - !WORD $05A8 - !WORD $0628 - !WORD $06A8 - !WORD $0728 - !WORD $07A8 -; samplesrc/maze.pla: 0041: word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0 - !WORD $0450 - !WORD $04D0 - !WORD $0550 - !WORD $05D0 - !WORD $0650 - !WORD $06D0 - !WORD $0750 - !WORD $07D0 -; samplesrc/maze.pla: 0042: -; samplesrc/maze.pla: 0043: word arg, seed, moveCnt -_D094 !FILL 2 ; arg, seed, moveCnt -_D095 !FILL 2 ; seed, moveCnt -_D096 !FILL 2 ; moveCnt -; samplesrc/maze.pla: 0044: byte entry, exit, solved -_D097 !FILL 1 ; entry, exit, solved -_D098 !FILL 1 ; exit, solved -_D099 !FILL 1 ; solved -; samplesrc/maze.pla: 0045: byte viewFlag = TRUE -_D100 ; viewFlag = TRUE - !BYTE $FF -; samplesrc/maze.pla: 0046: res[4] tics -_D101 !FILL 4 ; tics -; samplesrc/maze.pla: 0047: -; samplesrc/maze.pla: 0048: def cellSetFlags(x, y, flags)#0 -_SUBSEG ; BYTECODE STARTS - ; x -> [0] - ; y -> [2] - ; flags -> [4] -_C000 ; cellSetFlags() -; samplesrc/maze.pla: 0049: maze.[y, x] = maze.[y, x] | flags - !BYTE $58,$06,$03 ; ENTER 6,3 -; samplesrc/maze.pla: 0050: end - !BYTE $26 ; LA _D093+0 -_F000 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $96 ; OR - !BYTE $26 ; LA _D093+0 -_F001 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/maze.pla: 0051: -; samplesrc/maze.pla: 0052: def cellClearFlags(x, y, flags)#0 - ; x -> [0] - ; y -> [2] - ; flags -> [4] -_C001 ; cellClearFlags() -; samplesrc/maze.pla: 0053: maze.[y, x] = maze.[y, x] & ~flags - !BYTE $58,$06,$03 ; ENTER 6,3 -; samplesrc/maze.pla: 0054: end - !BYTE $26 ; LA _D093+0 -_F002 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $92 ; COMP - !BYTE $94 ; AND - !BYTE $26 ; LA _D093+0 -_F003 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/maze.pla: 0055: -; samplesrc/maze.pla: 0056: def branchUp(x, y) - ; x -> [0] - ; y -> [2] -_C002 ; branchUp() -; samplesrc/maze.pla: 0057: byte flags - ; flags -> [4] -; samplesrc/maze.pla: 0058: -; samplesrc/maze.pla: 0059: if y > 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; samplesrc/maze.pla: 0060: flags = maze.[y - 1, x] -; samplesrc/maze.pla: 0061: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0062: cellClearFlags(x, y, WALL_TOP) -; samplesrc/maze.pla: 0063: tileDraw(x, y, @mazeTileSet + 8 * (maze.[y, x] & 3)) -; samplesrc/maze.pla: 0064: return TRUE - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $26 ; LA _D093+0 -_F004 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B003 - !WORD _B003-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B003 - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C001 -_F005 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F006 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F007 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$03 ; ANDI 3 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F008 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0065: fin -_B004 -_B005 -; samplesrc/maze.pla: 0066: fin -_B001 -_B002 -; samplesrc/maze.pla: 0067: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0068: end -; samplesrc/maze.pla: 0069: -; samplesrc/maze.pla: 0070: def branchLeft(x, y) - ; x -> [0] - ; y -> [2] -_C003 ; branchLeft() -; samplesrc/maze.pla: 0071: byte flags - ; flags -> [4] -; samplesrc/maze.pla: 0072: -; samplesrc/maze.pla: 0073: if x > 0 - !BYTE $58,$05,$02 ; ENTER 5,2 -; samplesrc/maze.pla: 0074: flags = maze.[y, x - 1] -; samplesrc/maze.pla: 0075: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0076: cellClearFlags(x, y, WALL_LEFT) -; samplesrc/maze.pla: 0077: tileDraw(x, y, @mazeTileSet + 8 * (maze.[y, x] & 3)) -; samplesrc/maze.pla: 0078: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $26 ; LA _D093+0 -_F009 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B008 - !WORD _B008-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B008 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C001 -_F010 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F011 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F012 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$03 ; ANDI 3 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F013 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0079: fin -_B009 -_B010 -; samplesrc/maze.pla: 0080: fin -_B006 -_B007 -; samplesrc/maze.pla: 0081: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0082: end -; samplesrc/maze.pla: 0083: -; samplesrc/maze.pla: 0084: def branchDown(x, y) - ; x -> [0] - ; y -> [2] -_C004 ; branchDown() -; samplesrc/maze.pla: 0085: byte flags - ; flags -> [4] -; samplesrc/maze.pla: 0086: -; samplesrc/maze.pla: 0087: if y < MAZE_HEIGHT-1 - !BYTE $58,$05,$02 ; ENTER 5,2 -; samplesrc/maze.pla: 0088: flags = maze.[y + 1, x] -; samplesrc/maze.pla: 0089: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0090: cellClearFlags(x, y + 1, WALL_TOP) -; samplesrc/maze.pla: 0091: tileDraw(x, y + 1, @mazeTileSet + 8 * (maze.[y + 1, x] & 3)) -; samplesrc/maze.pla: 0092: return TRUE - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$16 ; CB 22 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $26 ; LA _D093+0 -_F014 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B013 - !WORD _B013-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B013 - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C001 -_F015 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $26 ; LA _D092+0 -_F016 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F017 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$03 ; ANDI 3 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F018 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0093: fin -_B014 -_B015 -; samplesrc/maze.pla: 0094: fin -_B011 -_B012 -; samplesrc/maze.pla: 0095: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0096: end -; samplesrc/maze.pla: 0097: -; samplesrc/maze.pla: 0098: def branchRight(x, y) - ; x -> [0] - ; y -> [2] -_C005 ; branchRight() -; samplesrc/maze.pla: 0099: byte flags - ; flags -> [4] -; samplesrc/maze.pla: 0100: -; samplesrc/maze.pla: 0101: if x < MAZE_WIDTH-1 - !BYTE $58,$05,$02 ; ENTER 5,2 -; samplesrc/maze.pla: 0102: flags = maze.[y, x + 1] -; samplesrc/maze.pla: 0103: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0104: cellClearFlags(x + 1, y, WALL_LEFT) -; samplesrc/maze.pla: 0105: tileDraw(x + 1, y, @mazeTileSet + 8 * (maze.[y, x + 1] & 3)) -; samplesrc/maze.pla: 0106: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$26 ; CB 38 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $26 ; LA _D093+0 -_F019 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B018 - !WORD _B018-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B018 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C001 -_F020 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F021 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F022 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $3C,$03 ; ANDI 3 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F023 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0107: fin -_B019 -_B020 -; samplesrc/maze.pla: 0108: fin -_B016 -_B017 -; samplesrc/maze.pla: 0109: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0110: end -; samplesrc/maze.pla: 0111: -; samplesrc/maze.pla: 0112: def branchNew(x, y) - ; x -> [0] - ; y -> [2] -_C006 ; branchNew() -; samplesrc/maze.pla: 0113: byte flags, dir, cnt - ; flags -> [4] - ; dir -> [5] - ; cnt -> [6] -; samplesrc/maze.pla: 0114: -; samplesrc/maze.pla: 0115: cnt = 0 - !BYTE $58,$07,$02 ; ENTER 7,2 -; samplesrc/maze.pla: 0116: dir = 1 << (conio:rnd() & 3) -; samplesrc/maze.pla: 0117: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+24 -_F024 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9A ; SHL - !BYTE $74,$05 ; SLB [5] -_B022 -; samplesrc/maze.pla: 0118: when dir - !BYTE $64,$05 ; LLB [5] - !BYTE $52 ; SEL - !WORD _B025-* -; samplesrc/maze.pla: 0119: is DIR_UP -_B026 -; samplesrc/maze.pla: 0120: if y > 0 -; samplesrc/maze.pla: 0121: flags = maze.[y - 1, x] -; samplesrc/maze.pla: 0122: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0123: return DIR_UP - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $26 ; LA _D093+0 -_F025 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B029 - !WORD _B029-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B029 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $02 ; CN 1 - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/maze.pla: 0124: fin -_B030 -_B031 -; samplesrc/maze.pla: 0125: fin -_B027 -_B028 -; samplesrc/maze.pla: 0126: dir = DIR_DOWN -; samplesrc/maze.pla: 0127: cnt++ - !BYTE $08 ; CN 4 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0128: break - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; samplesrc/maze.pla: 0129: is DIR_LEFT -_B032 -; samplesrc/maze.pla: 0130: if x > 0 -; samplesrc/maze.pla: 0131: flags = maze.[y, x - 1] -; samplesrc/maze.pla: 0132: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0133: return DIR_LEFT - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $26 ; LA _D093+0 -_F026 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B035 - !WORD _B035-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B035 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $04 ; CN 2 - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/maze.pla: 0134: fin -_B036 -_B037 -; samplesrc/maze.pla: 0135: fin -_B033 -_B034 -; samplesrc/maze.pla: 0136: dir = DIR_RIGHT -; samplesrc/maze.pla: 0137: cnt++ - !BYTE $10 ; CN 8 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0138: break - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; samplesrc/maze.pla: 0139: is DIR_DOWN -_B038 -; samplesrc/maze.pla: 0140: if y < MAZE_HEIGHT-1 -; samplesrc/maze.pla: 0141: flags = maze.[y + 1, x] -; samplesrc/maze.pla: 0142: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0143: return DIR_DOWN - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$16 ; CB 22 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $26 ; LA _D093+0 -_F027 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B041 - !WORD _B041-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B041 - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $08 ; CN 4 - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/maze.pla: 0144: fin -_B042 -_B043 -; samplesrc/maze.pla: 0145: fin -_B039 -_B040 -; samplesrc/maze.pla: 0146: dir = DIR_LEFT -; samplesrc/maze.pla: 0147: cnt++ - !BYTE $04 ; CN 2 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0148: break - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; samplesrc/maze.pla: 0149: is DIR_RIGHT -_B044 -; samplesrc/maze.pla: 0150: if x < MAZE_WIDTH-1 -; samplesrc/maze.pla: 0151: flags = maze.[y, x + 1] -; samplesrc/maze.pla: 0152: if (flags & CELL_SOLVED) or !(flags & CELL_TRACED) -; samplesrc/maze.pla: 0153: return DIR_RIGHT - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$26 ; CB 38 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B045 - !WORD _B045-* - !BYTE $26 ; LA _D093+0 -_F028 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $AE ; BROR _B047 - !WORD _B047-* - !BYTE $64,$04 ; LLB [4] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $80 ; NOT -_B047 - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $10 ; CN 8 - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/maze.pla: 0154: fin -_B048 -_B049 -; samplesrc/maze.pla: 0155: fin -_B045 -_B046 -; samplesrc/maze.pla: 0156: dir = DIR_UP -; samplesrc/maze.pla: 0157: cnt++ - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0158: break - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; samplesrc/maze.pla: 0159: wend - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B025 - !BYTE $04 ; CASEBLOCK - !WORD $0001 - !WORD _B026-* - !WORD $0002 - !WORD _B032-* - !WORD $0004 - !WORD _B038-* - !WORD $0008 - !WORD _B044-* -_B024 -; samplesrc/maze.pla: 0160: until cnt > 3 -_B023 - !BYTE $64,$06 ; LLB [6] - !BYTE $06 ; CN 3 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* -_B021 -; samplesrc/maze.pla: 0161: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/maze.pla: 0162: end -; samplesrc/maze.pla: 0163: -; samplesrc/maze.pla: 0164: def cellSolve(x, y)#0 - ; x -> [0] - ; y -> [2] -_C007 ; cellSolve() -; samplesrc/maze.pla: 0165: byte flags, moveDir, searchCnt - ; flags -> [4] - ; moveDir -> [5] - ; searchCnt -> [6] -; samplesrc/maze.pla: 0166: word traceStart, traceEnd, traceLast, traceBack - ; traceStart -> [7] - ; traceEnd -> [9] - ; traceLast -> [11] - ; traceBack -> [13] -; samplesrc/maze.pla: 0167: -; samplesrc/maze.pla: 0168: traceStart = heapmark - !BYTE $58,$0F,$02 ; ENTER 15,2 -; samplesrc/maze.pla: 0169: traceLast = traceStart -; samplesrc/maze.pla: 0170: searchCnt = 0 -; samplesrc/maze.pla: 0171: while !(maze.[y, x] & CELL_SOLVED) - !BYTE $54 ; CALL _X012 -_F029 !WORD 0 - !BYTE $6E,$07 ; DLW [7] - !BYTE $76,$0B ; SLW [11] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B052 - !WORD _B052-* -_B050 -; samplesrc/maze.pla: 0172: if searchCnt == 0 -; samplesrc/maze.pla: 0173: cellSetFlags(x, y, CELL_TRACED) -; samplesrc/maze.pla: 0174: traceEnd = heapalloc(2) -; samplesrc/maze.pla: 0175: *traceEnd = x | (y << 8) -; samplesrc/maze.pla: 0176: moveDir = 1 << (conio:rnd() & 3) -; samplesrc/maze.pla: 0177: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $4E ; BRTRU _B053 - !WORD _B053-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C000 -_F030 !WORD _C000 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X014 -_F031 !WORD 0 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$09 ; LLW [9] - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+24 -_F032 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$03 ; ANDI 3 - !BYTE $9A ; SHL - !BYTE $74,$05 ; SLB [5] -_B053 -_B054 -; samplesrc/maze.pla: 0178: // -; samplesrc/maze.pla: 0179: // Look for a possible direction to move -; samplesrc/maze.pla: 0180: // -; samplesrc/maze.pla: 0181: when moveDir - !BYTE $64,$05 ; LLB [5] - !BYTE $52 ; SEL - !WORD _B056-* -; samplesrc/maze.pla: 0182: is DIR_UP -_B057 -; samplesrc/maze.pla: 0183: if branchUp(x, y) -; samplesrc/maze.pla: 0184: searchCnt = 0 -; samplesrc/maze.pla: 0185: y-- - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F033 !WORD _C002 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0186: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B059 - !WORD _B059-* -_B058 -; samplesrc/maze.pla: 0187: searchCnt++ - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0188: moveDir = DIR_DOWN -; samplesrc/maze.pla: 0189: fin - !BYTE $74,$06 ; SLB [6] - !BYTE $08 ; CN 4 - !BYTE $74,$05 ; SLB [5] -_B059 -; samplesrc/maze.pla: 0190: break - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -; samplesrc/maze.pla: 0191: is DIR_LEFT -_B060 -; samplesrc/maze.pla: 0192: if branchLeft(x, y) -; samplesrc/maze.pla: 0193: searchCnt = 0 -; samplesrc/maze.pla: 0194: x-- - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F034 !WORD _C003 - !BYTE $4C ; BRFLS _B061 - !WORD _B061-* - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0195: else - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B061 -; samplesrc/maze.pla: 0196: searchCnt++ - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0197: moveDir = DIR_RIGHT -; samplesrc/maze.pla: 0198: fin - !BYTE $74,$06 ; SLB [6] - !BYTE $10 ; CN 8 - !BYTE $74,$05 ; SLB [5] -_B062 -; samplesrc/maze.pla: 0199: break - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -; samplesrc/maze.pla: 0200: is DIR_DOWN -_B063 -; samplesrc/maze.pla: 0201: if branchDown(x, y) -; samplesrc/maze.pla: 0202: searchCnt = 0 -; samplesrc/maze.pla: 0203: y++ - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F035 !WORD _C004 - !BYTE $4C ; BRFLS _B064 - !WORD _B064-* - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0204: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B064 -; samplesrc/maze.pla: 0205: searchCnt++ - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0206: moveDir = DIR_LEFT -; samplesrc/maze.pla: 0207: fin - !BYTE $74,$06 ; SLB [6] - !BYTE $04 ; CN 2 - !BYTE $74,$05 ; SLB [5] -_B065 -; samplesrc/maze.pla: 0208: break - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -; samplesrc/maze.pla: 0209: is DIR_RIGHT -_B066 -; samplesrc/maze.pla: 0210: if branchRight(x, y) -; samplesrc/maze.pla: 0211: searchCnt = 0 -; samplesrc/maze.pla: 0212: x++ - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C005 -_F036 !WORD _C005 - !BYTE $4C ; BRFLS _B067 - !WORD _B067-* - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0213: else - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B068 - !WORD _B068-* -_B067 -; samplesrc/maze.pla: 0214: searchCnt++ - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0215: moveDir = DIR_UP -; samplesrc/maze.pla: 0216: fin - !BYTE $74,$06 ; SLB [6] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] -_B068 -; samplesrc/maze.pla: 0217: break - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -; samplesrc/maze.pla: 0218: otherwise -_B056 - !BYTE $04 ; CASEBLOCK - !WORD $0001 - !WORD _B057-* - !WORD $0002 - !WORD _B060-* - !WORD $0004 - !WORD _B063-* - !WORD $0008 - !WORD _B066-* -; samplesrc/maze.pla: 0219: // -; samplesrc/maze.pla: 0220: // Shouldn't happen -; samplesrc/maze.pla: 0221: // -; samplesrc/maze.pla: 0222: heaprelease(traceStart) -; samplesrc/maze.pla: 0223: return - !BYTE $66,$07 ; LLW [7] - !BYTE $54 ; CALL _X015 -_F037 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/maze.pla: 0224: wend -_B055 -; samplesrc/maze.pla: 0225: if searchCnt > 3 -; samplesrc/maze.pla: 0226: // -; samplesrc/maze.pla: 0227: // Dead end - restart and try new branch -; samplesrc/maze.pla: 0228: // -; samplesrc/maze.pla: 0229: moveDir = 0 -; samplesrc/maze.pla: 0230: traceBack = traceLast -; samplesrc/maze.pla: 0231: repeat - !BYTE $64,$06 ; LLB [6] - !BYTE $06 ; CN 3 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$0B ; LLW [11] - !BYTE $76,$0D ; SLW [13] -_B072 -; samplesrc/maze.pla: 0232: x = traceBack->0 -; samplesrc/maze.pla: 0233: y = traceBack->1 -; samplesrc/maze.pla: 0234: traceBack = traceBack + 2 -; samplesrc/maze.pla: 0235: moveDir = branchNew(x, y) -; samplesrc/maze.pla: 0236: until moveDir or traceBack == traceStart - !BYTE $66,$0D ; LLW [13] - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$0D ; LLW [13] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0D ; LLW [13] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0D ; SLW [13] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C006 -_F038 !WORD _C006 - !BYTE $74,$05 ; SLB [5] -_B073 - !BYTE $64,$05 ; LLB [5] - !BYTE $AE ; BROR _B074 - !WORD _B074-* - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$07 ; LLW [7] - !BYTE $40 ; ISEQ -_B074 - !BYTE $4C ; BRFLS _B072 - !WORD _B072-* -_B071 -; samplesrc/maze.pla: 0237: if not moveDir -; samplesrc/maze.pla: 0238: // -; samplesrc/maze.pla: 0239: // Shouldn't happen -; samplesrc/maze.pla: 0240: // -; samplesrc/maze.pla: 0241: heaprelease(traceStart) -; samplesrc/maze.pla: 0242: return - !BYTE $64,$05 ; LLB [5] - !BYTE $4E ; BRTRU _B075 - !WORD _B075-* - !BYTE $66,$07 ; LLW [7] - !BYTE $54 ; CALL _X015 -_F039 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/maze.pla: 0243: fin -_B075 -_B076 -; samplesrc/maze.pla: 0244: traceLast = traceBack -; samplesrc/maze.pla: 0245: fin - !BYTE $66,$0D ; LLW [13] - !BYTE $76,$0B ; SLW [11] -_B069 -_B070 -; samplesrc/maze.pla: 0246: loop -_B052 - !BYTE $26 ; LA _D093+0 -_F040 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* -_B051 -; samplesrc/maze.pla: 0247: // -; samplesrc/maze.pla: 0248: // Mark all traced cells as solved -; samplesrc/maze.pla: 0249: // -; samplesrc/maze.pla: 0250: traceBack = traceEnd + 2 -; samplesrc/maze.pla: 0251: repeat - !BYTE $66,$09 ; LLW [9] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0D ; SLW [13] -_B078 -; samplesrc/maze.pla: 0252: traceBack = traceBack - 2 -; samplesrc/maze.pla: 0253: cellSetFlags(traceBack->0, traceBack->1, CELL_SOLVED) -; samplesrc/maze.pla: 0254: until traceBack == traceStart - !BYTE $66,$0D ; LLW [13] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $6E,$0D ; DLW [13] - !BYTE $60 ; LB - !BYTE $66,$0D ; LLW [13] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C000 -_F041 !WORD _C000 -_B079 - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$07 ; LLW [7] - !BYTE $24 ; BRNE _B078 - !WORD _B078-* -_B077 -; samplesrc/maze.pla: 0255: heaprelease(traceStart) -; samplesrc/maze.pla: 0256: end - !BYTE $66,$07 ; LLW [7] - !BYTE $54 ; CALL _X015 -_F042 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$0F ; LEAVE 15 -; samplesrc/maze.pla: 0257: -; samplesrc/maze.pla: 0258: def cellVis(x, y, dir)#0 - ; x -> [0] - ; y -> [2] - ; dir -> [4] -_C008 ; cellVis() -; samplesrc/maze.pla: 0259: if not (maze.[y, x] & CELL_SEEN) - !BYTE $58,$06,$03 ; ENTER 6,3 -; samplesrc/maze.pla: 0260: if (dir & DIR_RIGHT) and (maze.[y, x] & WALL_LEFT) -; samplesrc/maze.pla: 0261: cellSetFlags(x, y, SEEN_LEFT) -; samplesrc/maze.pla: 0262: tileDraw(x, y, @mazeTileSet + 8 * ((maze.[y, x] & (maze.[y, x] >> 3)) & 7)) -; samplesrc/maze.pla: 0263: return - !BYTE $26 ; LA _D093+0 -_F043 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4E ; BRTRU _B080 - !WORD _B080-* - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $AC ; BRAND _B082 - !WORD _B082-* - !BYTE $26 ; LA _D093+0 -_F044 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 -_B082 - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C000 -_F045 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F046 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F047 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $26 ; LA _D093+0 -_F048 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $94 ; AND - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F049 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/maze.pla: 0264: fin -_B083 -_B084 -; samplesrc/maze.pla: 0265: if (dir & DIR_DOWN) and (maze.[y, x] & WALL_TOP) -; samplesrc/maze.pla: 0266: cellSetFlags(x, y, SEEN_TOP) -; samplesrc/maze.pla: 0267: tileDraw(x, y, @mazeTileSet + 8 * ((maze.[y, x] & (maze.[y, x] >> 3)) & 7)) -; samplesrc/maze.pla: 0268: return - !BYTE $66,$04 ; LLW [4] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $AC ; BRAND _B085 - !WORD _B085-* - !BYTE $26 ; LA _D093+0 -_F050 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 -_B085 - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _C000 -_F051 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F052 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F053 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $26 ; LA _D093+0 -_F054 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $94 ; AND - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F055 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/maze.pla: 0269: fin -_B086 -_B087 -; samplesrc/maze.pla: 0270: cellSetFlags(x, y, CELL_SEEN | SEEN_TOP | SEEN_LEFT) -; samplesrc/maze.pla: 0271: tileDraw(x, y, @mazeTileSet + 8 * (maze.[y, x] & 7)) -; samplesrc/maze.pla: 0272: if maze.[y, x + 1] & WALL_LEFT -; samplesrc/maze.pla: 0273: if not (maze.[y, x + 1] & CELL_SEEN) -; samplesrc/maze.pla: 0274: cellSetFlags(x + 1, y, SEEN_LEFT) -; samplesrc/maze.pla: 0275: tileDraw(x + 1, y, @mazeTileSet + 8 * ((maze.[y, x + 1] & (maze.[y, x + 1] >> 3)) & 7)) -; samplesrc/maze.pla: 0276: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$28 ; CB 40 - !BYTE $3E,$10 ; ORI 16 - !BYTE $54 ; CALL _C000 -_F056 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F057 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F058 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F059 !WORD 0 - !BYTE $26 ; LA _D093+0 -_F060 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B088 - !WORD _B088-* - !BYTE $26 ; LA _D093+0 -_F061 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4E ; BRTRU _B090 - !WORD _B090-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C000 -_F062 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F063 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F064 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $26 ; LA _D093+0 -_F065 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $94 ; AND - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F066 !WORD 0 -_B090 -_B091 -; samplesrc/maze.pla: 0277: fin -_B088 -_B089 -; samplesrc/maze.pla: 0278: if maze.[y + 1, x] & WALL_TOP -; samplesrc/maze.pla: 0279: if not (maze.[y + 1, x] & CELL_SEEN) -; samplesrc/maze.pla: 0280: cellSetFlags(x, y + 1, SEEN_TOP) -; samplesrc/maze.pla: 0281: tileDraw(x, y + 1, @mazeTileSet + 8 * ((maze.[y + 1, x] & (maze.[y + 1, x] >> 3)) & 7)) -; samplesrc/maze.pla: 0282: fin - !BYTE $26 ; LA _D093+0 -_F067 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* - !BYTE $26 ; LA _D093+0 -_F068 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4E ; BRTRU _B094 - !WORD _B094-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _C000 -_F069 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $26 ; LA _D092+0 -_F070 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F071 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $26 ; LA _D093+0 -_F072 !WORD _D093+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $94 ; AND - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F073 !WORD 0 -_B094 -_B095 -; samplesrc/maze.pla: 0283: fin -_B092 -_B093 -; samplesrc/maze.pla: 0284: fin -_B080 -_B081 -; samplesrc/maze.pla: 0285: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/maze.pla: 0286: -; samplesrc/maze.pla: 0287: def cellView(x, y)#0 - ; x -> [0] - ; y -> [2] -_C009 ; cellView() -; samplesrc/maze.pla: 0288: byte vis - ; vis -> [4] -; samplesrc/maze.pla: 0289: -; samplesrc/maze.pla: 0290: cellSetFlags(x, y, CELL_SEEN | SEEN_TOP | SEEN_LEFT | CELL_VISITED) - !BYTE $58,$05,$02 ; ENTER 5,2 -; samplesrc/maze.pla: 0291: tileDraw(x, y, @mazeTileSet + 8 * (maze.[y, x] & 7)) -; samplesrc/maze.pla: 0292: if viewFlag -; samplesrc/maze.pla: 0293: vis = x -; samplesrc/maze.pla: 0294: while not (maze.[y, vis] & WALL_LEFT) - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$28 ; CB 40 - !BYTE $3E,$10 ; ORI 16 - !BYTE $3E,$04 ; ORI 4 - !BYTE $54 ; CALL _C000 -_F074 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D092+0 -_F075 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F076 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F077 !WORD 0 - !BYTE $68 ; LAB _D100+0 -_F078 !WORD _D100+0 - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -_B098 -; samplesrc/maze.pla: 0295: vis-- - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0296: cellVis(vis, y, DIR_LEFT) -; samplesrc/maze.pla: 0297: loop - !BYTE $6C,$04 ; DLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C008 -_F079 !WORD _C008 -_B100 - !BYTE $26 ; LA _D093+0 -_F080 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* -_B099 -; samplesrc/maze.pla: 0298: vis = y -; samplesrc/maze.pla: 0299: while not (maze.[vis, x] & WALL_TOP) - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B101 -; samplesrc/maze.pla: 0300: vis-- - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0301: cellVis(x, vis, DIR_UP) -; samplesrc/maze.pla: 0302: loop - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F081 !WORD _C008 -_B103 - !BYTE $26 ; LA _D093+0 -_F082 !WORD _D093+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* -_B102 -; samplesrc/maze.pla: 0303: vis = x -; samplesrc/maze.pla: 0304: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$04 ; SLB [4] -_B105 -; samplesrc/maze.pla: 0305: vis++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0306: cellVis(vis, y, DIR_RIGHT) -; samplesrc/maze.pla: 0307: until (vis >= MAZE_WIDTH) or (maze.[y, vis] & WALL_LEFT) - !BYTE $6C,$04 ; DLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _C008 -_F083 !WORD _C008 -_B106 - !BYTE $64,$04 ; LLB [4] - !BYTE $2A,$27 ; CB 39 - !BYTE $48 ; ISGE - !BYTE $AE ; BROR _B107 - !WORD _B107-* - !BYTE $26 ; LA _D093+0 -_F084 !WORD _D093+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 -_B107 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* -_B104 -; samplesrc/maze.pla: 0308: vis = y -; samplesrc/maze.pla: 0309: repeat - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$04 ; SLB [4] -_B109 -; samplesrc/maze.pla: 0310: vis++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0311: cellVis(x, vis, DIR_DOWN) -; samplesrc/maze.pla: 0312: until maze.[vis, x] & WALL_TOP - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C008 -_F085 !WORD _C008 -_B110 - !BYTE $26 ; LA _D093+0 -_F086 !WORD _D093+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B109 - !WORD _B109-* -_B108 -; samplesrc/maze.pla: 0313: fin -_B096 -_B097 -; samplesrc/maze.pla: 0314: end - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/maze.pla: 0315: -; samplesrc/maze.pla: 0316: def mazeGen#0 -_C010 ; mazeGen() -; samplesrc/maze.pla: 0317: byte x, y - ; x -> [0] - ; y -> [1] -; samplesrc/maze.pla: 0318: -; samplesrc/maze.pla: 0319: cellSetFlags(MAZE_WIDTH-1, exit, CELL_SOLVED) - !BYTE $58,$02,$00 ; ENTER 2,0 -; samplesrc/maze.pla: 0320: cellSolve(0, entry) -; samplesrc/maze.pla: 0321: for x = 0 to MAZE_WIDTH-1 - !BYTE $2A,$26 ; CB 38 - !BYTE $68 ; LAB _D098+0 -_F087 !WORD _D098+0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C000 -_F088 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D097+0 -_F089 !WORD _D097+0 - !BYTE $54 ; CALL _C007 -_F090 !WORD _C007 - !BYTE $2A,$26 ; CB 38 - !BYTE $00 ; CN 0 -_B112 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/maze.pla: 0322: for y = 0 to MAZE_HEIGHT-1 - !BYTE $2A,$16 ; CB 22 - !BYTE $00 ; CN 0 -_B115 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/maze.pla: 0323: if !(maze.[y, x] & CELL_SOLVED) -; samplesrc/maze.pla: 0324: cellSolve(x, y) -; samplesrc/maze.pla: 0325: fin - !BYTE $26 ; LA _D093+0 -_F091 !WORD _D093+0 - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4E ; BRTRU _B117 - !WORD _B117-* - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C007 -_F092 !WORD _C007 -_B117 -_B118 -; samplesrc/maze.pla: 0326: next -_B116 - !BYTE $A4 ; INCBRLE _B115 - !WORD _B115-* -_B114 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/maze.pla: 0327: next -_B113 - !BYTE $A4 ; INCBRLE _B112 - !WORD _B112-* -_B111 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/maze.pla: 0328: // -; samplesrc/maze.pla: 0329: // Clear all flags used to generate -; samplesrc/maze.pla: 0330: // -; samplesrc/maze.pla: 0331: for x = 0 to MAZE_WIDTH-1 - !BYTE $2A,$26 ; CB 38 - !BYTE $00 ; CN 0 -_B120 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/maze.pla: 0332: for y = 0 to MAZE_HEIGHT-1 - !BYTE $2A,$16 ; CB 22 - !BYTE $00 ; CN 0 -_B123 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/maze.pla: 0333: cellClearFlags(x, y, CELL_SOLVED | CELL_TRACED) -; samplesrc/maze.pla: 0334: next - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C001 -_F093 !WORD _C001 -_B124 - !BYTE $A4 ; INCBRLE _B123 - !WORD _B123-* -_B122 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/maze.pla: 0335: next -_B121 - !BYTE $A4 ; INCBRLE _B120 - !WORD _B120-* -_B119 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/maze.pla: 0336: end - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/maze.pla: 0337: -; samplesrc/maze.pla: 0338: def mazeInit#0 -_C011 ; mazeInit() -; samplesrc/maze.pla: 0339: byte y - ; y -> [0] -; samplesrc/maze.pla: 0340: -; samplesrc/maze.pla: 0341: for y = 0 to MAZE_HEIGHT-1 - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $2A,$16 ; CB 22 - !BYTE $00 ; CN 0 -_B126 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/maze.pla: 0342: memset(maze[y], $0303, MAZE_WIDTH) -; samplesrc/maze.pla: 0343: maze.[y, MAZE_WIDTH] = WALL_LEFT -; samplesrc/maze.pla: 0344: next - !BYTE $26 ; LA _D093+0 -_F094 !WORD _D093+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $2C,$03,$03 ; CW 771 - !BYTE $2A,$27 ; CB 39 - !BYTE $54 ; CALL _X017 -_F095 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _D093+0 -_F096 !WORD _D093+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $38,$27 ; ADDI 39 - !BYTE $70 ; SB -_B127 - !BYTE $A4 ; INCBRLE _B126 - !WORD _B126-* -_B125 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/maze.pla: 0345: memset(maze[MAZE_HEIGHT], $0101, MAZE_WIDTH) -; samplesrc/maze.pla: 0346: maze.[MAZE_HEIGHT, MAZE_WIDTH] = 0 -; samplesrc/maze.pla: 0347: entry = conio:rnd() % MAZE_HEIGHT -; samplesrc/maze.pla: 0348: exit = conio:rnd() % MAZE_HEIGHT -; samplesrc/maze.pla: 0349: maze.[entry, 0] = WALL_TOP -; samplesrc/maze.pla: 0350: maze.[exit, MAZE_WIDTH] = WALL_TOP -; samplesrc/maze.pla: 0351: if exit < MAZE_HEIGHT -; samplesrc/maze.pla: 0352: maze.[exit + 1, MAZE_WIDTH] = WALL_TOP|WALL_LEFT -; samplesrc/maze.pla: 0353: else - !BYTE $6A ; LAW _D093+46 -_F097 !WORD _D093+46 - !BYTE $2C,$01,$01 ; CW 257 - !BYTE $2A,$27 ; CB 39 - !BYTE $54 ; CALL _X017 -_F098 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D093+46 -_F099 !WORD _D093+46 - !BYTE $38,$27 ; ADDI 39 - !BYTE $70 ; SB - !BYTE $6A ; LAW _X028+24 -_F100 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $2A,$17 ; CB 23 - !BYTE $8A ; MOD - !BYTE $78 ; SAB _D097+0 -_F101 !WORD _D097+0 - !BYTE $6A ; LAW _X028+24 -_F102 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $2A,$17 ; CB 23 - !BYTE $8A ; MOD - !BYTE $78 ; SAB _D098+0 -_F103 !WORD _D098+0 - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D093+0 -_F104 !WORD _D093+0 - !BYTE $BC ; IDXAB _D097+0 -_F105 !WORD _D097+0 - !BYTE $62 ; LW - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D093+0 -_F106 !WORD _D093+0 - !BYTE $BC ; IDXAB _D098+0 -_F107 !WORD _D098+0 - !BYTE $62 ; LW - !BYTE $38,$27 ; ADDI 39 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D098+0 -_F108 !WORD _D098+0 - !BYTE $2A,$17 ; CB 23 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B128 - !WORD _B128-* - !BYTE $06 ; CN 3 - !BYTE $26 ; LA _D093+0 -_F109 !WORD _D093+0 - !BYTE $68 ; LAB _D098+0 -_F110 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $38,$27 ; ADDI 39 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B128 -; samplesrc/maze.pla: 0354: maze.[exit + 1, MAZE_WIDTH] = WALL_TOP -; samplesrc/maze.pla: 0355: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D093+0 -_F111 !WORD _D093+0 - !BYTE $68 ; LAB _D098+0 -_F112 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $38,$27 ; ADDI 39 - !BYTE $70 ; SB -_B129 -; samplesrc/maze.pla: 0356: end - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/maze.pla: 0357: -; samplesrc/maze.pla: 0358: def mazePlay -_C012 ; mazePlay() -; samplesrc/maze.pla: 0359: byte x, y, quit, key - ; x -> [0] - ; y -> [1] - ; quit -> [2] - ; key -> [3] -; samplesrc/maze.pla: 0360: -; samplesrc/maze.pla: 0361: if viewFlag - !BYTE $58,$04,$00 ; ENTER 4,0 -; samplesrc/maze.pla: 0362: hgrColor(0) -; samplesrc/maze.pla: 0363: hgrRect(0, 0, 279, 191) -; samplesrc/maze.pla: 0364: fin - !BYTE $68 ; LAB _D100+0 -_F113 !WORD _D100+0 - !BYTE $4C ; BRFLS _B130 - !WORD _B130-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X083 -_F114 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $2A,$BF ; CB 191 - !BYTE $54 ; CALL _X070 -_F115 !WORD 0 -_B130 -_B131 -; samplesrc/maze.pla: 0365: cellSetFlags(0, entry, WALL_LEFT) // Block off entry -; samplesrc/maze.pla: 0366: x = 0 -; samplesrc/maze.pla: 0367: y = entry -; samplesrc/maze.pla: 0368: zero32 -; samplesrc/maze.pla: 0369: while TRUE - !BYTE $00 ; CN 0 - !BYTE $68 ; LAB _D097+0 -_F116 !WORD _D097+0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C000 -_F117 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $68 ; LAB _D097+0 -_F118 !WORD _D097+0 - !BYTE $74,$01 ; SLB [1] - !BYTE $54 ; CALL _X033 -_F119 !WORD 0 - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B132 -; samplesrc/maze.pla: 0370: cellView(x, y) -; samplesrc/maze.pla: 0371: tileOrDraw(x, y, @mazeTileSet + PLAYER) -; samplesrc/maze.pla: 0372: while not conio:keypressed() - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C009 -_F120 !WORD _C009 - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $26 ; LA _D092+64 -_F121 !WORD _D092+64 - !BYTE $54 ; CALL _X087 -_F122 !WORD 0 - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B135 -; samplesrc/maze.pla: 0373: addi16(1) -; samplesrc/maze.pla: 0374: loop - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X040 -_F123 !WORD 0 -_B137 - !BYTE $6A ; LAW _X028+0 -_F124 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B135 - !WORD _B135-* -_B136 -; samplesrc/maze.pla: 0375: tileDraw(x, y, @mazeTileSet + 8 * (maze.[y, x] & 7)) -; samplesrc/maze.pla: 0376: key = toupper(conio:getkey() & $7F) -; samplesrc/maze.pla: 0377: when key - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $26 ; LA _D092+0 -_F125 !WORD _D092+0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D093+0 -_F126 !WORD _D093+0 - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $3C,$07 ; ANDI 7 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X085 -_F127 !WORD 0 - !BYTE $6A ; LAW _X028+2 -_F128 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $3C,$7F ; ANDI 127 - !BYTE $54 ; CALL _X021 -_F129 !WORD 0 - !BYTE $6C,$03 ; DLB [3] - !BYTE $52 ; SEL - !WORD _B139-* -; samplesrc/maze.pla: 0378: is 'I' -_B140 -; samplesrc/maze.pla: 0379: if !(maze.[y, x] & WALL_TOP) -; samplesrc/maze.pla: 0380: y-- - !BYTE $26 ; LA _D093+0 -_F130 !WORD _D093+0 - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4E ; BRTRU _B141 - !WORD _B141-* - !BYTE $64,$01 ; LLB [1] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0381: moveCnt++ - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D096+0 -_F131 !WORD _D096+0 - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0382: fin - !BYTE $7A ; SAW _D096+0 -_F132 !WORD _D096+0 -_B141 -_B142 -; samplesrc/maze.pla: 0383: break - !BYTE $50 ; BRNCH _B138 - !WORD _B138-* -; samplesrc/maze.pla: 0384: is 'M' -_B143 -; samplesrc/maze.pla: 0385: if !(maze.[y + 1, x] & WALL_TOP) -; samplesrc/maze.pla: 0386: y++ - !BYTE $26 ; LA _D093+0 -_F133 !WORD _D093+0 - !BYTE $64,$01 ; LLB [1] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4E ; BRTRU _B144 - !WORD _B144-* - !BYTE $64,$01 ; LLB [1] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0387: moveCnt++ - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D096+0 -_F134 !WORD _D096+0 - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0388: fin - !BYTE $7A ; SAW _D096+0 -_F135 !WORD _D096+0 -_B144 -_B145 -; samplesrc/maze.pla: 0389: break - !BYTE $50 ; BRNCH _B138 - !WORD _B138-* -; samplesrc/maze.pla: 0390: is 'J' -_B146 -; samplesrc/maze.pla: 0391: if !(maze.[y, x] & WALL_LEFT) -; samplesrc/maze.pla: 0392: x-- - !BYTE $26 ; LA _D093+0 -_F136 !WORD _D093+0 - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B147 - !WORD _B147-* - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0393: moveCnt++ - !BYTE $74,$00 ; SLB [0] - !BYTE $6A ; LAW _D096+0 -_F137 !WORD _D096+0 - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0394: fin - !BYTE $7A ; SAW _D096+0 -_F138 !WORD _D096+0 -_B147 -_B148 -; samplesrc/maze.pla: 0395: break - !BYTE $50 ; BRNCH _B138 - !WORD _B138-* -; samplesrc/maze.pla: 0396: is 'K' -_B149 -; samplesrc/maze.pla: 0397: if !(maze.[y, x + 1] & WALL_LEFT) -; samplesrc/maze.pla: 0398: x++ - !BYTE $26 ; LA _D093+0 -_F139 !WORD _D093+0 - !BYTE $B8,$01 ; IDXLB [1] - !BYTE $62 ; LW - !BYTE $64,$00 ; LLB [0] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B150 - !WORD _B150-* - !BYTE $64,$00 ; LLB [0] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0399: moveCnt++ - !BYTE $74,$00 ; SLB [0] - !BYTE $6A ; LAW _D096+0 -_F140 !WORD _D096+0 - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0400: if x == MAZE_WIDTH; return TRUE; fin // Solved! - !BYTE $7A ; SAW _D096+0 -_F141 !WORD _D096+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$27 ; CB 39 - !BYTE $24 ; BRNE _B152 - !WORD _B152-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -_B152 -_B153 -; samplesrc/maze.pla: 0401: fin -_B150 -_B151 -; samplesrc/maze.pla: 0402: break - !BYTE $50 ; BRNCH _B138 - !WORD _B138-* -; samplesrc/maze.pla: 0403: is 'Q' -_B154 -; samplesrc/maze.pla: 0404: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/maze.pla: 0405: wend - !BYTE $50 ; BRNCH _B138 - !WORD _B138-* -_B139 - !BYTE $05 ; CASEBLOCK - !WORD $0049 - !WORD _B140-* - !WORD $004A - !WORD _B146-* - !WORD $004B - !WORD _B149-* - !WORD $004D - !WORD _B143-* - !WORD $0051 - !WORD _B154-* -_B138 -; samplesrc/maze.pla: 0406: loop -_B134 - !BYTE $50 ; BRNCH _B132 - !WORD _B132-* -_B133 -; samplesrc/maze.pla: 0407: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/maze.pla: 0408: end -; samplesrc/maze.pla: 0409: -; samplesrc/maze.pla: 0410: def atoi(strptr)#1 - ; strptr -> [0] -_C013 ; atoi() -; samplesrc/maze.pla: 0411: var num, len, sign - ; num -> [2] - ; len -> [4] - ; sign -> [6] -; samplesrc/maze.pla: 0412: -; samplesrc/maze.pla: 0413: sign = 1 - !BYTE $58,$08,$01 ; ENTER 8,1 -; samplesrc/maze.pla: 0414: num = 0 -; samplesrc/maze.pla: 0415: len = ^strptr -; samplesrc/maze.pla: 0416: strptr++ - !BYTE $02 ; CN 1 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0417: if ^strptr == '-' -; samplesrc/maze.pla: 0418: sign = -1 -; samplesrc/maze.pla: 0419: strptr++ - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B155 - !WORD _B155-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0420: len-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0421: elsif ^strptr == '+' - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B156 - !WORD _B156-* -_B155 -; samplesrc/maze.pla: 0422: strptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B157 - !WORD _B157-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0423: len-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0424: fin - !BYTE $76,$04 ; SLW [4] -_B157 -_B156 -; samplesrc/maze.pla: 0425: while len and ^strptr >= '0' and ^strptr <= '9' - !BYTE $50 ; BRNCH _B160 - !WORD _B160-* -_B158 -; samplesrc/maze.pla: 0426: num = num * 10 + ^strptr - '0' -; samplesrc/maze.pla: 0427: strptr++ - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; samplesrc/maze.pla: 0428: len-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; samplesrc/maze.pla: 0429: loop - !BYTE $76,$04 ; SLW [4] -_B160 - !BYTE $66,$04 ; LLW [4] - !BYTE $AC ; BRAND _B161 - !WORD _B161-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B162 - !WORD _B162-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B162 -_B161 - !BYTE $4E ; BRTRU _B158 - !WORD _B158-* -_B159 -; samplesrc/maze.pla: 0430: return num * sign - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $86 ; MUL - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/maze.pla: 0431: end -; samplesrc/maze.pla: 0432: -; samplesrc/maze.pla: 0433: arg = argNext(argFirst) -_INIT -; samplesrc/maze.pla: 0434: if ^arg and ^(arg + 1) == 'V' -; samplesrc/maze.pla: 0435: viewFlag = FALSE -; samplesrc/maze.pla: 0436: arg = argNext(arg) -; samplesrc/maze.pla: 0437: fin - !BYTE $54 ; CALL _X030 -_F142 !WORD 0 - !BYTE $54 ; CALL _X031 -_F143 !WORD 0 - !BYTE $7A ; SAW _D094+0 -_F144 !WORD _D094+0 - !BYTE $6A ; LAW _D094+0 -_F145 !WORD _D094+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B163 - !WORD _B163-* - !BYTE $6A ; LAW _D094+0 -_F146 !WORD _D094+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$56 ; CB 86 - !BYTE $40 ; ISEQ -_B163 - !BYTE $4C ; BRFLS _B164 - !WORD _B164-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D100+0 -_F147 !WORD _D100+0 - !BYTE $6A ; LAW _D094+0 -_F148 !WORD _D094+0 - !BYTE $54 ; CALL _X031 -_F149 !WORD 0 - !BYTE $7A ; SAW _D094+0 -_F150 !WORD _D094+0 -_B164 -_B165 -; samplesrc/maze.pla: 0438: if ^arg -; samplesrc/maze.pla: 0439: *rndnum = atoi(arg) -; samplesrc/maze.pla: 0440: else - !BYTE $6A ; LAW _D094+0 -_F151 !WORD _D094+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $6A ; LAW _D094+0 -_F152 !WORD _D094+0 - !BYTE $54 ; CALL _C013 -_F153 !WORD _C013 - !BYTE $7A,$4E,$00 ; SAW 78 - !BYTE $50 ; BRNCH _B167 - !WORD _B167-* -_B166 -; samplesrc/maze.pla: 0441: puts("I, J, K, M to move. Q to quit.\n") - !BYTE $2E ; CS - !BYTE $1F - !BYTE $49,$2C,$20,$4A,$2C,$20,$4B,$2C - !BYTE $20,$4D,$20,$74,$6F,$20,$6D,$6F - !BYTE $76,$65,$2E,$20,$51,$20,$74,$6F - !BYTE $20,$71,$75,$69,$74,$2E,$0D - !BYTE $54 ; CALL _X004 -_F154 !WORD 0 -; samplesrc/maze.pla: 0442: puts("Add seed value to command line to replay maze.\n") - !BYTE $2E ; CS - !BYTE $2F - !BYTE $41,$64,$64,$20,$73,$65,$65,$64 - !BYTE $20,$76,$61,$6C,$75,$65,$20,$74 - !BYTE $6F,$20,$63,$6F,$6D,$6D,$61,$6E - !BYTE $64,$20,$6C,$69,$6E,$65,$20,$74 - !BYTE $6F,$20,$72,$65,$70,$6C,$61,$79 - !BYTE $20,$6D,$61,$7A,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F155 !WORD 0 -; samplesrc/maze.pla: 0443: puts("Press a key to generate the maze...") - !BYTE $2E ; CS - !BYTE $23 - !BYTE $50,$72,$65,$73,$73,$20,$61,$20 - !BYTE $6B,$65,$79,$20,$74,$6F,$20,$67 - !BYTE $65,$6E,$65,$72,$61,$74,$65,$20 - !BYTE $74,$68,$65,$20,$6D,$61,$7A,$65 - !BYTE $2E,$2E,$2E - !BYTE $54 ; CALL _X004 -_F156 !WORD 0 -; samplesrc/maze.pla: 0444: while not conio:keypressed() - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -_B168 -; samplesrc/maze.pla: 0445: conio:rnd() -; samplesrc/maze.pla: 0446: loop - !BYTE $6A ; LAW _X028+24 -_F157 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B170 - !BYTE $6A ; LAW _X028+0 -_F158 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B168 - !WORD _B168-* -_B169 -; samplesrc/maze.pla: 0447: getc -; samplesrc/maze.pla: 0448: fin - !BYTE $54 ; CALL _X006 -_F159 !WORD 0 - !BYTE $30 ; DROP -_B167 -; samplesrc/maze.pla: 0449: repeat -_B172 -; samplesrc/maze.pla: 0450: moveCnt = 0 -; samplesrc/maze.pla: 0451: seed = *rndnum -; samplesrc/maze.pla: 0452: conio:textmode(40) -; samplesrc/maze.pla: 0453: hgrMode(hgrPage1) -; samplesrc/maze.pla: 0454: hgrDrawBuf(hgrPage1) -; samplesrc/maze.pla: 0455: tileDrawBuf(hgrPage1) -; samplesrc/maze.pla: 0456: mazeInit -; samplesrc/maze.pla: 0457: tileFromText(0, @mazeTileSet) -; samplesrc/maze.pla: 0458: mazeGen -; samplesrc/maze.pla: 0459: solved = mazePlay -; samplesrc/maze.pla: 0460: store32(@tics) -; samplesrc/maze.pla: 0461: hgrMode(hgrOff) -; samplesrc/maze.pla: 0462: if solved -; samplesrc/maze.pla: 0463: puts("Solved!\n") - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D096+0 -_F160 !WORD _D096+0 - !BYTE $6A,$4E,$00 ; LAW 78 - !BYTE $7A ; SAW _D095+0 -_F161 !WORD _D095+0 - !BYTE $2A,$28 ; CB 40 - !BYTE $6A ; LAW _X028+14 -_F162 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X078 -_F163 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X082 -_F164 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X091 -_F165 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C011 -_F166 !WORD _C011 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D092+0 -_F167 !WORD _D092+0 - !BYTE $54 ; CALL _X090 -_F168 !WORD 0 - !BYTE $54 ; CALL _C010 -_F169 !WORD _C010 - !BYTE $54 ; CALL _C012 -_F170 !WORD _C012 - !BYTE $78 ; SAB _D099+0 -_F171 !WORD _D099+0 - !BYTE $26 ; LA _D101+0 -_F172 !WORD _D101+0 - !BYTE $54 ; CALL _X038 -_F173 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X078 -_F174 !WORD 0 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D099+0 -_F175 !WORD _D099+0 - !BYTE $4C ; BRFLS _B174 - !WORD _B174-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $53,$6F,$6C,$76,$65,$64,$21,$0D - !BYTE $54 ; CALL _X004 -_F176 !WORD 0 -; samplesrc/maze.pla: 0464: fin -_B174 -_B175 -; samplesrc/maze.pla: 0465: puts("Seed = "); puti(seed); putln - !BYTE $2E ; CS - !BYTE $08 - !BYTE $53,$65,$65,$64,$20,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F177 !WORD 0 -; samplesrc/maze.pla: 0466: puts("Moves = "); puti(moveCnt); putln - !BYTE $6A ; LAW _D095+0 -_F178 !WORD _D095+0 - !BYTE $54 ; CALL _X005 -_F179 !WORD 0 - !BYTE $54 ; CALL _X003 -_F180 !WORD 0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $4D,$6F,$76,$65,$73,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F181 !WORD 0 -; samplesrc/maze.pla: 0467: puts("Timer = "); puti32(@tics) - !BYTE $6A ; LAW _D096+0 -_F182 !WORD _D096+0 - !BYTE $54 ; CALL _X005 -_F183 !WORD 0 - !BYTE $54 ; CALL _X003 -_F184 !WORD 0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $54,$69,$6D,$65,$72,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F185 !WORD 0 -; samplesrc/maze.pla: 0468: load32(@tics); divi16(1085); store32(@tics) -; samplesrc/maze.pla: 0469: puts(" ("); puti32(@tics); puts(" secs)\n") - !BYTE $26 ; LA _D101+0 -_F186 !WORD _D101+0 - !BYTE $54 ; CALL _X060 -_F187 !WORD 0 - !BYTE $26 ; LA _D101+0 -_F188 !WORD _D101+0 - !BYTE $54 ; CALL _X036 -_F189 !WORD 0 - !BYTE $2C,$3D,$04 ; CW 1085 - !BYTE $54 ; CALL _X048 -_F190 !WORD 0 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $26 ; LA _D101+0 -_F191 !WORD _D101+0 - !BYTE $54 ; CALL _X038 -_F192 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $20,$28 - !BYTE $54 ; CALL _X004 -_F193 !WORD 0 - !BYTE $26 ; LA _D101+0 -_F194 !WORD _D101+0 - !BYTE $54 ; CALL _X060 -_F195 !WORD 0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $20,$73,$65,$63,$73,$29,$0D - !BYTE $54 ; CALL _X004 -_F196 !WORD 0 -; samplesrc/maze.pla: 0470: for moveCnt = 0 to 1000 - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $00 ; CN 0 -_B177 - !BYTE $7E ; DAW _D096+0 -_F197 !WORD _D096+0 -; samplesrc/maze.pla: 0471: if conio:keypressed(); getc; fin - !BYTE $6A ; LAW _X028+0 -_F198 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B179 - !WORD _B179-* - !BYTE $54 ; CALL _X006 -_F199 !WORD 0 - !BYTE $30 ; DROP -_B179 -_B180 -; samplesrc/maze.pla: 0472: next -_B178 - !BYTE $A4 ; INCBRLE _B177 - !WORD _B177-* -_B176 - !BYTE $7A ; SAW _D096+0 -_F200 !WORD _D096+0 - !BYTE $30 ; DROP -; samplesrc/maze.pla: 0473: puts("Play again? (Y/N):") - !BYTE $2E ; CS - !BYTE $12 - !BYTE $50,$6C,$61,$79,$20,$61,$67,$61 - !BYTE $69,$6E,$3F,$20,$28,$59,$2F,$4E - !BYTE $29,$3A - !BYTE $54 ; CALL _X004 -_F201 !WORD 0 -; samplesrc/maze.pla: 0474: until toupper(conio:getkey()) <> 'Y' -_B173 - !BYTE $6A ; LAW _X028+2 -_F202 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X021 -_F203 !WORD 0 - !BYTE $2A,$59 ; CB 89 - !BYTE $22 ; BREQ _B172 - !WORD _B172-* -_B171 -; samplesrc/maze.pla: 0475: conio:textmode(0) -; samplesrc/maze.pla: 0476: done - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+14 -_F204 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 15 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 83 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 70 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 87 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 85 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 78 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 82 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 91 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 90 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 78 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 60 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE 48 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 60 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: ZERO32 - !BYTE $DA,$C5,$D2,$CF,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: LOAD32 - !BYTE $CC,$CF,$C1,$C4,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: STORE32 - !BYTE $D3,$D4,$CF,$D2,$C5,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: ADDI16 - !BYTE $C1,$C4,$C4,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: DIVI16 - !BYTE $C4,$C9,$D6,$C9,$B1,$36 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 48 ; ESD INDEX - ; DCI STRING: PUTI32 - !BYTE $D0,$D5,$D4,$C9,$B3,$32 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 60 ; ESD INDEX - ; DCI STRING: HGRRECT - !BYTE $C8,$C7,$D2,$D2,$C5,$C3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 70 ; ESD INDEX - ; DCI STRING: HGRMODE - !BYTE $C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 78 ; ESD INDEX - ; DCI STRING: HGRDRAWBUF - !BYTE $C8,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 82 ; ESD INDEX - ; DCI STRING: HGRCOLOR - !BYTE $C8,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 83 ; ESD INDEX - ; DCI STRING: TILEDRAW - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 85 ; ESD INDEX - ; DCI STRING: TILEORDRAW - !BYTE $D4,$C9,$CC,$C5,$CF,$D2,$C4,$D2,$C1,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 87 ; ESD INDEX - ; DCI STRING: TILEFROMTEXT - !BYTE $D4,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D4,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 90 ; ESD INDEX - ; DCI STRING: TILEDRAWBUF - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 91 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/memtest.a b/src/samplesrc/memtest.a deleted file mode 100644 index 1586142..0000000 --- a/src/samplesrc/memtest.a +++ /dev/null @@ -1,969 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/memtest.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/memtest.pla: 0001: -; samplesrc/memtest.pla: 0002: include "inc/memmgr.plh" -; inc/memmgr.plh: 0001: import memmgr - ; DCI STRING: MEMMGR - !BYTE $CD,$C5,$CD,$CD,$C7,$52 - ; MEMMGR -> X028 -; inc/memmgr.plh: 0002: // -; inc/memmgr.plh: 0003: // Utility routine -; inc/memmgr.plh: 0004: // -; inc/memmgr.plh: 0005: predef sweep#0, brk(addr), sbrk(size) - ; SWEEP -> X029 - ; BRK -> X030 - ; SBRK -> X031 -; inc/memmgr.plh: 0006: // -; inc/memmgr.plh: 0007: // Memory routines -; inc/memmgr.plh: 0008: // -; inc/memmgr.plh: 0009: predef hmemNew(size), hmemLock(hmem), hmemUnlock(hmem)#0, hmemRef(hmem)#0, hmemDel(hmem)#0, hmemFre(lptr) - ; HMEMNEW -> X032 - ; HMEMLOCK -> X033 - ; HMEMUNLOCK -> X034 - ; HMEMREF -> X035 - ; HMEMDEL -> X036 - ; HMEMFRE -> X037 -; inc/memmgr.plh: 0010: // -; inc/memmgr.plh: 0011: // Max size of a memory block -; inc/memmgr.plh: 0012: // -; inc/memmgr.plh: 0013: const MAX_MEMBLK_SIZE = $2000 - ; MAX_MEMBLK_SIZE = 8192 -; inc/memmgr.plh: 0014: end -; samplesrc/memtest.pla: 0002: -; samplesrc/memtest.pla: 0003: word a, b, c, d, e, memptr - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D038 !FILL 2 ; a, b, c, d, e, memptr -_D039 !FILL 2 ; b, c, d, e, memptr -_D040 !FILL 2 ; c, d, e, memptr -_D041 !FILL 2 ; d, e, memptr -_D042 !FILL 2 ; e, memptr -_D043 !FILL 2 ; memptr -; samplesrc/memtest.pla: 0004: word memfre, memlrgst -_D044 !FILL 2 ; memfre, memlrgst -_D045 !FILL 2 ; memlrgst -; samplesrc/memtest.pla: 0005: -; samplesrc/memtest.pla: 0006: sbrk($3000) // Set small pool size -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/memtest.pla: 0007: -; samplesrc/memtest.pla: 0008: memfre=hmemFre(@memlrgst);puth(memfre); putc(' '); puth(memlrgst); putln -; samplesrc/memtest.pla: 0009: a = hmemNew(MAX_MEMBLK_SIZE) -; samplesrc/memtest.pla: 0010: b = hmemNew(MAX_MEMBLK_SIZE) -; samplesrc/memtest.pla: 0011: c = hmemNew(MAX_MEMBLK_SIZE) -; samplesrc/memtest.pla: 0012: -; samplesrc/memtest.pla: 0013: d = hmemNew($1000) -; samplesrc/memtest.pla: 0014: e = hmemNew(768) -; samplesrc/memtest.pla: 0015: hmemLock(d) -; samplesrc/memtest.pla: 0016: memptr = hmemLock(e) -; samplesrc/memtest.pla: 0017: if memptr; *memptr = $EEEE; fin - !BYTE $2C,$00,$30 ; CW 12288 - !BYTE $54 ; CALL _X031 -_F000 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D045+0 -_F001 !WORD _D045+0 - !BYTE $54 ; CALL _X037 -_F002 !WORD 0 - !BYTE $7E ; DAW _D044+0 -_F003 !WORD _D044+0 - !BYTE $54 ; CALL _X009 -_F004 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F005 !WORD 0 - !BYTE $6A ; LAW _D045+0 -_F006 !WORD _D045+0 - !BYTE $54 ; CALL _X009 -_F007 !WORD 0 - !BYTE $54 ; CALL _X003 -_F008 !WORD 0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X032 -_F009 !WORD 0 - !BYTE $7A ; SAW _D038+0 -_F010 !WORD _D038+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X032 -_F011 !WORD 0 - !BYTE $7A ; SAW _D039+0 -_F012 !WORD _D039+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X032 -_F013 !WORD 0 - !BYTE $7A ; SAW _D040+0 -_F014 !WORD _D040+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _X032 -_F015 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F016 !WORD _D041+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $54 ; CALL _X032 -_F017 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F018 !WORD _D042+0 - !BYTE $6A ; LAW _D041+0 -_F019 !WORD _D041+0 - !BYTE $54 ; CALL _X033 -_F020 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D042+0 -_F021 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F022 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F023 !WORD _D043+0 - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $2C,$EE,$EE ; CW 61166 - !BYTE $6A ; LAW _D043+0 -_F024 !WORD _D043+0 - !BYTE $72 ; SW -_B001 -_B002 -; samplesrc/memtest.pla: 0018: hmemUnlock(d) -; samplesrc/memtest.pla: 0019: hmemUnlock(e) -; samplesrc/memtest.pla: 0020: hmemDel(d) -; samplesrc/memtest.pla: 0021: memfre=hmemFre(@memlrgst);puth(memfre); putc(' '); puth(memlrgst); putln -; samplesrc/memtest.pla: 0022: -; samplesrc/memtest.pla: 0023: memptr = hmemLock(a) -; samplesrc/memtest.pla: 0024: if memptr; memset(memptr, $1111, MAX_MEMBLK_SIZE); fin - !BYTE $6A ; LAW _D041+0 -_F025 !WORD _D041+0 - !BYTE $54 ; CALL _X034 -_F026 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F027 !WORD _D042+0 - !BYTE $54 ; CALL _X034 -_F028 !WORD 0 - !BYTE $6A ; LAW _D041+0 -_F029 !WORD _D041+0 - !BYTE $54 ; CALL _X036 -_F030 !WORD 0 - !BYTE $26 ; LA _D045+0 -_F031 !WORD _D045+0 - !BYTE $54 ; CALL _X037 -_F032 !WORD 0 - !BYTE $7E ; DAW _D044+0 -_F033 !WORD _D044+0 - !BYTE $54 ; CALL _X009 -_F034 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F035 !WORD 0 - !BYTE $6A ; LAW _D045+0 -_F036 !WORD _D045+0 - !BYTE $54 ; CALL _X009 -_F037 !WORD 0 - !BYTE $54 ; CALL _X003 -_F038 !WORD 0 - !BYTE $6A ; LAW _D038+0 -_F039 !WORD _D038+0 - !BYTE $54 ; CALL _X033 -_F040 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F041 !WORD _D043+0 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $6A ; LAW _D043+0 -_F042 !WORD _D043+0 - !BYTE $2C,$11,$11 ; CW 4369 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F043 !WORD 0 -_B003 -_B004 -; samplesrc/memtest.pla: 0025: hmemUnlock(a) -; samplesrc/memtest.pla: 0026: memptr = hmemLock(b) -; samplesrc/memtest.pla: 0027: if memptr; memset(memptr, $2222, MAX_MEMBLK_SIZE); fin - !BYTE $6A ; LAW _D038+0 -_F044 !WORD _D038+0 - !BYTE $54 ; CALL _X034 -_F045 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F046 !WORD _D039+0 - !BYTE $54 ; CALL _X033 -_F047 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F048 !WORD _D043+0 - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $6A ; LAW _D043+0 -_F049 !WORD _D043+0 - !BYTE $2C,$22,$22 ; CW 8738 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F050 !WORD 0 -_B005 -_B006 -; samplesrc/memtest.pla: 0028: hmemUnlock(b) -; samplesrc/memtest.pla: 0029: memptr = hmemLock(c) -; samplesrc/memtest.pla: 0030: if memptr; memset(memptr, $3333, MAX_MEMBLK_SIZE); fin - !BYTE $6A ; LAW _D039+0 -_F051 !WORD _D039+0 - !BYTE $54 ; CALL _X034 -_F052 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F053 !WORD _D040+0 - !BYTE $54 ; CALL _X033 -_F054 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F055 !WORD _D043+0 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D043+0 -_F056 !WORD _D043+0 - !BYTE $2C,$33,$33 ; CW 13107 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _X017 -_F057 !WORD 0 -_B007 -_B008 -; samplesrc/memtest.pla: 0031: hmemUnlock(c) -; samplesrc/memtest.pla: 0032: memptr = hmemLock(a) -; samplesrc/memtest.pla: 0033: if memptr; puth(a); putc('='); puth(*(memptr + MAX_MEMBLK_SIZE - 2)); putln; fin - !BYTE $6A ; LAW _D040+0 -_F058 !WORD _D040+0 - !BYTE $54 ; CALL _X034 -_F059 !WORD 0 - !BYTE $6A ; LAW _D038+0 -_F060 !WORD _D038+0 - !BYTE $54 ; CALL _X033 -_F061 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F062 !WORD _D043+0 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D038+0 -_F063 !WORD _D038+0 - !BYTE $54 ; CALL _X009 -_F064 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F065 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F066 !WORD _D043+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $82 ; ADD - !BYTE $3A,$02 ; SUBI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F067 !WORD 0 - !BYTE $54 ; CALL _X003 -_F068 !WORD 0 -_B009 -_B010 -; samplesrc/memtest.pla: 0034: hmemUnlock(a) -; samplesrc/memtest.pla: 0035: hmemDel(a) -; samplesrc/memtest.pla: 0036: memptr = hmemLock(b) -; samplesrc/memtest.pla: 0037: if memptr; puth(b); putc('='); puth(*(memptr + MAX_MEMBLK_SIZE - 2)); putln; fin - !BYTE $6A ; LAW _D038+0 -_F069 !WORD _D038+0 - !BYTE $54 ; CALL _X034 -_F070 !WORD 0 - !BYTE $6A ; LAW _D038+0 -_F071 !WORD _D038+0 - !BYTE $54 ; CALL _X036 -_F072 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F073 !WORD _D039+0 - !BYTE $54 ; CALL _X033 -_F074 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F075 !WORD _D043+0 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $6A ; LAW _D039+0 -_F076 !WORD _D039+0 - !BYTE $54 ; CALL _X009 -_F077 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F078 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F079 !WORD _D043+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $82 ; ADD - !BYTE $3A,$02 ; SUBI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F080 !WORD 0 - !BYTE $54 ; CALL _X003 -_F081 !WORD 0 -_B011 -_B012 -; samplesrc/memtest.pla: 0038: hmemUnlock(b) -; samplesrc/memtest.pla: 0039: hmemDel(b) -; samplesrc/memtest.pla: 0040: memptr = hmemLock(c) -; samplesrc/memtest.pla: 0041: if memptr; puth(c); putc('='); puth(*(memptr + MAX_MEMBLK_SIZE - 2)); putln; fin - !BYTE $6A ; LAW _D039+0 -_F082 !WORD _D039+0 - !BYTE $54 ; CALL _X034 -_F083 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F084 !WORD _D039+0 - !BYTE $54 ; CALL _X036 -_F085 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F086 !WORD _D040+0 - !BYTE $54 ; CALL _X033 -_F087 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F088 !WORD _D043+0 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D040+0 -_F089 !WORD _D040+0 - !BYTE $54 ; CALL _X009 -_F090 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F091 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F092 !WORD _D043+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $82 ; ADD - !BYTE $3A,$02 ; SUBI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F093 !WORD 0 - !BYTE $54 ; CALL _X003 -_F094 !WORD 0 -_B013 -_B014 -; samplesrc/memtest.pla: 0042: hmemUnlock(c) -; samplesrc/memtest.pla: 0043: hmemDel(c) -; samplesrc/memtest.pla: 0044: -; samplesrc/memtest.pla: 0045: memptr = hmemLock(e) -; samplesrc/memtest.pla: 0046: if memptr; puth(e); putc('='); puth(*memptr); putln; fin - !BYTE $6A ; LAW _D040+0 -_F095 !WORD _D040+0 - !BYTE $54 ; CALL _X034 -_F096 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F097 !WORD _D040+0 - !BYTE $54 ; CALL _X036 -_F098 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F099 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F100 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F101 !WORD _D043+0 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $6A ; LAW _D042+0 -_F102 !WORD _D042+0 - !BYTE $54 ; CALL _X009 -_F103 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F104 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F105 !WORD _D043+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F106 !WORD 0 - !BYTE $54 ; CALL _X003 -_F107 !WORD 0 -_B015 -_B016 -; samplesrc/memtest.pla: 0047: hmemUnlock(e) -; samplesrc/memtest.pla: 0048: hmemDel(e) -; samplesrc/memtest.pla: 0049: memfre=hmemFre(@memlrgst);puth(memfre); putc(' '); puth(memlrgst); putln -; samplesrc/memtest.pla: 0050: done - !BYTE $6A ; LAW _D042+0 -_F108 !WORD _D042+0 - !BYTE $54 ; CALL _X034 -_F109 !WORD 0 - !BYTE $6A ; LAW _D042+0 -_F110 !WORD _D042+0 - !BYTE $54 ; CALL _X036 -_F111 !WORD 0 - !BYTE $26 ; LA _D045+0 -_F112 !WORD _D045+0 - !BYTE $54 ; CALL _X037 -_F113 !WORD 0 - !BYTE $7E ; DAW _D044+0 -_F114 !WORD _D044+0 - !BYTE $54 ; CALL _X009 -_F115 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F116 !WORD 0 - !BYTE $6A ; LAW _D045+0 -_F117 !WORD _D045+0 - !BYTE $54 ; CALL _X009 -_F118 !WORD 0 - !BYTE $54 ; CALL _X003 -_F119 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: SBRK - !BYTE $D3,$C2,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: HMEMNEW - !BYTE $C8,$CD,$C5,$CD,$CE,$C5,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: HMEMLOCK - !BYTE $C8,$CD,$C5,$CD,$CC,$CF,$C3,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: HMEMUNLOCK - !BYTE $C8,$CD,$C5,$CD,$D5,$CE,$CC,$CF,$C3,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: HMEMDEL - !BYTE $C8,$CD,$C5,$CD,$C4,$C5,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: HMEMFRE - !BYTE $C8,$CD,$C5,$CD,$C6,$D2,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/playpcm.a b/src/samplesrc/playpcm.a deleted file mode 100644 index 07cf1af..0000000 --- a/src/samplesrc/playpcm.a +++ /dev/null @@ -1,1159 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/playpcm.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/playpcm.pla: 0001: -; samplesrc/playpcm.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; samplesrc/playpcm.pla: 0002: -; samplesrc/playpcm.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; samplesrc/playpcm.pla: 0003: -; samplesrc/playpcm.pla: 0004: include "inc/sndseq.plh" -; inc/sndseq.plh: 0001: import sndseq - ; DCI STRING: SNDSEQ - !BYTE $D3,$CE,$C4,$D3,$C5,$51 - ; SNDSEQ -> X033 -; inc/sndseq.plh: 0002: word musicSequence // musicSequence(yield, backgroundProc)#0 - ; MUSICSEQUENCE -> X034 -; inc/sndseq.plh: 0003: word tonePlay // tonePlay(pitch, duration)#0 - ; TONEPLAY -> X035 -; inc/sndseq.plh: 0004: word pcmPlay // pcmPlay(samples, pagecnt)#0 - ; PCMPLAY -> X036 -; inc/sndseq.plh: 0005: predef musicPlay(track, rept)#0, musicStop#0, musicSimple - ; MUSICPLAY -> X037 - ; MUSICSTOP -> X038 - ; MUSICSIMPLE -> X039 -; inc/sndseq.plh: 0006: predef musicGetKey(yield, backgroundProc)#1, musicRead(filename)#1 - ; MUSICGETKEY -> X040 - ; MUSICREAD -> X041 -; inc/sndseq.plh: 0007: end -; samplesrc/playpcm.pla: 0004: -; samplesrc/playpcm.pla: 0005: -; samplesrc/playpcm.pla: 0006: // -; samplesrc/playpcm.pla: 0007: // These are utility sequences/routines needed to test the music sequencer code. -; samplesrc/playpcm.pla: 0008: // -; samplesrc/playpcm.pla: 0009: word arg, pcm, len - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D042 !FILL 2 ; arg, pcm, len -_D043 !FILL 2 ; pcm, len -_D044 !FILL 2 ; len -; samplesrc/playpcm.pla: 0010: byte ref -_D045 !FILL 1 ; ref -; samplesrc/playpcm.pla: 0011: -; samplesrc/playpcm.pla: 0012: byte sinewave[] -_D046 ; sinewave[] -; samplesrc/playpcm.pla: 0013: byte = $80, $83, $86, $89, $8C, $8F, $92, $95, $98, $9C, $9F, $A2, $A5, $A8, $AB, $AE - !BYTE $80 - !BYTE $83 - !BYTE $86 - !BYTE $89 - !BYTE $8C - !BYTE $8F - !BYTE $92 - !BYTE $95 - !BYTE $98 - !BYTE $9C - !BYTE $9F - !BYTE $A2 - !BYTE $A5 - !BYTE $A8 - !BYTE $AB - !BYTE $AE -; samplesrc/playpcm.pla: 0014: byte = $B0, $B3, $B6, $B9, $BC, $BF, $C1, $C4, $C7, $C9, $CC, $CE, $D1, $D3, $D5, $D8 - !BYTE $B0 - !BYTE $B3 - !BYTE $B6 - !BYTE $B9 - !BYTE $BC - !BYTE $BF - !BYTE $C1 - !BYTE $C4 - !BYTE $C7 - !BYTE $C9 - !BYTE $CC - !BYTE $CE - !BYTE $D1 - !BYTE $D3 - !BYTE $D5 - !BYTE $D8 -; samplesrc/playpcm.pla: 0015: byte = $DA, $DC, $DE, $E0, $E2, $E4, $E6, $E8, $EA, $EC, $ED, $EF, $F0, $F2, $F3, $F5 - !BYTE $DA - !BYTE $DC - !BYTE $DE - !BYTE $E0 - !BYTE $E2 - !BYTE $E4 - !BYTE $E6 - !BYTE $E8 - !BYTE $EA - !BYTE $EC - !BYTE $ED - !BYTE $EF - !BYTE $F0 - !BYTE $F2 - !BYTE $F3 - !BYTE $F5 -; samplesrc/playpcm.pla: 0016: byte = $F6, $F7, $F8, $F9, $FA, $FB, $FC, $FC, $FD, $FE, $FE, $FF, $FF, $FF, $FF, $FF - !BYTE $F6 - !BYTE $F7 - !BYTE $F8 - !BYTE $F9 - !BYTE $FA - !BYTE $FB - !BYTE $FC - !BYTE $FC - !BYTE $FD - !BYTE $FE - !BYTE $FE - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF -; samplesrc/playpcm.pla: 0017: byte = $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FD, $FC, $FC, $FB, $FA, $F9, $F8, $F7 - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FF - !BYTE $FE - !BYTE $FE - !BYTE $FD - !BYTE $FC - !BYTE $FC - !BYTE $FB - !BYTE $FA - !BYTE $F9 - !BYTE $F8 - !BYTE $F7 -; samplesrc/playpcm.pla: 0018: byte = $F6, $F5, $F3, $F2, $F0, $EF, $ED, $EC, $EA, $E8, $E6, $E4, $E2, $E0, $DE, $DC - !BYTE $F6 - !BYTE $F5 - !BYTE $F3 - !BYTE $F2 - !BYTE $F0 - !BYTE $EF - !BYTE $ED - !BYTE $EC - !BYTE $EA - !BYTE $E8 - !BYTE $E6 - !BYTE $E4 - !BYTE $E2 - !BYTE $E0 - !BYTE $DE - !BYTE $DC -; samplesrc/playpcm.pla: 0019: byte = $DA, $D8, $D5, $D3, $D1, $CE, $CC, $C9, $C7, $C4, $C1, $BF, $BC, $B9, $B6, $B3 - !BYTE $DA - !BYTE $D8 - !BYTE $D5 - !BYTE $D3 - !BYTE $D1 - !BYTE $CE - !BYTE $CC - !BYTE $C9 - !BYTE $C7 - !BYTE $C4 - !BYTE $C1 - !BYTE $BF - !BYTE $BC - !BYTE $B9 - !BYTE $B6 - !BYTE $B3 -; samplesrc/playpcm.pla: 0020: byte = $B0, $AE, $AB, $A8, $A5, $A2, $9F, $9C, $98, $95, $92, $8F, $8C, $89, $86, $83 - !BYTE $B0 - !BYTE $AE - !BYTE $AB - !BYTE $A8 - !BYTE $A5 - !BYTE $A2 - !BYTE $9F - !BYTE $9C - !BYTE $98 - !BYTE $95 - !BYTE $92 - !BYTE $8F - !BYTE $8C - !BYTE $89 - !BYTE $86 - !BYTE $83 -; samplesrc/playpcm.pla: 0021: byte = $80, $7C, $79, $76, $73, $70, $6D, $6A, $67, $63, $60, $5D, $5A, $57, $54, $51 - !BYTE $80 - !BYTE $7C - !BYTE $79 - !BYTE $76 - !BYTE $73 - !BYTE $70 - !BYTE $6D - !BYTE $6A - !BYTE $67 - !BYTE $63 - !BYTE $60 - !BYTE $5D - !BYTE $5A - !BYTE $57 - !BYTE $54 - !BYTE $51 -; samplesrc/playpcm.pla: 0022: byte = $4F, $4C, $49, $46, $43, $40, $3E, $3B, $38, $36, $33, $31, $2E, $2C, $2A, $27 - !BYTE $4F - !BYTE $4C - !BYTE $49 - !BYTE $46 - !BYTE $43 - !BYTE $40 - !BYTE $3E - !BYTE $3B - !BYTE $38 - !BYTE $36 - !BYTE $33 - !BYTE $31 - !BYTE $2E - !BYTE $2C - !BYTE $2A - !BYTE $27 -; samplesrc/playpcm.pla: 0023: byte = $25, $23, $21, $1F, $1D, $1B, $19, $17, $15, $13, $12, $10, $0F, $0D, $0C, $0A - !BYTE $25 - !BYTE $23 - !BYTE $21 - !BYTE $1F - !BYTE $1D - !BYTE $1B - !BYTE $19 - !BYTE $17 - !BYTE $15 - !BYTE $13 - !BYTE $12 - !BYTE $10 - !BYTE $0F - !BYTE $0D - !BYTE $0C - !BYTE $0A -; samplesrc/playpcm.pla: 0024: byte = $09, $08, $07, $06, $05, $04, $03, $03, $02, $01, $01, $00, $00, $00, $00, $00 - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $01 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; samplesrc/playpcm.pla: 0025: byte = $00, $00, $00, $00, $00, $00, $01, $01, $02, $03, $03, $04, $05, $06, $07, $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $01 - !BYTE $01 - !BYTE $02 - !BYTE $03 - !BYTE $03 - !BYTE $04 - !BYTE $05 - !BYTE $06 - !BYTE $07 - !BYTE $08 -; samplesrc/playpcm.pla: 0026: byte = $09, $0A, $0C, $0D, $0F, $10, $12, $13, $15, $17, $19, $1B, $1D, $1F, $21, $23 - !BYTE $09 - !BYTE $0A - !BYTE $0C - !BYTE $0D - !BYTE $0F - !BYTE $10 - !BYTE $12 - !BYTE $13 - !BYTE $15 - !BYTE $17 - !BYTE $19 - !BYTE $1B - !BYTE $1D - !BYTE $1F - !BYTE $21 - !BYTE $23 -; samplesrc/playpcm.pla: 0027: byte = $25, $27, $2A, $2C, $2E, $31, $33, $36, $38, $3B, $3E, $40, $43, $46, $49, $4C - !BYTE $25 - !BYTE $27 - !BYTE $2A - !BYTE $2C - !BYTE $2E - !BYTE $31 - !BYTE $33 - !BYTE $36 - !BYTE $38 - !BYTE $3B - !BYTE $3E - !BYTE $40 - !BYTE $43 - !BYTE $46 - !BYTE $49 - !BYTE $4C -; samplesrc/playpcm.pla: 0028: byte = $4F, $51, $54, $57, $5A, $5D, $60, $63, $67, $6A, $6D, $70, $73, $76, $79, $7C - !BYTE $4F - !BYTE $51 - !BYTE $54 - !BYTE $57 - !BYTE $5A - !BYTE $5D - !BYTE $60 - !BYTE $63 - !BYTE $67 - !BYTE $6A - !BYTE $6D - !BYTE $70 - !BYTE $73 - !BYTE $76 - !BYTE $79 - !BYTE $7C -; samplesrc/playpcm.pla: 0029: -; samplesrc/playpcm.pla: 0030: def wavtopcm4(samples, rep, len)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; samples -> [0] - ; rep -> [2] - ; len -> [4] -_C000 ; wavtopcm4() -; samplesrc/playpcm.pla: 0031: var i - ; i -> [6] -; samplesrc/playpcm.pla: 0032: -; samplesrc/playpcm.pla: 0033: rep = (rep - 1) << 4 - !BYTE $58,$08,$03 ; ENTER 8,3 -; samplesrc/playpcm.pla: 0034: for i = 0 to len-1 - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6E,$06 ; DLW [6] -; samplesrc/playpcm.pla: 0035: samples->[i] = rep | (samples->[i] >> 4) -; samplesrc/playpcm.pla: 0036: next - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $96 ; OR - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $70 ; SB -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP -; samplesrc/playpcm.pla: 0037: end - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/playpcm.pla: 0038: -; samplesrc/playpcm.pla: 0039: arg = argNext(argFirst) -_INIT -; samplesrc/playpcm.pla: 0040: if ^arg -; samplesrc/playpcm.pla: 0041: ref = fileio:open(arg) -; samplesrc/playpcm.pla: 0042: if ref -; samplesrc/playpcm.pla: 0043: pcm = heapmark -; samplesrc/playpcm.pla: 0044: len = fileio:read(ref, pcm, heapavail) -; samplesrc/playpcm.pla: 0045: fileio:close(ref) -; samplesrc/playpcm.pla: 0046: heapalloc(len) -; samplesrc/playpcm.pla: 0047: if pcm[0] == 'R' and pcm[1] == 'I' and pcm[2] == 'F' -; samplesrc/playpcm.pla: 0048: pcm = pcm + 44 -; samplesrc/playpcm.pla: 0049: len = len - 44 -; samplesrc/playpcm.pla: 0050: wavtopcm4(pcm, 1, len) -; samplesrc/playpcm.pla: 0051: fin - !BYTE $54 ; CALL _X029 -_F000 !WORD 0 - !BYTE $54 ; CALL _X030 -_F001 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F002 !WORD _D042+0 - !BYTE $6A ; LAW _D042+0 -_F003 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $6A ; LAW _D042+0 -_F004 !WORD _D042+0 - !BYTE $6A ; LAW _X031+14 -_F005 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D045+0 -_F006 !WORD _D045+0 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $54 ; CALL _X012 -_F007 !WORD 0 - !BYTE $7A ; SAW _D043+0 -_F008 !WORD _D043+0 - !BYTE $68 ; LAB _D045+0 -_F009 !WORD _D045+0 - !BYTE $6A ; LAW _D043+0 -_F010 !WORD _D043+0 - !BYTE $54 ; CALL _X016 -_F011 !WORD 0 - !BYTE $6A ; LAW _X031+18 -_F012 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D044+0 -_F013 !WORD _D044+0 - !BYTE $68 ; LAB _D045+0 -_F014 !WORD _D045+0 - !BYTE $6A ; LAW _X031+16 -_F015 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D044+0 -_F016 !WORD _D044+0 - !BYTE $54 ; CALL _X014 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D043+0 -_F018 !WORD _D043+0 - !BYTE $2A,$52 ; CB 82 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B008 - !WORD _B008-* - !BYTE $6A ; LAW _D043+2 -_F019 !WORD _D043+2 - !BYTE $2A,$49 ; CB 73 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D043+4 -_F020 !WORD _D043+4 - !BYTE $2A,$46 ; CB 70 - !BYTE $40 ; ISEQ -_B009 -_B008 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $6A ; LAW _D043+0 -_F021 !WORD _D043+0 - !BYTE $38,$2C ; ADDI 44 - !BYTE $7A ; SAW _D043+0 -_F022 !WORD _D043+0 - !BYTE $6A ; LAW _D044+0 -_F023 !WORD _D044+0 - !BYTE $3A,$2C ; SUBI 44 - !BYTE $7A ; SAW _D044+0 -_F024 !WORD _D044+0 - !BYTE $6A ; LAW _D043+0 -_F025 !WORD _D043+0 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D044+0 -_F026 !WORD _D044+0 - !BYTE $54 ; CALL _C000 -_F027 !WORD _C000 -_B010 -_B011 -; samplesrc/playpcm.pla: 0052: pcmPlay(pcm, len / 256)#0 -; samplesrc/playpcm.pla: 0053: fin - !BYTE $6A ; LAW _D043+0 -_F028 !WORD _D043+0 - !BYTE $68 ; LAB _D044+1 -_F029 !WORD _D044+1 - !BYTE $6A ; LAW _X036+0 -_F030 !WORD 0+0 - !BYTE $56 ; ICAL -_B006 -_B007 -; samplesrc/playpcm.pla: 0054: else - !BYTE $50 ; BRNCH _B005 - !WORD _B005-* -_B004 -; samplesrc/playpcm.pla: 0055: wavtopcm4(@sinewave, 16, 256) -; samplesrc/playpcm.pla: 0056: memcpy(heapmark, @sinewave, 256) -; samplesrc/playpcm.pla: 0057: memcpy(heapmark + 256, @sinewave, 256) -; samplesrc/playpcm.pla: 0058: memcpy(heapmark + 512, @sinewave, 256) -; samplesrc/playpcm.pla: 0059: memcpy(heapmark + 768, @sinewave, 256) -; samplesrc/playpcm.pla: 0060: memcpy(heapmark + 1024, heapmark, 1024) -; samplesrc/playpcm.pla: 0061: while ^$C000 < 128 - !BYTE $26 ; LA _D046+0 -_F031 !WORD _D046+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _C000 -_F032 !WORD _C000 - !BYTE $54 ; CALL _X012 -_F033 !WORD 0 - !BYTE $26 ; LA _D046+0 -_F034 !WORD _D046+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X018 -_F035 !WORD 0 - !BYTE $54 ; CALL _X012 -_F036 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $82 ; ADD - !BYTE $26 ; LA _D046+0 -_F037 !WORD _D046+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X018 -_F038 !WORD 0 - !BYTE $54 ; CALL _X012 -_F039 !WORD 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $26 ; LA _D046+0 -_F040 !WORD _D046+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X018 -_F041 !WORD 0 - !BYTE $54 ; CALL _X012 -_F042 !WORD 0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $82 ; ADD - !BYTE $26 ; LA _D046+0 -_F043 !WORD _D046+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X018 -_F044 !WORD 0 - !BYTE $54 ; CALL _X012 -_F045 !WORD 0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X012 -_F046 !WORD 0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _X018 -_F047 !WORD 0 - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B012 -; samplesrc/playpcm.pla: 0062: pcmPlay(heapmark, 8)#0 -; samplesrc/playpcm.pla: 0063: loop - !BYTE $54 ; CALL _X012 -_F048 !WORD 0 - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _X036+0 -_F049 !WORD 0+0 - !BYTE $56 ; ICAL -_B014 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* -_B013 -; samplesrc/playpcm.pla: 0064: getc -; samplesrc/playpcm.pla: 0065: memset(heapmark, $FFF0, 1024) -; samplesrc/playpcm.pla: 0066: while ^$C000 < 128 - !BYTE $54 ; CALL _X006 -_F050 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X012 -_F051 !WORD 0 - !BYTE $5E,$F0 ; CFFB 65520 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _X017 -_F052 !WORD 0 - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B015 -; samplesrc/playpcm.pla: 0067: pcmPlay(heapmark, 4)#0 -; samplesrc/playpcm.pla: 0068: loop - !BYTE $54 ; CALL _X012 -_F053 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X036+0 -_F054 !WORD 0+0 - !BYTE $56 ; ICAL -_B017 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B015 - !WORD _B015-* -_B016 -; samplesrc/playpcm.pla: 0069: getc -; samplesrc/playpcm.pla: 0070: memset(heapmark, $F8F8, 1024) -; samplesrc/playpcm.pla: 0071: while ^$C000 < 128 - !BYTE $54 ; CALL _X006 -_F055 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X012 -_F056 !WORD 0 - !BYTE $2C,$F8,$F8 ; CW 63736 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _X017 -_F057 !WORD 0 - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -_B018 -; samplesrc/playpcm.pla: 0072: pcmPlay(heapmark, 4)#0 -; samplesrc/playpcm.pla: 0073: loop - !BYTE $54 ; CALL _X012 -_F058 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X036+0 -_F059 !WORD 0+0 - !BYTE $56 ; ICAL -_B020 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B018 - !WORD _B018-* -_B019 -; samplesrc/playpcm.pla: 0074: getc -; samplesrc/playpcm.pla: 0075: fin - !BYTE $54 ; CALL _X006 -_F060 !WORD 0 - !BYTE $30 ; DROP -_B005 -; samplesrc/playpcm.pla: 0076: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: PCMPLAY - !BYTE $D0,$C3,$CD,$D0,$CC,$C1,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/playseq.a b/src/samplesrc/playseq.a deleted file mode 100644 index 8196e73..0000000 --- a/src/samplesrc/playseq.a +++ /dev/null @@ -1,602 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/playseq.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/playseq.pla: 0001: -; samplesrc/playseq.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; samplesrc/playseq.pla: 0002: -; samplesrc/playseq.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; samplesrc/playseq.pla: 0003: -; samplesrc/playseq.pla: 0004: include "inc/sndseq.plh" -; inc/sndseq.plh: 0001: import sndseq - ; DCI STRING: SNDSEQ - !BYTE $D3,$CE,$C4,$D3,$C5,$51 - ; SNDSEQ -> X033 -; inc/sndseq.plh: 0002: word musicSequence // musicSequence(yield, backgroundProc)#0 - ; MUSICSEQUENCE -> X034 -; inc/sndseq.plh: 0003: word tonePlay // tonePlay(pitch, duration)#0 - ; TONEPLAY -> X035 -; inc/sndseq.plh: 0004: word pcmPlay // pcmPlay(samples, pagecnt)#0 - ; PCMPLAY -> X036 -; inc/sndseq.plh: 0005: predef musicPlay(track, rept)#0, musicStop#0, musicSimple - ; MUSICPLAY -> X037 - ; MUSICSTOP -> X038 - ; MUSICSIMPLE -> X039 -; inc/sndseq.plh: 0006: predef musicGetKey(yield, backgroundProc)#1, musicRead(filename)#1 - ; MUSICGETKEY -> X040 - ; MUSICREAD -> X041 -; inc/sndseq.plh: 0007: end -; samplesrc/playseq.pla: 0004: -; samplesrc/playseq.pla: 0005: -; samplesrc/playseq.pla: 0006: // -; samplesrc/playseq.pla: 0007: // These are utility sequences/routines needed to test the music sequencer code. -; samplesrc/playseq.pla: 0008: // -; samplesrc/playseq.pla: 0009: word arg, seq, len - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D042 !FILL 2 ; arg, seq, len -_D043 !FILL 2 ; seq, len -_D044 !FILL 2 ; len -; samplesrc/playseq.pla: 0010: byte ref -_D045 !FILL 1 ; ref -; samplesrc/playseq.pla: 0011: // -; samplesrc/playseq.pla: 0012: // Sample background process to show it's working -; samplesrc/playseq.pla: 0013: // -; samplesrc/playseq.pla: 0014: def backgroundProc#0 -_SUBSEG ; BYTECODE STARTS -_C000 ; backgroundProc() -; samplesrc/playseq.pla: 0015: putc('.') -; samplesrc/playseq.pla: 0016: end - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $5C ; RET -; samplesrc/playseq.pla: 0017: -; samplesrc/playseq.pla: 0018: arg = argNext(argFirst) -_INIT -; samplesrc/playseq.pla: 0019: if ^arg -; samplesrc/playseq.pla: 0020: ref = fileio:open(arg) -; samplesrc/playseq.pla: 0021: if ref -; samplesrc/playseq.pla: 0022: seq = heapalloc(heapavail - 256) -; samplesrc/playseq.pla: 0023: len = fileio:read(ref, seq, heapmark - seq) -; samplesrc/playseq.pla: 0024: fileio:close(ref) -; samplesrc/playseq.pla: 0025: heaprelease(seq + len) -; samplesrc/playseq.pla: 0026: musicPlay(seq, TRUE) -; samplesrc/playseq.pla: 0027: musicGetKey(8, @backgroundProc) // Yield every 8/16 second -; samplesrc/playseq.pla: 0028: musicStop -; samplesrc/playseq.pla: 0029: else - !BYTE $54 ; CALL _X029 -_F001 !WORD 0 - !BYTE $54 ; CALL _X030 -_F002 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F003 !WORD _D042+0 - !BYTE $6A ; LAW _D042+0 -_F004 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $6A ; LAW _D042+0 -_F005 !WORD _D042+0 - !BYTE $6A ; LAW _X031+14 -_F006 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D045+0 -_F007 !WORD _D045+0 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $54 ; CALL _X016 -_F008 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F009 !WORD 0 - !BYTE $7A ; SAW _D043+0 -_F010 !WORD _D043+0 - !BYTE $68 ; LAB _D045+0 -_F011 !WORD _D045+0 - !BYTE $6A ; LAW _D043+0 -_F012 !WORD _D043+0 - !BYTE $54 ; CALL _X012 -_F013 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F014 !WORD _D043+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+18 -_F015 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D044+0 -_F016 !WORD _D044+0 - !BYTE $68 ; LAB _D045+0 -_F017 !WORD _D045+0 - !BYTE $6A ; LAW _X031+16 -_F018 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D043+0 -_F019 !WORD _D043+0 - !BYTE $B6 ; ADDAW _D044+0 -_F020 !WORD _D044+0 - !BYTE $54 ; CALL _X015 -_F021 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D043+0 -_F022 !WORD _D043+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X037 -_F023 !WORD 0 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _C000+0 -_F024 !WORD _C000+0 - !BYTE $54 ; CALL _X040 -_F025 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X038 -_F026 !WORD 0 - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; samplesrc/playseq.pla: 0030: puts("File not found.\n") - !BYTE $2E ; CS - !BYTE $10 - !BYTE $46,$69,$6C,$65,$20,$6E,$6F,$74 - !BYTE $20,$66,$6F,$75,$6E,$64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 -; samplesrc/playseq.pla: 0031: fin -_B004 -; samplesrc/playseq.pla: 0032: fin -_B001 -_B002 -; samplesrc/playseq.pla: 0033: -; samplesrc/playseq.pla: 0034: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: MUSICPLAY - !BYTE $CD,$D5,$D3,$C9,$C3,$D0,$CC,$C1,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: MUSICSTOP - !BYTE $CD,$D5,$D3,$C9,$C3,$D3,$D4,$CF,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: MUSICGETKEY - !BYTE $CD,$D5,$D3,$C9,$C3,$C7,$C5,$D4,$CB,$C5,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/primegap.a b/src/samplesrc/primegap.a deleted file mode 100644 index e88f5e5..0000000 --- a/src/samplesrc/primegap.a +++ /dev/null @@ -1,620 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/primegap.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/primegap.pla: 0001: -; samplesrc/primegap.pla: 0002: -; samplesrc/primegap.pla: 0003: var a, b, i,loprim,hiprim - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D028 !FILL 2 ; a, b, i,loprim,hiprim -_D029 !FILL 2 ; b, i,loprim,hiprim -_D030 !FILL 2 ; i,loprim,hiprim -_D031 !FILL 2 ; loprim,hiprim -_D032 !FILL 2 ; hiprim -; samplesrc/primegap.pla: 0004: -; samplesrc/primegap.pla: 0005: def getnum -_SUBSEG ; BYTECODE STARTS -_C000 ; getnum() -; samplesrc/primegap.pla: 0006: var str, num - ; str -> [0] - ; num -> [2] -; samplesrc/primegap.pla: 0007: num = 0 - !BYTE $58,$04,$00 ; ENTER 4,0 - !BYTE $00 ; CN 0 - !BYTE $28,$02 ; LLA [2] - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0008: str = gets(':'|$80) + 1 - !BYTE $2A,$3A ; CB 58 - !BYTE $2A,$80 ; CB 128 - !BYTE $96 ; OR - !BYTE $26 ; LA _X007+0 -_F000 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $02 ; CN 1 - !BYTE $82 ; ADD - !BYTE $28,$00 ; LLA [0] - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0009: while ^str >= '0' and ^str <= '9' - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; samplesrc/primegap.pla: 0010: num = num * 10 + (^str - '0') - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $28,$02 ; LLA [2] - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0011: str++ - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $28,$00 ; LLA [0] - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0012: loop -_B003 - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B004 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; samplesrc/primegap.pla: 0013: return num - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/primegap.pla: 0014: end -; samplesrc/primegap.pla: 0015: -; samplesrc/primegap.pla: 0016: def prim(x) - ; x -> [0] -_C001 ; prim() -; samplesrc/primegap.pla: 0017: var i - ; i -> [2] -; samplesrc/primegap.pla: 0018: i = 3 - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $06 ; CN 3 - !BYTE $28,$02 ; LLA [2] - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0019: while i*i < x and x % i; i = i + 2; loop - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B005 - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $82 ; ADD - !BYTE $28,$02 ; LLA [2] - !BYTE $72 ; SW -_B007 - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B008 - !WORD _B008-* - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $8A ; MOD -_B008 - !BYTE $4E ; BRTRU _B005 - !WORD _B005-* -_B006 -; samplesrc/primegap.pla: 0020: return x < i*i - !BYTE $28,$00 ; LLA [0] - !BYTE $62 ; LW - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $28,$02 ; LLA [2] - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $46 ; ISLT - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/primegap.pla: 0021: end -; samplesrc/primegap.pla: 0022: -; samplesrc/primegap.pla: 0023: puts("Geben Sie den oberen Grenzwert ein") -_INIT - !BYTE $2E ; CS - !BYTE $22 - !BYTE $47,$65,$62,$65,$6E,$20,$53,$69 - !BYTE $65,$20,$64,$65,$6E,$20,$6F,$62 - !BYTE $65,$72,$65,$6E,$20,$47,$72,$65 - !BYTE $6E,$7A,$77,$65,$72,$74,$20,$65 - !BYTE $69,$6E - !BYTE $26 ; LA _X004+0 -_F001 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/primegap.pla: 0024: a = getnum - !BYTE $26 ; LA _C000+0 -_F002 !WORD _C000+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D028+0 -_F003 !WORD _D028+0 - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0025: puts("Geben Sie die minimale Differenz ein") - !BYTE $2E ; CS - !BYTE $24 - !BYTE $47,$65,$62,$65,$6E,$20,$53,$69 - !BYTE $65,$20,$64,$69,$65,$20,$6D,$69 - !BYTE $6E,$69,$6D,$61,$6C,$65,$20,$44 - !BYTE $69,$66,$66,$65,$72,$65,$6E,$7A - !BYTE $20,$65,$69,$6E - !BYTE $26 ; LA _X004+0 -_F004 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/primegap.pla: 0026: b = getnum - !BYTE $26 ; LA _C000+0 -_F005 !WORD _C000+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D029+0 -_F006 !WORD _D029+0 - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0027: loprim, hiprim, i = 1, 1, 3 - !BYTE $02 ; CN 1 - !BYTE $02 ; CN 1 - !BYTE $06 ; CN 3 - !BYTE $26 ; LA _D030+0 -_F007 !WORD _D030+0 - !BYTE $72 ; SW - !BYTE $26 ; LA _D032+0 -_F008 !WORD _D032+0 - !BYTE $72 ; SW - !BYTE $26 ; LA _D031+0 -_F009 !WORD _D031+0 - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0028: while i <= a and hiprim-loprim < b - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B009 -; samplesrc/primegap.pla: 0029: if prim(i) - !BYTE $26 ; LA _D030+0 -_F010 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _C001+0 -_F011 !WORD _C001+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* -; samplesrc/primegap.pla: 0030: loprim = hiprim - !BYTE $26 ; LA _D032+0 -_F012 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F013 !WORD _D031+0 - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0031: hiprim = i - !BYTE $26 ; LA _D030+0 -_F014 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D032+0 -_F015 !WORD _D032+0 - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0032: fin -_B013 -_B014 -; samplesrc/primegap.pla: 0033: i = i + 2 - !BYTE $26 ; LA _D030+0 -_F016 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $82 ; ADD - !BYTE $26 ; LA _D030+0 -_F017 !WORD _D030+0 - !BYTE $72 ; SW -; samplesrc/primegap.pla: 0034: loop -_B011 - !BYTE $26 ; LA _D030+0 -_F018 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D028+0 -_F019 !WORD _D028+0 - !BYTE $62 ; LW - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B012 - !WORD _B012-* - !BYTE $26 ; LA _D032+0 -_F020 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F021 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $26 ; LA _D029+0 -_F022 !WORD _D029+0 - !BYTE $62 ; LW - !BYTE $46 ; ISLT -_B012 - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* -_B010 -; samplesrc/primegap.pla: 0035: if hiprim-loprim < b - !BYTE $26 ; LA _D032+0 -_F023 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F024 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $26 ; LA _D029+0 -_F025 !WORD _D029+0 - !BYTE $62 ; LW - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* -; samplesrc/primegap.pla: 0036: puts("keine Loesung gefunden !") - !BYTE $2E ; CS - !BYTE $18 - !BYTE $6B,$65,$69,$6E,$65,$20,$4C,$6F - !BYTE $65,$73,$75,$6E,$67,$20,$67,$65 - !BYTE $66,$75,$6E,$64,$65,$6E,$20,$21 - !BYTE $26 ; LA _X004+0 -_F026 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/primegap.pla: 0037: else - !BYTE $50 ; BRNCH _B016 - !WORD _B016-* -_B015 -; samplesrc/primegap.pla: 0038: puti(hiprim); putc(' '); puti(loprim); putc(' '); puti(hiprim-loprim) - !BYTE $26 ; LA _D032+0 -_F027 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _X005+0 -_F028 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $2A,$20 ; CB 32 - !BYTE $26 ; LA _X002+0 -_F029 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D031+0 -_F030 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _X005+0 -_F031 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $2A,$20 ; CB 32 - !BYTE $26 ; LA _X002+0 -_F032 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D032+0 -_F033 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F034 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $26 ; LA _X005+0 -_F035 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/primegap.pla: 0039: fin -_B016 -; samplesrc/primegap.pla: 0040: putln - !BYTE $26 ; LA _X003+0 -_F036 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/primegap.pla: 0041: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/rod.a b/src/samplesrc/rod.a deleted file mode 100644 index f54a9c1..0000000 --- a/src/samplesrc/rod.a +++ /dev/null @@ -1,621 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/rod.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/rod.pla: 0001: -; samplesrc/rod.pla: 0002: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X028 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/rod.pla: 0002: -; samplesrc/rod.pla: 0003: // -; samplesrc/rod.pla: 0004: // Rod's Colors -; samplesrc/rod.pla: 0005: // -; samplesrc/rod.pla: 0006: def rod#0 - !BYTE $00 ; END OF MODULE DEPENDENCIES - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; rod() -; samplesrc/rod.pla: 0007: byte i, j, k, w, fmi, fmk, color - ; i -> [0] - ; j -> [1] - ; k -> [2] - ; w -> [3] - ; fmi -> [4] - ; fmk -> [5] - ; color -> [6] -; samplesrc/rod.pla: 0008: -; samplesrc/rod.pla: 0009: while TRUE - !BYTE $58,$07,$00 ; ENTER 7,0 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; samplesrc/rod.pla: 0010: for w = 3 to 50 - !BYTE $2A,$32 ; CB 50 - !BYTE $06 ; CN 3 -_B005 - !BYTE $6C,$03 ; DLB [3] -; samplesrc/rod.pla: 0011: for i = 1 to 19 - !BYTE $2A,$13 ; CB 19 - !BYTE $02 ; CN 1 -_B008 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rod.pla: 0012: for j = 0 to 19 - !BYTE $2A,$13 ; CB 19 - !BYTE $00 ; CN 0 -_B011 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/rod.pla: 0013: k = i + j -; samplesrc/rod.pla: 0014: color = (j * 3) / (i + 3) + i * w / 12 -; samplesrc/rod.pla: 0015: fmi = 40 - i -; samplesrc/rod.pla: 0016: fmk = 40 - k -; samplesrc/rod.pla: 0017: conio:grcolor(color) -; samplesrc/rod.pla: 0018: conio:grplot(i, k) -; samplesrc/rod.pla: 0019: conio:grplot(k, i) -; samplesrc/rod.pla: 0020: conio:grplot(fmi, fmk) -; samplesrc/rod.pla: 0021: conio:grplot(fmk, fmi) -; samplesrc/rod.pla: 0022: conio:grplot(k, fmi) -; samplesrc/rod.pla: 0023: conio:grplot(fmi, k) -; samplesrc/rod.pla: 0024: conio:grplot(i, fmk) -; samplesrc/rod.pla: 0025: conio:grplot(fmk, i) -; samplesrc/rod.pla: 0026: if conio:keypressed() -; samplesrc/rod.pla: 0027: conio:getkey() -; samplesrc/rod.pla: 0028: return - !BYTE $64,$00 ; LLB [0] - !BYTE $B0,$01 ; ADDLB [1] - !BYTE $74,$02 ; SLB [2] - !BYTE $64,$01 ; LLB [1] - !BYTE $34 ; DUP - !BYTE $9E ; IDXW - !BYTE $64,$00 ; LLB [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $88 ; DIV - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$03 ; LLB [3] - !BYTE $86 ; MUL - !BYTE $18 ; CN 12 - !BYTE $88 ; DIV - !BYTE $82 ; ADD - !BYTE $74,$06 ; SLB [6] - !BYTE $2A,$28 ; CB 40 - !BYTE $64,$00 ; LLB [0] - !BYTE $84 ; SUB - !BYTE $74,$04 ; SLB [4] - !BYTE $2A,$28 ; CB 40 - !BYTE $64,$02 ; LLB [2] - !BYTE $84 ; SUB - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $6A ; LAW _X028+18 -_F000 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+20 -_F001 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $6A ; LAW _X028+20 -_F002 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $6A ; LAW _X028+20 -_F003 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X028+20 -_F004 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X028+20 -_F005 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X028+20 -_F006 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$05 ; LLB [5] - !BYTE $6A ; LAW _X028+20 -_F007 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$00 ; LLB [0] - !BYTE $6A ; LAW _X028+20 -_F008 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+0 -_F009 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _X028+2 -_F010 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $32 ; DROP2 - !BYTE $32 ; DROP2 - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/rod.pla: 0029: fin -_B013 -_B014 -; samplesrc/rod.pla: 0030: next -_B012 - !BYTE $A4 ; INCBRLE _B011 - !WORD _B011-* -_B010 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/rod.pla: 0031: next -_B009 - !BYTE $A4 ; INCBRLE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rod.pla: 0032: next -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$03 ; SLB [3] - !BYTE $30 ; DROP -; samplesrc/rod.pla: 0033: loop -_B003 - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -_B002 -; samplesrc/rod.pla: 0034: end - !BYTE $5A,$07 ; LEAVE 7 -; samplesrc/rod.pla: 0035: -; samplesrc/rod.pla: 0036: conio:grmode(TRUE) -_INIT -; samplesrc/rod.pla: 0037: conio:gotoxy(11, 1) -; samplesrc/rod.pla: 0038: puts("Press any key to exit.") - !BYTE $20 ; MINUS ONE - !BYTE $6A ; LAW _X028+16 -_F011 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $16 ; CN 11 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+8 -_F012 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $16 - !BYTE $50,$72,$65,$73,$73,$20,$61,$6E - !BYTE $79,$20,$6B,$65,$79,$20,$74,$6F - !BYTE $20,$65,$78,$69,$74,$2E - !BYTE $54 ; CALL _X004 -_F013 !WORD 0 -; samplesrc/rod.pla: 0039: rod -; samplesrc/rod.pla: 0040: conio:textmode(0) -; samplesrc/rod.pla: 0041: puts("That's all, folks!\n") - !BYTE $54 ; CALL _C000 -_F014 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+14 -_F015 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $13 - !BYTE $54,$68,$61,$74,$27,$73,$20,$61 - !BYTE $6C,$6C,$2C,$20,$66,$6F,$6C,$6B - !BYTE $73,$21,$0D - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -; samplesrc/rod.pla: 0042: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/rogue.a b/src/samplesrc/rogue.a deleted file mode 100644 index d00d938..0000000 --- a/src/samplesrc/rogue.a +++ /dev/null @@ -1,4001 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/rogue.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/rogue.pla: 0001: -; samplesrc/rogue.pla: 0002: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X028 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/rogue.pla: 0002: -; samplesrc/rogue.pla: 0003: -; samplesrc/rogue.pla: 0004: import roguemap - ; DCI STRING: ROGUEMAP - !BYTE $D2,$CF,$C7,$D5,$C5,$CD,$C1,$50 - ; ROGUEMAP -> X029 -; samplesrc/rogue.pla: 0005: const xcentr = 20 - ; xcentr = 20 -; samplesrc/rogue.pla: 0006: const ycentr = 12 - ; ycentr = 12 -; samplesrc/rogue.pla: 0007: const scrnwidth = 40 - ; scrnwidth = 40 -; samplesrc/rogue.pla: 0008: const scrnheight = 22 - ; scrnheight = 22 -; samplesrc/rogue.pla: 0009: const maprows = 64 - ; maprows = 64 -; samplesrc/rogue.pla: 0010: const mapcols = 64 - ; mapcols = 64 -; samplesrc/rogue.pla: 0011: const mapsize = maprows*mapcols - ; mapsize = 4096 -; samplesrc/rogue.pla: 0012: -; samplesrc/rogue.pla: 0013: const FLOOR_TILE = '.' - ; FLOOR_TILE = 46 -; samplesrc/rogue.pla: 0014: const WALL_TILE = '#' - ; WALL_TILE = 35 -; samplesrc/rogue.pla: 0015: const TORCH_TILE = '*' - ; TORCH_TILE = 42 -; samplesrc/rogue.pla: 0016: const PIT_TILE = ' ' - ; PIT_TILE = 32 -; samplesrc/rogue.pla: 0017: const DOOR_TILE = '+' - ; DOOR_TILE = 43 -; samplesrc/rogue.pla: 0018: const LOCKED_TILE = '%' - ; LOCKED_TILE = 37 -; samplesrc/rogue.pla: 0019: const WATER1_TILE = '>' - ; WATER1_TILE = 62 -; samplesrc/rogue.pla: 0020: const WATER2_TILE = '<' - ; WATER2_TILE = 60 -; samplesrc/rogue.pla: 0021: const KEY_TILE = ',' - ; KEY_TILE = 44 -; samplesrc/rogue.pla: 0022: const RAFT_TILE = '@' - ; RAFT_TILE = 64 -; samplesrc/rogue.pla: 0023: const GOLD_TILE = '$' - ; GOLD_TILE = 36 -; samplesrc/rogue.pla: 0024: const FOOD_TILE = '&' - ; FOOD_TILE = 38 -; samplesrc/rogue.pla: 0025: const ENTER_TILE = '-' - ; ENTER_TILE = 45 -; samplesrc/rogue.pla: 0026: const EXIT_TILE = '=' - ; EXIT_TILE = 61 -; samplesrc/rogue.pla: 0027: const OPAQUE_TILE = $01 - ; OPAQUE_TILE = 1 -; samplesrc/rogue.pla: 0028: const VIEWED_TILE = $80 - ; VIEWED_TILE = 128 -; samplesrc/rogue.pla: 0029: const LIT_TILE = $80 - ; LIT_TILE = 128 -; samplesrc/rogue.pla: 0030: const INV_TILE = $3F - ; INV_TILE = 63 -; samplesrc/rogue.pla: 0031: const MAP_TILE = $7F - ; MAP_TILE = 127 -; samplesrc/rogue.pla: 0032: -; samplesrc/rogue.pla: 0033: predef loadmap(level), getmaptile(xmap, ymap), setmaptile(xmap, ymap, tile)#0 - ; LOADMAP -> X030 - ; GETMAPTILE -> X031 - ; SETMAPTILE -> X032 -; samplesrc/rogue.pla: 0034: predef updtmaptile(xmap, ymap, tile)#0, lighttorches#0 - ; UPDTMAPTILE -> X033 - ; LIGHTTORCHES -> X034 -; samplesrc/rogue.pla: 0035: predef drawmap(xorg, yorg, viewfield, viewdir, lightdist, viewdist) - ; DRAWMAP -> X035 -; samplesrc/rogue.pla: 0036: predef drawvisentity(xofst, yofst, tile)#0, drawplayer(tile)#0 - ; DRAWVISENTITY -> X036 - ; DRAWPLAYER -> X037 -; samplesrc/rogue.pla: 0037: predef updatescreen#0 - ; UPDATESCREEN -> X038 -; samplesrc/rogue.pla: 0038: end -; samplesrc/rogue.pla: 0039: -; samplesrc/rogue.pla: 0040: import roguecombat - ; DCI STRING: ROGUECOMBAT - !BYTE $D2,$CF,$C7,$D5,$C5,$C3,$CF,$CD,$C2,$C1,$54 - ; ROGUECOMBAT -> X039 -; samplesrc/rogue.pla: 0041: predef fight(player, enemy) - ; FIGHT -> X040 -; samplesrc/rogue.pla: 0042: word entity, entities - ; ENTITY -> X041 - ; ENTITIES -> X042 -; samplesrc/rogue.pla: 0043: end -; samplesrc/rogue.pla: 0044: -; samplesrc/rogue.pla: 0045: const maxlight = 10 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; maxlight = 10 -; samplesrc/rogue.pla: 0046: const maxview = 19 - ; maxview = 19 -; samplesrc/rogue.pla: 0047: -; samplesrc/rogue.pla: 0048: word xdir = 0, 1, 1, 1, 0, -1, -1, -1 -_D043 ; xdir = 0, 1, 1, 1, 0, -1, -1, -1 - !WORD $0000 - !WORD $0001 - !WORD $0001 - !WORD $0001 - !WORD $0000 - !WORD $FFFF - !WORD $FFFF - !WORD $FFFF -; samplesrc/rogue.pla: 0049: word ydir = -1, -1, 0, 1, 1, 1, 0, -1 -_D044 ; ydir = -1, -1, 0, 1, 1, 1, 0, -1 - !WORD $FFFF - !WORD $FFFF - !WORD $0000 - !WORD $0001 - !WORD $0001 - !WORD $0001 - !WORD $0000 - !WORD $FFFF -; samplesrc/rogue.pla: 0050: byte vplayer = '^', '\\', '>', '/', 'v', '\\', '<', '/' -_D045 ; vplayer = '^', '\\', '>', '/', 'v', '\\', '<', '/' - !BYTE $5E - !BYTE $5C - !BYTE $3E - !BYTE $2F - !BYTE $76 - !BYTE $5C - !BYTE $3C - !BYTE $2F -; samplesrc/rogue.pla: 0051: byte totaldarkness = 0 -_D046 ; totaldarkness = 0 - !BYTE $00 -; samplesrc/rogue.pla: 0052: byte level = 0 -_D047 ; level = 0 - !BYTE $00 -; samplesrc/rogue.pla: 0053: word free_entities -_D048 !FILL 2 ; free_entities -; samplesrc/rogue.pla: 0054: -; samplesrc/rogue.pla: 0055: // -; samplesrc/rogue.pla: 0056: // Power-ups -; samplesrc/rogue.pla: 0057: // -; samplesrc/rogue.pla: 0058: -; samplesrc/rogue.pla: 0059: const TORCH_OIL = 250 - ; TORCH_OIL = 250 -; samplesrc/rogue.pla: 0060: const MANA = 50 - ; MANA = 50 -; samplesrc/rogue.pla: 0061: const RUN_ENERGY = 4 - ; RUN_ENERGY = 4 -; samplesrc/rogue.pla: 0062: -; samplesrc/rogue.pla: 0063: struc t_pos -; samplesrc/rogue.pla: 0064: byte xpos - ; xpos = 0 -; samplesrc/rogue.pla: 0065: byte ypos - ; ypos = 1 -; samplesrc/rogue.pla: 0066: end - ; t_pos = 2 -; samplesrc/rogue.pla: 0067: -; samplesrc/rogue.pla: 0068: // -; samplesrc/rogue.pla: 0069: // Player -; samplesrc/rogue.pla: 0070: // -; samplesrc/rogue.pla: 0071: -; samplesrc/rogue.pla: 0072: struc t_player -; samplesrc/rogue.pla: 0073: byte[t_pos] -; samplesrc/rogue.pla: 0074: byte angle - ; angle = 2 -; samplesrc/rogue.pla: 0075: byte lamp - ; lamp = 3 -; samplesrc/rogue.pla: 0076: byte fov - ; fov = 4 -; samplesrc/rogue.pla: 0077: byte skill - ; skill = 5 -; samplesrc/rogue.pla: 0078: byte health - ; health = 6 -; samplesrc/rogue.pla: 0079: byte energy - ; energy = 7 -; samplesrc/rogue.pla: 0080: word oil - ; oil = 8 -; samplesrc/rogue.pla: 0081: byte gold - ; gold = 10 -; samplesrc/rogue.pla: 0082: byte key - ; key = 11 -; samplesrc/rogue.pla: 0083: byte raft - ; raft = 12 -; samplesrc/rogue.pla: 0084: byte[16] name - ; name = 13 -; samplesrc/rogue.pla: 0085: end - ; t_player = 29 -; samplesrc/rogue.pla: 0086: -; samplesrc/rogue.pla: 0087: byte player = 0 // xpos -_D049 ; player = 0 // xpos - !BYTE $00 -; samplesrc/rogue.pla: 0088: byte = 0 // ypos - !BYTE $00 -; samplesrc/rogue.pla: 0089: byte = 4 // angle - !BYTE $04 -; samplesrc/rogue.pla: 0090: byte = 4 // lamp - !BYTE $04 -; samplesrc/rogue.pla: 0091: byte = 1 // fov - !BYTE $01 -; samplesrc/rogue.pla: 0092: byte = 15 // skill - !BYTE $0F -; samplesrc/rogue.pla: 0093: byte = 100 // health - !BYTE $64 -; samplesrc/rogue.pla: 0094: byte = 100 // energy - !BYTE $64 -; samplesrc/rogue.pla: 0095: word = 500 // oil - !WORD $01F4 -; samplesrc/rogue.pla: 0096: byte = 0 // gold - !BYTE $00 -; samplesrc/rogue.pla: 0097: byte = 0 // key - !BYTE $00 -; samplesrc/rogue.pla: 0098: byte = 0 // raft - !BYTE $00 -; samplesrc/rogue.pla: 0099: byte[16] = "Player" - !BYTE $06 - !BYTE $50,$6C,$61,$79,$65,$72 - !FILL $09 -; samplesrc/rogue.pla: 0100: -; samplesrc/rogue.pla: 0101: predef moveplayer(dir)#0 -; samplesrc/rogue.pla: 0102: -; samplesrc/rogue.pla: 0103: // -; samplesrc/rogue.pla: 0104: // Other monsters -; samplesrc/rogue.pla: 0105: // -; samplesrc/rogue.pla: 0106: -; samplesrc/rogue.pla: 0107: struc t_other -; samplesrc/rogue.pla: 0108: byte[t_pos] -; samplesrc/rogue.pla: 0109: byte kind - ; kind = 2 -; samplesrc/rogue.pla: 0110: byte tileid - ; tileid = 3 -; samplesrc/rogue.pla: 0111: byte life - ; life = 4 -; samplesrc/rogue.pla: 0112: byte power - ; power = 5 -; samplesrc/rogue.pla: 0113: word prev_other - ; prev_other = 6 -; samplesrc/rogue.pla: 0114: word next_other - ; next_other = 8 -; samplesrc/rogue.pla: 0115: end - ; t_other = 10 -; samplesrc/rogue.pla: 0116: -; samplesrc/rogue.pla: 0117: // -; samplesrc/rogue.pla: 0118: // One line status strings -; samplesrc/rogue.pla: 0119: // -; samplesrc/rogue.pla: 0120: -; samplesrc/rogue.pla: 0121: const statusline = 23 - ; statusline = 23 -; samplesrc/rogue.pla: 0122: -; samplesrc/rogue.pla: 0123: byte helthstr = "Hlth:" -_D051 ; helthstr = "Hlth:" - !BYTE $05 - !BYTE $48,$6C,$74,$68,$3A -; samplesrc/rogue.pla: 0124: byte enrgystr = "NRG:" -_D052 ; enrgystr = "NRG:" - !BYTE $04 - !BYTE $4E,$52,$47,$3A -; samplesrc/rogue.pla: 0125: byte oilstr = "Oil:" -_D053 ; oilstr = "Oil:" - !BYTE $04 - !BYTE $4F,$69,$6C,$3A -; samplesrc/rogue.pla: 0126: byte goldstr = "Gld:" -_D054 ; goldstr = "Gld:" - !BYTE $04 - !BYTE $47,$6C,$64,$3A -; samplesrc/rogue.pla: 0127: byte keystr = "Key" -_D055 ; keystr = "Key" - !BYTE $03 - !BYTE $4B,$65,$79 -; samplesrc/rogue.pla: 0128: byte raftstr = "Flt" -_D056 ; raftstr = "Flt" - !BYTE $03 - !BYTE $46,$6C,$74 -; samplesrc/rogue.pla: 0129: -; samplesrc/rogue.pla: 0130: // -; samplesrc/rogue.pla: 0131: // Messages -; samplesrc/rogue.pla: 0132: // -; samplesrc/rogue.pla: 0133: -; samplesrc/rogue.pla: 0134: word instr -_D057 !FILL 2 ; instr -; samplesrc/rogue.pla: 0135: byte namestr = "\nGreetings Warrior,\n what is your name" -_D058 ; namestr = "\nGreetings Warrior,\n what is your name" - !BYTE $27 - !BYTE $0D,$47,$72,$65,$65,$74,$69,$6E - !BYTE $67,$73,$20,$57,$61,$72,$72,$69 - !BYTE $6F,$72,$2C,$0D,$20,$20,$77,$68 - !BYTE $61,$74,$20,$69,$73,$20,$79,$6F - !BYTE $75,$72,$20,$6E,$61,$6D,$65 -; samplesrc/rogue.pla: 0136: byte prepstr = "\nPrepare." -_D059 ; prepstr = "\nPrepare." - !BYTE $09 - !BYTE $0D,$50,$72,$65,$70,$61,$72,$65 - !BYTE $2E -; samplesrc/rogue.pla: 0137: byte quitstr = "Are you sure you want to quit?" -_D060 ; quitstr = "Are you sure you want to quit?" - !BYTE $1E - !BYTE $41,$72,$65,$20,$79,$6F,$75,$20 - !BYTE $73,$75,$72,$65,$20,$79,$6F,$75 - !BYTE $20,$77,$61,$6E,$74,$20,$74,$6F - !BYTE $20,$71,$75,$69,$74,$3F -; samplesrc/rogue.pla: 0138: byte youmadeitstr = "You made it out alive with $" -_D061 ; youmadeitstr = "You made it out alive with $" - !BYTE $1C - !BYTE $59,$6F,$75,$20,$6D,$61,$64,$65 - !BYTE $20,$69,$74,$20,$6F,$75,$74,$20 - !BYTE $61,$6C,$69,$76,$65,$20,$77,$69 - !BYTE $74,$68,$20,$24 -; samplesrc/rogue.pla: 0139: byte youdiedstr = "You perished inside the catacombs :-(" -_D062 ; youdiedstr = "You perished inside the catacombs :-(" - !BYTE $25 - !BYTE $59,$6F,$75,$20,$70,$65,$72,$69 - !BYTE $73,$68,$65,$64,$20,$69,$6E,$73 - !BYTE $69,$64,$65,$20,$74,$68,$65,$20 - !BYTE $63,$61,$74,$61,$63,$6F,$6D,$62 - !BYTE $73,$20,$3A,$2D,$28 -; samplesrc/rogue.pla: 0140: byte againstr = "\n\nPlay again by typing: +rogue\n" -_D063 ; againstr = "\n\nPlay again by typing: +rogue\n" - !BYTE $1F - !BYTE $0D,$0D,$50,$6C,$61,$79,$20,$61 - !BYTE $67,$61,$69,$6E,$20,$62,$79,$20 - !BYTE $74,$79,$70,$69,$6E,$67,$3A,$20 - !BYTE $2B,$72,$6F,$67,$75,$65,$0D -; samplesrc/rogue.pla: 0141: -; samplesrc/rogue.pla: 0142: // -; samplesrc/rogue.pla: 0143: // Utility functions -; samplesrc/rogue.pla: 0144: // -; samplesrc/rogue.pla: 0145: -; samplesrc/rogue.pla: 0146: def abs(i) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; i -> [0] -_C000 ; abs() -; samplesrc/rogue.pla: 0147: if i < 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rogue.pla: 0148: i = -i -; samplesrc/rogue.pla: 0149: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; samplesrc/rogue.pla: 0150: return i - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0151: end -; samplesrc/rogue.pla: 0152: -; samplesrc/rogue.pla: 0153: // -; samplesrc/rogue.pla: 0154: // Sound functions -; samplesrc/rogue.pla: 0155: // -; samplesrc/rogue.pla: 0156: -; samplesrc/rogue.pla: 0157: def ouch#0 -_C001 ; ouch() -; samplesrc/rogue.pla: 0158: conio:tone(128,5) -; samplesrc/rogue.pla: 0159: end - !BYTE $2A,$80 ; CB 128 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+22 -_F000 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5C ; RET -; samplesrc/rogue.pla: 0160: -; samplesrc/rogue.pla: 0161: def gotit#0 -_C002 ; gotit() -; samplesrc/rogue.pla: 0162: conio:tone(10,8) -; samplesrc/rogue.pla: 0163: conio:tone(80,2) -; samplesrc/rogue.pla: 0164: end - !BYTE $14 ; CN 10 - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _X028+22 -_F001 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$50 ; CB 80 - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X028+22 -_F002 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5C ; RET -; samplesrc/rogue.pla: 0165: -; samplesrc/rogue.pla: 0166: def fall#0 -_C003 ; fall() -; samplesrc/rogue.pla: 0167: byte i - ; i -> [0] -; samplesrc/rogue.pla: 0168: -; samplesrc/rogue.pla: 0169: for i = 0 to 10 - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $14 ; CN 10 - !BYTE $00 ; CN 0 -_B004 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rogue.pla: 0170: conio:tone(50, i) -; samplesrc/rogue.pla: 0171: next - !BYTE $2A,$32 ; CB 50 - !BYTE $64,$00 ; LLB [0] - !BYTE $6A ; LAW _X028+22 -_F003 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0172: end - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/rogue.pla: 0173: -; samplesrc/rogue.pla: 0174: def drown#0 -_C004 ; drown() -; samplesrc/rogue.pla: 0175: word i - ; i -> [0] -; samplesrc/rogue.pla: 0176: -; samplesrc/rogue.pla: 0177: conio:tone(10,20) - !BYTE $58,$02,$00 ; ENTER 2,0 -; samplesrc/rogue.pla: 0178: conio:tone(10,1) -; samplesrc/rogue.pla: 0179: for i = 0 to 1000 - !BYTE $14 ; CN 10 - !BYTE $2A,$14 ; CB 20 - !BYTE $6A ; LAW _X028+22 -_F004 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $14 ; CN 10 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+22 -_F005 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $00 ; CN 0 -_B007 - !BYTE $6E,$00 ; DLW [0] -; samplesrc/rogue.pla: 0180: next -_B008 - !BYTE $A4 ; INCBRLE _B007 - !WORD _B007-* -_B006 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0181: conio:tone(10,25) -; samplesrc/rogue.pla: 0182: conio:tone(10,2) -; samplesrc/rogue.pla: 0183: for i = 0 to 1000 - !BYTE $14 ; CN 10 - !BYTE $2A,$19 ; CB 25 - !BYTE $6A ; LAW _X028+22 -_F006 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $14 ; CN 10 - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X028+22 -_F007 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $00 ; CN 0 -_B010 - !BYTE $6E,$00 ; DLW [0] -; samplesrc/rogue.pla: 0184: next -_B011 - !BYTE $A4 ; INCBRLE _B010 - !WORD _B010-* -_B009 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0185: conio:tone(10,30) -; samplesrc/rogue.pla: 0186: conio:tone(10,3) -; samplesrc/rogue.pla: 0187: end - !BYTE $14 ; CN 10 - !BYTE $2A,$1E ; CB 30 - !BYTE $6A ; LAW _X028+22 -_F008 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $14 ; CN 10 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+22 -_F009 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0188: -; samplesrc/rogue.pla: 0189: def groan#0 -_C005 ; groan() -; samplesrc/rogue.pla: 0190: byte i - ; i -> [0] -; samplesrc/rogue.pla: 0191: -; samplesrc/rogue.pla: 0192: for i = 0 to 5 - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $0A ; CN 5 - !BYTE $00 ; CN 0 -_B013 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rogue.pla: 0193: conio:tone(5, 40 + i) -; samplesrc/rogue.pla: 0194: next - !BYTE $0A ; CN 5 - !BYTE $2A,$28 ; CB 40 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $6A ; LAW _X028+22 -_F010 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B014 - !BYTE $A4 ; INCBRLE _B013 - !WORD _B013-* -_B012 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0195: end - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/rogue.pla: 0196: -; samplesrc/rogue.pla: 0197: // -; samplesrc/rogue.pla: 0198: // Update status line -; samplesrc/rogue.pla: 0199: // -; samplesrc/rogue.pla: 0200: -; samplesrc/rogue.pla: 0201: def status#0 -_C006 ; status() -; samplesrc/rogue.pla: 0202: memset($07D0, $A0A0, 40) -; samplesrc/rogue.pla: 0203: conio:gotoxy(0, statusline) -; samplesrc/rogue.pla: 0204: puts(@helthstr) -; samplesrc/rogue.pla: 0205: puti(player.health) -; samplesrc/rogue.pla: 0206: conio:gotoxy(9, statusline) -; samplesrc/rogue.pla: 0207: puts(@enrgystr) -; samplesrc/rogue.pla: 0208: puti(player.energy) -; samplesrc/rogue.pla: 0209: conio:gotoxy(17, statusline) -; samplesrc/rogue.pla: 0210: puts(@oilstr) -; samplesrc/rogue.pla: 0211: puti(player:oil/10) -; samplesrc/rogue.pla: 0212: conio:gotoxy(25, statusline) -; samplesrc/rogue.pla: 0213: puts(@goldstr) -; samplesrc/rogue.pla: 0214: puti(player.gold) -; samplesrc/rogue.pla: 0215: if player.raft -; samplesrc/rogue.pla: 0216: conio:gotoxy(32, statusline) -; samplesrc/rogue.pla: 0217: puts(@raftstr) -; samplesrc/rogue.pla: 0218: fin - !BYTE $2C,$D0,$07 ; CW 2000 - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X017 -_F011 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F012 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D051+0 -_F013 !WORD _D051+0 - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 - !BYTE $68 ; LAB _D049+6 -_F015 !WORD _D049+6 - !BYTE $54 ; CALL _X005 -_F016 !WORD 0 - !BYTE $12 ; CN 9 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F017 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D052+0 -_F018 !WORD _D052+0 - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 - !BYTE $68 ; LAB _D049+7 -_F020 !WORD _D049+7 - !BYTE $54 ; CALL _X005 -_F021 !WORD 0 - !BYTE $2A,$11 ; CB 17 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F022 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D053+0 -_F023 !WORD _D053+0 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 - !BYTE $6A ; LAW _D049+8 -_F025 !WORD _D049+8 - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _X005 -_F026 !WORD 0 - !BYTE $2A,$19 ; CB 25 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F027 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D054+0 -_F028 !WORD _D054+0 - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 - !BYTE $68 ; LAB _D049+10 -_F030 !WORD _D049+10 - !BYTE $54 ; CALL _X005 -_F031 !WORD 0 - !BYTE $68 ; LAB _D049+12 -_F032 !WORD _D049+12 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $2A,$20 ; CB 32 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F033 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D056+0 -_F034 !WORD _D056+0 - !BYTE $54 ; CALL _X004 -_F035 !WORD 0 -_B015 -_B016 -; samplesrc/rogue.pla: 0219: if player.key -; samplesrc/rogue.pla: 0220: conio:gotoxy(36, statusline) -; samplesrc/rogue.pla: 0221: puts(@keystr) -; samplesrc/rogue.pla: 0222: fin - !BYTE $68 ; LAB _D049+11 -_F036 !WORD _D049+11 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2A,$24 ; CB 36 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F037 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D055+0 -_F038 !WORD _D055+0 - !BYTE $54 ; CALL _X004 -_F039 !WORD 0 -_B017 -_B018 -; samplesrc/rogue.pla: 0223: end - !BYTE $5C ; RET -; samplesrc/rogue.pla: 0224: -; samplesrc/rogue.pla: 0225: def clearstatus#0 -_C007 ; clearstatus() -; samplesrc/rogue.pla: 0226: memset($07D0, $A0A0, 40) -; samplesrc/rogue.pla: 0227: end - !BYTE $2C,$D0,$07 ; CW 2000 - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X017 -_F040 !WORD 0 - !BYTE $5C ; RET -; samplesrc/rogue.pla: 0228: -; samplesrc/rogue.pla: 0229: // -; samplesrc/rogue.pla: 0230: // Move player, check for obstacles -; samplesrc/rogue.pla: 0231: // -; samplesrc/rogue.pla: 0232: -; samplesrc/rogue.pla: 0233: def moveplayer(dir)#0 - ; dir -> [0] -_P000 ; moveplayer(dir)#0() -_C008 ; moveplayer() -; samplesrc/rogue.pla: 0234: byte xmove, ymove - ; xmove -> [2] - ; ymove -> [3] -; samplesrc/rogue.pla: 0235: -; samplesrc/rogue.pla: 0236: xmove = player.xpos + dir * xdir[player.angle] - !BYTE $58,$04,$01 ; ENTER 4,1 -; samplesrc/rogue.pla: 0237: ymove = player.ypos + dir * ydir[player.angle] -; samplesrc/rogue.pla: 0238: when getmaptile(xmove, ymove) & MAP_TILE - !BYTE $68 ; LAB _D049+0 -_F041 !WORD _D049+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+0 -_F042 !WORD _D043+0 - !BYTE $BC ; IDXAB _D049+2 -_F043 !WORD _D049+2 - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D049+1 -_F044 !WORD _D049+1 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D044+0 -_F045 !WORD _D044+0 - !BYTE $BC ; IDXAB _D049+2 -_F046 !WORD _D049+2 - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $74,$03 ; SLB [3] - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _X031 -_F047 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B020-* -; samplesrc/rogue.pla: 0239: is PIT_TILE -_B021 -; samplesrc/rogue.pla: 0240: fall -; samplesrc/rogue.pla: 0241: player.energy = 0 -; samplesrc/rogue.pla: 0242: player.health = 0 -; samplesrc/rogue.pla: 0243: break - !BYTE $54 ; CALL _C003 -_F048 !WORD _C003 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+7 -_F049 !WORD _D049+7 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+6 -_F050 !WORD _D049+6 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -; samplesrc/rogue.pla: 0244: is WATER1_TILE -_B022 -; samplesrc/rogue.pla: 0245: is WATER2_TILE -_B023 -; samplesrc/rogue.pla: 0246: if not player.raft -; samplesrc/rogue.pla: 0247: drown -; samplesrc/rogue.pla: 0248: player.energy = 0 -; samplesrc/rogue.pla: 0249: player.health = 0 -; samplesrc/rogue.pla: 0250: break - !BYTE $68 ; LAB _D049+12 -_F051 !WORD _D049+12 - !BYTE $4E ; BRTRU _B024 - !WORD _B024-* - !BYTE $54 ; CALL _C004 -_F052 !WORD _C004 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+7 -_F053 !WORD _D049+7 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+6 -_F054 !WORD _D049+6 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -; samplesrc/rogue.pla: 0251: fin -_B024 -_B025 -; samplesrc/rogue.pla: 0252: is FLOOR_TILE -_B026 -; samplesrc/rogue.pla: 0253: is TORCH_TILE -_B027 -; samplesrc/rogue.pla: 0254: is KEY_TILE -_B028 -; samplesrc/rogue.pla: 0255: is RAFT_TILE -_B029 -; samplesrc/rogue.pla: 0256: is GOLD_TILE -_B030 -; samplesrc/rogue.pla: 0257: is FOOD_TILE -_B031 -; samplesrc/rogue.pla: 0258: if player.energy < 10 -; samplesrc/rogue.pla: 0259: player.fov = 0 -; samplesrc/rogue.pla: 0260: fin - !BYTE $68 ; LAB _D049+7 -_F055 !WORD _D049+7 - !BYTE $14 ; CN 10 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+4 -_F056 !WORD _D049+4 -_B032 -_B033 -; samplesrc/rogue.pla: 0261: if player.energy -; samplesrc/rogue.pla: 0262: player.energy = player.energy - 1 -; samplesrc/rogue.pla: 0263: fin - !BYTE $68 ; LAB _D049+7 -_F057 !WORD _D049+7 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $68 ; LAB _D049+7 -_F058 !WORD _D049+7 - !BYTE $8E ; DECR - !BYTE $78 ; SAB _D049+7 -_F059 !WORD _D049+7 -_B034 -_B035 -; samplesrc/rogue.pla: 0264: player.xpos = xmove -; samplesrc/rogue.pla: 0265: player.ypos = ymove -; samplesrc/rogue.pla: 0266: break - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _D049+0 -_F060 !WORD _D049+0 - !BYTE $64,$03 ; LLB [3] - !BYTE $78 ; SAB _D049+1 -_F061 !WORD _D049+1 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -; samplesrc/rogue.pla: 0267: otherwise -_B020 - !BYTE $09 ; CASEBLOCK - !WORD $0020 - !WORD _B021-* - !WORD $0024 - !WORD _B030-* - !WORD $0026 - !WORD _B031-* - !WORD $002A - !WORD _B027-* - !WORD $002C - !WORD _B028-* - !WORD $002E - !WORD _B026-* - !WORD $003C - !WORD _B023-* - !WORD $003E - !WORD _B022-* - !WORD $0040 - !WORD _B029-* -; samplesrc/rogue.pla: 0268: ouch -; samplesrc/rogue.pla: 0269: wend - !BYTE $54 ; CALL _C001 -_F062 !WORD _C001 -_B019 -; samplesrc/rogue.pla: 0270: end - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rogue.pla: 0271: -; samplesrc/rogue.pla: 0272: // -; samplesrc/rogue.pla: 0273: // Find other entities in map and put in database -; samplesrc/rogue.pla: 0274: // -; samplesrc/rogue.pla: 0275: -; samplesrc/rogue.pla: 0276: def findentities#0 -_C009 ; findentities() -; samplesrc/rogue.pla: 0277: word newother - ; newother -> [0] -; samplesrc/rogue.pla: 0278: byte xmap, ymap, what - ; xmap -> [2] - ; ymap -> [3] - ; what -> [4] -; samplesrc/rogue.pla: 0279: -; samplesrc/rogue.pla: 0280: for ymap = 1 to maprows - 2 - !BYTE $58,$05,$00 ; ENTER 5,0 - !BYTE $2A,$3E ; CB 62 - !BYTE $02 ; CN 1 -_B037 - !BYTE $6C,$03 ; DLB [3] -; samplesrc/rogue.pla: 0281: for xmap = 2 to mapcols - 2 - !BYTE $2A,$3E ; CB 62 - !BYTE $04 ; CN 2 -_B040 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/rogue.pla: 0282: what = 0 -; samplesrc/rogue.pla: 0283: when getmaptile(xmap, ymap) & MAP_TILE - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _X031 -_F063 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B043-* -; samplesrc/rogue.pla: 0284: is ENTER_TILE -_B044 -; samplesrc/rogue.pla: 0285: player.xpos = xmap -; samplesrc/rogue.pla: 0286: player.ypos = ymap -; samplesrc/rogue.pla: 0287: if getmaptile(xmap, ymap - 1) & MAP_TILE == FLOOR_TILE -; samplesrc/rogue.pla: 0288: player.angle = 0 -; samplesrc/rogue.pla: 0289: else - !BYTE $64,$02 ; LLB [2] - !BYTE $78 ; SAB _D049+0 -_F064 !WORD _D049+0 - !BYTE $64,$03 ; LLB [3] - !BYTE $78 ; SAB _D049+1 -_F065 !WORD _D049+1 - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X031 -_F066 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B045 - !WORD _B045-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+2 -_F067 !WORD _D049+2 - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B045 -; samplesrc/rogue.pla: 0290: player.angle = 4 -; samplesrc/rogue.pla: 0291: fin - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D049+2 -_F068 !WORD _D049+2 -_B046 -; samplesrc/rogue.pla: 0292: break - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -; samplesrc/rogue.pla: 0293: is 'R' // Rogue -_B047 -; samplesrc/rogue.pla: 0294: what = what + 1 -; samplesrc/rogue.pla: 0295: is 'Z' // Zombie - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR - !BYTE $74,$04 ; SLB [4] -_B048 -; samplesrc/rogue.pla: 0296: what = what + 1 -; samplesrc/rogue.pla: 0297: is 'O' // Ogre - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR - !BYTE $74,$04 ; SLB [4] -_B049 -; samplesrc/rogue.pla: 0298: what = what + 1 -; samplesrc/rogue.pla: 0299: is 'T' // Thief - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR - !BYTE $74,$04 ; SLB [4] -_B050 -; samplesrc/rogue.pla: 0300: newother = heapalloc(t_other) -; samplesrc/rogue.pla: 0301: newother->xpos = xmap -; samplesrc/rogue.pla: 0302: newother->ypos = ymap -; samplesrc/rogue.pla: 0303: newother->kind = what -; samplesrc/rogue.pla: 0304: newother->tileid = ^(entity[what] + 1) // First character of name string -; samplesrc/rogue.pla: 0305: newother->power = ^(entity[what] + ^entity[what] + 1) -; samplesrc/rogue.pla: 0306: newother->life = 100 -; samplesrc/rogue.pla: 0307: // -; samplesrc/rogue.pla: 0308: // Insert into head of entities list -; samplesrc/rogue.pla: 0309: // -; samplesrc/rogue.pla: 0310: newother=>prev_other = 0 -; samplesrc/rogue.pla: 0311: newother=>next_other = entities -; samplesrc/rogue.pla: 0312: if entities -; samplesrc/rogue.pla: 0313: entities=>prev_other = newother -; samplesrc/rogue.pla: 0314: fin - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X014 -_F069 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $64,$03 ; LLB [3] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $26 ; LA _X041+0 -_F070 !WORD 0+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $26 ; LA _X041+0 -_F071 !WORD 0+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $26 ; LA _X041+0 -_F072 !WORD 0+0 - !BYTE $B8,$04 ; IDXLB [4] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2A,$64 ; CB 100 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _X042+0 -_F073 !WORD 0+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $6A ; LAW _X042+0 -_F074 !WORD 0+0 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X042+0 -_F075 !WORD 0+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW -_B051 -_B052 -; samplesrc/rogue.pla: 0315: entities = newother -; samplesrc/rogue.pla: 0316: // -; samplesrc/rogue.pla: 0317: // Clear entity from map, replace with floor -; samplesrc/rogue.pla: 0318: // -; samplesrc/rogue.pla: 0319: setmaptile(xmap, ymap, FLOOR_TILE) -; samplesrc/rogue.pla: 0320: wend - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _X042+0 -_F076 !WORD 0+0 - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X032 -_F077 !WORD 0 - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -_B043 - !BYTE $05 ; CASEBLOCK - !WORD $002D - !WORD _B044-* - !WORD $004F - !WORD _B049-* - !WORD $0052 - !WORD _B047-* - !WORD $0054 - !WORD _B050-* - !WORD $005A - !WORD _B048-* -_B042 -; samplesrc/rogue.pla: 0321: next -_B041 - !BYTE $A4 ; INCBRLE _B040 - !WORD _B040-* -_B039 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0322: if not (ymap & 7) -; samplesrc/rogue.pla: 0323: putc('.') -; samplesrc/rogue.pla: 0324: fin - !BYTE $64,$03 ; LLB [3] - !BYTE $3C,$07 ; ANDI 7 - !BYTE $4E ; BRTRU _B053 - !WORD _B053-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F078 !WORD 0 -_B053 -_B054 -; samplesrc/rogue.pla: 0325: next -_B038 - !BYTE $A4 ; INCBRLE _B037 - !WORD _B037-* -_B036 - !BYTE $74,$03 ; SLB [3] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0326: end - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/rogue.pla: 0327: -; samplesrc/rogue.pla: 0328: // -; samplesrc/rogue.pla: 0329: // Draw other entities on map if visible -; samplesrc/rogue.pla: 0330: // -; samplesrc/rogue.pla: 0331: -; samplesrc/rogue.pla: 0332: def drawentities#0 -_C010 ; drawentities() -; samplesrc/rogue.pla: 0333: word other, xofst, yofst - ; other -> [0] - ; xofst -> [2] - ; yofst -> [4] -; samplesrc/rogue.pla: 0334: -; samplesrc/rogue.pla: 0335: other = entities - !BYTE $58,$06,$00 ; ENTER 6,0 -; samplesrc/rogue.pla: 0336: while other - !BYTE $6A ; LAW _X042+0 -_F079 !WORD 0+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -_B055 -; samplesrc/rogue.pla: 0337: xofst = other->xpos - player.xpos -; samplesrc/rogue.pla: 0338: yofst = other->ypos - player.ypos -; samplesrc/rogue.pla: 0339: if abs(xofst) < 20 and abs(yofst) < 12 -; samplesrc/rogue.pla: 0340: drawvisentity(xofst, yofst, other->tileid) -; samplesrc/rogue.pla: 0341: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D049+0 -_F080 !WORD _D049+0 - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $68 ; LAB _D049+1 -_F081 !WORD _D049+1 - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F082 !WORD _C000 - !BYTE $2A,$14 ; CB 20 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B058 - !WORD _B058-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C000 -_F083 !WORD _C000 - !BYTE $18 ; CN 12 - !BYTE $46 ; ISLT -_B058 - !BYTE $4C ; BRFLS _B059 - !WORD _B059-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X036 -_F084 !WORD 0 -_B059 -_B060 -; samplesrc/rogue.pla: 0342: other = other=>next_other -; samplesrc/rogue.pla: 0343: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B057 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B055 - !WORD _B055-* -_B056 -; samplesrc/rogue.pla: 0344: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/rogue.pla: 0345: -; samplesrc/rogue.pla: 0346: // -; samplesrc/rogue.pla: 0347: // Move entitiess -; samplesrc/rogue.pla: 0348: // -; samplesrc/rogue.pla: 0349: -; samplesrc/rogue.pla: 0350: def lineofsight(x1, y1, x2, y2) - ; x1 -> [0] - ; y1 -> [2] - ; x2 -> [4] - ; y2 -> [6] -_C011 ; lineofsight() -; samplesrc/rogue.pla: 0351: word sx, sy, dx, dy, dx2, dy2, dd2, err - ; sx -> [8] - ; sy -> [10] - ; dx -> [12] - ; dy -> [14] - ; dx2 -> [16] - ; dy2 -> [18] - ; dd2 -> [20] - ; err -> [22] -; samplesrc/rogue.pla: 0352: -; samplesrc/rogue.pla: 0353: dx = x2 - x1 - !BYTE $58,$18,$04 ; ENTER 24,4 -; samplesrc/rogue.pla: 0354: if dx < 0 -; samplesrc/rogue.pla: 0355: dx = -dx -; samplesrc/rogue.pla: 0356: sx = -1 -; samplesrc/rogue.pla: 0357: else - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $6E,$0C ; DLW [12] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B061 - !WORD _B061-* - !BYTE $66,$0C ; LLW [12] - !BYTE $90 ; NEG - !BYTE $76,$0C ; SLW [12] - !BYTE $20 ; MINUS ONE - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B061 -; samplesrc/rogue.pla: 0358: sx = 1 -; samplesrc/rogue.pla: 0359: fin - !BYTE $02 ; CN 1 - !BYTE $76,$08 ; SLW [8] -_B062 -; samplesrc/rogue.pla: 0360: dy = y2 - y1 -; samplesrc/rogue.pla: 0361: if dy < 0 -; samplesrc/rogue.pla: 0362: dy = -dy -; samplesrc/rogue.pla: 0363: sy = -1 -; samplesrc/rogue.pla: 0364: else - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $6E,$0E ; DLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -_B063 -; samplesrc/rogue.pla: 0365: sy = 1 -; samplesrc/rogue.pla: 0366: fin - !BYTE $02 ; CN 1 - !BYTE $76,$0A ; SLW [10] -_B064 -; samplesrc/rogue.pla: 0367: if dx > maxview or dy > maxview -; samplesrc/rogue.pla: 0368: return FALSE - !BYTE $66,$0C ; LLW [12] - !BYTE $2A,$13 ; CB 19 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B065 - !WORD _B065-* - !BYTE $66,$0E ; LLW [14] - !BYTE $2A,$13 ; CB 19 - !BYTE $44 ; ISGT -_B065 - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $00 ; CN 0 - !BYTE $5A,$18 ; LEAVE 24 -; samplesrc/rogue.pla: 0369: fin -_B066 -_B067 -; samplesrc/rogue.pla: 0370: dx2 = dx << 1 -; samplesrc/rogue.pla: 0371: dy2 = dy << 1 -; samplesrc/rogue.pla: 0372: if dx > dy -; samplesrc/rogue.pla: 0373: dd2 = dx2 - dy2 -; samplesrc/rogue.pla: 0374: err = dx - dy2 -; samplesrc/rogue.pla: 0375: while x1 <> x2 - !BYTE $66,$0C ; LLW [12] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$0E ; LLW [14] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $66,$10 ; LLW [16] - !BYTE $66,$12 ; LLW [18] - !BYTE $84 ; SUB - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$12 ; LLW [18] - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B070 -; samplesrc/rogue.pla: 0376: if err < 0 -; samplesrc/rogue.pla: 0377: y1 = y1 + sy -; samplesrc/rogue.pla: 0378: err = err + dd2 -; samplesrc/rogue.pla: 0379: else - !BYTE $66,$16 ; LLW [22] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$16 ; LLW [22] - !BYTE $B2,$14 ; ADDLW [20] - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B073 -; samplesrc/rogue.pla: 0380: err = err - dy2 -; samplesrc/rogue.pla: 0381: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$12 ; LLW [18] - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] -_B074 -; samplesrc/rogue.pla: 0382: x1 = x1 + sx -; samplesrc/rogue.pla: 0383: if getmaptile(x1, y1) & OPAQUE_TILE -; samplesrc/rogue.pla: 0384: return FALSE - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $6E,$00 ; DLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X031 -_F085 !WORD 0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $00 ; CN 0 - !BYTE $5A,$18 ; LEAVE 24 -; samplesrc/rogue.pla: 0385: fin -_B075 -_B076 -; samplesrc/rogue.pla: 0386: loop -_B072 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $24 ; BRNE _B070 - !WORD _B070-* -_B071 -; samplesrc/rogue.pla: 0387: else - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B068 -; samplesrc/rogue.pla: 0388: dd2 = dy2 - dx2 -; samplesrc/rogue.pla: 0389: err = dy - dx2 -; samplesrc/rogue.pla: 0390: while y1 <> y2 - !BYTE $66,$12 ; LLW [18] - !BYTE $66,$10 ; LLW [16] - !BYTE $84 ; SUB - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B077 -; samplesrc/rogue.pla: 0391: if err < 0 -; samplesrc/rogue.pla: 0392: x1 = x1 + sx -; samplesrc/rogue.pla: 0393: err = err + dd2 -; samplesrc/rogue.pla: 0394: else - !BYTE $66,$16 ; LLW [22] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$16 ; LLW [22] - !BYTE $B2,$14 ; ADDLW [20] - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B080 -; samplesrc/rogue.pla: 0395: err = err - dx2 -; samplesrc/rogue.pla: 0396: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$10 ; LLW [16] - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] -_B081 -; samplesrc/rogue.pla: 0397: y1 = y1 + sy -; samplesrc/rogue.pla: 0398: if getmaptile(x1, y1) & OPAQUE_TILE -; samplesrc/rogue.pla: 0399: return FALSE - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X031 -_F086 !WORD 0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $00 ; CN 0 - !BYTE $5A,$18 ; LEAVE 24 -; samplesrc/rogue.pla: 0400: fin -_B082 -_B083 -; samplesrc/rogue.pla: 0401: loop -_B079 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $24 ; BRNE _B077 - !WORD _B077-* -_B078 -; samplesrc/rogue.pla: 0402: fin -_B069 -; samplesrc/rogue.pla: 0403: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$18 ; LEAVE 24 -; samplesrc/rogue.pla: 0404: end -; samplesrc/rogue.pla: 0405: -; samplesrc/rogue.pla: 0406: def moveentities(playerisvis)#0 - ; playerisvis -> [0] -_C012 ; moveentities() -; samplesrc/rogue.pla: 0407: byte xmove, ymove - ; xmove -> [2] - ; ymove -> [3] -; samplesrc/rogue.pla: 0408: word other - ; other -> [4] -; samplesrc/rogue.pla: 0409: -; samplesrc/rogue.pla: 0410: other = entities - !BYTE $58,$06,$01 ; ENTER 6,1 -; samplesrc/rogue.pla: 0411: while other - !BYTE $6A ; LAW _X042+0 -_F087 !WORD 0+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B086 - !WORD _B086-* -_B084 -; samplesrc/rogue.pla: 0412: if playerisvis -; samplesrc/rogue.pla: 0413: if lineofsight(player.xpos, player.ypos, other->xpos, other->ypos) -; samplesrc/rogue.pla: 0414: xmove = other->xpos -; samplesrc/rogue.pla: 0415: ymove = other->ypos -; samplesrc/rogue.pla: 0416: if player.xpos > other->xpos -; samplesrc/rogue.pla: 0417: xmove = other->xpos + 1 -; samplesrc/rogue.pla: 0418: elsif player.xpos < other->xpos - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $68 ; LAB _D049+0 -_F088 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F089 !WORD _D049+1 - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _C011 -_F090 !WORD _C011 - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$03 ; SLB [3] - !BYTE $68 ; LAB _D049+0 -_F091 !WORD _D049+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B091 -; samplesrc/rogue.pla: 0419: xmove = other->xpos - 1 -; samplesrc/rogue.pla: 0420: fin - !BYTE $68 ; LAB _D049+0 -_F092 !WORD _D049+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $74,$02 ; SLB [2] -_B093 -_B092 -; samplesrc/rogue.pla: 0421: if player.ypos > other->ypos -; samplesrc/rogue.pla: 0422: ymove = other->ypos + 1 -; samplesrc/rogue.pla: 0423: elsif player.ypos < other->ypos - !BYTE $68 ; LAB _D049+1 -_F093 !WORD _D049+1 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $74,$03 ; SLB [3] - !BYTE $50 ; BRNCH _B095 - !WORD _B095-* -_B094 -; samplesrc/rogue.pla: 0424: ymove = other->ypos - 1 -; samplesrc/rogue.pla: 0425: fin - !BYTE $68 ; LAB _D049+1 -_F094 !WORD _D049+1 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] -_B096 -_B095 -; samplesrc/rogue.pla: 0426: when getmaptile(xmove, ymove) & MAP_TILE - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _X031 -_F095 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B098-* -; samplesrc/rogue.pla: 0427: is FLOOR_TILE -_B099 -; samplesrc/rogue.pla: 0428: is TORCH_TILE -_B100 -; samplesrc/rogue.pla: 0429: is KEY_TILE -_B101 -; samplesrc/rogue.pla: 0430: is GOLD_TILE -_B102 -; samplesrc/rogue.pla: 0431: is FOOD_TILE -_B103 -; samplesrc/rogue.pla: 0432: other->xpos = xmove -; samplesrc/rogue.pla: 0433: other->ypos = ymove -; samplesrc/rogue.pla: 0434: groan -; samplesrc/rogue.pla: 0435: wend - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $64,$03 ; LLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $54 ; CALL _C005 -_F096 !WORD _C005 - !BYTE $50 ; BRNCH _B097 - !WORD _B097-* -_B098 - !BYTE $05 ; CASEBLOCK - !WORD $0024 - !WORD _B102-* - !WORD $0026 - !WORD _B103-* - !WORD $002A - !WORD _B100-* - !WORD $002C - !WORD _B101-* - !WORD $002E - !WORD _B099-* -_B097 -; samplesrc/rogue.pla: 0436: fin -_B089 -_B090 -; samplesrc/rogue.pla: 0437: fin -_B087 -_B088 -; samplesrc/rogue.pla: 0438: if other->xpos == player.xpos and other->ypos == player.ypos -; samplesrc/rogue.pla: 0439: if fight(@player, other) -; samplesrc/rogue.pla: 0440: // -; samplesrc/rogue.pla: 0441: // Player trying to run away -; samplesrc/rogue.pla: 0442: // -; samplesrc/rogue.pla: 0443: if player.energy > RUN_ENERGY -; samplesrc/rogue.pla: 0444: moveplayer(1) -; samplesrc/rogue.pla: 0445: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D049+0 -_F097 !WORD _D049+0 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B104 - !WORD _B104-* - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $68 ; LAB _D049+1 -_F098 !WORD _D049+1 - !BYTE $40 ; ISEQ -_B104 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $26 ; LA _D049+0 -_F099 !WORD _D049+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X040 -_F100 !WORD 0 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $68 ; LAB _D049+7 -_F101 !WORD _D049+7 - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B109 - !WORD _B109-* - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F102 !WORD _C008 -_B109 -_B110 -; samplesrc/rogue.pla: 0446: moveplayer(1) -; samplesrc/rogue.pla: 0447: fin - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F103 !WORD _C008 -_B107 -_B108 -; samplesrc/rogue.pla: 0448: return - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/rogue.pla: 0449: fin -_B105 -_B106 -; samplesrc/rogue.pla: 0450: other = other=>next_other -; samplesrc/rogue.pla: 0451: loop - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B086 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B084 - !WORD _B084-* -_B085 -; samplesrc/rogue.pla: 0452: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/rogue.pla: 0453: -; samplesrc/rogue.pla: 0454: // -; samplesrc/rogue.pla: 0455: // Draw entire map view -; samplesrc/rogue.pla: 0456: // -; samplesrc/rogue.pla: 0457: -; samplesrc/rogue.pla: 0458: def drawview#0 -_C013 ; drawview() -; samplesrc/rogue.pla: 0459: totaldarkness = drawmap(player.xpos, player.ypos, player.fov, player.angle, player.lamp, maxview) -; samplesrc/rogue.pla: 0460: if not totaldarkness -; samplesrc/rogue.pla: 0461: drawentities -; samplesrc/rogue.pla: 0462: drawplayer(vplayer[player.angle]) -; samplesrc/rogue.pla: 0463: fin - !BYTE $68 ; LAB _D049+0 -_F104 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F105 !WORD _D049+1 - !BYTE $68 ; LAB _D049+4 -_F106 !WORD _D049+4 - !BYTE $68 ; LAB _D049+2 -_F107 !WORD _D049+2 - !BYTE $68 ; LAB _D049+3 -_F108 !WORD _D049+3 - !BYTE $2A,$13 ; CB 19 - !BYTE $54 ; CALL _X035 -_F109 !WORD 0 - !BYTE $7C ; DAB _D046+0 -_F110 !WORD _D046+0 - !BYTE $4E ; BRTRU _B111 - !WORD _B111-* - !BYTE $54 ; CALL _C010 -_F111 !WORD _C010 - !BYTE $26 ; LA _D045+0 -_F112 !WORD _D045+0 - !BYTE $B4 ; ADDAB _D049+2 -_F113 !WORD _D049+2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X037 -_F114 !WORD 0 -_B111 -_B112 -; samplesrc/rogue.pla: 0464: updatescreen -; samplesrc/rogue.pla: 0465: end - !BYTE $54 ; CALL _X038 -_F115 !WORD 0 - !BYTE $5C ; RET -; samplesrc/rogue.pla: 0466: -; samplesrc/rogue.pla: 0467: // -; samplesrc/rogue.pla: 0468: // Read player input and do something -; samplesrc/rogue.pla: 0469: // -; samplesrc/rogue.pla: 0470: -; samplesrc/rogue.pla: 0471: def waitkey -_C014 ; waitkey() -; samplesrc/rogue.pla: 0472: word delay - ; delay -> [0] -; samplesrc/rogue.pla: 0473: -; samplesrc/rogue.pla: 0474: delay = 200 - !BYTE $58,$02,$00 ; ENTER 2,0 -; samplesrc/rogue.pla: 0475: while not conio:keypressed() - !BYTE $2A,$C8 ; CB 200 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B115 - !WORD _B115-* -_B113 -; samplesrc/rogue.pla: 0476: delay-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; samplesrc/rogue.pla: 0477: if delay == 0 -; samplesrc/rogue.pla: 0478: drawview -; samplesrc/rogue.pla: 0479: delay = 200 -; samplesrc/rogue.pla: 0480: fin - !BYTE $6E,$00 ; DLW [0] - !BYTE $4E ; BRTRU _B116 - !WORD _B116-* - !BYTE $54 ; CALL _C013 -_F116 !WORD _C013 - !BYTE $2A,$C8 ; CB 200 - !BYTE $76,$00 ; SLW [0] -_B116 -_B117 -; samplesrc/rogue.pla: 0481: loop -_B115 - !BYTE $6A ; LAW _X028+0 -_F117 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B113 - !WORD _B113-* -_B114 -; samplesrc/rogue.pla: 0482: return toupper(conio:getkey()) - !BYTE $6A ; LAW _X028+2 -_F118 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X021 -_F119 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0483: end -; samplesrc/rogue.pla: 0484: -; samplesrc/rogue.pla: 0485: def play -_C015 ; play() -; samplesrc/rogue.pla: 0486: byte xt, yt - ; xt -> [0] - ; yt -> [1] -; samplesrc/rogue.pla: 0487: -; samplesrc/rogue.pla: 0488: if player.health == 0 - !BYTE $58,$02,$00 ; ENTER 2,0 -; samplesrc/rogue.pla: 0489: return FALSE - !BYTE $68 ; LAB _D049+6 -_F120 !WORD _D049+6 - !BYTE $4E ; BRTRU _B118 - !WORD _B118-* - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0490: fin -_B118 -_B119 -; samplesrc/rogue.pla: 0491: conio:gotoxy(xcentr, ycentr) -; samplesrc/rogue.pla: 0492: when waitkey - !BYTE $2A,$14 ; CB 20 - !BYTE $18 ; CN 12 - !BYTE $6A ; LAW _X028+8 -_F121 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C014 -_F122 !WORD _C014 - !BYTE $52 ; SEL - !WORD _B121-* -; samplesrc/rogue.pla: 0493: is 'I' -_B122 -; samplesrc/rogue.pla: 0494: if totaldarkness -; samplesrc/rogue.pla: 0495: player.angle = conio:rnd() & 7 -; samplesrc/rogue.pla: 0496: else - !BYTE $68 ; LAB _D046+0 -_F123 !WORD _D046+0 - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $6A ; LAW _X028+24 -_F124 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $78 ; SAB _D049+2 -_F125 !WORD _D049+2 - !BYTE $50 ; BRNCH _B124 - !WORD _B124-* -_B123 -; samplesrc/rogue.pla: 0497: player.angle = 0 -; samplesrc/rogue.pla: 0498: fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+2 -_F126 !WORD _D049+2 -_B124 -; samplesrc/rogue.pla: 0499: moveplayer(1) -; samplesrc/rogue.pla: 0500: break - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F127 !WORD _C008 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0501: is 'J' -_B125 -; samplesrc/rogue.pla: 0502: if totaldarkness -; samplesrc/rogue.pla: 0503: player.angle = conio:rnd() & 7 -; samplesrc/rogue.pla: 0504: else - !BYTE $68 ; LAB _D046+0 -_F128 !WORD _D046+0 - !BYTE $4C ; BRFLS _B126 - !WORD _B126-* - !BYTE $6A ; LAW _X028+24 -_F129 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $78 ; SAB _D049+2 -_F130 !WORD _D049+2 - !BYTE $50 ; BRNCH _B127 - !WORD _B127-* -_B126 -; samplesrc/rogue.pla: 0505: player.angle = 6 -; samplesrc/rogue.pla: 0506: fin - !BYTE $0C ; CN 6 - !BYTE $78 ; SAB _D049+2 -_F131 !WORD _D049+2 -_B127 -; samplesrc/rogue.pla: 0507: moveplayer(1) -; samplesrc/rogue.pla: 0508: break - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F132 !WORD _C008 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0509: is 'K' -_B128 -; samplesrc/rogue.pla: 0510: if totaldarkness -; samplesrc/rogue.pla: 0511: player.angle = conio:rnd() & 7 -; samplesrc/rogue.pla: 0512: else - !BYTE $68 ; LAB _D046+0 -_F133 !WORD _D046+0 - !BYTE $4C ; BRFLS _B129 - !WORD _B129-* - !BYTE $6A ; LAW _X028+24 -_F134 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $78 ; SAB _D049+2 -_F135 !WORD _D049+2 - !BYTE $50 ; BRNCH _B130 - !WORD _B130-* -_B129 -; samplesrc/rogue.pla: 0513: player.angle = 2 -; samplesrc/rogue.pla: 0514: fin - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D049+2 -_F136 !WORD _D049+2 -_B130 -; samplesrc/rogue.pla: 0515: moveplayer(1) -; samplesrc/rogue.pla: 0516: break - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F137 !WORD _C008 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0517: is 'M' -_B131 -; samplesrc/rogue.pla: 0518: if totaldarkness -; samplesrc/rogue.pla: 0519: player.angle = conio:rnd() & 7 -; samplesrc/rogue.pla: 0520: else - !BYTE $68 ; LAB _D046+0 -_F138 !WORD _D046+0 - !BYTE $4C ; BRFLS _B132 - !WORD _B132-* - !BYTE $6A ; LAW _X028+24 -_F139 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $78 ; SAB _D049+2 -_F140 !WORD _D049+2 - !BYTE $50 ; BRNCH _B133 - !WORD _B133-* -_B132 -; samplesrc/rogue.pla: 0521: player.angle = 4 -; samplesrc/rogue.pla: 0522: fin - !BYTE $08 ; CN 4 - !BYTE $78 ; SAB _D049+2 -_F141 !WORD _D049+2 -_B133 -; samplesrc/rogue.pla: 0523: moveplayer(1) -; samplesrc/rogue.pla: 0524: break - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F142 !WORD _C008 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0525: is 'Q' -_B134 -; samplesrc/rogue.pla: 0526: if player.energy > RUN_ENERGY -; samplesrc/rogue.pla: 0527: player.energy = player.energy - RUN_ENERGY -; samplesrc/rogue.pla: 0528: moveplayer(1) -; samplesrc/rogue.pla: 0529: fin - !BYTE $68 ; LAB _D049+7 -_F143 !WORD _D049+7 - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B135 - !WORD _B135-* - !BYTE $68 ; LAB _D049+7 -_F144 !WORD _D049+7 - !BYTE $3A,$04 ; SUBI 4 - !BYTE $78 ; SAB _D049+7 -_F145 !WORD _D049+7 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F146 !WORD _C008 -_B135 -_B136 -; samplesrc/rogue.pla: 0530: is 'W' -_B137 -; samplesrc/rogue.pla: 0531: is $0B // Up Arrow -_B138 -; samplesrc/rogue.pla: 0532: moveplayer(1) -; samplesrc/rogue.pla: 0533: break - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C008 -_F147 !WORD _C008 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0534: is 'S' -_B139 -; samplesrc/rogue.pla: 0535: is $0A // Down Arrow -_B140 -; samplesrc/rogue.pla: 0536: moveplayer(-1) -; samplesrc/rogue.pla: 0537: break - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _C008 -_F148 !WORD _C008 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0538: is 'A' -_B141 -; samplesrc/rogue.pla: 0539: is $08 // Left Arrow -_B142 -; samplesrc/rogue.pla: 0540: player.angle = (player.angle - 1) & 7 -; samplesrc/rogue.pla: 0541: break - !BYTE $68 ; LAB _D049+2 -_F149 !WORD _D049+2 - !BYTE $8E ; DECR - !BYTE $3C,$07 ; ANDI 7 - !BYTE $78 ; SAB _D049+2 -_F150 !WORD _D049+2 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0542: is 'D' -_B143 -; samplesrc/rogue.pla: 0543: is $15 // Right Arrow -_B144 -; samplesrc/rogue.pla: 0544: player.angle = (player.angle + 1) & 7 -; samplesrc/rogue.pla: 0545: break - !BYTE $68 ; LAB _D049+2 -_F151 !WORD _D049+2 - !BYTE $8C ; INCR - !BYTE $3C,$07 ; ANDI 7 - !BYTE $78 ; SAB _D049+2 -_F152 !WORD _D049+2 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0546: is ' ' -_B145 -; samplesrc/rogue.pla: 0547: when getmaptile(player.xpos + xdir[player.angle], player.ypos + ydir[player.angle]) & MAP_TILE - !BYTE $68 ; LAB _D049+0 -_F153 !WORD _D049+0 - !BYTE $26 ; LA _D043+0 -_F154 !WORD _D043+0 - !BYTE $BC ; IDXAB _D049+2 -_F155 !WORD _D049+2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $68 ; LAB _D049+1 -_F156 !WORD _D049+1 - !BYTE $26 ; LA _D044+0 -_F157 !WORD _D044+0 - !BYTE $BC ; IDXAB _D049+2 -_F158 !WORD _D049+2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X031 -_F159 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B147-* -; samplesrc/rogue.pla: 0548: is LOCKED_TILE -_B148 -; samplesrc/rogue.pla: 0549: if not player.key -; samplesrc/rogue.pla: 0550: ouch -; samplesrc/rogue.pla: 0551: break - !BYTE $68 ; LAB _D049+11 -_F160 !WORD _D049+11 - !BYTE $4E ; BRTRU _B149 - !WORD _B149-* - !BYTE $54 ; CALL _C001 -_F161 !WORD _C001 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; samplesrc/rogue.pla: 0552: fin -_B149 -_B150 -; samplesrc/rogue.pla: 0553: is DOOR_TILE -_B151 -; samplesrc/rogue.pla: 0554: updtmaptile(player.xpos + xdir[player.angle], player.ypos + ydir[player.angle], FLOOR_TILE) -; samplesrc/rogue.pla: 0555: break - !BYTE $68 ; LAB _D049+0 -_F162 !WORD _D049+0 - !BYTE $26 ; LA _D043+0 -_F163 !WORD _D043+0 - !BYTE $BC ; IDXAB _D049+2 -_F164 !WORD _D049+2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $68 ; LAB _D049+1 -_F165 !WORD _D049+1 - !BYTE $26 ; LA _D044+0 -_F166 !WORD _D044+0 - !BYTE $BC ; IDXAB _D049+2 -_F167 !WORD _D049+2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X033 -_F168 !WORD 0 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; samplesrc/rogue.pla: 0556: is ENTER_TILE -_B152 -; samplesrc/rogue.pla: 0557: break - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; samplesrc/rogue.pla: 0558: is EXIT_TILE -_B153 -; samplesrc/rogue.pla: 0559: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0560: wend - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -_B147 - !BYTE $04 ; CASEBLOCK - !WORD $0025 - !WORD _B148-* - !WORD $002B - !WORD _B151-* - !WORD $002D - !WORD _B152-* - !WORD $003D - !WORD _B153-* -_B146 -; samplesrc/rogue.pla: 0561: break - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0562: is $0D // Return -_B154 -; samplesrc/rogue.pla: 0563: when getmaptile(player.xpos, player.ypos) & MAP_TILE - !BYTE $68 ; LAB _D049+0 -_F169 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F170 !WORD _D049+1 - !BYTE $54 ; CALL _X031 -_F171 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B156-* -; samplesrc/rogue.pla: 0564: is KEY_TILE -_B157 -; samplesrc/rogue.pla: 0565: player.key = 1 -; samplesrc/rogue.pla: 0566: updtmaptile(player.xpos, player.ypos, FLOOR_TILE) -; samplesrc/rogue.pla: 0567: gotit -; samplesrc/rogue.pla: 0568: break - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D049+11 -_F172 !WORD _D049+11 - !BYTE $68 ; LAB _D049+0 -_F173 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F174 !WORD _D049+1 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X033 -_F175 !WORD 0 - !BYTE $54 ; CALL _C002 -_F176 !WORD _C002 - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -; samplesrc/rogue.pla: 0569: is RAFT_TILE -_B158 -; samplesrc/rogue.pla: 0570: player.raft = 1 -; samplesrc/rogue.pla: 0571: updtmaptile(player.xpos, player.ypos, FLOOR_TILE) -; samplesrc/rogue.pla: 0572: gotit -; samplesrc/rogue.pla: 0573: break - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D049+12 -_F177 !WORD _D049+12 - !BYTE $68 ; LAB _D049+0 -_F178 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F179 !WORD _D049+1 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X033 -_F180 !WORD 0 - !BYTE $54 ; CALL _C002 -_F181 !WORD _C002 - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -; samplesrc/rogue.pla: 0574: is GOLD_TILE -_B159 -; samplesrc/rogue.pla: 0575: player.gold = player.gold + 1 -; samplesrc/rogue.pla: 0576: updtmaptile(player.xpos, player.ypos, FLOOR_TILE) -; samplesrc/rogue.pla: 0577: gotit -; samplesrc/rogue.pla: 0578: break - !BYTE $68 ; LAB _D049+10 -_F182 !WORD _D049+10 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D049+10 -_F183 !WORD _D049+10 - !BYTE $68 ; LAB _D049+0 -_F184 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F185 !WORD _D049+1 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X033 -_F186 !WORD 0 - !BYTE $54 ; CALL _C002 -_F187 !WORD _C002 - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -; samplesrc/rogue.pla: 0579: is TORCH_TILE -_B160 -; samplesrc/rogue.pla: 0580: if player.oil < 1000 -; samplesrc/rogue.pla: 0581: player:oil = player:oil + TORCH_OIL -; samplesrc/rogue.pla: 0582: if player:oil > 1000 -; samplesrc/rogue.pla: 0583: player:oil = 1000 -; samplesrc/rogue.pla: 0584: fin - !BYTE $68 ; LAB _D049+8 -_F188 !WORD _D049+8 - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $6A ; LAW _D049+8 -_F189 !WORD _D049+8 - !BYTE $38,$FA ; ADDI 250 - !BYTE $7E ; DAW _D049+8 -_F190 !WORD _D049+8 - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B163 - !WORD _B163-* - !BYTE $2C,$E8,$03 ; CW 1000 - !BYTE $7A ; SAW _D049+8 -_F191 !WORD _D049+8 -_B163 -_B164 -; samplesrc/rogue.pla: 0585: setmaptile(player.xpos, player.ypos, FLOOR_TILE) -; samplesrc/rogue.pla: 0586: for yt = player.ypos - 1 to player.ypos + 1 - !BYTE $68 ; LAB _D049+0 -_F192 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F193 !WORD _D049+1 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X032 -_F194 !WORD 0 - !BYTE $68 ; LAB _D049+1 -_F195 !WORD _D049+1 - !BYTE $8C ; INCR - !BYTE $68 ; LAB _D049+1 -_F196 !WORD _D049+1 - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B165 - !WORD _B165-* -_B166 - !BYTE $6C,$01 ; DLB [1] -; samplesrc/rogue.pla: 0587: for xt = player.xpos - 1 to player.xpos + 1 - !BYTE $68 ; LAB _D049+0 -_F197 !WORD _D049+0 - !BYTE $8C ; INCR - !BYTE $68 ; LAB _D049+0 -_F198 !WORD _D049+0 - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B168 - !WORD _B168-* -_B169 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rogue.pla: 0588: setmaptile(xt, yt, getmaptile(xt, yt) & MAP_TILE) -; samplesrc/rogue.pla: 0589: next - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X031 -_F199 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $54 ; CALL _X032 -_F200 !WORD 0 -_B170 - !BYTE $A4 ; INCBRLE _B169 - !WORD _B169-* -_B168 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0590: next -_B167 - !BYTE $A4 ; INCBRLE _B166 - !WORD _B166-* -_B165 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; samplesrc/rogue.pla: 0591: gotit -; samplesrc/rogue.pla: 0592: fin - !BYTE $54 ; CALL _C002 -_F201 !WORD _C002 -_B161 -_B162 -; samplesrc/rogue.pla: 0593: break - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -; samplesrc/rogue.pla: 0594: is FOOD_TILE -_B171 -; samplesrc/rogue.pla: 0595: if player.health < 100 or player.energy < 100 -; samplesrc/rogue.pla: 0596: player.health = player.health + MANA/2 -; samplesrc/rogue.pla: 0597: if player.health > 100 -; samplesrc/rogue.pla: 0598: player.health = 100 -; samplesrc/rogue.pla: 0599: fin - !BYTE $68 ; LAB _D049+6 -_F202 !WORD _D049+6 - !BYTE $2A,$64 ; CB 100 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B172 - !WORD _B172-* - !BYTE $68 ; LAB _D049+7 -_F203 !WORD _D049+7 - !BYTE $2A,$64 ; CB 100 - !BYTE $46 ; ISLT -_B172 - !BYTE $4C ; BRFLS _B173 - !WORD _B173-* - !BYTE $68 ; LAB _D049+6 -_F204 !WORD _D049+6 - !BYTE $38,$19 ; ADDI 25 - !BYTE $7C ; DAB _D049+6 -_F205 !WORD _D049+6 - !BYTE $2A,$64 ; CB 100 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B175 - !WORD _B175-* - !BYTE $2A,$64 ; CB 100 - !BYTE $78 ; SAB _D049+6 -_F206 !WORD _D049+6 -_B175 -_B176 -; samplesrc/rogue.pla: 0600: player.energy = player.energy + MANA -; samplesrc/rogue.pla: 0601: if player.energy > 100 -; samplesrc/rogue.pla: 0602: player.energy = 100 -; samplesrc/rogue.pla: 0603: fin - !BYTE $68 ; LAB _D049+7 -_F207 !WORD _D049+7 - !BYTE $38,$32 ; ADDI 50 - !BYTE $7C ; DAB _D049+7 -_F208 !WORD _D049+7 - !BYTE $2A,$64 ; CB 100 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B177 - !WORD _B177-* - !BYTE $2A,$64 ; CB 100 - !BYTE $78 ; SAB _D049+7 -_F209 !WORD _D049+7 -_B177 -_B178 -; samplesrc/rogue.pla: 0604: updtmaptile(player.xpos, player.ypos, FLOOR_TILE) -; samplesrc/rogue.pla: 0605: player.fov = 1 -; samplesrc/rogue.pla: 0606: gotit -; samplesrc/rogue.pla: 0607: fin - !BYTE $68 ; LAB _D049+0 -_F210 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F211 !WORD _D049+1 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X033 -_F212 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D049+4 -_F213 !WORD _D049+4 - !BYTE $54 ; CALL _C002 -_F214 !WORD _C002 -_B173 -_B174 -; samplesrc/rogue.pla: 0608: break - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -; samplesrc/rogue.pla: 0609: wend - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -_B156 - !BYTE $05 ; CASEBLOCK - !WORD $0024 - !WORD _B159-* - !WORD $0026 - !WORD _B171-* - !WORD $002A - !WORD _B160-* - !WORD $002C - !WORD _B157-* - !WORD $0040 - !WORD _B158-* -_B155 -; samplesrc/rogue.pla: 0610: break - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0611: is 'O' -_B179 -; samplesrc/rogue.pla: 0612: player.lamp = 0 -; samplesrc/rogue.pla: 0613: break - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+3 -_F215 !WORD _D049+3 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0614: is '<' -_B180 -; samplesrc/rogue.pla: 0615: is ',' -_B181 -; samplesrc/rogue.pla: 0616: if player.lamp > 0 -; samplesrc/rogue.pla: 0617: player.lamp = player.lamp - 1 -; samplesrc/rogue.pla: 0618: fin - !BYTE $68 ; LAB _D049+3 -_F216 !WORD _D049+3 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $68 ; LAB _D049+3 -_F217 !WORD _D049+3 - !BYTE $8E ; DECR - !BYTE $78 ; SAB _D049+3 -_F218 !WORD _D049+3 -_B182 -_B183 -; samplesrc/rogue.pla: 0619: break - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0620: is '>' -_B184 -; samplesrc/rogue.pla: 0621: is '.' -_B185 -; samplesrc/rogue.pla: 0622: if player.lamp < maxlight - 1 -; samplesrc/rogue.pla: 0623: player.lamp = player.lamp + 1 -; samplesrc/rogue.pla: 0624: fin - !BYTE $68 ; LAB _D049+3 -_F219 !WORD _D049+3 - !BYTE $12 ; CN 9 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B186 - !WORD _B186-* - !BYTE $68 ; LAB _D049+3 -_F220 !WORD _D049+3 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D049+3 -_F221 !WORD _D049+3 -_B186 -_B187 -; samplesrc/rogue.pla: 0625: break - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -; samplesrc/rogue.pla: 0626: is 'X' -_B188 -; samplesrc/rogue.pla: 0627: clearstatus -; samplesrc/rogue.pla: 0628: conio:gotoxy(0, statusline) -; samplesrc/rogue.pla: 0629: puts(@quitstr) -; samplesrc/rogue.pla: 0630: if toupper(conio:getkey()) == 'Y' -; samplesrc/rogue.pla: 0631: player.health = 0 -; samplesrc/rogue.pla: 0632: return FALSE - !BYTE $54 ; CALL _C007 -_F222 !WORD _C007 - !BYTE $00 ; CN 0 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F223 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D060+0 -_F224 !WORD _D060+0 - !BYTE $54 ; CALL _X004 -_F225 !WORD 0 - !BYTE $6A ; LAW _X028+2 -_F226 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X021 -_F227 !WORD 0 - !BYTE $2A,$59 ; CB 89 - !BYTE $24 ; BRNE _B189 - !WORD _B189-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+6 -_F228 !WORD _D049+6 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0633: fin -_B189 -_B190 -; samplesrc/rogue.pla: 0634: wend - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B121 - !BYTE $15 ; CASEBLOCK - !WORD $0008 - !WORD _B142-* - !WORD $000A - !WORD _B140-* - !WORD $000B - !WORD _B138-* - !WORD $000D - !WORD _B154-* - !WORD $0015 - !WORD _B144-* - !WORD $0020 - !WORD _B145-* - !WORD $002C - !WORD _B181-* - !WORD $002E - !WORD _B185-* - !WORD $003C - !WORD _B180-* - !WORD $003E - !WORD _B184-* - !WORD $0041 - !WORD _B141-* - !WORD $0044 - !WORD _B143-* - !WORD $0049 - !WORD _B122-* - !WORD $004A - !WORD _B125-* - !WORD $004B - !WORD _B128-* - !WORD $004D - !WORD _B131-* - !WORD $004F - !WORD _B179-* - !WORD $0051 - !WORD _B134-* - !WORD $0053 - !WORD _B139-* - !WORD $0057 - !WORD _B137-* - !WORD $0058 - !WORD _B188-* -_B120 -; samplesrc/rogue.pla: 0635: if player.energy and player.health < 100 -; samplesrc/rogue.pla: 0636: player.health = player.health + 1 -; samplesrc/rogue.pla: 0637: fin - !BYTE $68 ; LAB _D049+7 -_F229 !WORD _D049+7 - !BYTE $AC ; BRAND _B191 - !WORD _B191-* - !BYTE $68 ; LAB _D049+6 -_F230 !WORD _D049+6 - !BYTE $2A,$64 ; CB 100 - !BYTE $46 ; ISLT -_B191 - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $68 ; LAB _D049+6 -_F231 !WORD _D049+6 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D049+6 -_F232 !WORD _D049+6 -_B192 -_B193 -; samplesrc/rogue.pla: 0638: if player:oil > player.lamp -; samplesrc/rogue.pla: 0639: player:oil = player:oil - player.lamp -; samplesrc/rogue.pla: 0640: else - !BYTE $6A ; LAW _D049+8 -_F233 !WORD _D049+8 - !BYTE $68 ; LAB _D049+3 -_F234 !WORD _D049+3 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B194 - !WORD _B194-* - !BYTE $6A ; LAW _D049+8 -_F235 !WORD _D049+8 - !BYTE $68 ; LAB _D049+3 -_F236 !WORD _D049+3 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D049+8 -_F237 !WORD _D049+8 - !BYTE $50 ; BRNCH _B195 - !WORD _B195-* -_B194 -; samplesrc/rogue.pla: 0641: player:oil = 0 -; samplesrc/rogue.pla: 0642: player.lamp = 0 -; samplesrc/rogue.pla: 0643: fin - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D049+8 -_F238 !WORD _D049+8 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+3 -_F239 !WORD _D049+3 -_B195 -; samplesrc/rogue.pla: 0644: return player.health - !BYTE $68 ; LAB _D049+6 -_F240 !WORD _D049+6 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.pla: 0645: end -; samplesrc/rogue.pla: 0646: -; samplesrc/rogue.pla: 0647: // -; samplesrc/rogue.pla: 0648: // Main loop -; samplesrc/rogue.pla: 0649: // -; samplesrc/rogue.pla: 0650: -; samplesrc/rogue.pla: 0651: puts(@namestr) -_INIT -; samplesrc/rogue.pla: 0652: instr = gets($BA) -; samplesrc/rogue.pla: 0653: if ^instr > 15 -; samplesrc/rogue.pla: 0654: ^instr = 15 -; samplesrc/rogue.pla: 0655: fin - !BYTE $26 ; LA _D058+0 -_F241 !WORD _D058+0 - !BYTE $54 ; CALL _X004 -_F242 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F243 !WORD 0 - !BYTE $7A ; SAW _D057+0 -_F244 !WORD _D057+0 - !BYTE $6A ; LAW _D057+0 -_F245 !WORD _D057+0 - !BYTE $60 ; LB - !BYTE $1E ; CN 15 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B196 - !WORD _B196-* - !BYTE $1E ; CN 15 - !BYTE $6A ; LAW _D057+0 -_F246 !WORD _D057+0 - !BYTE $70 ; SB -_B196 -_B197 -; samplesrc/rogue.pla: 0656: memcpy(@player.name, instr, ^instr + 1) -; samplesrc/rogue.pla: 0657: conio:textctrl(ctrlecho, OFF) -; samplesrc/rogue.pla: 0658: while loadmap(level) - !BYTE $26 ; LA _D049+13 -_F247 !WORD _D049+13 - !BYTE $6A ; LAW _D057+0 -_F248 !WORD _D057+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F249 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+12 -_F250 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -_B198 -; samplesrc/rogue.pla: 0659: puts(@prepstr) -; samplesrc/rogue.pla: 0660: free_entities = heapmark() -; samplesrc/rogue.pla: 0661: findentities -; samplesrc/rogue.pla: 0662: lighttorches -; samplesrc/rogue.pla: 0663: repeat - !BYTE $26 ; LA _D059+0 -_F251 !WORD _D059+0 - !BYTE $54 ; CALL _X004 -_F252 !WORD 0 - !BYTE $54 ; CALL _X012 -_F253 !WORD 0 - !BYTE $7A ; SAW _D048+0 -_F254 !WORD _D048+0 - !BYTE $54 ; CALL _C009 -_F255 !WORD _C009 - !BYTE $54 ; CALL _X034 -_F256 !WORD 0 -_B202 -; samplesrc/rogue.pla: 0664: moveentities(player.lamp or getmaptile(player.xpos, player.ypos) & LIT_TILE)) -; samplesrc/rogue.pla: 0665: drawview -; samplesrc/rogue.pla: 0666: status -; samplesrc/rogue.pla: 0667: until not play - !BYTE $68 ; LAB _D049+3 -_F257 !WORD _D049+3 - !BYTE $AE ; BROR _B205 - !WORD _B205-* - !BYTE $68 ; LAB _D049+0 -_F258 !WORD _D049+0 - !BYTE $68 ; LAB _D049+1 -_F259 !WORD _D049+1 - !BYTE $54 ; CALL _X031 -_F260 !WORD 0 - !BYTE $3C,$80 ; ANDI 128 -_B205 - !BYTE $54 ; CALL _C012 -_F261 !WORD _C012 - !BYTE $54 ; CALL _C013 -_F262 !WORD _C013 - !BYTE $54 ; CALL _C006 -_F263 !WORD _C006 -_B203 - !BYTE $54 ; CALL _C015 -_F264 !WORD _C015 - !BYTE $4E ; BRTRU _B202 - !WORD _B202-* -_B201 -; samplesrc/rogue.pla: 0668: heaprelease(free_entities) -; samplesrc/rogue.pla: 0669: entities = 0 -; samplesrc/rogue.pla: 0670: player.key = 0 -; samplesrc/rogue.pla: 0671: level = level + 1 -; samplesrc/rogue.pla: 0672: clearstatus -; samplesrc/rogue.pla: 0673: conio:gotoxy(0, statusline) -; samplesrc/rogue.pla: 0674: if player.health == 0 -; samplesrc/rogue.pla: 0675: break - !BYTE $6A ; LAW _D048+0 -_F265 !WORD _D048+0 - !BYTE $54 ; CALL _X015 -_F266 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _X042+0 -_F267 !WORD 0+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D049+11 -_F268 !WORD _D049+11 - !BYTE $68 ; LAB _D047+0 -_F269 !WORD _D047+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D047+0 -_F270 !WORD _D047+0 - !BYTE $54 ; CALL _C007 -_F271 !WORD _C007 - !BYTE $00 ; CN 0 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X028+8 -_F272 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D049+6 -_F273 !WORD _D049+6 - !BYTE $4E ; BRTRU _B206 - !WORD _B206-* - !BYTE $50 ; BRNCH _B199 - !WORD _B199-* -; samplesrc/rogue.pla: 0676: fin -_B206 -_B207 -; samplesrc/rogue.pla: 0677: loop -_B200 - !BYTE $68 ; LAB _D047+0 -_F274 !WORD _D047+0 - !BYTE $54 ; CALL _X030 -_F275 !WORD 0 - !BYTE $4E ; BRTRU _B198 - !WORD _B198-* -_B199 -; samplesrc/rogue.pla: 0678: conio:textmode(0) -; samplesrc/rogue.pla: 0679: conio:textctrl(ctrlecho, ON) -; samplesrc/rogue.pla: 0680: if player.health > 0 -; samplesrc/rogue.pla: 0681: puts(@youmadeitstr) -; samplesrc/rogue.pla: 0682: puti(player.gold) -; samplesrc/rogue.pla: 0683: else - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+14 -_F276 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+12 -_F277 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D049+6 -_F278 !WORD _D049+6 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B208 - !WORD _B208-* - !BYTE $26 ; LA _D061+0 -_F279 !WORD _D061+0 - !BYTE $54 ; CALL _X004 -_F280 !WORD 0 - !BYTE $68 ; LAB _D049+10 -_F281 !WORD _D049+10 - !BYTE $54 ; CALL _X005 -_F282 !WORD 0 - !BYTE $50 ; BRNCH _B209 - !WORD _B209-* -_B208 -; samplesrc/rogue.pla: 0684: puts(@youdiedstr) -; samplesrc/rogue.pla: 0685: fin - !BYTE $26 ; LA _D062+0 -_F283 !WORD _D062+0 - !BYTE $54 ; CALL _X004 -_F284 !WORD 0 -_B209 -; samplesrc/rogue.pla: 0686: puts(@againstr) -; samplesrc/rogue.pla: 0687: done - !BYTE $26 ; LA _D063+0 -_F285 !WORD _D063+0 - !BYTE $54 ; CALL _X004 -_F286 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 17 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 41 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE 42 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: LOADMAP - !BYTE $CC,$CF,$C1,$C4,$CD,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: GETMAPTILE - !BYTE $C7,$C5,$D4,$CD,$C1,$D0,$D4,$C9,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: SETMAPTILE - !BYTE $D3,$C5,$D4,$CD,$C1,$D0,$D4,$C9,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: UPDTMAPTILE - !BYTE $D5,$D0,$C4,$D4,$CD,$C1,$D0,$D4,$C9,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: LIGHTTORCHES - !BYTE $CC,$C9,$C7,$C8,$D4,$D4,$CF,$D2,$C3,$C8,$C5,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: DRAWMAP - !BYTE $C4,$D2,$C1,$D7,$CD,$C1,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: DRAWVISENTITY - !BYTE $C4,$D2,$C1,$D7,$D6,$C9,$D3,$C5,$CE,$D4,$C9,$D4,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: DRAWPLAYER - !BYTE $C4,$D2,$C1,$D7,$D0,$CC,$C1,$D9,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: UPDATESCREEN - !BYTE $D5,$D0,$C4,$C1,$D4,$C5,$D3,$C3,$D2,$C5,$C5,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: FIGHT - !BYTE $C6,$C9,$C7,$C8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: ENTITY - !BYTE $C5,$CE,$D4,$C9,$D4,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 41 ; ESD INDEX - ; DCI STRING: ENTITIES - !BYTE $C5,$CE,$D4,$C9,$D4,$C9,$C5,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 42 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/rogue.combat.a b/src/samplesrc/rogue.combat.a deleted file mode 100644 index c2514e4..0000000 --- a/src/samplesrc/rogue.combat.a +++ /dev/null @@ -1,1385 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/rogue.combat.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/rogue.combat.pla: 0001: -; samplesrc/rogue.combat.pla: 0002: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X028 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/rogue.combat.pla: 0002: -; samplesrc/rogue.combat.pla: 0003: -; samplesrc/rogue.combat.pla: 0004: import roguemap - ; DCI STRING: ROGUEMAP - !BYTE $D2,$CF,$C7,$D5,$C5,$CD,$C1,$50 - ; ROGUEMAP -> X029 -; samplesrc/rogue.combat.pla: 0005: predef moveplayer - ; MOVEPLAYER -> X030 -; samplesrc/rogue.combat.pla: 0006: end -; samplesrc/rogue.combat.pla: 0007: -; samplesrc/rogue.combat.pla: 0008: struc t_pos - !BYTE $00 ; END OF MODULE DEPENDENCIES -; samplesrc/rogue.combat.pla: 0009: byte xpos - ; xpos = 0 -; samplesrc/rogue.combat.pla: 0010: byte ypos - ; ypos = 1 -; samplesrc/rogue.combat.pla: 0011: end - ; t_pos = 2 -; samplesrc/rogue.combat.pla: 0012: -; samplesrc/rogue.combat.pla: 0013: // -; samplesrc/rogue.combat.pla: 0014: // Player -; samplesrc/rogue.combat.pla: 0015: // -; samplesrc/rogue.combat.pla: 0016: -; samplesrc/rogue.combat.pla: 0017: struc t_player -; samplesrc/rogue.combat.pla: 0018: byte[t_pos] -; samplesrc/rogue.combat.pla: 0019: byte angle - ; angle = 2 -; samplesrc/rogue.combat.pla: 0020: byte lamp - ; lamp = 3 -; samplesrc/rogue.combat.pla: 0021: byte fov - ; fov = 4 -; samplesrc/rogue.combat.pla: 0022: byte skill - ; skill = 5 -; samplesrc/rogue.combat.pla: 0023: byte health - ; health = 6 -; samplesrc/rogue.combat.pla: 0024: byte energy - ; energy = 7 -; samplesrc/rogue.combat.pla: 0025: word oil - ; oil = 8 -; samplesrc/rogue.combat.pla: 0026: byte gold - ; gold = 10 -; samplesrc/rogue.combat.pla: 0027: byte key - ; key = 11 -; samplesrc/rogue.combat.pla: 0028: byte raft - ; raft = 12 -; samplesrc/rogue.combat.pla: 0029: byte[32] name[32] - ; name = 13 -; samplesrc/rogue.combat.pla: 0030: end - ; t_player = 1037 -; samplesrc/rogue.combat.pla: 0031: -; samplesrc/rogue.combat.pla: 0032: // -; samplesrc/rogue.combat.pla: 0033: // ASCII Warrior -; samplesrc/rogue.combat.pla: 0034: // -; samplesrc/rogue.combat.pla: 0035: -; samplesrc/rogue.combat.pla: 0036: byte[] ascii_warrior -_D031 ; ascii_warrior -; samplesrc/rogue.combat.pla: 0037: byte = " | " - !BYTE $0A - !BYTE $20,$20,$20,$7C,$20,$20,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0038: byte = " T " - !BYTE $0A - !BYTE $20,$20,$20,$54,$20,$20,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0039: byte = " \\ () " - !BYTE $0A - !BYTE $20,$20,$20,$5C,$20,$28,$29,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0040: byte = " \\^ " - !BYTE $0A - !BYTE $20,$20,$20,$20,$5C,$5E,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0041: byte = " #\\_] " - !BYTE $0A - !BYTE $20,$20,$20,$20,$20,$23,$5C,$5F - !BYTE $5D,$20 -; samplesrc/rogue.combat.pla: 0042: byte = " # ] " - !BYTE $0A - !BYTE $20,$20,$20,$20,$20,$23,$20,$20 - !BYTE $5D,$20 -; samplesrc/rogue.combat.pla: 0043: byte = " /\\ " - !BYTE $0A - !BYTE $20,$20,$20,$20,$2F,$5C,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0044: byte = " / \\ " - !BYTE $0A - !BYTE $20,$20,$20,$2F,$20,$20,$5C,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0045: byte = " / / " - !BYTE $0A - !BYTE $20,$20,$20,$2F,$20,$20,$2F,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0046: byte = " = = " - !BYTE $0A - !BYTE $20,$20,$20,$3D,$20,$20,$3D,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0047: -; samplesrc/rogue.combat.pla: 0048: // -; samplesrc/rogue.combat.pla: 0049: // Other monsters -; samplesrc/rogue.combat.pla: 0050: // -; samplesrc/rogue.combat.pla: 0051: -; samplesrc/rogue.combat.pla: 0052: struc t_other -; samplesrc/rogue.combat.pla: 0053: byte[t_pos] -; samplesrc/rogue.combat.pla: 0054: byte kind - ; kind = 2 -; samplesrc/rogue.combat.pla: 0055: byte tileid - ; tileid = 3 -; samplesrc/rogue.combat.pla: 0056: byte life - ; life = 4 -; samplesrc/rogue.combat.pla: 0057: byte power - ; power = 5 -; samplesrc/rogue.combat.pla: 0058: word prev_other - ; prev_other = 6 -; samplesrc/rogue.combat.pla: 0059: word next_other - ; next_other = 8 -; samplesrc/rogue.combat.pla: 0060: end - ; t_other = 10 -; samplesrc/rogue.combat.pla: 0061: -; samplesrc/rogue.combat.pla: 0062: // -; samplesrc/rogue.combat.pla: 0063: // ASCII Enemy Art -; samplesrc/rogue.combat.pla: 0064: // -; samplesrc/rogue.combat.pla: 0065: byte[] ascii_thief -_D032 ; ascii_thief -; samplesrc/rogue.combat.pla: 0066: byte = " " - !BYTE $0A - !BYTE $20,$20,$20,$20,$20,$20,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0067: byte = " " - !BYTE $0A - !BYTE $20,$20,$20,$20,$20,$20,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0068: byte = " ____ " - !BYTE $0A - !BYTE $20,$20,$20,$5F,$5F,$5F,$5F,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0069: byte = " /o_o\\\\ " - !BYTE $0A - !BYTE $20,$20,$2F,$6F,$5F,$6F,$5C,$5C - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0070: byte = "| \\ = // " - !BYTE $0A - !BYTE $7C,$20,$5C,$20,$3D,$20,$2F,$2F - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0071: byte = "T /###|\\\\ " - !BYTE $0A - !BYTE $54,$20,$2F,$23,$23,$23,$7C,$5C - !BYTE $5C,$20 -; samplesrc/rogue.combat.pla: 0072: byte = "@==###||| " - !BYTE $0A - !BYTE $40,$3D,$3D,$23,$23,$23,$7C,$7C - !BYTE $7C,$20 -; samplesrc/rogue.combat.pla: 0073: byte = " xxx@// " - !BYTE $0A - !BYTE $20,$20,$20,$78,$78,$78,$40,$2F - !BYTE $2F,$20 -; samplesrc/rogue.combat.pla: 0074: byte = " #|#|\\\\ " - !BYTE $0A - !BYTE $20,$20,$20,$23,$7C,$23,$7C,$5C - !BYTE $5C,$20 -; samplesrc/rogue.combat.pla: 0075: byte = " #|#| \\\\" - !BYTE $0A - !BYTE $20,$20,$20,$23,$7C,$23,$7C,$20 - !BYTE $5C,$5C -; samplesrc/rogue.combat.pla: 0076: -; samplesrc/rogue.combat.pla: 0077: byte[] ascii_ogre -_D033 ; ascii_ogre -; samplesrc/rogue.combat.pla: 0078: byte = " :^; " - !BYTE $0A - !BYTE $20,$20,$20,$20,$3A,$5E,$3B,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0079: byte = " @ }\"{ " - !BYTE $0A - !BYTE $20,$40,$20,$20,$7D,$22,$7B,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0080: byte = " # /'\\ " - !BYTE $0A - !BYTE $20,$23,$20,$20,$2F,$27,$5C,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0081: byte = " ##=<#>=##" - !BYTE $0A - !BYTE $20,$23,$23,$3D,$3C,$23,$3E,$3D - !BYTE $23,$23 -; samplesrc/rogue.combat.pla: 0082: byte = " ===== #" - !BYTE $0A - !BYTE $20,$20,$20,$3D,$3D,$3D,$3D,$3D - !BYTE $20,$23 -; samplesrc/rogue.combat.pla: 0083: byte = " \\===/ ?" - !BYTE $0A - !BYTE $20,$20,$20,$5C,$3D,$3D,$3D,$2F - !BYTE $20,$3F -; samplesrc/rogue.combat.pla: 0084: byte = " ===== :" - !BYTE $0A - !BYTE $20,$20,$20,$3D,$3D,$3D,$3D,$3D - !BYTE $20,$3A -; samplesrc/rogue.combat.pla: 0085: byte = " ()^() :" - !BYTE $0A - !BYTE $20,$20,$20,$28,$29,$5E,$28,$29 - !BYTE $20,$3A -; samplesrc/rogue.combat.pla: 0086: byte = " () () *" - !BYTE $0A - !BYTE $20,$20,$20,$28,$29,$20,$28,$29 - !BYTE $20,$2A -; samplesrc/rogue.combat.pla: 0087: byte = " {{} {}} " - !BYTE $0A - !BYTE $20,$20,$7B,$7B,$7D,$20,$7B,$7D - !BYTE $7D,$20 -; samplesrc/rogue.combat.pla: 0088: -; samplesrc/rogue.combat.pla: 0089: byte[] ascii_zombie -_D034 ; ascii_zombie -; samplesrc/rogue.combat.pla: 0090: byte = " \\\\/ " - !BYTE $0A - !BYTE $20,$20,$20,$5C,$5C,$2F,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0091: byte = " {o|0} " - !BYTE $0A - !BYTE $20,$20,$7B,$6F,$7C,$30,$7D,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0092: byte = " { ^ } " - !BYTE $0A - !BYTE $20,$20,$7B,$20,$5E,$20,$7D,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0093: byte = " ### " - !BYTE $0A - !BYTE $20,$20,$20,$23,$23,$23,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0094: byte = " /:\\ " - !BYTE $0A - !BYTE $20,$20,$20,$2F,$3A,$5C,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0095: byte = " /%%%%%\\ " - !BYTE $0A - !BYTE $20,$2F,$25,$25,$25,$25,$25,$5C - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0096: byte = "|%%%//%%|\\" - !BYTE $0A - !BYTE $7C,$25,$25,$25,$2F,$2F,$25,$25 - !BYTE $7C,$5C -; samplesrc/rogue.combat.pla: 0097: byte = "|%%%\\%%%||" - !BYTE $0A - !BYTE $7C,$25,$25,$25,$5C,$25,$25,$25 - !BYTE $7C,$7C -; samplesrc/rogue.combat.pla: 0098: byte = "|%%//%%%/|" - !BYTE $0A - !BYTE $7C,$25,$25,$2F,$2F,$25,$25,$25 - !BYTE $2F,$7C -; samplesrc/rogue.combat.pla: 0099: byte = "<===|@___/" - !BYTE $0A - !BYTE $3C,$3D,$3D,$3D,$7C,$40,$5F,$5F - !BYTE $5F,$2F -; samplesrc/rogue.combat.pla: 0100: -; samplesrc/rogue.combat.pla: 0101: byte[] ascii_rogue -_D035 ; ascii_rogue -; samplesrc/rogue.combat.pla: 0102: byte = " " - !BYTE $0A - !BYTE $20,$20,$20,$20,$20,$20,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0103: byte = " \\ / " - !BYTE $0A - !BYTE $20,$20,$20,$5C,$20,$2F,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0104: byte = " < - - > " - !BYTE $0A - !BYTE $20,$3C,$20,$2D,$20,$2D,$20,$3E - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0105: byte = " ( \" ) " - !BYTE $0A - !BYTE $20,$28,$20,$20,$22,$20,$20,$29 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0106: byte = " \\VVV/ " - !BYTE $0A - !BYTE $20,$20,$5C,$56,$56,$56,$2F,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0107: byte = " \\M/ " - !BYTE $0A - !BYTE $20,$20,$20,$5C,$4D,$2F,$20,$20 - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0108: byte = " ^^^^^^ " - !BYTE $0A - !BYTE $20,$20,$5E,$5E,$5E,$5E,$5E,$5E - !BYTE $20,$20 -; samplesrc/rogue.combat.pla: 0109: byte = " / \\ " - !BYTE $0A - !BYTE $20,$2F,$20,$20,$20,$20,$20,$20 - !BYTE $5C,$20 -; samplesrc/rogue.combat.pla: 0110: byte = "( ) ^^>--=" - !BYTE $0A - !BYTE $28,$20,$29,$20,$5E,$5E,$3E,$2D - !BYTE $2D,$3D -; samplesrc/rogue.combat.pla: 0111: byte = "( ) WW>--//" - !BYTE $0B - !BYTE $28,$20,$29,$20,$57,$57,$3E,$2D - !BYTE $2D,$2F,$2F -; samplesrc/rogue.combat.pla: 0112: -; samplesrc/rogue.combat.pla: 0113: word ascii_entity = @ascii_thief, @ascii_ogre, @ascii_zombie, @ascii_rogue -_D036 ; ascii_entity = @ascii_thief, @ascii_ogre, @ascii_zombie, @ascii_rogue -_F000 !WORD _D032 -_F001 !WORD _D033 -_F002 !WORD _D034 -_F003 !WORD _D035 -; samplesrc/rogue.combat.pla: 0114: // -; samplesrc/rogue.combat.pla: 0115: // Monster types -; samplesrc/rogue.combat.pla: 0116: // -; samplesrc/rogue.combat.pla: 0117: byte thief = "Thief", 5 -_D037 ; thief = "Thief", 5 - !BYTE $05 - !BYTE $54,$68,$69,$65,$66 - !BYTE $05 -; samplesrc/rogue.combat.pla: 0118: byte ogre = "Ogre", 20 -_D038 ; ogre = "Ogre", 20 - !BYTE $04 - !BYTE $4F,$67,$72,$65 - !BYTE $14 -; samplesrc/rogue.combat.pla: 0119: byte zombie = "Zombie", 40 -_D039 ; zombie = "Zombie", 40 - !BYTE $06 - !BYTE $5A,$6F,$6D,$62,$69,$65 - !BYTE $28 -; samplesrc/rogue.combat.pla: 0120: byte rogue = "Rogue", 80 -_D040 ; rogue = "Rogue", 80 - !BYTE $05 - !BYTE $52,$6F,$67,$75,$65 - !BYTE $50 -; samplesrc/rogue.combat.pla: 0121: export word entity = @thief, @ogre, @zombie, @rogue -_D041 ; entity = @thief, @ogre, @zombie, @rogue -_F004 !WORD _D037 -_F005 !WORD _D038 -_F006 !WORD _D039 -_F007 !WORD _D040 -; samplesrc/rogue.combat.pla: 0122: export word entities = 0 -_D042 ; entities = 0 - !WORD $0000 -; samplesrc/rogue.combat.pla: 0123: -; samplesrc/rogue.combat.pla: 0124: // -; samplesrc/rogue.combat.pla: 0125: // Combat Return 1 if running away, 0 if end of fight -; samplesrc/rogue.combat.pla: 0126: // -; samplesrc/rogue.combat.pla: 0127: -; samplesrc/rogue.combat.pla: 0128: def win#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; win() -; samplesrc/rogue.combat.pla: 0129: conio:tone(30, 15) -; samplesrc/rogue.combat.pla: 0130: conio:tone(5, 15) -; samplesrc/rogue.combat.pla: 0131: conio:tone(5, 15) -; samplesrc/rogue.combat.pla: 0132: conio:tone(30, 5) -; samplesrc/rogue.combat.pla: 0133: end - !BYTE $2A,$1E ; CB 30 - !BYTE $1E ; CN 15 - !BYTE $6A ; LAW _X028+22 -_F008 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0A ; CN 5 - !BYTE $1E ; CN 15 - !BYTE $6A ; LAW _X028+22 -_F009 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $0A ; CN 5 - !BYTE $1E ; CN 15 - !BYTE $6A ; LAW _X028+22 -_F010 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$1E ; CB 30 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+22 -_F011 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5C ; RET -; samplesrc/rogue.combat.pla: 0134: -; samplesrc/rogue.combat.pla: 0135: export def fight(player, enemy) - ; player -> [0] - ; enemy -> [2] -_C001 ; fight() -; samplesrc/rogue.combat.pla: 0136: word p_atck, e_atck - ; p_atck -> [4] - ; e_atck -> [6] -; samplesrc/rogue.combat.pla: 0137: -; samplesrc/rogue.combat.pla: 0138: conio:textctrl(ctrlecho, ON) - !BYTE $58,$08,$02 ; ENTER 8,2 -; samplesrc/rogue.combat.pla: 0139: repeat - !BYTE $04 ; CN 2 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X028+12 -_F012 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B002 -; samplesrc/rogue.combat.pla: 0140: conio:clear(cls) -; samplesrc/rogue.combat.pla: 0141: conio:gotoxy(0, 0) -; samplesrc/rogue.combat.pla: 0142: puts(player+name) -; samplesrc/rogue.combat.pla: 0143: conio:gotoxy(1, 2) -; samplesrc/rogue.combat.pla: 0144: puts("Skill :"); puti(player->skill) - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+6 -_F013 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+8 -_F014 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$0D ; ADDI 13 - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X028+8 -_F016 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $08 - !BYTE $53,$6B,$69,$6C,$6C,$20,$20,$3A - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -; samplesrc/rogue.combat.pla: 0145: conio:gotoxy(1, 3) -; samplesrc/rogue.combat.pla: 0146: puts("Health :"); puti(player->health) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F018 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+8 -_F019 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $08 - !BYTE $48,$65,$61,$6C,$74,$68,$20,$3A - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -; samplesrc/rogue.combat.pla: 0147: conio:gotoxy(1, 4) -; samplesrc/rogue.combat.pla: 0148: puts("Energy :"); puti(player->energy) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F021 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X028+8 -_F022 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $08 - !BYTE $45,$6E,$65,$72,$67,$79,$20,$3A - !BYTE $54 ; CALL _X004 -_F023 !WORD 0 -; samplesrc/rogue.combat.pla: 0149: conio:gotoxy(20, 0) -; samplesrc/rogue.combat.pla: 0150: puts(entity[enemy->kind]) -; samplesrc/rogue.combat.pla: 0151: conio:gotoxy(21, 2) -; samplesrc/rogue.combat.pla: 0152: puts("Power :"); puti(enemy->power) - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F024 !WORD 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+8 -_F025 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D041+0 -_F026 !WORD _D041+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 - !BYTE $2A,$15 ; CB 21 - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X028+8 -_F028 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $08 - !BYTE $50,$6F,$77,$65,$72,$20,$20,$3A - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 -; samplesrc/rogue.combat.pla: 0153: conio:gotoxy(21, 3) -; samplesrc/rogue.combat.pla: 0154: puts("Life :"); puti(enemy->life) - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F030 !WORD 0 - !BYTE $2A,$15 ; CB 21 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+8 -_F031 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $08 - !BYTE $4C,$69,$66,$65,$20,$20,$20,$3A - !BYTE $54 ; CALL _X004 -_F032 !WORD 0 -; samplesrc/rogue.combat.pla: 0155: for e_atck = 0 to 9 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F033 !WORD 0 - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 -_B005 - !BYTE $6E,$06 ; DLW [6] -; samplesrc/rogue.combat.pla: 0156: conio:gotoxy(0, 10 + e_atck) -; samplesrc/rogue.combat.pla: 0157: puts(@ascii_warrior + e_atck * 11) -; samplesrc/rogue.combat.pla: 0158: conio:gotoxy(20, 10 + e_atck) -; samplesrc/rogue.combat.pla: 0159: puts(ascii_entity[enemy->kind] + e_atck * 11) -; samplesrc/rogue.combat.pla: 0160: next - !BYTE $00 ; CN 0 - !BYTE $14 ; CN 10 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $6A ; LAW _X028+8 -_F034 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D031+0 -_F035 !WORD _D031+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $16 ; CN 11 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X004 -_F036 !WORD 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $14 ; CN 10 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $6A ; LAW _X028+8 -_F037 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D036+0 -_F038 !WORD _D036+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$06 ; LLW [6] - !BYTE $16 ; CN 11 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X004 -_F039 !WORD 0 -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP -; samplesrc/rogue.combat.pla: 0161: conio:gotoxy(12, 8); puts("F)ight or R)un?") - !BYTE $18 ; CN 12 - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _X028+8 -_F040 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $0F - !BYTE $46,$29,$69,$67,$68,$74,$20,$6F - !BYTE $72,$20,$52,$29,$75,$6E,$3F - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 -; samplesrc/rogue.combat.pla: 0162: if toupper(conio:getkey()) == 'R' -; samplesrc/rogue.combat.pla: 0163: conio:textctrl(ctrlecho, OFF) -; samplesrc/rogue.combat.pla: 0164: return 1 - !BYTE $6A ; LAW _X028+2 -_F042 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X021 -_F043 !WORD 0 - !BYTE $2A,$52 ; CB 82 - !BYTE $24 ; BRNE _B007 - !WORD _B007-* - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+12 -_F044 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/rogue.combat.pla: 0165: fin -_B007 -_B008 -; samplesrc/rogue.combat.pla: 0166: // -; samplesrc/rogue.combat.pla: 0167: // Turn player in random direction -; samplesrc/rogue.combat.pla: 0168: // -; samplesrc/rogue.combat.pla: 0169: player->angle = conio:rnd() & 7 -; samplesrc/rogue.combat.pla: 0170: // -; samplesrc/rogue.combat.pla: 0171: // Calculate attack (with a little random variation) -; samplesrc/rogue.combat.pla: 0172: // -; samplesrc/rogue.combat.pla: 0173: p_atck = player->skill + player->energy / 10 - enemy->power / 25 + (conio:rnd() & 7) -; samplesrc/rogue.combat.pla: 0174: e_atck = enemy->power - player->skill / 5 - player->energy / 20 + (conio:rnd() & 7) -; samplesrc/rogue.combat.pla: 0175: if enemy->life > p_atck -; samplesrc/rogue.combat.pla: 0176: enemy->life = enemy->life - p_atck -; samplesrc/rogue.combat.pla: 0177: else - !BYTE $6A ; LAW _X028+24 -_F045 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $2A,$19 ; CB 25 - !BYTE $88 ; DIV - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X028+24 -_F046 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $0A ; CN 5 - !BYTE $88 ; DIV - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $2A,$14 ; CB 20 - !BYTE $88 ; DIV - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X028+24 -_F047 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $3C,$07 ; ANDI 7 - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; samplesrc/rogue.combat.pla: 0178: win -; samplesrc/rogue.combat.pla: 0179: enemy->life = 0 -; samplesrc/rogue.combat.pla: 0180: p_atck = player->skill + enemy->power / 3 -; samplesrc/rogue.combat.pla: 0181: if p_atck > 100 // Limit skill -; samplesrc/rogue.combat.pla: 0182: p_atck = 100 -; samplesrc/rogue.combat.pla: 0183: fin - !BYTE $54 ; CALL _C000 -_F048 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $06 ; CN 3 - !BYTE $88 ; DIV - !BYTE $82 ; ADD - !BYTE $6E,$04 ; DLW [4] - !BYTE $2A,$64 ; CB 100 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $2A,$64 ; CB 100 - !BYTE $76,$04 ; SLW [4] -_B011 -_B012 -; samplesrc/rogue.combat.pla: 0184: player->skill = p_atck -; samplesrc/rogue.combat.pla: 0185: // -; samplesrc/rogue.combat.pla: 0186: // Unlink dead enemy from entities list -; samplesrc/rogue.combat.pla: 0187: // -; samplesrc/rogue.combat.pla: 0188: if enemy == entities -; samplesrc/rogue.combat.pla: 0189: entities = enemy=>next_other -; samplesrc/rogue.combat.pla: 0190: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D042+0 -_F049 !WORD _D042+0 - !BYTE $24 ; BRNE _B013 - !WORD _B013-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D042+0 -_F050 !WORD _D042+0 -_B013 -_B014 -; samplesrc/rogue.combat.pla: 0191: if enemy=>next_other -; samplesrc/rogue.combat.pla: 0192: enemy=>next_other=>prev_other = enemy=>prev_other -; samplesrc/rogue.combat.pla: 0193: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW -_B015 -_B016 -; samplesrc/rogue.combat.pla: 0194: if enemy=>prev_other -; samplesrc/rogue.combat.pla: 0195: enemy=>prev_other=>next_other = enemy=>next_other -; samplesrc/rogue.combat.pla: 0196: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW -_B017 -_B018 -; samplesrc/rogue.combat.pla: 0197: fin -_B010 -; samplesrc/rogue.combat.pla: 0198: if player->health > e_atck -; samplesrc/rogue.combat.pla: 0199: player->health = player->health - e_atck -; samplesrc/rogue.combat.pla: 0200: else - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -_B019 -; samplesrc/rogue.combat.pla: 0201: player->energy = 0 -; samplesrc/rogue.combat.pla: 0202: player->health = 0 -; samplesrc/rogue.combat.pla: 0203: fin - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB -_B020 -; samplesrc/rogue.combat.pla: 0204: if player->energy >= 4 -; samplesrc/rogue.combat.pla: 0205: player->energy = player->energy - 4 -; samplesrc/rogue.combat.pla: 0206: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $08 ; CN 4 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $3A,$04 ; SUBI 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB -_B021 -_B022 -; samplesrc/rogue.combat.pla: 0207: until player->health == 0 or enemy->life == 0 -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B023 - !WORD _B023-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $80 ; NOT -_B023 - !BYTE $4C ; BRFLS _B002 - !WORD _B002-* -_B001 -; samplesrc/rogue.combat.pla: 0208: conio:textctrl(ctrlecho, OFF) -; samplesrc/rogue.combat.pla: 0209: return 0 - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+12 -_F051 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/rogue.combat.pla: 0210: end -; samplesrc/rogue.combat.pla: 0211: -; samplesrc/rogue.combat.pla: 0212: done -_INIT - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: ENTITY - !BYTE $C5,$CE,$D4,$C9,$D4,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D041 - ; DCI STRING: ENTITIES - !BYTE $C5,$CE,$D4,$C9,$D4,$C9,$C5,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D042 - ; DCI STRING: FIGHT - !BYTE $C6,$C9,$C7,$C8,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/rogue.map.a b/src/samplesrc/rogue.map.a deleted file mode 100644 index b814093..0000000 --- a/src/samplesrc/rogue.map.a +++ /dev/null @@ -1,6329 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/rogue.map.pla: 0001: // -; samplesrc/rogue.map.pla: 0002: // Map module -; samplesrc/rogue.map.pla: 0003: // -; samplesrc/rogue.map.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/rogue.map.pla: 0004: -; samplesrc/rogue.map.pla: 0005: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X028 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/rogue.map.pla: 0005: -; samplesrc/rogue.map.pla: 0006: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X029 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X030 -; inc/fileio.plh: 0082: end -; samplesrc/rogue.map.pla: 0006: -; samplesrc/rogue.map.pla: 0007: -; samplesrc/rogue.map.pla: 0008: // -; samplesrc/rogue.map.pla: 0009: // Title page -; samplesrc/rogue.map.pla: 0010: // -; samplesrc/rogue.map.pla: 0011: -; samplesrc/rogue.map.pla: 0012: byte[] initstr - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D031 ; initstr -; samplesrc/rogue.map.pla: 0013: byte = " ( )\n" - !BYTE $0C - !BYTE $20,$28,$20,$20,$20,$20,$20,$20 - !BYTE $20,$20,$29,$0D -; samplesrc/rogue.map.pla: 0014: byte = " )\\ ) ( /( (\n" - !BYTE $0F - !BYTE $20,$29,$5C,$20,$29,$20,$20,$28 - !BYTE $20,$2F,$28,$20,$20,$28,$0D -; samplesrc/rogue.map.pla: 0015: byte = "(()/( )\\()) )\\ ) ( (\n" - !BYTE $1E - !BYTE $28,$28,$29,$2F,$28,$20,$20,$29 - !BYTE $5C,$28,$29,$29,$20,$29,$5C,$20 - !BYTE $29,$20,$20,$20,$20,$20,$20,$20 - !BYTE $28,$20,$20,$20,$28,$0D -; samplesrc/rogue.map.pla: 0016: byte = " /(_))((_)\\ (()/( )\\ )\\\n" - !BYTE $1F - !BYTE $20,$2F,$28,$5F,$29,$29,$28,$28 - !BYTE $5F,$29,$5C,$20,$28,$28,$29,$2F - !BYTE $28,$20,$20,$20,$20,$20,$20,$20 - !BYTE $29,$5C,$20,$20,$29,$5C,$0D -; samplesrc/rogue.map.pla: 0017: byte = "(_)) ((_) /(_))_ _ ((_)((_)\n" - !BYTE $20 - !BYTE $28,$5F,$29,$29,$20,$20,$20,$20 - !BYTE $28,$28,$5F,$29,$20,$2F,$28,$5F - !BYTE $29,$29,$5F,$20,$20,$5F,$20,$28 - !BYTE $28,$5F,$29,$28,$28,$5F,$29,$0D -; samplesrc/rogue.map.pla: 0018: byte = "| _ \\ / _ \\(_)) __|| | | || __|\n" - !BYTE $21 - !BYTE $7C,$20,$5F,$20,$5C,$20,$20,$2F - !BYTE $20,$5F,$20,$5C,$28,$5F,$29,$29 - !BYTE $20,$5F,$5F,$7C,$7C,$20,$7C,$20 - !BYTE $7C,$20,$7C,$7C,$20,$5F,$5F,$7C - !BYTE $0D -; samplesrc/rogue.map.pla: 0019: byte = "| / | (_) | | (_ || |_| || _|\n" - !BYTE $20 - !BYTE $7C,$20,$20,$20,$2F,$20,$7C,$20 - !BYTE $28,$5F,$29,$20,$7C,$20,$7C,$20 - !BYTE $28,$5F,$20,$7C,$7C,$20,$7C,$5F - !BYTE $7C,$20,$7C,$7C,$20,$5F,$7C,$0D -; samplesrc/rogue.map.pla: 0020: byte = "|_|_\\ \\___/ \\___| \\___/ |___|\n" - !BYTE $21 - !BYTE $7C,$5F,$7C,$5F,$5C,$20,$20,$5C - !BYTE $5F,$5F,$5F,$2F,$20,$20,$20,$5C - !BYTE $5F,$5F,$5F,$7C,$20,$5C,$5F,$5F - !BYTE $5F,$2F,$20,$7C,$5F,$5F,$5F,$7C - !BYTE $0D -; samplesrc/rogue.map.pla: 0021: byte = "\n" - !BYTE $01 - !BYTE $0D -; samplesrc/rogue.map.pla: 0022: byte = " By Resman\n" - !BYTE $11 - !BYTE $20,$20,$20,$20,$20,$20,$20,$42 - !BYTE $79,$20,$52,$65,$73,$6D,$61,$6E - !BYTE $0D -; samplesrc/rogue.map.pla: 0023: byte = " Artwork by Seth Sternberger\n" - !BYTE $23 - !BYTE $20,$20,$20,$20,$20,$20,$20,$41 - !BYTE $72,$74,$77,$6F,$72,$6B,$20,$62 - !BYTE $79,$20,$53,$65,$74,$68,$20,$53 - !BYTE $74,$65,$72,$6E,$62,$65,$72,$67 - !BYTE $65,$72,$0D -; samplesrc/rogue.map.pla: 0024: byte = "" - !BYTE $00 -; samplesrc/rogue.map.pla: 0025: word titlestr = @initstr -_D032 ; titlestr = @initstr -_F000 !WORD _D031 -; samplesrc/rogue.map.pla: 0026: -; samplesrc/rogue.map.pla: 0027: // -; samplesrc/rogue.map.pla: 0028: // Animated tile sequence -; samplesrc/rogue.map.pla: 0029: // -; samplesrc/rogue.map.pla: 0030: -; samplesrc/rogue.map.pla: 0031: byte animseq = 0 -_D033 ; animseq = 0 - !BYTE $00 -; samplesrc/rogue.map.pla: 0032: -; samplesrc/rogue.map.pla: 0033: // -; samplesrc/rogue.map.pla: 0034: // Octant beam parameters -; samplesrc/rogue.map.pla: 0035: // -; samplesrc/rogue.map.pla: 0036: -; samplesrc/rogue.map.pla: 0037: const beamdepth = 23 - ; beamdepth = 23 -; samplesrc/rogue.map.pla: 0038: -; samplesrc/rogue.map.pla: 0039: byte dbeam = 0,2,4,8,12,17,22,28,37,44,53,63,72,83,96,109,123,137,151,166,183,202,220,239 -_D034 ; dbeam = 0,2,4,8,12,17,22,28,37,44,53,63,72,83,96,109,123,137,151,166,183,202,220,239 - !BYTE $00 - !BYTE $02 - !BYTE $04 - !BYTE $08 - !BYTE $0C - !BYTE $11 - !BYTE $16 - !BYTE $1C - !BYTE $25 - !BYTE $2C - !BYTE $35 - !BYTE $3F - !BYTE $48 - !BYTE $53 - !BYTE $60 - !BYTE $6D - !BYTE $7B - !BYTE $89 - !BYTE $97 - !BYTE $A6 - !BYTE $B7 - !BYTE $CA - !BYTE $DC - !BYTE $EF -; samplesrc/rogue.map.pla: 0040: const beampts = 240 - ; beampts = 240 -; samplesrc/rogue.map.pla: 0041: -; samplesrc/rogue.map.pla: 0042: byte[] xbeam -_D035 ; xbeam -; samplesrc/rogue.map.pla: 0043: byte = 0 - !BYTE $00 -; samplesrc/rogue.map.pla: 0044: byte = 1,0 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0045: byte = 1,0 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0046: byte = 2,2,1,0 - !BYTE $02 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0047: byte = 3,2,1,0 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0048: byte = 4,3,2,1,0 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0049: byte = 4,3,2,1,0 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0050: byte = 5,4,3,2,1,0 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0051: byte = 6,5,5,4,3,3,2,1,0 - !BYTE $06 - !BYTE $05 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0052: byte = 6,5,4,3,2,1,0 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0053: byte = 7,7,6,5,4,3,2,1,0 - !BYTE $07 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0054: byte = 8,7,6,6,5,4,3,2,1,0 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0055: byte = 8,7,6,5,4,3,2,1,0 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0056: byte = 9,9,8,7,6,5,4,3,2,1,0 - !BYTE $09 - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0057: byte = 10,9,8,8,7,6,5,4,4,3,2,1,0 - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0058: byte = 11,10,10,9,8,7,6,5,4,3,2,1,0 - !BYTE $0B - !BYTE $0A - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0059: byte = 11,10,9,9,8,7,7,6,5,4,3,2,1,0 - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0060: byte = 12,12,11,10,9,8,7,6,5,4,3,2,1,0 - !BYTE $0C - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0061: byte = 13,12,11,10,9,8,7,6,5,4,3,2,1,0 - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0062: byte = 13,12,11,11,10,9,8,7,6,5,4,3,2,1,0 - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0063: byte = 14,14,13,12,11,10,10,9,8,7,6,5,4,3,2,1,0 - !BYTE $0E - !BYTE $0E - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0064: byte = 15,14,13,13,12,12,11,10,9,8,8,7,6,5,4,3,2,1,0 - !BYTE $0F - !BYTE $0E - !BYTE $0D - !BYTE $0D - !BYTE $0C - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0065: byte = 16,15,14,13,12,11,10,9,8,7,6,5,5,4,3,2,1,0 - !BYTE $10 - !BYTE $0F - !BYTE $0E - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0066: byte = 16,15,15,14,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 - !BYTE $10 - !BYTE $0F - !BYTE $0F - !BYTE $0E - !BYTE $0E - !BYTE $0D - !BYTE $0C - !BYTE $0B - !BYTE $0A - !BYTE $09 - !BYTE $08 - !BYTE $07 - !BYTE $06 - !BYTE $05 - !BYTE $04 - !BYTE $03 - !BYTE $02 - !BYTE $01 - !BYTE $00 -; samplesrc/rogue.map.pla: 0067: -; samplesrc/rogue.map.pla: 0068: byte[] ybeam -_D036 ; ybeam -; samplesrc/rogue.map.pla: 0069: byte = 0 - !BYTE $00 -; samplesrc/rogue.map.pla: 0070: byte = 1,1 - !BYTE $01 - !BYTE $01 -; samplesrc/rogue.map.pla: 0071: byte = 2,2 - !BYTE $02 - !BYTE $02 -; samplesrc/rogue.map.pla: 0072: byte = 2,3,3,3 - !BYTE $02 - !BYTE $03 - !BYTE $03 - !BYTE $03 -; samplesrc/rogue.map.pla: 0073: byte = 3,4,4,4 - !BYTE $03 - !BYTE $04 - !BYTE $04 - !BYTE $04 -; samplesrc/rogue.map.pla: 0074: byte = 4,4,5,5,5 - !BYTE $04 - !BYTE $04 - !BYTE $05 - !BYTE $05 - !BYTE $05 -; samplesrc/rogue.map.pla: 0075: byte = 5,5,6,6,6 - !BYTE $05 - !BYTE $05 - !BYTE $06 - !BYTE $06 - !BYTE $06 -; samplesrc/rogue.map.pla: 0076: byte = 5,6,6,7,7,7 - !BYTE $05 - !BYTE $06 - !BYTE $06 - !BYTE $07 - !BYTE $07 - !BYTE $07 -; samplesrc/rogue.map.pla: 0077: byte = 6,6,7,7,7,8,8,8,8 - !BYTE $06 - !BYTE $06 - !BYTE $07 - !BYTE $07 - !BYTE $07 - !BYTE $08 - !BYTE $08 - !BYTE $08 - !BYTE $08 -; samplesrc/rogue.map.pla: 0078: byte = 7,8,8,9,9,9,9 - !BYTE $07 - !BYTE $08 - !BYTE $08 - !BYTE $09 - !BYTE $09 - !BYTE $09 - !BYTE $09 -; samplesrc/rogue.map.pla: 0079: byte = 7,8,8,9,9,10,10,10,10 - !BYTE $07 - !BYTE $08 - !BYTE $08 - !BYTE $09 - !BYTE $09 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0A -; samplesrc/rogue.map.pla: 0080: byte = 8,9,9,10,10,10,11,11,11,11 - !BYTE $08 - !BYTE $09 - !BYTE $09 - !BYTE $0A - !BYTE $0A - !BYTE $0A - !BYTE $0B - !BYTE $0B - !BYTE $0B - !BYTE $0B -; samplesrc/rogue.map.pla: 0081: byte = 9,10,11,11,11,12,12,12,12 - !BYTE $09 - !BYTE $0A - !BYTE $0B - !BYTE $0B - !BYTE $0B - !BYTE $0C - !BYTE $0C - !BYTE $0C - !BYTE $0C -; samplesrc/rogue.map.pla: 0082: byte = 9,10,10,11,12,12,12,13,13,13,13 - !BYTE $09 - !BYTE $0A - !BYTE $0A - !BYTE $0B - !BYTE $0C - !BYTE $0C - !BYTE $0C - !BYTE $0D - !BYTE $0D - !BYTE $0D - !BYTE $0D -; samplesrc/rogue.map.pla: 0083: byte = 10,11,11,12,12,13,13,13,14,14,14,14,14 - !BYTE $0A - !BYTE $0B - !BYTE $0B - !BYTE $0C - !BYTE $0C - !BYTE $0D - !BYTE $0D - !BYTE $0D - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0E -; samplesrc/rogue.map.pla: 0084: byte = 11,11,12,12,13,13,14,14,15,15,15,15,15 - !BYTE $0B - !BYTE $0B - !BYTE $0C - !BYTE $0C - !BYTE $0D - !BYTE $0D - !BYTE $0E - !BYTE $0E - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $0F -; samplesrc/rogue.map.pla: 0085: byte = 12,13,13,14,14,14,15,15,15,16,16,16,16,16 - !BYTE $0C - !BYTE $0D - !BYTE $0D - !BYTE $0E - !BYTE $0E - !BYTE $0E - !BYTE $0F - !BYTE $0F - !BYTE $0F - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $10 -; samplesrc/rogue.map.pla: 0086: byte = 12,13,13,14,15,15,16,16,16,17,17,17,17,17 - !BYTE $0C - !BYTE $0D - !BYTE $0D - !BYTE $0E - !BYTE $0F - !BYTE $0F - !BYTE $10 - !BYTE $10 - !BYTE $10 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 -; samplesrc/rogue.map.pla: 0087: byte = 13,14,14,15,16,16,17,17,17,18,18,18,18,18 - !BYTE $0D - !BYTE $0E - !BYTE $0E - !BYTE $0F - !BYTE $10 - !BYTE $10 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $12 -; samplesrc/rogue.map.pla: 0088: byte = 14,15,15,16,16,17,17,18,18,18,19,19,19,19,19 - !BYTE $0E - !BYTE $0F - !BYTE $0F - !BYTE $10 - !BYTE $10 - !BYTE $11 - !BYTE $11 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $13 - !BYTE $13 - !BYTE $13 - !BYTE $13 - !BYTE $13 -; samplesrc/rogue.map.pla: 0089: byte = 14,15,15,16,17,17,18,18,18,19,19,19,20,20,20,20,20 - !BYTE $0E - !BYTE $0F - !BYTE $0F - !BYTE $10 - !BYTE $11 - !BYTE $11 - !BYTE $12 - !BYTE $12 - !BYTE $12 - !BYTE $13 - !BYTE $13 - !BYTE $13 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 -; samplesrc/rogue.map.pla: 0090: byte = 15,16,16,17,17,18,18,19,19,19,20,20,20,20,21,21,21,21,21 - !BYTE $0F - !BYTE $10 - !BYTE $10 - !BYTE $11 - !BYTE $11 - !BYTE $12 - !BYTE $12 - !BYTE $13 - !BYTE $13 - !BYTE $13 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $14 - !BYTE $15 - !BYTE $15 - !BYTE $15 - !BYTE $15 - !BYTE $15 -; samplesrc/rogue.map.pla: 0091: byte = 16,16,17,18,19,19,20,20,21,21,21,21,22,22,22,22,22,22 - !BYTE $10 - !BYTE $10 - !BYTE $11 - !BYTE $12 - !BYTE $13 - !BYTE $13 - !BYTE $14 - !BYTE $14 - !BYTE $15 - !BYTE $15 - !BYTE $15 - !BYTE $15 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $16 -; samplesrc/rogue.map.pla: 0092: byte = 17,17,18,18,19,19,20,20,21,21,22,22,22,23,23,23,23,23,23 - !BYTE $11 - !BYTE $11 - !BYTE $12 - !BYTE $12 - !BYTE $13 - !BYTE $13 - !BYTE $14 - !BYTE $14 - !BYTE $15 - !BYTE $15 - !BYTE $16 - !BYTE $16 - !BYTE $16 - !BYTE $17 - !BYTE $17 - !BYTE $17 - !BYTE $17 - !BYTE $17 - !BYTE $17 -; samplesrc/rogue.map.pla: 0093: -; samplesrc/rogue.map.pla: 0094: byte[] vbeam -_D037 ; vbeam -; samplesrc/rogue.map.pla: 0095: byte = 0 - !BYTE $00 -; samplesrc/rogue.map.pla: 0096: byte = 0,0 - !BYTE $00 - !BYTE $00 -; samplesrc/rogue.map.pla: 0097: byte = 2,2 - !BYTE $02 - !BYTE $02 -; samplesrc/rogue.map.pla: 0098: byte = 1,3,4,4 - !BYTE $01 - !BYTE $03 - !BYTE $04 - !BYTE $04 -; samplesrc/rogue.map.pla: 0099: byte = 5,7,7,8 - !BYTE $05 - !BYTE $07 - !BYTE $07 - !BYTE $08 -; samplesrc/rogue.map.pla: 0100: byte = 9,6,11,11,12 - !BYTE $09 - !BYTE $06 - !BYTE $0B - !BYTE $0B - !BYTE $0C -; samplesrc/rogue.map.pla: 0101: byte = 14,10,16,16,17 - !BYTE $0E - !BYTE $0A - !BYTE $10 - !BYTE $10 - !BYTE $11 -; samplesrc/rogue.map.pla: 0102: byte = 13,19,15,21,21,22 - !BYTE $0D - !BYTE $13 - !BYTE $0F - !BYTE $15 - !BYTE $15 - !BYTE $16 -; samplesrc/rogue.map.pla: 0103: byte = 23,18,24,25,20,26,26,27,28 - !BYTE $17 - !BYTE $12 - !BYTE $18 - !BYTE $19 - !BYTE $14 - !BYTE $1A - !BYTE $1A - !BYTE $1B - !BYTE $1C -; samplesrc/rogue.map.pla: 0104: byte = 30,32,33,35,35,36,37 - !BYTE $1E - !BYTE $20 - !BYTE $21 - !BYTE $23 - !BYTE $23 - !BYTE $24 - !BYTE $25 -; samplesrc/rogue.map.pla: 0105: byte = 29,38,31,40,34,42,42,43,44 - !BYTE $1D - !BYTE $26 - !BYTE $1F - !BYTE $28 - !BYTE $22 - !BYTE $2A - !BYTE $2A - !BYTE $2B - !BYTE $2C -; samplesrc/rogue.map.pla: 0106: byte = 45,47,39,48,49,41,51,51,52,53 - !BYTE $2D - !BYTE $2F - !BYTE $27 - !BYTE $30 - !BYTE $31 - !BYTE $29 - !BYTE $33 - !BYTE $33 - !BYTE $34 - !BYTE $35 -; samplesrc/rogue.map.pla: 0107: byte = 46,56,58,59,50,60,61,62,63 - !BYTE $2E - !BYTE $38 - !BYTE $3A - !BYTE $3B - !BYTE $32 - !BYTE $3C - !BYTE $3D - !BYTE $3E - !BYTE $3F -; samplesrc/rogue.map.pla: 0108: byte = 54,64,55,57,67,68,60,69,70,71,72 - !BYTE $36 - !BYTE $40 - !BYTE $37 - !BYTE $39 - !BYTE $43 - !BYTE $44 - !BYTE $3C - !BYTE $45 - !BYTE $46 - !BYTE $47 - !BYTE $48 -; samplesrc/rogue.map.pla: 0109: byte = 73,75,65,76,66,78,79,69,80,80,81,82,83 - !BYTE $49 - !BYTE $4B - !BYTE $41 - !BYTE $4C - !BYTE $42 - !BYTE $4E - !BYTE $4F - !BYTE $45 - !BYTE $50 - !BYTE $50 - !BYTE $51 - !BYTE $52 - !BYTE $53 -; samplesrc/rogue.map.pla: 0110: byte = 84,74,85,86,88,77,90,91,93,93,94,95,96 - !BYTE $54 - !BYTE $4A - !BYTE $55 - !BYTE $56 - !BYTE $58 - !BYTE $4D - !BYTE $5A - !BYTE $5B - !BYTE $5D - !BYTE $5D - !BYTE $5E - !BYTE $5F - !BYTE $60 -; samplesrc/rogue.map.pla: 0111: byte = 98,100,87,101,102,89,103,104,92,105,106,107,108,109 - !BYTE $62 - !BYTE $64 - !BYTE $57 - !BYTE $65 - !BYTE $66 - !BYTE $59 - !BYTE $67 - !BYTE $68 - !BYTE $5C - !BYTE $69 - !BYTE $6A - !BYTE $6B - !BYTE $6C - !BYTE $6D -; samplesrc/rogue.map.pla: 0112: byte = 97,110,99,112,114,115,117,118,105,119,120,121,122,123 - !BYTE $61 - !BYTE $6E - !BYTE $63 - !BYTE $70 - !BYTE $72 - !BYTE $73 - !BYTE $75 - !BYTE $76 - !BYTE $69 - !BYTE $77 - !BYTE $78 - !BYTE $79 - !BYTE $7A - !BYTE $7B -; samplesrc/rogue.map.pla: 0113: byte = 124,126,111,113,129,116,131,132,119,133,134,135,136,137 - !BYTE $7C - !BYTE $7E - !BYTE $6F - !BYTE $71 - !BYTE $81 - !BYTE $74 - !BYTE $83 - !BYTE $84 - !BYTE $77 - !BYTE $85 - !BYTE $86 - !BYTE $87 - !BYTE $88 - !BYTE $89 -; samplesrc/rogue.map.pla: 0114: byte = 125,140,127,141,128,143,130,145,146,133,147,148,149,150,151 - !BYTE $7D - !BYTE $8C - !BYTE $7F - !BYTE $8D - !BYTE $80 - !BYTE $8F - !BYTE $82 - !BYTE $91 - !BYTE $92 - !BYTE $85 - !BYTE $93 - !BYTE $94 - !BYTE $95 - !BYTE $96 - !BYTE $97 -; samplesrc/rogue.map.pla: 0115: byte = 138,152,139,154,156,142,157,158,144,160,161,147,162,163,164,165,166 - !BYTE $8A - !BYTE $98 - !BYTE $8B - !BYTE $9A - !BYTE $9C - !BYTE $8E - !BYTE $9D - !BYTE $9E - !BYTE $90 - !BYTE $A0 - !BYTE $A1 - !BYTE $93 - !BYTE $A2 - !BYTE $A3 - !BYTE $A4 - !BYTE $A5 - !BYTE $A6 -; samplesrc/rogue.map.pla: 0116: byte = 167,169,153,170,155,171,172,174,175,159,176,177,178,178,179,180,181,182,183 - !BYTE $A7 - !BYTE $A9 - !BYTE $99 - !BYTE $AA - !BYTE $9B - !BYTE $AB - !BYTE $AC - !BYTE $AE - !BYTE $AF - !BYTE $9F - !BYTE $B0 - !BYTE $B1 - !BYTE $B2 - !BYTE $B2 - !BYTE $B3 - !BYTE $B4 - !BYTE $B5 - !BYTE $B6 - !BYTE $B7 -; samplesrc/rogue.map.pla: 0117: byte = 184,168,186,188,190,173,192,193,195,196,197,197,214,198,199,200,201,202 - !BYTE $B8 - !BYTE $A8 - !BYTE $BA - !BYTE $BC - !BYTE $BE - !BYTE $AD - !BYTE $C0 - !BYTE $C1 - !BYTE $C3 - !BYTE $C4 - !BYTE $C5 - !BYTE $C5 - !BYTE $D6 - !BYTE $C6 - !BYTE $C7 - !BYTE $C8 - !BYTE $C9 - !BYTE $CA -; samplesrc/rogue.map.pla: 0118: byte = 204,185,205,187,206,189,208,191,210,194,212,213,214,215,216,217,218,219,220 - !BYTE $CC - !BYTE $B9 - !BYTE $CD - !BYTE $BB - !BYTE $CE - !BYTE $BD - !BYTE $D0 - !BYTE $BF - !BYTE $D2 - !BYTE $C2 - !BYTE $D4 - !BYTE $D5 - !BYTE $D6 - !BYTE $D7 - !BYTE $D8 - !BYTE $D9 - !BYTE $DA - !BYTE $DB - !BYTE $DC -; samplesrc/rogue.map.pla: 0119: -; samplesrc/rogue.map.pla: 0120: byte[beampts] vispix = 1 -_D038 ; vispix = 1 - !BYTE $01 - !FILL $EF -; samplesrc/rogue.map.pla: 0121: -; samplesrc/rogue.map.pla: 0122: const rowshift = 6 - ; rowshift = 6 -; samplesrc/rogue.map.pla: 0123: const maprows = 64 - ; maprows = 64 -; samplesrc/rogue.map.pla: 0124: const mapcols = 64 - ; mapcols = 64 -; samplesrc/rogue.map.pla: 0125: const mapsize = maprows*mapcols - ; mapsize = 4096 -; samplesrc/rogue.map.pla: 0126: -; samplesrc/rogue.map.pla: 0127: const WALL_TILE = '#' - ; WALL_TILE = 35 -; samplesrc/rogue.map.pla: 0128: const FLOOR_TILE = '.' - ; FLOOR_TILE = 46 -; samplesrc/rogue.map.pla: 0129: const TORCH_TILE = '*' - ; TORCH_TILE = 42 -; samplesrc/rogue.map.pla: 0130: const PIT_TILE = ' ' - ; PIT_TILE = 32 -; samplesrc/rogue.map.pla: 0131: const DOOR_TILE = '+' - ; DOOR_TILE = 43 -; samplesrc/rogue.map.pla: 0132: const LOCKED_TILE = '%' - ; LOCKED_TILE = 37 -; samplesrc/rogue.map.pla: 0133: const WATER1_TILE = '>' - ; WATER1_TILE = 62 -; samplesrc/rogue.map.pla: 0134: const WATER2_TILE = '<' - ; WATER2_TILE = 60 -; samplesrc/rogue.map.pla: 0135: const KEY_TILE = ',' - ; KEY_TILE = 44 -; samplesrc/rogue.map.pla: 0136: const RAFT_TILE = '@' - ; RAFT_TILE = 64 -; samplesrc/rogue.map.pla: 0137: const GOLD_TILE = '$' - ; GOLD_TILE = 36 -; samplesrc/rogue.map.pla: 0138: const FOOD_TILE = '&' - ; FOOD_TILE = 38 -; samplesrc/rogue.map.pla: 0139: const ENTER_TILE = '-' - ; ENTER_TILE = 45 -; samplesrc/rogue.map.pla: 0140: const EXIT_TILE = '=' - ; EXIT_TILE = 61 -; samplesrc/rogue.map.pla: 0141: const OPAQUE_TILE = $01 - ; OPAQUE_TILE = 1 -; samplesrc/rogue.map.pla: 0142: const VIEWED_TILE = $80 - ; VIEWED_TILE = 128 -; samplesrc/rogue.map.pla: 0143: const LIT_TILE = $80 - ; LIT_TILE = 128 -; samplesrc/rogue.map.pla: 0144: const INV_TILE = $3F - ; INV_TILE = 63 -; samplesrc/rogue.map.pla: 0145: const MAP_TILE = $7F - ; MAP_TILE = 127 -; samplesrc/rogue.map.pla: 0146: -; samplesrc/rogue.map.pla: 0147: byte catacomb = "LEVEL0" -_D039 ; catacomb = "LEVEL0" - !BYTE $06 - !BYTE $4C,$45,$56,$45,$4C,$30 -; samplesrc/rogue.map.pla: 0148: word map, viewmap -_D040 !FILL 2 ; map, viewmap -_D041 !FILL 2 ; viewmap -; samplesrc/rogue.map.pla: 0149: -; samplesrc/rogue.map.pla: 0150: const xcentr = 20 - ; xcentr = 20 -; samplesrc/rogue.map.pla: 0151: const ycentr = 12 - ; ycentr = 12 -; samplesrc/rogue.map.pla: 0152: const scrnwidth = 40 - ; scrnwidth = 40 -; samplesrc/rogue.map.pla: 0153: const scrnheight = 22 - ; scrnheight = 22 -; samplesrc/rogue.map.pla: 0154: -; samplesrc/rogue.map.pla: 0155: // -; samplesrc/rogue.map.pla: 0156: // Screen buffer -; samplesrc/rogue.map.pla: 0157: // -; samplesrc/rogue.map.pla: 0158: -; samplesrc/rogue.map.pla: 0159: byte[scrnheight * scrnwidth] screenbuffer -_D042 !FILL 880 ; screenbuffer -; samplesrc/rogue.map.pla: 0160: -; samplesrc/rogue.map.pla: 0161: // -; samplesrc/rogue.map.pla: 0162: // Buffer to void checks in octant caster -; samplesrc/rogue.map.pla: 0163: // -; samplesrc/rogue.map.pla: 0164: -; samplesrc/rogue.map.pla: 0165: byte[scrnwidth] linebuffer -_D043 !FILL 40 ; linebuffer -; samplesrc/rogue.map.pla: 0166: -; samplesrc/rogue.map.pla: 0167: word = @linebuffer, @linebuffer, @linebuffer, @linebuffer, @linebuffer -_F001 !WORD _D043 -_F002 !WORD _D043 -_F003 !WORD _D043 -_F004 !WORD _D043 -_F005 !WORD _D043 -; samplesrc/rogue.map.pla: 0168: word = @linebuffer, @linebuffer, @linebuffer, @linebuffer, @linebuffer -_F006 !WORD _D043 -_F007 !WORD _D043 -_F008 !WORD _D043 -_F009 !WORD _D043 -_F010 !WORD _D043 -; samplesrc/rogue.map.pla: 0169: -; samplesrc/rogue.map.pla: 0170: word[scrnheight] screen -_D044 !FILL 44 ; screen -; samplesrc/rogue.map.pla: 0171: -; samplesrc/rogue.map.pla: 0172: word = @linebuffer, @linebuffer, @linebuffer, @linebuffer, @linebuffer -_F011 !WORD _D043 -_F012 !WORD _D043 -_F013 !WORD _D043 -_F014 !WORD _D043 -_F015 !WORD _D043 -; samplesrc/rogue.map.pla: 0173: word = @linebuffer, @linebuffer, @linebuffer, @linebuffer, @linebuffer -_F016 !WORD _D043 -_F017 !WORD _D043 -_F018 !WORD _D043 -_F019 !WORD _D043 -_F020 !WORD _D043 -; samplesrc/rogue.map.pla: 0174: -; samplesrc/rogue.map.pla: 0175: // -; samplesrc/rogue.map.pla: 0176: // Visisble screen row addresses -; samplesrc/rogue.map.pla: 0177: // -; samplesrc/rogue.map.pla: 0178: -; samplesrc/rogue.map.pla: 0179: word[] viscreen -_D045 ; viscreen -; samplesrc/rogue.map.pla: 0180: word = $400, $480, $500, $580, $600, $680, $700, $780 - !WORD $0400 - !WORD $0480 - !WORD $0500 - !WORD $0580 - !WORD $0600 - !WORD $0680 - !WORD $0700 - !WORD $0780 -; samplesrc/rogue.map.pla: 0181: word = $428, $4A8, $528, $5A8, $628, $6A8, $728, $7A8 - !WORD $0428 - !WORD $04A8 - !WORD $0528 - !WORD $05A8 - !WORD $0628 - !WORD $06A8 - !WORD $0728 - !WORD $07A8 -; samplesrc/rogue.map.pla: 0182: word = $450, $4D0, $550, $5D0, $650, $6D0, $750, @linebuffer // $7D0 - !WORD $0450 - !WORD $04D0 - !WORD $0550 - !WORD $05D0 - !WORD $0650 - !WORD $06D0 - !WORD $0750 -_F021 !WORD _D043 -; samplesrc/rogue.map.pla: 0183: -; samplesrc/rogue.map.pla: 0184: // -; samplesrc/rogue.map.pla: 0185: // Load map - levels 0 to 9 -; samplesrc/rogue.map.pla: 0186: // -; samplesrc/rogue.map.pla: 0187: -; samplesrc/rogue.map.pla: 0188: export def loadmap(level) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; level -> [0] -_C000 ; loadmap() -; samplesrc/rogue.map.pla: 0189: byte mapref, row, l - ; mapref -> [2] - ; row -> [3] - ; l -> [4] -; samplesrc/rogue.map.pla: 0190: -; samplesrc/rogue.map.pla: 0191: // -; samplesrc/rogue.map.pla: 0192: // Init the view map -; samplesrc/rogue.map.pla: 0193: // -; samplesrc/rogue.map.pla: 0194: if not viewmap - !BYTE $58,$05,$01 ; ENTER 5,1 -; samplesrc/rogue.map.pla: 0195: viewmap = heapalloc(mapsize) -; samplesrc/rogue.map.pla: 0196: fin - !BYTE $6A ; LAW _D041+0 -_F022 !WORD _D041+0 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _X014 -_F023 !WORD 0 - !BYTE $7A ; SAW _D041+0 -_F024 !WORD _D041+0 -_B001 -_B002 -; samplesrc/rogue.map.pla: 0197: memset(viewmap, $A0A0, mapsize) -; samplesrc/rogue.map.pla: 0198: // -; samplesrc/rogue.map.pla: 0199: // Load catacomb map from file -; samplesrc/rogue.map.pla: 0200: // -; samplesrc/rogue.map.pla: 0201: if not map -; samplesrc/rogue.map.pla: 0202: map = heapalloc(mapsize) -; samplesrc/rogue.map.pla: 0203: fin - !BYTE $6A ; LAW _D041+0 -_F025 !WORD _D041+0 - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _X017 -_F026 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F027 !WORD _D040+0 - !BYTE $4E ; BRTRU _B003 - !WORD _B003-* - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _X014 -_F028 !WORD 0 - !BYTE $7A ; SAW _D040+0 -_F029 !WORD _D040+0 -_B003 -_B004 -; samplesrc/rogue.map.pla: 0204: memset(map, $2323, mapsize) // Solid walls -; samplesrc/rogue.map.pla: 0205: // -; samplesrc/rogue.map.pla: 0206: // Set level map and read it -; samplesrc/rogue.map.pla: 0207: // -; samplesrc/rogue.map.pla: 0208: catacomb[catacomb] = '0' + level -; samplesrc/rogue.map.pla: 0209: mapref = fileio:open(@catacomb) -; samplesrc/rogue.map.pla: 0210: if mapref -; samplesrc/rogue.map.pla: 0211: fileio:newline(mapref, $7F, $0D) -; samplesrc/rogue.map.pla: 0212: for row = 1 to maprows - 2 - !BYTE $6A ; LAW _D040+0 -_F030 !WORD _D040+0 - !BYTE $2C,$23,$23 ; CW 8995 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _X017 -_F031 !WORD 0 - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D039+0 -_F032 !WORD _D039+0 - !BYTE $B4 ; ADDAB _D039+0 -_F033 !WORD _D039+0 - !BYTE $70 ; SB - !BYTE $26 ; LA _D039+0 -_F034 !WORD _D039+0 - !BYTE $6A ; LAW _X029+14 -_F035 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X029+28 -_F036 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$3E ; CB 62 - !BYTE $02 ; CN 1 -_B008 - !BYTE $6C,$03 ; DLB [3] -; samplesrc/rogue.map.pla: 0213: l = fileio:read(mapref, map + (row << 6) + 1, mapcols) -; samplesrc/rogue.map.pla: 0214: ^(map + (row << 6) + l) = WALL_TILE -; samplesrc/rogue.map.pla: 0215: next - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _D040+0 -_F037 !WORD _D040+0 - !BYTE $64,$03 ; LLB [3] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $2A,$40 ; CB 64 - !BYTE $6A ; LAW _X029+18 -_F038 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $74,$04 ; SLB [4] - !BYTE $2A,$23 ; CB 35 - !BYTE $6A ; LAW _D040+0 -_F039 !WORD _D040+0 - !BYTE $64,$03 ; LLB [3] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B009 - !BYTE $A4 ; INCBRLE _B008 - !WORD _B008-* -_B007 - !BYTE $74,$03 ; SLB [3] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0216: fileio:close(mapref) -; samplesrc/rogue.map.pla: 0217: return TRUE - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X029+16 -_F040 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/rogue.map.pla: 0218: fin -_B005 -_B006 -; samplesrc/rogue.map.pla: 0219: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/rogue.map.pla: 0220: end -; samplesrc/rogue.map.pla: 0221: -; samplesrc/rogue.map.pla: 0222: // -; samplesrc/rogue.map.pla: 0223: // Tile access to map -; samplesrc/rogue.map.pla: 0224: // -; samplesrc/rogue.map.pla: 0225: -; samplesrc/rogue.map.pla: 0226: export def getmaptile(xmap, ymap) - ; xmap -> [0] - ; ymap -> [2] -_C001 ; getmaptile() -; samplesrc/rogue.map.pla: 0227: return ^(map + (ymap << rowshift) + xmap) - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _D040+0 -_F041 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rogue.map.pla: 0228: end -; samplesrc/rogue.map.pla: 0229: -; samplesrc/rogue.map.pla: 0230: export def setmaptile(xmap, ymap, tile)#0 - ; xmap -> [0] - ; ymap -> [2] - ; tile -> [4] -_C002 ; setmaptile() -; samplesrc/rogue.map.pla: 0231: word imap - ; imap -> [6] -; samplesrc/rogue.map.pla: 0232: -; samplesrc/rogue.map.pla: 0233: imap = (ymap << rowshift) + xmap - !BYTE $58,$08,$03 ; ENTER 8,3 -; samplesrc/rogue.map.pla: 0234: ^(map + imap) = tile -; samplesrc/rogue.map.pla: 0235: if ^(viewmap + imap) <> $A0 -; samplesrc/rogue.map.pla: 0236: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0237: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D040+0 -_F042 !WORD _D040+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D041+0 -_F043 !WORD _D041+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B010 - !WORD _B010-* - !BYTE $66,$04 ; LLW [4] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F044 !WORD _D041+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $70 ; SB -_B010 -_B011 -; samplesrc/rogue.map.pla: 0238: end - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/rogue.map.pla: 0239: -; samplesrc/rogue.map.pla: 0240: export def updtmaptile(xmap, ymap, tile)#0 - ; xmap -> [0] - ; ymap -> [2] - ; tile -> [4] -_C003 ; updtmaptile() -; samplesrc/rogue.map.pla: 0241: word imap - ; imap -> [6] -; samplesrc/rogue.map.pla: 0242: -; samplesrc/rogue.map.pla: 0243: imap = (ymap << rowshift) + xmap - !BYTE $58,$08,$03 ; ENTER 8,3 -; samplesrc/rogue.map.pla: 0244: ^(map + imap) = (^(map + imap) & LIT_TILE) | tile -; samplesrc/rogue.map.pla: 0245: if ^(viewmap + imap) <> $A0 -; samplesrc/rogue.map.pla: 0246: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0247: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D040+0 -_F045 !WORD _D040+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $66,$04 ; LLW [4] - !BYTE $96 ; OR - !BYTE $6A ; LAW _D040+0 -_F046 !WORD _D040+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D041+0 -_F047 !WORD _D041+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $2A,$A0 ; CB 160 - !BYTE $22 ; BREQ _B012 - !WORD _B012-* - !BYTE $66,$04 ; LLW [4] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F048 !WORD _D041+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $70 ; SB -_B012 -_B013 -; samplesrc/rogue.map.pla: 0248: end - !BYTE $5A,$08 ; LEAVE 8 -; samplesrc/rogue.map.pla: 0249: -; samplesrc/rogue.map.pla: 0250: // -; samplesrc/rogue.map.pla: 0251: // Light torches in map -; samplesrc/rogue.map.pla: 0252: // -; samplesrc/rogue.map.pla: 0253: -; samplesrc/rogue.map.pla: 0254: export def lighttorches#0 -_C004 ; lighttorches() -; samplesrc/rogue.map.pla: 0255: word imap, tmap, rowmap - ; imap -> [0] - ; tmap -> [2] - ; rowmap -> [4] -; samplesrc/rogue.map.pla: 0256: byte xmap, ymap, xt, yt - ; xmap -> [6] - ; ymap -> [7] - ; xt -> [8] - ; yt -> [9] -; samplesrc/rogue.map.pla: 0257: -; samplesrc/rogue.map.pla: 0258: for ymap = 1 to maprows - 2 - !BYTE $58,$0A,$00 ; ENTER 10,0 - !BYTE $2A,$3E ; CB 62 - !BYTE $02 ; CN 1 -_B015 - !BYTE $6C,$07 ; DLB [7] -; samplesrc/rogue.map.pla: 0259: rowmap = map + (ymap << rowshift) -; samplesrc/rogue.map.pla: 0260: for xmap = 1 to mapcols - 2 - !BYTE $6A ; LAW _D040+0 -_F049 !WORD _D040+0 - !BYTE $64,$07 ; LLB [7] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $76,$04 ; SLW [4] - !BYTE $2A,$3E ; CB 62 - !BYTE $02 ; CN 1 -_B018 - !BYTE $6C,$06 ; DLB [6] -; samplesrc/rogue.map.pla: 0261: imap = rowmap + xmap -; samplesrc/rogue.map.pla: 0262: if ^imap & MAP_TILE == TORCH_TILE -; samplesrc/rogue.map.pla: 0263: for yt = ymap - 1 to ymap + 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $2A,$2A ; CB 42 - !BYTE $24 ; BRNE _B020 - !WORD _B020-* - !BYTE $64,$07 ; LLB [7] - !BYTE $8C ; INCR - !BYTE $64,$07 ; LLB [7] - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B022 - !WORD _B022-* -_B023 - !BYTE $6C,$09 ; DLB [9] -; samplesrc/rogue.map.pla: 0264: imap = map + (yt << rowshift) -; samplesrc/rogue.map.pla: 0265: for xt = xmap - 1 to xmap + 1 - !BYTE $6A ; LAW _D040+0 -_F050 !WORD _D040+0 - !BYTE $64,$09 ; LLB [9] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $8C ; INCR - !BYTE $64,$06 ; LLB [6] - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B025 - !WORD _B025-* -_B026 - !BYTE $6C,$08 ; DLB [8] -; samplesrc/rogue.map.pla: 0266: tmap = imap + xt -; samplesrc/rogue.map.pla: 0267: ^tmap = ^tmap | LIT_TILE -; samplesrc/rogue.map.pla: 0268: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $6E,$02 ; DLW [2] - !BYTE $60 ; LB - !BYTE $3E,$80 ; ORI 128 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB -_B027 - !BYTE $A4 ; INCBRLE _B026 - !WORD _B026-* -_B025 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0269: next -_B024 - !BYTE $A4 ; INCBRLE _B023 - !WORD _B023-* -_B022 - !BYTE $74,$09 ; SLB [9] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0270: fin -_B020 -_B021 -; samplesrc/rogue.map.pla: 0271: next -_B019 - !BYTE $A4 ; INCBRLE _B018 - !WORD _B018-* -_B017 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0272: if not (ymap & 7) -; samplesrc/rogue.map.pla: 0273: putc('.') -; samplesrc/rogue.map.pla: 0274: fin - !BYTE $64,$07 ; LLB [7] - !BYTE $3C,$07 ; ANDI 7 - !BYTE $4E ; BRTRU _B028 - !WORD _B028-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F051 !WORD 0 -_B028 -_B029 -; samplesrc/rogue.map.pla: 0275: next -_B016 - !BYTE $A4 ; INCBRLE _B015 - !WORD _B015-* -_B014 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0276: end - !BYTE $5A,$0A ; LEAVE 10 -; samplesrc/rogue.map.pla: 0277: -; samplesrc/rogue.map.pla: 0278: // -; samplesrc/rogue.map.pla: 0279: // Animate tiles in map -; samplesrc/rogue.map.pla: 0280: // -; samplesrc/rogue.map.pla: 0281: -; samplesrc/rogue.map.pla: 0282: export def animate(tile) - ; tile -> [0] -_C005 ; animate() -; samplesrc/rogue.map.pla: 0283: if animseq - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rogue.map.pla: 0284: when tile & MAP_TILE - !BYTE $68 ; LAB _D033+0 -_F052 !WORD _D033+0 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B033-* -; samplesrc/rogue.map.pla: 0285: is TORCH_TILE -_B034 -; samplesrc/rogue.map.pla: 0286: tile = 'X' -; samplesrc/rogue.map.pla: 0287: break - !BYTE $2A,$58 ; CB 88 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -; samplesrc/rogue.map.pla: 0288: is WATER1_TILE -_B035 -; samplesrc/rogue.map.pla: 0289: tile = '(' -; samplesrc/rogue.map.pla: 0290: break - !BYTE $2A,$28 ; CB 40 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -; samplesrc/rogue.map.pla: 0291: is WATER2_TILE -_B036 -; samplesrc/rogue.map.pla: 0292: tile = ')' -; samplesrc/rogue.map.pla: 0293: break - !BYTE $2A,$29 ; CB 41 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -; samplesrc/rogue.map.pla: 0294: wend - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B033 - !BYTE $03 ; CASEBLOCK - !WORD $002A - !WORD _B034-* - !WORD $003C - !WORD _B036-* - !WORD $003E - !WORD _B035-* -_B032 -; samplesrc/rogue.map.pla: 0295: else - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B030 -; samplesrc/rogue.map.pla: 0296: when tile & MAP_TILE - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $52 ; SEL - !WORD _B038-* -; samplesrc/rogue.map.pla: 0297: is WATER1_TILE -_B039 -; samplesrc/rogue.map.pla: 0298: tile = ')' -; samplesrc/rogue.map.pla: 0299: break - !BYTE $2A,$29 ; CB 41 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -; samplesrc/rogue.map.pla: 0300: is WATER2_TILE -_B040 -; samplesrc/rogue.map.pla: 0301: tile = '(' -; samplesrc/rogue.map.pla: 0302: break - !BYTE $2A,$28 ; CB 40 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -; samplesrc/rogue.map.pla: 0303: wend - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B038 - !BYTE $02 ; CASEBLOCK - !WORD $003C - !WORD _B040-* - !WORD $003E - !WORD _B039-* -_B037 -; samplesrc/rogue.map.pla: 0304: fin -_B031 -; samplesrc/rogue.map.pla: 0305: return tile & INV_TILE - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$3F ; ANDI 63 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.map.pla: 0306: end -; samplesrc/rogue.map.pla: 0307: -; samplesrc/rogue.map.pla: 0308: // -; samplesrc/rogue.map.pla: 0309: // Draw the map. Return 0 if any light visible, 1 if in complete darkness -; samplesrc/rogue.map.pla: 0310: // -; samplesrc/rogue.map.pla: 0311: -; samplesrc/rogue.map.pla: 0312: export def drawmap(xorg, yorg, viewfield, viewdir, lightdist, viewdist) - ; xorg -> [0] - ; yorg -> [2] - ; viewfield -> [4] - ; viewdir -> [6] - ; lightdist -> [8] - ; viewdist -> [10] -_C006 ; drawmap() -; samplesrc/rogue.map.pla: 0313: byte l, dist, tile, adjtile, occluded, darkness - ; l -> [12] - ; dist -> [13] - ; tile -> [14] - ; adjtile -> [15] - ; occluded -> [16] - ; darkness -> [17] -; samplesrc/rogue.map.pla: 0314: word ymap, xmap, imap, o - ; ymap -> [18] - ; xmap -> [20] - ; imap -> [22] - ; o -> [24] -; samplesrc/rogue.map.pla: 0315: byte yscr, xscr - ; yscr -> [26] - ; xscr -> [27] -; samplesrc/rogue.map.pla: 0316: -; samplesrc/rogue.map.pla: 0317: if viewdist > beamdepth - !BYTE $58,$1C,$06 ; ENTER 28,6 -; samplesrc/rogue.map.pla: 0318: viewdist = beamdepth -; samplesrc/rogue.map.pla: 0319: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $2A,$17 ; CB 23 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $2A,$17 ; CB 23 - !BYTE $76,$0A ; SLW [10] -_B041 -_B042 -; samplesrc/rogue.map.pla: 0320: if lightdist > viewdist -; samplesrc/rogue.map.pla: 0321: lightdist = viewdist -; samplesrc/rogue.map.pla: 0322: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $66,$0A ; LLW [10] - !BYTE $76,$08 ; SLW [8] -_B043 -_B044 -; samplesrc/rogue.map.pla: 0323: // -; samplesrc/rogue.map.pla: 0324: // Clear screen -; samplesrc/rogue.map.pla: 0325: // -; samplesrc/rogue.map.pla: 0326: memset(@screenbuffer, $A0A0, scrnheight * scrnwidth) -; samplesrc/rogue.map.pla: 0327: // -; samplesrc/rogue.map.pla: 0328: // Draw background map if in light -; samplesrc/rogue.map.pla: 0329: // -; samplesrc/rogue.map.pla: 0330: darkness = 1 -; samplesrc/rogue.map.pla: 0331: imap = (yorg << rowshift) + xorg -; samplesrc/rogue.map.pla: 0332: if lightdist or ^(map + imap) & LIT_TILE -; samplesrc/rogue.map.pla: 0333: // -; samplesrc/rogue.map.pla: 0334: // Update current spot in viewmap -; samplesrc/rogue.map.pla: 0335: // -; samplesrc/rogue.map.pla: 0336: ^(viewmap + imap) = ^(map + imap) | VIEWED_TILE -; samplesrc/rogue.map.pla: 0337: // -; samplesrc/rogue.map.pla: 0338: // Draw the viewmap -; samplesrc/rogue.map.pla: 0339: // -; samplesrc/rogue.map.pla: 0340: xmap = xorg - xcentr -; samplesrc/rogue.map.pla: 0341: if xmap < 0 -; samplesrc/rogue.map.pla: 0342: l = mapcols -; samplesrc/rogue.map.pla: 0343: xscr = -xmap -; samplesrc/rogue.map.pla: 0344: xmap = 0 -; samplesrc/rogue.map.pla: 0345: else - !BYTE $26 ; LA _D042+0 -_F053 !WORD _D042+0 - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2C,$70,$03 ; CW 880 - !BYTE $54 ; CALL _X017 -_F054 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $74,$11 ; SLB [17] - !BYTE $66,$02 ; LLW [2] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $AE ; BROR _B045 - !WORD _B045-* - !BYTE $6A ; LAW _D040+0 -_F055 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 -_B045 - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $6A ; LAW _D040+0 -_F056 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F057 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $3A,$14 ; SUBI 20 - !BYTE $6E,$14 ; DLW [20] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $2A,$40 ; CB 64 - !BYTE $74,$0C ; SLB [12] - !BYTE $66,$14 ; LLW [20] - !BYTE $90 ; NEG - !BYTE $74,$1B ; SLB [27] - !BYTE $00 ; CN 0 - !BYTE $76,$14 ; SLW [20] - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 -; samplesrc/rogue.map.pla: 0346: l = mapcols - xmap -; samplesrc/rogue.map.pla: 0347: xscr = 0 -; samplesrc/rogue.map.pla: 0348: fin - !BYTE $2A,$40 ; CB 64 - !BYTE $66,$14 ; LLW [20] - !BYTE $84 ; SUB - !BYTE $74,$0C ; SLB [12] - !BYTE $00 ; CN 0 - !BYTE $74,$1B ; SLB [27] -_B049 -; samplesrc/rogue.map.pla: 0349: if xscr + l > scrnwidth -; samplesrc/rogue.map.pla: 0350: l = scrnwidth - xscr -; samplesrc/rogue.map.pla: 0351: fin - !BYTE $64,$1B ; LLB [27] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $2A,$28 ; CB 40 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* - !BYTE $2A,$28 ; CB 40 - !BYTE $64,$1B ; LLB [27] - !BYTE $84 ; SUB - !BYTE $74,$0C ; SLB [12] -_B050 -_B051 -; samplesrc/rogue.map.pla: 0352: for yscr = 0 to scrnheight - !BYTE $2A,$16 ; CB 22 - !BYTE $00 ; CN 0 -_B053 - !BYTE $6C,$1A ; DLB [26] -; samplesrc/rogue.map.pla: 0353: ymap = yscr - ycentr + yorg -; samplesrc/rogue.map.pla: 0354: if ymap >= 0 and ymap < maprows -; samplesrc/rogue.map.pla: 0355: memcpy(screen[yscr] + xscr, viewmap + (ymap << rowshift) + xmap, l) -; samplesrc/rogue.map.pla: 0356: fin - !BYTE $64,$1A ; LLB [26] - !BYTE $3A,$0C ; SUBI 12 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $6E,$12 ; DLW [18] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B055 - !WORD _B055-* - !BYTE $66,$12 ; LLW [18] - !BYTE $2A,$40 ; CB 64 - !BYTE $46 ; ISLT -_B055 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $26 ; LA _D044+0 -_F058 !WORD _D044+0 - !BYTE $B8,$1A ; IDXLB [26] - !BYTE $62 ; LW - !BYTE $B0,$1B ; ADDLB [27] - !BYTE $6A ; LAW _D041+0 -_F059 !WORD _D041+0 - !BYTE $66,$12 ; LLW [18] - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $B2,$14 ; ADDLW [20] - !BYTE $64,$0C ; LLB [12] - !BYTE $54 ; CALL _X018 -_F060 !WORD 0 -_B056 -_B057 -; samplesrc/rogue.map.pla: 0357: next -_B054 - !BYTE $A4 ; INCBRLE _B053 - !WORD _B053-* -_B052 - !BYTE $74,$1A ; SLB [26] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0358: darkness = 0 -; samplesrc/rogue.map.pla: 0359: fin - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B046 -_B047 -; samplesrc/rogue.map.pla: 0360: // -; samplesrc/rogue.map.pla: 0361: // Draw visible octants -; samplesrc/rogue.map.pla: 0362: // -; samplesrc/rogue.map.pla: 0363: for o = viewdir - viewfield - 1 to viewdir + viewfield - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $A0 ; BRGT _B058 - !WORD _B058-* -_B059 - !BYTE $6E,$18 ; DLW [24] -; samplesrc/rogue.map.pla: 0364: dist = lightdist + 1 -; samplesrc/rogue.map.pla: 0365: occluded = 1 -; samplesrc/rogue.map.pla: 0366: when o & 7 - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR - !BYTE $74,$0D ; SLB [13] - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $66,$18 ; LLW [24] - !BYTE $3C,$07 ; ANDI 7 - !BYTE $52 ; SEL - !WORD _B062-* -; samplesrc/rogue.map.pla: 0367: is 0 -_B063 -; samplesrc/rogue.map.pla: 0368: // -; samplesrc/rogue.map.pla: 0369: // Run through lit octant beam points -; samplesrc/rogue.map.pla: 0370: // -; samplesrc/rogue.map.pla: 0371: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F061 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B064 - !WORD _B064-* -_B065 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0372: // -; samplesrc/rogue.map.pla: 0373: // Check parent visiblity -; samplesrc/rogue.map.pla: 0374: // -; samplesrc/rogue.map.pla: 0375: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0376: imap = ((yorg - ybeam[l]) << rowshift) + xorg + xbeam[l] -; samplesrc/rogue.map.pla: 0377: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0378: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0379: // -; samplesrc/rogue.map.pla: 0380: // The view stops here -; samplesrc/rogue.map.pla: 0381: // -; samplesrc/rogue.map.pla: 0382: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0383: else - !BYTE $26 ; LA _D038+0 -_F062 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F063 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B067 - !WORD _B067-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F064 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F065 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F066 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F067 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B069 -; samplesrc/rogue.map.pla: 0384: // -; samplesrc/rogue.map.pla: 0385: // This tile is transparent -; samplesrc/rogue.map.pla: 0386: // -; samplesrc/rogue.map.pla: 0387: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0388: // -; samplesrc/rogue.map.pla: 0389: // Check adjacent tile for opaqueness - improves wall display -; samplesrc/rogue.map.pla: 0390: // -; samplesrc/rogue.map.pla: 0391: adjtile = ^(map + imap + 1) & INV_TILE -; samplesrc/rogue.map.pla: 0392: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0393: ^(viewmap + imap + 1) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0394: screen.[ycentr-ybeam[l], xcentr+xbeam[l]+1] = adjtile -; samplesrc/rogue.map.pla: 0395: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F068 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F069 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F070 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F071 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F072 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F073 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B071 -_B072 -; samplesrc/rogue.map.pla: 0396: fin -_B070 -; samplesrc/rogue.map.pla: 0397: // -; samplesrc/rogue.map.pla: 0398: // Update view -; samplesrc/rogue.map.pla: 0399: // -; samplesrc/rogue.map.pla: 0400: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0401: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0402: screen.[ycentr-ybeam[l], xcentr+xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0403: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F074 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B073 - !WORD _B073-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F075 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F076 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F077 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F078 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B073 -_B074 -; samplesrc/rogue.map.pla: 0404: else - !BYTE $50 ; BRNCH _B068 - !WORD _B068-* -_B067 -; samplesrc/rogue.map.pla: 0405: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0406: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F079 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B068 -; samplesrc/rogue.map.pla: 0407: next -_B066 - !BYTE $A4 ; INCBRLE _B065 - !WORD _B065-* -_B064 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0408: // -; samplesrc/rogue.map.pla: 0409: // Run through visible octant beam points -; samplesrc/rogue.map.pla: 0410: // -; samplesrc/rogue.map.pla: 0411: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F080 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F081 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B075 - !WORD _B075-* -_B076 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0412: // -; samplesrc/rogue.map.pla: 0413: // Check parent visiblity -; samplesrc/rogue.map.pla: 0414: // -; samplesrc/rogue.map.pla: 0415: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0416: imap = ((yorg - ybeam[l]) << rowshift) + xorg + xbeam[l] -; samplesrc/rogue.map.pla: 0417: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0418: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0419: // -; samplesrc/rogue.map.pla: 0420: // The view stops here -; samplesrc/rogue.map.pla: 0421: // -; samplesrc/rogue.map.pla: 0422: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0423: else - !BYTE $26 ; LA _D038+0 -_F082 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F083 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F084 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F085 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F086 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F087 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B080 -; samplesrc/rogue.map.pla: 0424: // -; samplesrc/rogue.map.pla: 0425: // This tile is transparent -; samplesrc/rogue.map.pla: 0426: // -; samplesrc/rogue.map.pla: 0427: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0428: occluded = 0 -; samplesrc/rogue.map.pla: 0429: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F088 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B081 -; samplesrc/rogue.map.pla: 0430: // -; samplesrc/rogue.map.pla: 0431: // If the tile is in light, update view -; samplesrc/rogue.map.pla: 0432: // -; samplesrc/rogue.map.pla: 0433: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0434: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0435: screen.[ycentr-ybeam[l], xcentr+xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0436: darkness = 0 -; samplesrc/rogue.map.pla: 0437: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F089 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F090 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F091 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F092 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F093 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B082 -_B083 -; samplesrc/rogue.map.pla: 0438: else - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B078 -; samplesrc/rogue.map.pla: 0439: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0440: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F094 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B079 -; samplesrc/rogue.map.pla: 0441: // -; samplesrc/rogue.map.pla: 0442: // Advance beam distance -; samplesrc/rogue.map.pla: 0443: // -; samplesrc/rogue.map.pla: 0444: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0445: if occluded -; samplesrc/rogue.map.pla: 0446: // -; samplesrc/rogue.map.pla: 0447: // Beam fully occluded -; samplesrc/rogue.map.pla: 0448: // -; samplesrc/rogue.map.pla: 0449: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F095 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B084 - !WORD _B084-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $50 ; BRNCH _B075 - !WORD _B075-* -; samplesrc/rogue.map.pla: 0450: fin -_B086 -_B087 -; samplesrc/rogue.map.pla: 0451: // -; samplesrc/rogue.map.pla: 0452: // Update distance -; samplesrc/rogue.map.pla: 0453: // -; samplesrc/rogue.map.pla: 0454: occluded = 1 -; samplesrc/rogue.map.pla: 0455: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0456: fin - !BYTE $74,$0D ; SLB [13] -_B084 -_B085 -; samplesrc/rogue.map.pla: 0457: next -_B077 - !BYTE $A4 ; INCBRLE _B076 - !WORD _B076-* -_B075 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0458: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0459: is 1 -_B088 -; samplesrc/rogue.map.pla: 0460: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F096 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B089 - !WORD _B089-* -_B090 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0461: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0462: imap = ((yorg - xbeam[l]) << rowshift) + xorg + ybeam[l] -; samplesrc/rogue.map.pla: 0463: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0464: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0465: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0466: else - !BYTE $26 ; LA _D038+0 -_F097 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F098 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F099 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F100 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F101 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F102 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B095 - !WORD _B095-* -_B094 -; samplesrc/rogue.map.pla: 0467: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0468: adjtile = ^(map + imap - mapcols) & INV_TILE -; samplesrc/rogue.map.pla: 0469: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0470: ^(viewmap + imap - mapcols) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0471: screen.[ycentr-xbeam[l]-1, xcentr+ybeam[l]] = adjtile -; samplesrc/rogue.map.pla: 0472: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F103 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F104 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $3A,$40 ; SUBI 64 - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F105 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $3A,$40 ; SUBI 64 - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F106 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F107 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F108 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B096 -_B097 -; samplesrc/rogue.map.pla: 0473: fin -_B095 -; samplesrc/rogue.map.pla: 0474: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0475: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0476: screen.[ycentr-xbeam[l], xcentr+ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0477: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F109 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B098 - !WORD _B098-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F110 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F111 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F112 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F113 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B098 -_B099 -; samplesrc/rogue.map.pla: 0478: else - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -_B092 -; samplesrc/rogue.map.pla: 0479: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0480: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F114 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B093 -; samplesrc/rogue.map.pla: 0481: next -_B091 - !BYTE $A4 ; INCBRLE _B090 - !WORD _B090-* -_B089 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0482: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F115 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F116 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B100 - !WORD _B100-* -_B101 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0483: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0484: imap = ((yorg - xbeam[l]) << rowshift) + xorg + ybeam[l] -; samplesrc/rogue.map.pla: 0485: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0486: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0487: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0488: else - !BYTE $26 ; LA _D038+0 -_F117 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F118 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F119 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F120 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F121 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F122 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B106 - !WORD _B106-* -_B105 -; samplesrc/rogue.map.pla: 0489: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0490: occluded = 0 -; samplesrc/rogue.map.pla: 0491: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F123 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B106 -; samplesrc/rogue.map.pla: 0492: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0493: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0494: screen.[ycentr-xbeam[l], xcentr+ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0495: darkness = 0 -; samplesrc/rogue.map.pla: 0496: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F124 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F125 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F126 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F127 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F128 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B107 -_B108 -; samplesrc/rogue.map.pla: 0497: else - !BYTE $50 ; BRNCH _B104 - !WORD _B104-* -_B103 -; samplesrc/rogue.map.pla: 0498: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0499: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F129 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B104 -; samplesrc/rogue.map.pla: 0500: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0501: if occluded -; samplesrc/rogue.map.pla: 0502: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F130 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B109 - !WORD _B109-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B111 - !WORD _B111-* - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -; samplesrc/rogue.map.pla: 0503: fin -_B111 -_B112 -; samplesrc/rogue.map.pla: 0504: occluded = 1 -; samplesrc/rogue.map.pla: 0505: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0506: fin - !BYTE $74,$0D ; SLB [13] -_B109 -_B110 -; samplesrc/rogue.map.pla: 0507: next -_B102 - !BYTE $A4 ; INCBRLE _B101 - !WORD _B101-* -_B100 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0508: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0509: is 2 -_B113 -; samplesrc/rogue.map.pla: 0510: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F131 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B114 - !WORD _B114-* -_B115 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0511: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0512: imap = ((yorg + xbeam[l]) << rowshift) + xorg + ybeam[l] -; samplesrc/rogue.map.pla: 0513: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0514: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0515: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0516: else - !BYTE $26 ; LA _D038+0 -_F132 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F133 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F134 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F135 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F136 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F137 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B119 -; samplesrc/rogue.map.pla: 0517: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0518: adjtile = ^(map + imap + mapcols) & INV_TILE -; samplesrc/rogue.map.pla: 0519: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0520: ^(viewmap + imap + mapcols) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0521: screen.[ycentr+xbeam[l]+1, xcentr+ybeam[l]] = adjtile -; samplesrc/rogue.map.pla: 0522: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F138 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F139 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $38,$40 ; ADDI 64 - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F140 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $38,$40 ; ADDI 64 - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F141 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F142 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F143 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B121 -_B122 -; samplesrc/rogue.map.pla: 0523: fin -_B120 -; samplesrc/rogue.map.pla: 0524: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0525: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0526: screen.[ycentr+xbeam[l], xcentr+ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0527: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F144 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B123 - !WORD _B123-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F145 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F146 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F147 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F148 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B123 -_B124 -; samplesrc/rogue.map.pla: 0528: else - !BYTE $50 ; BRNCH _B118 - !WORD _B118-* -_B117 -; samplesrc/rogue.map.pla: 0529: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0530: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F149 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B118 -; samplesrc/rogue.map.pla: 0531: next -_B116 - !BYTE $A4 ; INCBRLE _B115 - !WORD _B115-* -_B114 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0532: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F150 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F151 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B125 - !WORD _B125-* -_B126 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0533: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0534: imap = ((yorg + xbeam[l]) << rowshift) + xorg + ybeam[l] -; samplesrc/rogue.map.pla: 0535: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0536: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0537: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0538: else - !BYTE $26 ; LA _D038+0 -_F152 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F153 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B128 - !WORD _B128-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F154 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F155 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F156 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B130 - !WORD _B130-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F157 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B131 - !WORD _B131-* -_B130 -; samplesrc/rogue.map.pla: 0539: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0540: occluded = 0 -; samplesrc/rogue.map.pla: 0541: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F158 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B131 -; samplesrc/rogue.map.pla: 0542: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0543: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0544: screen.[ycentr+xbeam[l], xcentr+ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0545: darkness = 0 -; samplesrc/rogue.map.pla: 0546: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B132 - !WORD _B132-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F159 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F160 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F161 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F162 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F163 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B132 -_B133 -; samplesrc/rogue.map.pla: 0547: else - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B128 -; samplesrc/rogue.map.pla: 0548: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0549: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F164 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B129 -; samplesrc/rogue.map.pla: 0550: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0551: if occluded -; samplesrc/rogue.map.pla: 0552: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F165 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B134 - !WORD _B134-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $50 ; BRNCH _B125 - !WORD _B125-* -; samplesrc/rogue.map.pla: 0553: fin -_B136 -_B137 -; samplesrc/rogue.map.pla: 0554: occluded = 1 -; samplesrc/rogue.map.pla: 0555: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0556: fin - !BYTE $74,$0D ; SLB [13] -_B134 -_B135 -; samplesrc/rogue.map.pla: 0557: next -_B127 - !BYTE $A4 ; INCBRLE _B126 - !WORD _B126-* -_B125 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0558: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0559: is 3 -_B138 -; samplesrc/rogue.map.pla: 0560: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F166 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B139 - !WORD _B139-* -_B140 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0561: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0562: imap = ((yorg + ybeam[l]) << rowshift) + xorg + xbeam[l] -; samplesrc/rogue.map.pla: 0563: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0564: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0565: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0566: else - !BYTE $26 ; LA _D038+0 -_F167 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F168 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B142 - !WORD _B142-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F169 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F170 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F171 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F172 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B145 - !WORD _B145-* -_B144 -; samplesrc/rogue.map.pla: 0567: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0568: adjtile = ^(map + imap + 1) & INV_TILE -; samplesrc/rogue.map.pla: 0569: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0570: ^(viewmap + imap + 1) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0571: screen.[ycentr+ybeam[l], xcentr+xbeam[l]+1] = adjtile -; samplesrc/rogue.map.pla: 0572: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F173 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F174 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B146 - !WORD _B146-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F175 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F176 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F177 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F178 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B146 -_B147 -; samplesrc/rogue.map.pla: 0573: fin -_B145 -; samplesrc/rogue.map.pla: 0574: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0575: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0576: screen.[ycentr+ybeam[l], xcentr+xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0577: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F179 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B148 - !WORD _B148-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F180 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F181 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F182 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F183 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B148 -_B149 -; samplesrc/rogue.map.pla: 0578: else - !BYTE $50 ; BRNCH _B143 - !WORD _B143-* -_B142 -; samplesrc/rogue.map.pla: 0579: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0580: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F184 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B143 -; samplesrc/rogue.map.pla: 0581: next -_B141 - !BYTE $A4 ; INCBRLE _B140 - !WORD _B140-* -_B139 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0582: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F185 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F186 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B150 - !WORD _B150-* -_B151 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0583: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0584: imap = ((yorg + ybeam[l]) << rowshift) + xorg + xbeam[l] -; samplesrc/rogue.map.pla: 0585: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0586: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0587: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0588: else - !BYTE $26 ; LA _D038+0 -_F187 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F188 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F189 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F190 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F191 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B155 - !WORD _B155-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F192 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B156 - !WORD _B156-* -_B155 -; samplesrc/rogue.map.pla: 0589: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0590: occluded = 0 -; samplesrc/rogue.map.pla: 0591: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F193 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B156 -; samplesrc/rogue.map.pla: 0592: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0593: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0594: screen.[ycentr+ybeam[l], xcentr+xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0595: darkness = 0 -; samplesrc/rogue.map.pla: 0596: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B157 - !WORD _B157-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F194 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F195 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F196 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F197 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F198 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B157 -_B158 -; samplesrc/rogue.map.pla: 0597: else - !BYTE $50 ; BRNCH _B154 - !WORD _B154-* -_B153 -; samplesrc/rogue.map.pla: 0598: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0599: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F199 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B154 -; samplesrc/rogue.map.pla: 0600: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0601: if occluded -; samplesrc/rogue.map.pla: 0602: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F200 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B159 - !WORD _B159-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $50 ; BRNCH _B150 - !WORD _B150-* -; samplesrc/rogue.map.pla: 0603: fin -_B161 -_B162 -; samplesrc/rogue.map.pla: 0604: occluded = 1 -; samplesrc/rogue.map.pla: 0605: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0606: fin - !BYTE $74,$0D ; SLB [13] -_B159 -_B160 -; samplesrc/rogue.map.pla: 0607: next -_B152 - !BYTE $A4 ; INCBRLE _B151 - !WORD _B151-* -_B150 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0608: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0609: is 4 -_B163 -; samplesrc/rogue.map.pla: 0610: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F201 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B164 - !WORD _B164-* -_B165 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0611: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0612: imap = ((yorg + ybeam[l]) << rowshift) + xorg - xbeam[l] -; samplesrc/rogue.map.pla: 0613: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0614: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0615: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0616: else - !BYTE $26 ; LA _D038+0 -_F202 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F203 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B167 - !WORD _B167-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F204 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F205 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F206 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B169 - !WORD _B169-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F207 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -_B169 -; samplesrc/rogue.map.pla: 0617: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0618: adjtile = ^(map + imap - 1) & INV_TILE -; samplesrc/rogue.map.pla: 0619: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0620: ^(viewmap + imap - 1) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0621: screen.[ycentr+ybeam[l], xcentr-xbeam[l]-1] = adjtile -; samplesrc/rogue.map.pla: 0622: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F208 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F209 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B171 - !WORD _B171-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F210 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8E ; DECR - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F211 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F212 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F213 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B171 -_B172 -; samplesrc/rogue.map.pla: 0623: fin -_B170 -; samplesrc/rogue.map.pla: 0624: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0625: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0626: screen.[ycentr+ybeam[l], xcentr-xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0627: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F214 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B173 - !WORD _B173-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F215 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F216 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F217 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F218 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B173 -_B174 -; samplesrc/rogue.map.pla: 0628: else - !BYTE $50 ; BRNCH _B168 - !WORD _B168-* -_B167 -; samplesrc/rogue.map.pla: 0629: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0630: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F219 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B168 -; samplesrc/rogue.map.pla: 0631: next -_B166 - !BYTE $A4 ; INCBRLE _B165 - !WORD _B165-* -_B164 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0632: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F220 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F221 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B175 - !WORD _B175-* -_B176 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0633: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0634: imap = ((yorg + ybeam[l]) << rowshift) + xorg - xbeam[l] -; samplesrc/rogue.map.pla: 0635: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0636: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0637: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0638: else - !BYTE $26 ; LA _D038+0 -_F222 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F223 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B178 - !WORD _B178-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F224 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F225 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F226 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B180 - !WORD _B180-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F227 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B181 - !WORD _B181-* -_B180 -; samplesrc/rogue.map.pla: 0639: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0640: occluded = 0 -; samplesrc/rogue.map.pla: 0641: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F228 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B181 -; samplesrc/rogue.map.pla: 0642: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0643: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0644: screen.[ycentr+ybeam[l], xcentr-xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0645: darkness = 0 -; samplesrc/rogue.map.pla: 0646: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F229 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F230 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F231 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F232 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F233 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B182 -_B183 -; samplesrc/rogue.map.pla: 0647: else - !BYTE $50 ; BRNCH _B179 - !WORD _B179-* -_B178 -; samplesrc/rogue.map.pla: 0648: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0649: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F234 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B179 -; samplesrc/rogue.map.pla: 0650: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0651: if occluded -; samplesrc/rogue.map.pla: 0652: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F235 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B184 - !WORD _B184-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B186 - !WORD _B186-* - !BYTE $50 ; BRNCH _B175 - !WORD _B175-* -; samplesrc/rogue.map.pla: 0653: fin -_B186 -_B187 -; samplesrc/rogue.map.pla: 0654: occluded = 1 -; samplesrc/rogue.map.pla: 0655: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0656: fin - !BYTE $74,$0D ; SLB [13] -_B184 -_B185 -; samplesrc/rogue.map.pla: 0657: next -_B177 - !BYTE $A4 ; INCBRLE _B176 - !WORD _B176-* -_B175 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0658: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0659: is 5 -_B188 -; samplesrc/rogue.map.pla: 0660: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F236 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B189 - !WORD _B189-* -_B190 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0661: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0662: imap = ((yorg + xbeam[l]) << rowshift) + xorg - ybeam[l] -; samplesrc/rogue.map.pla: 0663: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0664: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0665: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0666: else - !BYTE $26 ; LA _D038+0 -_F237 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F238 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F239 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F240 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F241 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B194 - !WORD _B194-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F242 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B195 - !WORD _B195-* -_B194 -; samplesrc/rogue.map.pla: 0667: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0668: adjtile = ^(map + imap + mapcols) & INV_TILE -; samplesrc/rogue.map.pla: 0669: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0670: ^(viewmap + imap + mapcols) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0671: screen.[ycentr+xbeam[l]+1, xcentr-ybeam[l]] = adjtile -; samplesrc/rogue.map.pla: 0672: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F243 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F244 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $38,$40 ; ADDI 64 - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B196 - !WORD _B196-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F245 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $38,$40 ; ADDI 64 - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F246 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F247 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F248 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B196 -_B197 -; samplesrc/rogue.map.pla: 0673: fin -_B195 -; samplesrc/rogue.map.pla: 0674: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0675: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0676: screen.[ycentr+xbeam[l], xcentr-ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0677: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F249 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B198 - !WORD _B198-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F250 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F251 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F252 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F253 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B198 -_B199 -; samplesrc/rogue.map.pla: 0678: else - !BYTE $50 ; BRNCH _B193 - !WORD _B193-* -_B192 -; samplesrc/rogue.map.pla: 0679: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0680: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F254 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B193 -; samplesrc/rogue.map.pla: 0681: next -_B191 - !BYTE $A4 ; INCBRLE _B190 - !WORD _B190-* -_B189 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0682: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F255 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F256 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B200 - !WORD _B200-* -_B201 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0683: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0684: imap = ((yorg + xbeam[l]) << rowshift) + xorg - ybeam[l] -; samplesrc/rogue.map.pla: 0685: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0686: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0687: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0688: else - !BYTE $26 ; LA _D038+0 -_F257 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F258 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B203 - !WORD _B203-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F259 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F260 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F261 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B205 - !WORD _B205-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F262 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -_B205 -; samplesrc/rogue.map.pla: 0689: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0690: occluded = 0 -; samplesrc/rogue.map.pla: 0691: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F263 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B206 -; samplesrc/rogue.map.pla: 0692: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0693: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0694: screen.[ycentr+xbeam[l], xcentr-ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0695: darkness = 0 -; samplesrc/rogue.map.pla: 0696: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B207 - !WORD _B207-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F264 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F265 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F266 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F267 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F268 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B207 -_B208 -; samplesrc/rogue.map.pla: 0697: else - !BYTE $50 ; BRNCH _B204 - !WORD _B204-* -_B203 -; samplesrc/rogue.map.pla: 0698: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0699: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F269 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B204 -; samplesrc/rogue.map.pla: 0700: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0701: if occluded -; samplesrc/rogue.map.pla: 0702: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F270 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B209 - !WORD _B209-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B211 - !WORD _B211-* - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -; samplesrc/rogue.map.pla: 0703: fin -_B211 -_B212 -; samplesrc/rogue.map.pla: 0704: occluded = 1 -; samplesrc/rogue.map.pla: 0705: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0706: fin - !BYTE $74,$0D ; SLB [13] -_B209 -_B210 -; samplesrc/rogue.map.pla: 0707: next -_B202 - !BYTE $A4 ; INCBRLE _B201 - !WORD _B201-* -_B200 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0708: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0709: is 6 -_B213 -; samplesrc/rogue.map.pla: 0710: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F271 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B214 - !WORD _B214-* -_B215 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0711: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0712: imap = ((yorg - xbeam[l]) << rowshift) + xorg - ybeam[l] -; samplesrc/rogue.map.pla: 0713: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0714: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0715: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0716: else - !BYTE $26 ; LA _D038+0 -_F272 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F273 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B217 - !WORD _B217-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F274 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F275 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F276 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B219 - !WORD _B219-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F277 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B220 - !WORD _B220-* -_B219 -; samplesrc/rogue.map.pla: 0717: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0718: adjtile = ^(map + imap - mapcols) & INV_TILE -; samplesrc/rogue.map.pla: 0719: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0720: ^(viewmap + imap - mapcols) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0721: screen.[ycentr-xbeam[l]-1, xcentr-ybeam[l]] = adjtile -; samplesrc/rogue.map.pla: 0722: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F278 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F279 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $3A,$40 ; SUBI 64 - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B221 - !WORD _B221-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F280 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $3A,$40 ; SUBI 64 - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F281 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F282 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F283 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B221 -_B222 -; samplesrc/rogue.map.pla: 0723: fin -_B220 -; samplesrc/rogue.map.pla: 0724: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0725: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0726: screen.[ycentr-xbeam[l], xcentr-ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0727: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F284 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B223 - !WORD _B223-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F285 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F286 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F287 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F288 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B223 -_B224 -; samplesrc/rogue.map.pla: 0728: else - !BYTE $50 ; BRNCH _B218 - !WORD _B218-* -_B217 -; samplesrc/rogue.map.pla: 0729: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0730: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F289 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B218 -; samplesrc/rogue.map.pla: 0731: next -_B216 - !BYTE $A4 ; INCBRLE _B215 - !WORD _B215-* -_B214 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0732: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F290 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F291 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B225 - !WORD _B225-* -_B226 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0733: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0734: imap = ((yorg - xbeam[l]) << rowshift) + xorg - ybeam[l] -; samplesrc/rogue.map.pla: 0735: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0736: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0737: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0738: else - !BYTE $26 ; LA _D038+0 -_F292 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F293 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B228 - !WORD _B228-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D035+0 -_F294 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D036+0 -_F295 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F296 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B230 - !WORD _B230-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F297 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B231 - !WORD _B231-* -_B230 -; samplesrc/rogue.map.pla: 0739: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0740: occluded = 0 -; samplesrc/rogue.map.pla: 0741: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F298 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B231 -; samplesrc/rogue.map.pla: 0742: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0743: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0744: screen.[ycentr-xbeam[l], xcentr-ybeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0745: darkness = 0 -; samplesrc/rogue.map.pla: 0746: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B232 - !WORD _B232-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F299 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F300 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F301 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D035+0 -_F302 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D036+0 -_F303 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B232 -_B233 -; samplesrc/rogue.map.pla: 0747: else - !BYTE $50 ; BRNCH _B229 - !WORD _B229-* -_B228 -; samplesrc/rogue.map.pla: 0748: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0749: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F304 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B229 -; samplesrc/rogue.map.pla: 0750: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0751: if occluded -; samplesrc/rogue.map.pla: 0752: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F305 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B234 - !WORD _B234-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B236 - !WORD _B236-* - !BYTE $50 ; BRNCH _B225 - !WORD _B225-* -; samplesrc/rogue.map.pla: 0753: fin -_B236 -_B237 -; samplesrc/rogue.map.pla: 0754: occluded = 1 -; samplesrc/rogue.map.pla: 0755: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0756: fin - !BYTE $74,$0D ; SLB [13] -_B234 -_B235 -; samplesrc/rogue.map.pla: 0757: next -_B227 - !BYTE $A4 ; INCBRLE _B226 - !WORD _B226-* -_B225 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0758: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0759: is 7 -_B238 -; samplesrc/rogue.map.pla: 0760: for l = 1 to dbeam[lightdist] - !BYTE $26 ; LA _D034+0 -_F306 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B239 - !WORD _B239-* -_B240 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0761: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0762: imap = ((yorg - ybeam[l]) << rowshift) + xorg - xbeam[l] -; samplesrc/rogue.map.pla: 0763: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0764: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0765: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0766: else - !BYTE $26 ; LA _D038+0 -_F307 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F308 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B242 - !WORD _B242-* - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F309 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F310 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D040+0 -_F311 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B244 - !WORD _B244-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F312 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B245 - !WORD _B245-* -_B244 -; samplesrc/rogue.map.pla: 0767: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0768: adjtile = ^(map + imap - 1) & INV_TILE -; samplesrc/rogue.map.pla: 0769: if adjtile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0770: ^(viewmap + imap - 1) = adjtile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0771: screen.[ycentr-ybeam[l], xcentr-xbeam[l]-1] = adjtile -; samplesrc/rogue.map.pla: 0772: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F313 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D040+0 -_F314 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $3C,$3F ; ANDI 63 - !BYTE $6C,$0F ; DLB [15] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B246 - !WORD _B246-* - !BYTE $64,$0F ; LLB [15] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F315 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $8E ; DECR - !BYTE $70 ; SB - !BYTE $64,$0F ; LLB [15] - !BYTE $26 ; LA _D044+0 -_F316 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F317 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F318 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B246 -_B247 -; samplesrc/rogue.map.pla: 0773: fin -_B245 -; samplesrc/rogue.map.pla: 0774: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0775: if tile <> PIT_TILE -; samplesrc/rogue.map.pla: 0776: screen.[ycentr-ybeam[l], xcentr-xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0777: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F319 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B248 - !WORD _B248-* - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F320 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F321 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F322 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F323 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B248 -_B249 -; samplesrc/rogue.map.pla: 0778: else - !BYTE $50 ; BRNCH _B243 - !WORD _B243-* -_B242 -; samplesrc/rogue.map.pla: 0779: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0780: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F324 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B243 -; samplesrc/rogue.map.pla: 0781: next -_B241 - !BYTE $A4 ; INCBRLE _B240 - !WORD _B240-* -_B239 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0782: for l = dbeam[lightdist]+1 to dbeam[viewdist] - !BYTE $26 ; LA _D034+0 -_F325 !WORD _D034+0 - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $26 ; LA _D034+0 -_F326 !WORD _D034+0 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B250 - !WORD _B250-* -_B251 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rogue.map.pla: 0783: imap = ((yorg - ybeam[l]) << rowshift) + xorg - xbeam[l] -; samplesrc/rogue.map.pla: 0784: if vispix[vbeam[l]] -; samplesrc/rogue.map.pla: 0785: tile = ^(map + imap) -; samplesrc/rogue.map.pla: 0786: if tile & OPAQUE_TILE -; samplesrc/rogue.map.pla: 0787: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0788: else - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D036+0 -_F327 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $0C ; CN 6 - !BYTE $9A ; SHL - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D035+0 -_F328 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $26 ; LA _D038+0 -_F329 !WORD _D038+0 - !BYTE $26 ; LA _D037+0 -_F330 !WORD _D037+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B253 - !WORD _B253-* - !BYTE $6A ; LAW _D040+0 -_F331 !WORD _D040+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $60 ; LB - !BYTE $6C,$0E ; DLB [14] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B255 - !WORD _B255-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F332 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B256 - !WORD _B256-* -_B255 -; samplesrc/rogue.map.pla: 0789: vispix[l] = 1 -; samplesrc/rogue.map.pla: 0790: occluded = 0 -; samplesrc/rogue.map.pla: 0791: fin - !BYTE $02 ; CN 1 - !BYTE $26 ; LA _D038+0 -_F333 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] -_B256 -; samplesrc/rogue.map.pla: 0792: if tile & LIT_TILE -; samplesrc/rogue.map.pla: 0793: ^(viewmap + imap) = tile | VIEWED_TILE -; samplesrc/rogue.map.pla: 0794: screen.[ycentr-ybeam[l], xcentr-xbeam[l]] = animate(tile) -; samplesrc/rogue.map.pla: 0795: darkness = 0 -; samplesrc/rogue.map.pla: 0796: fin - !BYTE $64,$0E ; LLB [14] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B257 - !WORD _B257-* - !BYTE $64,$0E ; LLB [14] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D041+0 -_F334 !WORD _D041+0 - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $54 ; CALL _C005 -_F335 !WORD _C005 - !BYTE $26 ; LA _D044+0 -_F336 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $26 ; LA _D036+0 -_F337 !WORD _D036+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $26 ; LA _D035+0 -_F338 !WORD _D035+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] -_B257 -_B258 -; samplesrc/rogue.map.pla: 0797: else - !BYTE $50 ; BRNCH _B254 - !WORD _B254-* -_B253 -; samplesrc/rogue.map.pla: 0798: vispix[l] = 0 -; samplesrc/rogue.map.pla: 0799: fin - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D038+0 -_F339 !WORD _D038+0 - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $70 ; SB -_B254 -; samplesrc/rogue.map.pla: 0800: if l == dbeam[dist] -; samplesrc/rogue.map.pla: 0801: if occluded -; samplesrc/rogue.map.pla: 0802: break - !BYTE $64,$0C ; LLB [12] - !BYTE $26 ; LA _D034+0 -_F340 !WORD _D034+0 - !BYTE $B0,$0D ; ADDLB [13] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B259 - !WORD _B259-* - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B261 - !WORD _B261-* - !BYTE $50 ; BRNCH _B250 - !WORD _B250-* -; samplesrc/rogue.map.pla: 0803: fin -_B261 -_B262 -; samplesrc/rogue.map.pla: 0804: occluded = 1 -; samplesrc/rogue.map.pla: 0805: dist++ - !BYTE $02 ; CN 1 - !BYTE $74,$10 ; SLB [16] - !BYTE $64,$0D ; LLB [13] - !BYTE $8C ; INCR -; samplesrc/rogue.map.pla: 0806: fin - !BYTE $74,$0D ; SLB [13] -_B259 -_B260 -; samplesrc/rogue.map.pla: 0807: next -_B252 - !BYTE $A4 ; INCBRLE _B251 - !WORD _B251-* -_B250 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0808: break - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -; samplesrc/rogue.map.pla: 0809: wend - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -_B062 - !BYTE $08 ; CASEBLOCK - !WORD $0000 - !WORD _B063-* - !WORD $0001 - !WORD _B088-* - !WORD $0002 - !WORD _B113-* - !WORD $0003 - !WORD _B138-* - !WORD $0004 - !WORD _B163-* - !WORD $0005 - !WORD _B188-* - !WORD $0006 - !WORD _B213-* - !WORD $0007 - !WORD _B238-* -_B061 -; samplesrc/rogue.map.pla: 0810: next -_B060 - !BYTE $A4 ; INCBRLE _B059 - !WORD _B059-* -_B058 - !BYTE $76,$18 ; SLW [24] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0811: animseq = animseq ^ 1 // Update animation sequence -; samplesrc/rogue.map.pla: 0812: return darkness - !BYTE $68 ; LAB _D033+0 -_F341 !WORD _D033+0 - !BYTE $02 ; CN 1 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D033+0 -_F342 !WORD _D033+0 - !BYTE $64,$11 ; LLB [17] - !BYTE $5A,$1C ; LEAVE 28 -; samplesrc/rogue.map.pla: 0813: end -; samplesrc/rogue.map.pla: 0814: -; samplesrc/rogue.map.pla: 0815: // -; samplesrc/rogue.map.pla: 0816: // Draw other entities -; samplesrc/rogue.map.pla: 0817: // -; samplesrc/rogue.map.pla: 0818: -; samplesrc/rogue.map.pla: 0819: export def drawvisentity(xofst, yofst, tile)#0 - ; xofst -> [0] - ; yofst -> [2] - ; tile -> [4] -_C007 ; drawvisentity() -; samplesrc/rogue.map.pla: 0820: if screen.[ycentr+yofst, xcentr+xofst] < $80 - !BYTE $58,$06,$03 ; ENTER 6,3 -; samplesrc/rogue.map.pla: 0821: screen.[ycentr+yofst, xcentr+xofst] = tile -; samplesrc/rogue.map.pla: 0822: fin - !BYTE $26 ; LA _D044+0 -_F343 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B263 - !WORD _B263-* - !BYTE $66,$04 ; LLW [4] - !BYTE $26 ; LA _D044+0 -_F344 !WORD _D044+0 - !BYTE $18 ; CN 12 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$14 ; CB 20 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B263 -_B264 -; samplesrc/rogue.map.pla: 0823: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/rogue.map.pla: 0824: -; samplesrc/rogue.map.pla: 0825: export def drawplayer(tile)#0 - ; tile -> [0] -_C008 ; drawplayer() -; samplesrc/rogue.map.pla: 0826: screen.[ycentr, xcentr] = tile | $80 - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rogue.map.pla: 0827: end - !BYTE $66,$00 ; LLW [0] - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D044+24 -_F345 !WORD _D044+24 - !BYTE $38,$14 ; ADDI 20 - !BYTE $70 ; SB - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rogue.map.pla: 0828: -; samplesrc/rogue.map.pla: 0829: // -; samplesrc/rogue.map.pla: 0830: // Update visible screen with screen buffer -; samplesrc/rogue.map.pla: 0831: // -; samplesrc/rogue.map.pla: 0832: -; samplesrc/rogue.map.pla: 0833: export def updatescreen#0 -_C009 ; updatescreen() -; samplesrc/rogue.map.pla: 0834: byte row - ; row -> [0] -; samplesrc/rogue.map.pla: 0835: -; samplesrc/rogue.map.pla: 0836: for row = 0 to scrnheight - 2 - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $2A,$14 ; CB 20 - !BYTE $00 ; CN 0 -_B266 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rogue.map.pla: 0837: memcpy(viscreen[row], screen[row], 40) -; samplesrc/rogue.map.pla: 0838: next - !BYTE $26 ; LA _D045+0 -_F346 !WORD _D045+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D044+0 -_F347 !WORD _D044+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $2A,$28 ; CB 40 - !BYTE $54 ; CALL _X018 -_F348 !WORD 0 -_B267 - !BYTE $A4 ; INCBRLE _B266 - !WORD _B266-* -_B265 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0839: end - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/rogue.map.pla: 0840: -; samplesrc/rogue.map.pla: 0841: // -; samplesrc/rogue.map.pla: 0842: // Print title page -; samplesrc/rogue.map.pla: 0843: // -; samplesrc/rogue.map.pla: 0844: -; samplesrc/rogue.map.pla: 0845: conio:textmode(40) -_INIT -; samplesrc/rogue.map.pla: 0846: conio:clear(cls) -; samplesrc/rogue.map.pla: 0847: while ^titlestr - !BYTE $2A,$28 ; CB 40 - !BYTE $6A ; LAW _X028+14 -_F349 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+6 -_F350 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B270 - !WORD _B270-* -_B268 -; samplesrc/rogue.map.pla: 0848: puts(titlestr) -; samplesrc/rogue.map.pla: 0849: titlestr = titlestr + ^titlestr + 1 -; samplesrc/rogue.map.pla: 0850: loop - !BYTE $6A ; LAW _D032+0 -_F351 !WORD _D032+0 - !BYTE $54 ; CALL _X004 -_F352 !WORD 0 - !BYTE $6A ; LAW _D032+0 -_F353 !WORD _D032+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D032+0 -_F354 !WORD _D032+0 -_B270 - !BYTE $6A ; LAW _D032+0 -_F355 !WORD _D032+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B268 - !WORD _B268-* -_B269 -; samplesrc/rogue.map.pla: 0851: for titlestr = 0 to scrnheight - 1 - !BYTE $2A,$15 ; CB 21 - !BYTE $00 ; CN 0 -_B272 - !BYTE $7E ; DAW _D032+0 -_F356 !WORD _D032+0 -; samplesrc/rogue.map.pla: 0852: screen[titlestr] = @screenbuffer + titlestr * scrnwidth -; samplesrc/rogue.map.pla: 0853: next - !BYTE $26 ; LA _D042+0 -_F357 !WORD _D042+0 - !BYTE $6A ; LAW _D032+0 -_F358 !WORD _D032+0 - !BYTE $2A,$28 ; CB 40 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $26 ; LA _D044+0 -_F359 !WORD _D044+0 - !BYTE $BE ; IDXAW _D032+0 -_F360 !WORD _D032+0 - !BYTE $72 ; SW -_B273 - !BYTE $A4 ; INCBRLE _B272 - !WORD _B272-* -_B271 - !BYTE $7A ; SAW _D032+0 -_F361 !WORD _D032+0 - !BYTE $30 ; DROP -; samplesrc/rogue.map.pla: 0854: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 11 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: LOADMAP - !BYTE $CC,$CF,$C1,$C4,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C000 - ; DCI STRING: GETMAPTILE - !BYTE $C7,$C5,$D4,$CD,$C1,$D0,$D4,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C001 - ; DCI STRING: SETMAPTILE - !BYTE $D3,$C5,$D4,$CD,$C1,$D0,$D4,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C002 - ; DCI STRING: UPDTMAPTILE - !BYTE $D5,$D0,$C4,$D4,$CD,$C1,$D0,$D4,$C9,$CC,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C003 - ; DCI STRING: LIGHTTORCHES - !BYTE $CC,$C9,$C7,$C8,$D4,$D4,$CF,$D2,$C3,$C8,$C5,$53 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C004 - ; DCI STRING: ANIMATE - !BYTE $C1,$CE,$C9,$CD,$C1,$D4,$45 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - ; DCI STRING: DRAWMAP - !BYTE $C4,$D2,$C1,$D7,$CD,$C1,$50 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C006 - ; DCI STRING: DRAWVISENTITY - !BYTE $C4,$D2,$C1,$D7,$D6,$C9,$D3,$C5,$CE,$D4,$C9,$D4,$59 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C007 - ; DCI STRING: DRAWPLAYER - !BYTE $C4,$D2,$C1,$D7,$D0,$CC,$C1,$D9,$C5,$52 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C008 - ; DCI STRING: UPDATESCREEN - !BYTE $D5,$D0,$C4,$C1,$D4,$C5,$D3,$C3,$D2,$C5,$C5,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C009 - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/rpncalc.a b/src/samplesrc/rpncalc.a deleted file mode 100644 index 1bd08c0..0000000 --- a/src/samplesrc/rpncalc.a +++ /dev/null @@ -1,3391 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/rpncalc.pla: 0001: // -; samplesrc/rpncalc.pla: 0002: // Desktop RPN calculator -; samplesrc/rpncalc.pla: 0003: // -; samplesrc/rpncalc.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/rpncalc.pla: 0004: -; samplesrc/rpncalc.pla: 0005: include "inc/fpstr.plh" -; inc/fpstr.plh: 0001: import fpstr - ; DCI STRING: FPSTR - !BYTE $C6,$D0,$D3,$D4,$52 - ; FPSTR -> X028 -; inc/fpstr.plh: 0002: // -; inc/fpstr.plh: 0003: // String formatting bits -; inc/fpstr.plh: 0004: // -; inc/fpstr.plh: 0005: const FPSTR_FIXED = 1 // Fixed count of fractional digits - ; FPSTR_FIXED = 1 -; inc/fpstr.plh: 0006: const FPSTR_FLOAT = 0 // Floating count of fractional digits - ; FPSTR_FLOAT = 0 -; inc/fpstr.plh: 0007: const FPSTR_STRIP = 2 // Strip trailing fractional zeros - ; FPSTR_STRIP = 2 -; inc/fpstr.plh: 0008: const FPSTR_EXP = 4 // Force exponential format - ; FPSTR_EXP = 4 -; inc/fpstr.plh: 0009: const FPSTR_FLEX = 8 // Flexible switch to EXP format if over/underflow - ; FPSTR_FLEX = 8 -; inc/fpstr.plh: 0010: // -; inc/fpstr.plh: 0011: // Parse string into decrecord, return SANE conversion output -; inc/fpstr.plh: 0012: // -; inc/fpstr.plh: 0013: predef str2ext(str, ext)#1 - ; STR2EXT -> X029 -; inc/fpstr.plh: 0014: // -; inc/fpstr.plh: 0015: // Convert extended FP to string using , return string -; inc/fpstr.plh: 0016: // -; inc/fpstr.plh: 0017: predef ext2str(ext, str, intdigits, fracdigits, format)#1 - ; EXT2STR -> X030 -; inc/fpstr.plh: 0018: end -; samplesrc/rpncalc.pla: 0005: -; samplesrc/rpncalc.pla: 0006: include "inc/fpu.plh" -; inc/fpu.plh: 0001: import fpu - ; DCI STRING: FPU - !BYTE $C6,$D0,$55 - ; FPU -> X031 -; inc/fpu.plh: 0002: // -; inc/fpu.plh: 0003: // FPU register type -; inc/fpu.plh: 0004: // -; inc/fpu.plh: 0005: struc t_fpureg -; inc/fpu.plh: 0006: byte[10] _regdata - ; _regdata = 0 -; inc/fpu.plh: 0007: end - ; t_fpureg = 10 -; inc/fpu.plh: 0008: // -; inc/fpu.plh: 0009: // RPN Register indeces -; inc/fpu.plh: 0010: // -; inc/fpu.plh: 0011: const X_REG = 0 - ; X_REG = 0 -; inc/fpu.plh: 0012: const Y_REG = 1 - ; Y_REG = 1 -; inc/fpu.plh: 0013: const Z_REG = 2 - ; Z_REG = 2 -; inc/fpu.plh: 0014: const T_REG = 3 - ; T_REG = 3 -; inc/fpu.plh: 0015: // -; inc/fpu.plh: 0016: // Comparison results -; inc/fpu.plh: 0017: // -; inc/fpu.plh: 0018: const FPUCMPGT = $4040 // Greater Than - ; FPUCMPGT = 16448 -; inc/fpu.plh: 0019: const FPUCMPLT = $8080 // Less Than - ; FPUCMPLT = 32896 -; inc/fpu.plh: 0020: const FPUCMPEQ = $0002 // EQual - ; FPUCMPEQ = 2 -; inc/fpu.plh: 0021: const FPUCMPUN = $0101 // UNordered - ; FPUCMPUN = 257 -; inc/fpu.plh: 0022: // -; inc/fpu.plh: 0023: // Exceptions -; inc/fpu.plh: 0024: // -; inc/fpu.plh: 0025: const FPUINVALID = $01 - ; FPUINVALID = 1 -; inc/fpu.plh: 0026: const FPUUFLOW = $02 - ; FPUUFLOW = 2 -; inc/fpu.plh: 0027: const FPUOFLOW = $04 - ; FPUOFLOW = 4 -; inc/fpu.plh: 0028: const FPUDIVZER = $08 - ; FPUDIVZER = 8 -; inc/fpu.plh: 0029: const FPUINEXACT = $10 - ; FPUINEXACT = 16 -; inc/fpu.plh: 0030: // -; inc/fpu.plh: 0031: // FP type -; inc/fpu.plh: 0032: // -; inc/fpu.plh: 0033: const FPUSNAN = $00FC // -4: signaling NAN - ; FPUSNAN = 252 -; inc/fpu.plh: 0034: const FPUQNAN = $00FD // -3: quiet NAN - ; FPUQNAN = 253 -; inc/fpu.plh: 0035: const FPUINF = $00FE // -2: infinite - ; FPUINF = 254 -; inc/fpu.plh: 0036: const FPUZERO = $00FF // -1: zero - ; FPUZERO = 255 -; inc/fpu.plh: 0037: const FPUNORM = $0000 // 0: normal - ; FPUNORM = 0 -; inc/fpu.plh: 0038: const FPUDENORM = $0001 // 1: denormal - ; FPUDENORM = 1 -; inc/fpu.plh: 0039: const FPUNEG = $8000 - ; FPUNEG = 32768 -; inc/fpu.plh: 0040: // -; inc/fpu.plh: 0041: // FPU API -; inc/fpu.plh: 0042: // -; inc/fpu.plh: 0043: struc t_fpu -; inc/fpu.plh: 0044: word reset - ; reset = 0 -; inc/fpu.plh: 0045: word getEnv - ; getEnv = 2 -; inc/fpu.plh: 0046: word setEnv - ; setEnv = 4 -; inc/fpu.plh: 0047: word testExept - ; testExept = 6 -; inc/fpu.plh: 0048: word setExcept - ; setExcept = 8 -; inc/fpu.plh: 0049: word enterProc - ; enterProc = 10 -; inc/fpu.plh: 0050: word exitProc - ; exitProc = 12 -; inc/fpu.plh: 0051: word constPi - ; constPi = 14 -; inc/fpu.plh: 0052: word constE - ; constE = 16 -; inc/fpu.plh: 0053: word pushInt - ; pushInt = 18 -; inc/fpu.plh: 0054: word pushSgl - ; pushSgl = 20 -; inc/fpu.plh: 0055: word pushDbl - ; pushDbl = 22 -; inc/fpu.plh: 0056: word pushExt - ; pushExt = 24 -; inc/fpu.plh: 0057: word pushStr - ; pushStr = 26 -; inc/fpu.plh: 0058: word pullInt - ; pullInt = 28 -; inc/fpu.plh: 0059: word pullSgl - ; pullSgl = 30 -; inc/fpu.plh: 0060: word pullDbl - ; pullDbl = 32 -; inc/fpu.plh: 0061: word pullExt - ; pullExt = 34 -; inc/fpu.plh: 0062: word pullStr - ; pullStr = 36 -; inc/fpu.plh: 0063: word loadInt - ; loadInt = 38 -; inc/fpu.plh: 0064: word loadSgl - ; loadSgl = 40 -; inc/fpu.plh: 0065: word loadDbl - ; loadDbl = 42 -; inc/fpu.plh: 0066: word loadExt - ; loadExt = 44 -; inc/fpu.plh: 0067: word loadStr - ; loadStr = 46 -; inc/fpu.plh: 0068: word storInt - ; storInt = 48 -; inc/fpu.plh: 0069: word storSgl - ; storSgl = 50 -; inc/fpu.plh: 0070: word storDbl - ; storDbl = 52 -; inc/fpu.plh: 0071: word storExt - ; storExt = 54 -; inc/fpu.plh: 0072: word storStr - ; storStr = 56 -; inc/fpu.plh: 0073: word shiftUp - ; shiftUp = 58 -; inc/fpu.plh: 0074: word shiftDown // dropX - ; shiftDown = 60 -; inc/fpu.plh: 0075: word rotateUp - ; rotateUp = 62 -; inc/fpu.plh: 0076: word rotateDown - ; rotateDown = 64 -; inc/fpu.plh: 0077: word dupX - ; dupX = 66 -; inc/fpu.plh: 0078: word swapXY - ; swapXY = 68 -; inc/fpu.plh: 0079: word clearX - ; clearX = 70 -; inc/fpu.plh: 0080: word addXY - ; addXY = 72 -; inc/fpu.plh: 0081: word subXY - ; subXY = 74 -; inc/fpu.plh: 0082: word mulXY - ; mulXY = 76 -; inc/fpu.plh: 0083: word divXY - ; divXY = 78 -; inc/fpu.plh: 0084: word remXY - ; remXY = 80 -; inc/fpu.plh: 0085: word negX - ; negX = 82 -; inc/fpu.plh: 0086: word absX - ; absX = 84 -; inc/fpu.plh: 0087: word typeX - ; typeX = 86 -; inc/fpu.plh: 0088: word cmpXY - ; cmpXY = 88 -; inc/fpu.plh: 0089: word logbX - ; logbX = 90 -; inc/fpu.plh: 0090: word scalebXInt - ; scalebXInt = 92 -; inc/fpu.plh: 0091: word truncX - ; truncX = 94 -; inc/fpu.plh: 0092: word roundX - ; roundX = 96 -; inc/fpu.plh: 0093: word sqrtX - ; sqrtX = 98 -; inc/fpu.plh: 0094: word squareX - ; squareX = 100 -; inc/fpu.plh: 0095: word cosX - ; cosX = 102 -; inc/fpu.plh: 0096: word sinX - ; sinX = 104 -; inc/fpu.plh: 0097: word tanX - ; tanX = 106 -; inc/fpu.plh: 0098: word atanX - ; atanX = 108 -; inc/fpu.plh: 0099: word log2X - ; log2X = 110 -; inc/fpu.plh: 0100: word log21X - ; log21X = 112 -; inc/fpu.plh: 0101: word lnX - ; lnX = 114 -; inc/fpu.plh: 0102: word ln1X - ; ln1X = 116 -; inc/fpu.plh: 0103: word pow2X - ; pow2X = 118 -; inc/fpu.plh: 0104: word pow21X - ; pow21X = 120 -; inc/fpu.plh: 0105: word powEX - ; powEX = 122 -; inc/fpu.plh: 0106: word powE1X - ; powE1X = 124 -; inc/fpu.plh: 0107: word powE21X - ; powE21X = 126 -; inc/fpu.plh: 0108: word powXInt - ; powXInt = 128 -; inc/fpu.plh: 0109: word powXY - ; powXY = 130 -; inc/fpu.plh: 0110: word compXY - ; compXY = 132 -; inc/fpu.plh: 0111: word annuityXY - ; annuityXY = 134 -; inc/fpu.plh: 0112: word randNum - ; randNum = 136 -; inc/fpu.plh: 0113: end - ; t_fpu = 138 -; inc/fpu.plh: 0114: const dropX = shiftDown // Alias dropX and shiftDown - ; dropX = 60 -; inc/fpu.plh: 0115: end -; samplesrc/rpncalc.pla: 0006: -; samplesrc/rpncalc.pla: 0007: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X032 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; samplesrc/rpncalc.pla: 0007: -; samplesrc/rpncalc.pla: 0008: const displayWidth = 15 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; displayWidth = 15 -; samplesrc/rpncalc.pla: 0009: const displayDefFix = 6 - ; displayDefFix = 6 -; samplesrc/rpncalc.pla: 0010: const inputLen = displayWidth+1 - ; inputLen = 16 -; samplesrc/rpncalc.pla: 0011: const ZEROSTR = $3001 - ; ZEROSTR = 12289 -; samplesrc/rpncalc.pla: 0012: // -; samplesrc/rpncalc.pla: 0013: // Keypad structure -; samplesrc/rpncalc.pla: 0014: // -; samplesrc/rpncalc.pla: 0015: struc t_keypad -; samplesrc/rpncalc.pla: 0016: byte keychar - ; keychar = 0 -; samplesrc/rpncalc.pla: 0017: byte xpos - ; xpos = 1 -; samplesrc/rpncalc.pla: 0018: byte ypos - ; ypos = 2 -; samplesrc/rpncalc.pla: 0019: byte keystr[8] - ; keystr = 3 -; samplesrc/rpncalc.pla: 0020: end - ; t_keypad = 11 -; samplesrc/rpncalc.pla: 0021: struc t_keyinput -; samplesrc/rpncalc.pla: 0022: byte keyinfo[t_keypad] - ; keyinfo = 0 -; samplesrc/rpncalc.pla: 0023: word phandler - ; phandler = 11 -; samplesrc/rpncalc.pla: 0024: end - ; t_keyinput = 13 -; samplesrc/rpncalc.pla: 0025: predef delKey(pkey)#0, cmdKey(pkey)#0, dropKey(pkey)#0, clearKey(pkey)#0 -; samplesrc/rpncalc.pla: 0026: predef digitKey(pkey)#0, pointKey(pkey)#0, opKey(pkey)#0 -; samplesrc/rpncalc.pla: 0027: predef enterKey(pkey)#0, copyKey(pkey)#0, chsKey(pkey)#0, memKey(pkey)#0 -; samplesrc/rpncalc.pla: 0028: predef elemsKey(pkey)#0 -; samplesrc/rpncalc.pla: 0029: // -; samplesrc/rpncalc.pla: 0030: // Run state -; samplesrc/rpncalc.pla: 0031: // -; samplesrc/rpncalc.pla: 0032: byte quit = FALSE -_D045 ; quit = FALSE - !BYTE $00 -; samplesrc/rpncalc.pla: 0033: // -; samplesrc/rpncalc.pla: 0034: // Current input -; samplesrc/rpncalc.pla: 0035: // -; samplesrc/rpncalc.pla: 0036: byte inputStr[32] = "" -_D046 ; inputStr[32] = "" - !BYTE $00 - !FILL $1F -; samplesrc/rpncalc.pla: 0037: // -; samplesrc/rpncalc.pla: 0038: // Display format state -; samplesrc/rpncalc.pla: 0039: // -; samplesrc/rpncalc.pla: 0040: byte displayFix = displayDefFix -_D047 ; displayFix = displayDefFix - !BYTE $06 -; samplesrc/rpncalc.pla: 0041: byte displayInt = displayWidth - displayDefFix - 2 -_D048 ; displayInt = displayWidth - displayDefFix - 2 - !BYTE $07 -; samplesrc/rpncalc.pla: 0042: // -; samplesrc/rpncalc.pla: 0043: // Store/load memory -; samplesrc/rpncalc.pla: 0044: // -; samplesrc/rpncalc.pla: 0045: byte memory[10*t_fpureg] -_D049 !FILL 100 ; memory[10*t_fpureg] -; samplesrc/rpncalc.pla: 0046: // -; samplesrc/rpncalc.pla: 0047: // Key values -; samplesrc/rpncalc.pla: 0048: // -; samplesrc/rpncalc.pla: 0049: byte[t_keypad] keypad = $08, 0, 0, "" -_D050 ; keypad = $08, 0, 0, "" - !BYTE $08 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !FILL $07 -; samplesrc/rpncalc.pla: 0050: word = @delKey -_F000 !WORD _P000 -; samplesrc/rpncalc.pla: 0051: byte[t_keypad] = $1B, 0, 0, "" - !BYTE $1B - !BYTE $00 - !BYTE $00 - !BYTE $00 - !FILL $07 -; samplesrc/rpncalc.pla: 0052: word = @cmdKey -_F001 !WORD _P001 -; samplesrc/rpncalc.pla: 0053: byte[t_keypad] = '=', 0, 0, "" - !BYTE $3D - !BYTE $00 - !BYTE $00 - !BYTE $00 - !FILL $07 -; samplesrc/rpncalc.pla: 0054: word = @copyKey -_F002 !WORD _P008 -; samplesrc/rpncalc.pla: 0055: byte[t_keypad] = 'Z', 0, 0, "" - !BYTE $5A - !BYTE $00 - !BYTE $00 - !BYTE $00 - !FILL $07 -; samplesrc/rpncalc.pla: 0056: word = @clearKey -_F003 !WORD _P003 -; samplesrc/rpncalc.pla: 0057: byte[t_keypad] = '7', 3, 10, "[7]" - !BYTE $37 - !BYTE $03 - !BYTE $0A - !BYTE $03 - !BYTE $5B,$37,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0058: word = @digitKey -_F004 !WORD _P004 -; samplesrc/rpncalc.pla: 0059: byte[t_keypad] = '8', 7, 10, "[8]" - !BYTE $38 - !BYTE $07 - !BYTE $0A - !BYTE $03 - !BYTE $5B,$38,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0060: word = @digitKey -_F005 !WORD _P004 -; samplesrc/rpncalc.pla: 0061: byte[t_keypad] = '9', 11, 10, "[9]" - !BYTE $39 - !BYTE $0B - !BYTE $0A - !BYTE $03 - !BYTE $5B,$39,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0062: word = @digitKey -_F006 !WORD _P004 -; samplesrc/rpncalc.pla: 0063: byte[t_keypad] = '/', 15, 10, "[/]" - !BYTE $2F - !BYTE $0F - !BYTE $0A - !BYTE $03 - !BYTE $5B,$2F,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0064: word = @opKey -_F007 !WORD _P006 -; samplesrc/rpncalc.pla: 0065: byte[t_keypad] = '4', 3, 12, "[4]" - !BYTE $34 - !BYTE $03 - !BYTE $0C - !BYTE $03 - !BYTE $5B,$34,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0066: word = @digitKey -_F008 !WORD _P004 -; samplesrc/rpncalc.pla: 0067: byte[t_keypad] = '5', 7, 12, "[5]" - !BYTE $35 - !BYTE $07 - !BYTE $0C - !BYTE $03 - !BYTE $5B,$35,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0068: word = @digitKey -_F009 !WORD _P004 -; samplesrc/rpncalc.pla: 0069: byte[t_keypad] = '6', 11, 12, "[6]" - !BYTE $36 - !BYTE $0B - !BYTE $0C - !BYTE $03 - !BYTE $5B,$36,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0070: word = @digitKey -_F010 !WORD _P004 -; samplesrc/rpncalc.pla: 0071: byte[t_keypad] = '*', 15, 12, "[*]" - !BYTE $2A - !BYTE $0F - !BYTE $0C - !BYTE $03 - !BYTE $5B,$2A,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0072: word = @opKey -_F011 !WORD _P006 -; samplesrc/rpncalc.pla: 0073: byte[t_keypad] = '1', 3, 14, "[1]" - !BYTE $31 - !BYTE $03 - !BYTE $0E - !BYTE $03 - !BYTE $5B,$31,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0074: word = @digitKey -_F012 !WORD _P004 -; samplesrc/rpncalc.pla: 0075: byte[t_keypad] = '2', 7, 14, "[2]" - !BYTE $32 - !BYTE $07 - !BYTE $0E - !BYTE $03 - !BYTE $5B,$32,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0076: word = @digitKey -_F013 !WORD _P004 -; samplesrc/rpncalc.pla: 0077: byte[t_keypad] = '3', 11, 14, "[3]" - !BYTE $33 - !BYTE $0B - !BYTE $0E - !BYTE $03 - !BYTE $5B,$33,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0078: word = @digitKey -_F014 !WORD _P004 -; samplesrc/rpncalc.pla: 0079: byte[t_keypad] = '-', 15, 14, "[-]" - !BYTE $2D - !BYTE $0F - !BYTE $0E - !BYTE $03 - !BYTE $5B,$2D,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0080: word = @opKey -_F015 !WORD _P006 -; samplesrc/rpncalc.pla: 0081: byte[t_keypad] = '0', 3, 16, "[0]" - !BYTE $30 - !BYTE $03 - !BYTE $10 - !BYTE $03 - !BYTE $5B,$30,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0082: word = @digitKey -_F016 !WORD _P004 -; samplesrc/rpncalc.pla: 0083: byte[t_keypad] = '.', 7, 16, "[.]" - !BYTE $2E - !BYTE $07 - !BYTE $10 - !BYTE $03 - !BYTE $5B,$2E,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0084: word = @pointKey -_F017 !WORD _P005 -; samplesrc/rpncalc.pla: 0085: byte[t_keypad] = 'X', 11, 16, "[X]" - !BYTE $58 - !BYTE $0B - !BYTE $10 - !BYTE $03 - !BYTE $5B,$58,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0086: word = @dropKey -_F018 !WORD _P002 -; samplesrc/rpncalc.pla: 0087: byte[t_keypad] = '+', 15, 16, "[+]" - !BYTE $2B - !BYTE $0F - !BYTE $10 - !BYTE $03 - !BYTE $5B,$2B,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0088: word = @opKey -_F019 !WORD _P006 -; samplesrc/rpncalc.pla: 0089: byte[t_keypad] = $0D, 3, 18, "[ENTER]" - !BYTE $0D - !BYTE $03 - !BYTE $12 - !BYTE $07 - !BYTE $5B,$45,$4E,$54,$45,$52,$5D -; samplesrc/rpncalc.pla: 0090: word = @enterKey -_F020 !WORD _P007 -; samplesrc/rpncalc.pla: 0091: byte[t_keypad] = '<', 11, 18, "[<]" - !BYTE $3C - !BYTE $0B - !BYTE $12 - !BYTE $03 - !BYTE $5B,$3C,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0092: word = @memKey -_F021 !WORD _P010 -; samplesrc/rpncalc.pla: 0093: byte[t_keypad] = '>', 15, 18, "[>]" - !BYTE $3E - !BYTE $0F - !BYTE $12 - !BYTE $03 - !BYTE $5B,$3E,$5D - !FILL $04 -; samplesrc/rpncalc.pla: 0094: word = @memKey -_F022 !WORD _P010 -; samplesrc/rpncalc.pla: 0095: byte[t_keypad] = 'R', 3, 20, "[SQ(R)]" - !BYTE $52 - !BYTE $03 - !BYTE $14 - !BYTE $07 - !BYTE $5B,$53,$51,$28,$52,$29,$5D -; samplesrc/rpncalc.pla: 0096: word = @opKey -_F023 !WORD _P006 -; samplesrc/rpncalc.pla: 0097: byte[t_keypad] = 'H', 11, 20, "[C(H)S]" - !BYTE $48 - !BYTE $0B - !BYTE $14 - !BYTE $07 - !BYTE $5B,$43,$28,$48,$29,$53,$5D -; samplesrc/rpncalc.pla: 0098: word = @chsKey -_F024 !WORD _P009 -; samplesrc/rpncalc.pla: 0099: byte[t_keypad] = 'C', 22, 14, "[(C)OS]" - !BYTE $43 - !BYTE $16 - !BYTE $0E - !BYTE $07 - !BYTE $5B,$28,$43,$29,$4F,$53,$5D -; samplesrc/rpncalc.pla: 0100: word = @elemsKey -_F025 !WORD _P011 -; samplesrc/rpncalc.pla: 0101: byte[t_keypad] = 'S', 22, 16, "[(S)IN]" - !BYTE $53 - !BYTE $16 - !BYTE $10 - !BYTE $07 - !BYTE $5B,$28,$53,$29,$49,$4E,$5D -; samplesrc/rpncalc.pla: 0102: word = @elemsKey -_F026 !WORD _P011 -; samplesrc/rpncalc.pla: 0103: byte[t_keypad] = 'T', 22, 18, "[(T)AN]" - !BYTE $54 - !BYTE $16 - !BYTE $12 - !BYTE $07 - !BYTE $5B,$28,$54,$29,$41,$4E,$5D -; samplesrc/rpncalc.pla: 0104: word = @elemsKey -_F027 !WORD _P011 -; samplesrc/rpncalc.pla: 0105: byte[t_keypad] = 'A', 22, 20, "[(A)TN]" - !BYTE $41 - !BYTE $16 - !BYTE $14 - !BYTE $07 - !BYTE $5B,$28,$41,$29,$54,$4E,$5D -; samplesrc/rpncalc.pla: 0106: word = @elemsKey -_F028 !WORD _P011 -; samplesrc/rpncalc.pla: 0107: byte[t_keypad] = '^', 30, 14, "[X(^)Y]" - !BYTE $5E - !BYTE $1E - !BYTE $0E - !BYTE $07 - !BYTE $5B,$58,$28,$5E,$29,$59,$5D -; samplesrc/rpncalc.pla: 0108: word = @elemsKey -_F029 !WORD _P011 -; samplesrc/rpncalc.pla: 0109: byte[t_keypad] = 'L', 30, 16, "[(L)G2]" - !BYTE $4C - !BYTE $1E - !BYTE $10 - !BYTE $07 - !BYTE $5B,$28,$4C,$29,$47,$32,$5D -; samplesrc/rpncalc.pla: 0110: word = @elemsKey -_F030 !WORD _P011 -; samplesrc/rpncalc.pla: 0111: byte[t_keypad] = 'E', 30, 18, "[(E)^X]" - !BYTE $45 - !BYTE $1E - !BYTE $12 - !BYTE $07 - !BYTE $5B,$28,$45,$29,$5E,$58,$5D -; samplesrc/rpncalc.pla: 0112: word = @elemsKey -_F031 !WORD _P011 -; samplesrc/rpncalc.pla: 0113: byte[t_keypad] = 'N', 30, 20, "[L(N)X]" - !BYTE $4E - !BYTE $1E - !BYTE $14 - !BYTE $07 - !BYTE $5B,$4C,$28,$4E,$29,$58,$5D -; samplesrc/rpncalc.pla: 0114: word = @elemsKey -_F032 !WORD _P011 -; samplesrc/rpncalc.pla: 0115: byte = 0 - !BYTE $00 -; samplesrc/rpncalc.pla: 0116: // -; samplesrc/rpncalc.pla: 0117: // Utility routines -; samplesrc/rpncalc.pla: 0118: // -; samplesrc/rpncalc.pla: 0119: def repc(rep, c)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; rep -> [0] - ; c -> [2] -_C000 ; repc() -; samplesrc/rpncalc.pla: 0120: while rep > 0 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; samplesrc/rpncalc.pla: 0121: putc(c) -; samplesrc/rpncalc.pla: 0122: rep-- - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X002 -_F033 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0123: loop - !BYTE $76,$00 ; SLW [0] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; samplesrc/rpncalc.pla: 0124: end - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rpncalc.pla: 0125: def rect(x, y, width, height, frame, title)#0 - ; x -> [0] - ; y -> [2] - ; width -> [4] - ; height -> [6] - ; frame -> [8] - ; title -> [10] -_C001 ; rect() -; samplesrc/rpncalc.pla: 0126: byte i - ; i -> [12] -; samplesrc/rpncalc.pla: 0127: -; samplesrc/rpncalc.pla: 0128: conio:gotoxy(x + 1, y) - !BYTE $58,$0D,$06 ; ENTER 13,6 -; samplesrc/rpncalc.pla: 0129: repc(width - 2, frame ?? '#' :: '-') -; samplesrc/rpncalc.pla: 0130: conio:gotoxy(x + 1, y + height - 1) -; samplesrc/rpncalc.pla: 0131: repc(width - 2, frame ?? '#' :: '-') -; samplesrc/rpncalc.pla: 0132: for i = 1 to height - 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X032+8 -_F034 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2A,$23 ; CB 35 - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 - !BYTE $2A,$2D ; CB 45 -_B007 - !BYTE $54 ; CALL _C000 -_F035 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $6A ; LAW _X032+8 -_F036 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $2A,$23 ; CB 35 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B010 - !BYTE $2A,$2D ; CB 45 -_B011 - !BYTE $54 ; CALL _C000 -_F037 !WORD _C000 - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B012 - !WORD _B012-* -_B013 - !BYTE $6C,$0C ; DLB [12] -; samplesrc/rpncalc.pla: 0133: conio:gotoxy(x, y + i) -; samplesrc/rpncalc.pla: 0134: putc(frame ?? '#' :: '!') -; samplesrc/rpncalc.pla: 0135: conio:gotoxy(x + width - 1, y + i) -; samplesrc/rpncalc.pla: 0136: putc(frame ?? '#' :: '!') -; samplesrc/rpncalc.pla: 0137: next - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $6A ; LAW _X032+8 -_F038 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2A,$23 ; CB 35 - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B017 - !BYTE $2A,$21 ; CB 33 -_B018 - !BYTE $54 ; CALL _X002 -_F039 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $6A ; LAW _X032+8 -_F040 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $2A,$23 ; CB 35 - !BYTE $50 ; BRNCH _B022 - !WORD _B022-* -_B021 - !BYTE $2A,$21 ; CB 33 -_B022 - !BYTE $54 ; CALL _X002 -_F041 !WORD 0 -_B014 - !BYTE $A4 ; INCBRLE _B013 - !WORD _B013-* -_B012 - !BYTE $74,$0C ; SLB [12] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0138: conio:gotoxy(x, y) -; samplesrc/rpncalc.pla: 0139: putc(frame ?? '/' :: '+') -; samplesrc/rpncalc.pla: 0140: conio:gotoxy(x + width - 1, y) -; samplesrc/rpncalc.pla: 0141: putc(frame ?? '\\' :: '+') -; samplesrc/rpncalc.pla: 0142: conio:gotoxy(x, y + height - 1) -; samplesrc/rpncalc.pla: 0143: putc(frame ?? '\\' :: '+') -; samplesrc/rpncalc.pla: 0144: conio:gotoxy(x + width - 1, y + height - 1) -; samplesrc/rpncalc.pla: 0145: putc(frame ?? '/' :: '+') -; samplesrc/rpncalc.pla: 0146: if title -; samplesrc/rpncalc.pla: 0147: conio:gotoxy(x + (width - ^title) / 2, y) -; samplesrc/rpncalc.pla: 0148: puts(title) -; samplesrc/rpncalc.pla: 0149: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X032+8 -_F042 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $2A,$2F ; CB 47 - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -_B025 - !BYTE $2A,$2B ; CB 43 -_B026 - !BYTE $54 ; CALL _X002 -_F043 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X032+8 -_F044 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $2A,$5C ; CB 92 - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -_B029 - !BYTE $2A,$2B ; CB 43 -_B030 - !BYTE $54 ; CALL _X002 -_F045 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $6A ; LAW _X032+8 -_F046 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $2A,$5C ; CB 92 - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B033 - !BYTE $2A,$2B ; CB 43 -_B034 - !BYTE $54 ; CALL _X002 -_F047 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $8E ; DECR - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $8E ; DECR - !BYTE $6A ; LAW _X032+8 -_F048 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $2A,$2F ; CB 47 - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B037 - !BYTE $2A,$2B ; CB 43 -_B038 - !BYTE $54 ; CALL _X002 -_F049 !WORD 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X032+8 -_F050 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _X004 -_F051 !WORD 0 -_B039 -_B040 -; samplesrc/rpncalc.pla: 0150: end - !BYTE $5A,$0D ; LEAVE 13 -; samplesrc/rpncalc.pla: 0151: def showStack#0 -_C002 ; showStack() -; samplesrc/rpncalc.pla: 0152: byte s - ; s -> [0] -; samplesrc/rpncalc.pla: 0153: byte strFP[displayWidth+1] - ; strFP -> [1] -; samplesrc/rpncalc.pla: 0154: -; samplesrc/rpncalc.pla: 0155: for s = 0 to 3 - !BYTE $58,$11,$00 ; ENTER 17,0 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 -_B042 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rpncalc.pla: 0156: fpu:storStr(@strFP, displayInt, displayFix, FPSTR_FIXED|FPSTR_FLEX, s) -; samplesrc/rpncalc.pla: 0157: conio:gotoxy(4, 5 - s) -; samplesrc/rpncalc.pla: 0158: //repc(displayWidth - strFP - 1, ' ') -; samplesrc/rpncalc.pla: 0159: repc(displayWidth - strFP, ' ') -; samplesrc/rpncalc.pla: 0160: puts(@strFP) -; samplesrc/rpncalc.pla: 0161: next - !BYTE $28,$01 ; LLA [1] - !BYTE $68 ; LAB _D048+0 -_F052 !WORD _D048+0 - !BYTE $68 ; LAB _D047+0 -_F053 !WORD _D047+0 - !BYTE $12 ; CN 9 - !BYTE $64,$00 ; LLB [0] - !BYTE $6A ; LAW _X031+56 -_F054 !WORD 0+56 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $0A ; CN 5 - !BYTE $64,$00 ; LLB [0] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X032+8 -_F055 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $64,$01 ; LLB [1] - !BYTE $84 ; SUB - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C000 -_F056 !WORD _C000 - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _X004 -_F057 !WORD 0 -_B043 - !BYTE $A4 ; INCBRLE _B042 - !WORD _B042-* -_B041 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0162: end - !BYTE $5A,$11 ; LEAVE 17 -; samplesrc/rpncalc.pla: 0163: def showMem#0 -_C003 ; showMem() -; samplesrc/rpncalc.pla: 0164: byte m - ; m -> [0] -; samplesrc/rpncalc.pla: 0165: byte strFP[displayWidth+1] - ; strFP -> [1] -; samplesrc/rpncalc.pla: 0166: -; samplesrc/rpncalc.pla: 0167: for m = 0 to 9 - !BYTE $58,$11,$00 ; ENTER 17,0 - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 -_B045 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rpncalc.pla: 0168: ext2str(@memory[m*t_fpureg], @strFP, displayInt, displayFix, FPSTR_FIXED|FPSTR_FLEX) -; samplesrc/rpncalc.pla: 0169: conio:gotoxy(23, 2 + m) -; samplesrc/rpncalc.pla: 0170: repc(displayWidth - strFP - 1, ' ') -; samplesrc/rpncalc.pla: 0171: puts(@strFP) -; samplesrc/rpncalc.pla: 0172: next - !BYTE $26 ; LA _D049+0 -_F058 !WORD _D049+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $28,$01 ; LLA [1] - !BYTE $68 ; LAB _D048+0 -_F059 !WORD _D048+0 - !BYTE $68 ; LAB _D047+0 -_F060 !WORD _D047+0 - !BYTE $12 ; CN 9 - !BYTE $54 ; CALL _X030 -_F061 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$17 ; CB 23 - !BYTE $04 ; CN 2 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $6A ; LAW _X032+8 -_F062 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $64,$01 ; LLB [1] - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C000 -_F063 !WORD _C000 - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _X004 -_F064 !WORD 0 -_B046 - !BYTE $A4 ; INCBRLE _B045 - !WORD _B045-* -_B044 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0173: end - !BYTE $5A,$11 ; LEAVE 17 -; samplesrc/rpncalc.pla: 0174: def showInput#0 -_C004 ; showInput() -; samplesrc/rpncalc.pla: 0175: conio:gotoxy(2,7) -; samplesrc/rpncalc.pla: 0176: repc(17 - inputStr, ' ') -; samplesrc/rpncalc.pla: 0177: puts(@inputStr) -; samplesrc/rpncalc.pla: 0178: end - !BYTE $04 ; CN 2 - !BYTE $0E ; CN 7 - !BYTE $6A ; LAW _X032+8 -_F065 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$11 ; CB 17 - !BYTE $68 ; LAB _D046+0 -_F066 !WORD _D046+0 - !BYTE $84 ; SUB - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C000 -_F067 !WORD _C000 - !BYTE $26 ; LA _D046+0 -_F068 !WORD _D046+0 - !BYTE $54 ; CALL _X004 -_F069 !WORD 0 - !BYTE $5C ; RET -; samplesrc/rpncalc.pla: 0179: def showStatus(pstr)#0 - ; pstr -> [0] -_C005 ; showStatus() -; samplesrc/rpncalc.pla: 0180: conio:gotoxy(0,23) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0181: puts(pstr) -; samplesrc/rpncalc.pla: 0182: end - !BYTE $00 ; CN 0 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X032+8 -_F070 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F071 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0183: def clearStatus#0 -_C006 ; clearStatus() -; samplesrc/rpncalc.pla: 0184: conio:gotoxy(0,23) -; samplesrc/rpncalc.pla: 0185: repc(39, ' ') -; samplesrc/rpncalc.pla: 0186: end - !BYTE $00 ; CN 0 - !BYTE $2A,$17 ; CB 23 - !BYTE $6A ; LAW _X032+8 -_F072 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2A,$27 ; CB 39 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C000 -_F073 !WORD _C000 - !BYTE $5C ; RET -; samplesrc/rpncalc.pla: 0187: def initInput#0 -_C007 ; initInput() -; samplesrc/rpncalc.pla: 0188: inputStr = 0 -; samplesrc/rpncalc.pla: 0189: end - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D046+0 -_F074 !WORD _D046+0 - !BYTE $5C ; RET -; samplesrc/rpncalc.pla: 0190: def updateInput#0 -_C008 ; updateInput() -; samplesrc/rpncalc.pla: 0191: // -; samplesrc/rpncalc.pla: 0192: // Lift stack if something input -; samplesrc/rpncalc.pla: 0193: // -; samplesrc/rpncalc.pla: 0194: if inputStr -; samplesrc/rpncalc.pla: 0195: fpu:pushStr(@inputStr) -; samplesrc/rpncalc.pla: 0196: fin - !BYTE $68 ; LAB _D046+0 -_F075 !WORD _D046+0 - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $26 ; LA _D046+0 -_F076 !WORD _D046+0 - !BYTE $6A ; LAW _X031+26 -_F077 !WORD 0+26 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B047 -_B048 -; samplesrc/rpncalc.pla: 0197: initInput -; samplesrc/rpncalc.pla: 0198: showInput -; samplesrc/rpncalc.pla: 0199: end - !BYTE $54 ; CALL _C007 -_F078 !WORD _C007 - !BYTE $54 ; CALL _C004 -_F079 !WORD _C004 - !BYTE $5C ; RET -; samplesrc/rpncalc.pla: 0200: def initDisplay#0 -_C009 ; initDisplay() -; samplesrc/rpncalc.pla: 0201: byte i - ; i -> [0] -; samplesrc/rpncalc.pla: 0202: word pkeys - ; pkeys -> [1] -; samplesrc/rpncalc.pla: 0203: -; samplesrc/rpncalc.pla: 0204: conio:textmode(40) - !BYTE $58,$03,$00 ; ENTER 3,0 -; samplesrc/rpncalc.pla: 0205: conio:clear(cls) -; samplesrc/rpncalc.pla: 0206: rect(0, 0, 40, 23, 1, "") - !BYTE $2A,$28 ; CB 40 - !BYTE $6A ; LAW _X032+14 -_F080 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X032+6 -_F081 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $2A,$17 ; CB 23 - !BYTE $02 ; CN 1 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $3C,$52,$50,$4E,$20,$43,$61,$6C - !BYTE $63,$75,$6C,$61,$74,$6F,$72,$3E - !BYTE $54 ; CALL _C001 -_F082 !WORD _C001 -; samplesrc/rpncalc.pla: 0207: rect(1, 1, 19, 6, 0, ":Stack:") - !BYTE $02 ; CN 1 - !BYTE $34 ; DUP - !BYTE $2A,$13 ; CB 19 - !BYTE $0C ; CN 6 - !BYTE $00 ; CN 0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $3A,$53,$74,$61,$63,$6B,$3A - !BYTE $54 ; CALL _C001 -_F083 !WORD _C001 -; samplesrc/rpncalc.pla: 0208: rect(1, 6, 19, 3, 0, 0) -; samplesrc/rpncalc.pla: 0209: conio:gotoxy(2, 2); puts("T:") - !BYTE $02 ; CN 1 - !BYTE $0C ; CN 6 - !BYTE $2A,$13 ; CB 19 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C001 -_F084 !WORD _C001 - !BYTE $04 ; CN 2 - !BYTE $34 ; DUP - !BYTE $6A ; LAW _X032+8 -_F085 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $54,$3A - !BYTE $54 ; CALL _X004 -_F086 !WORD 0 -; samplesrc/rpncalc.pla: 0210: conio:gotoxy(2, 3); puts("Z:") - !BYTE $04 ; CN 2 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X032+8 -_F087 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5A,$3A - !BYTE $54 ; CALL _X004 -_F088 !WORD 0 -; samplesrc/rpncalc.pla: 0211: conio:gotoxy(2, 4); puts("Y:") - !BYTE $04 ; CN 2 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X032+8 -_F089 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $59,$3A - !BYTE $54 ; CALL _X004 -_F090 !WORD 0 -; samplesrc/rpncalc.pla: 0212: conio:gotoxy(2, 5); puts("X:") - !BYTE $04 ; CN 2 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X032+8 -_F091 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $58,$3A - !BYTE $54 ; CALL _X004 -_F092 !WORD 0 -; samplesrc/rpncalc.pla: 0213: rect(20, 1, 19, 12, 0, ":Memory:") - !BYTE $2A,$14 ; CB 20 - !BYTE $02 ; CN 1 - !BYTE $2A,$13 ; CB 19 - !BYTE $18 ; CN 12 - !BYTE $00 ; CN 0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $3A,$4D,$65,$6D,$6F,$72,$79,$3A - !BYTE $54 ; CALL _C001 -_F093 !WORD _C001 -; samplesrc/rpncalc.pla: 0214: for i = 0 to 9 - !BYTE $12 ; CN 9 - !BYTE $00 ; CN 0 -_B050 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rpncalc.pla: 0215: conio:gotoxy(21, 2 + i); puti(i); putc(':') -; samplesrc/rpncalc.pla: 0216: next - !BYTE $2A,$15 ; CB 21 - !BYTE $04 ; CN 2 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $6A ; LAW _X032+8 -_F094 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X005 -_F095 !WORD 0 - !BYTE $2A,$3A ; CB 58 - !BYTE $54 ; CALL _X002 -_F096 !WORD 0 -_B051 - !BYTE $A4 ; INCBRLE _B050 - !WORD _B050-* -_B049 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0217: pkeys = @keypad -; samplesrc/rpncalc.pla: 0218: while ^pkeys - !BYTE $26 ; LA _D050+0 -_F097 !WORD _D050+0 - !BYTE $76,$01 ; SLW [1] - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B052 -; samplesrc/rpncalc.pla: 0219: conio:gotoxy(pkeys->xpos, pkeys->ypos) -; samplesrc/rpncalc.pla: 0220: puts(pkeys + keystr) -; samplesrc/rpncalc.pla: 0221: pkeys = pkeys + t_keyinput -; samplesrc/rpncalc.pla: 0222: loop - !BYTE $66,$01 ; LLW [1] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $6A ; LAW _X032+8 -_F098 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F099 !WORD 0 - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$01 ; SLW [1] -_B054 - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* -_B053 -; samplesrc/rpncalc.pla: 0223: end - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0224: def initState#0 -_C010 ; initState() -; samplesrc/rpncalc.pla: 0225: byte m - ; m -> [0] -; samplesrc/rpncalc.pla: 0226: -; samplesrc/rpncalc.pla: 0227: // -; samplesrc/rpncalc.pla: 0228: // Init FPU -; samplesrc/rpncalc.pla: 0229: // -; samplesrc/rpncalc.pla: 0230: fpu:reset() - !BYTE $58,$01,$00 ; ENTER 1,0 -; samplesrc/rpncalc.pla: 0231: // -; samplesrc/rpncalc.pla: 0232: // Fill memory -; samplesrc/rpncalc.pla: 0233: // -; samplesrc/rpncalc.pla: 0234: for m = 2 to 9 - !BYTE $6A ; LAW _X031+0 -_F100 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $12 ; CN 9 - !BYTE $04 ; CN 2 -_B056 - !BYTE $6C,$00 ; DLB [0] -; samplesrc/rpncalc.pla: 0235: fpu:storExt(@memory[m*t_fpureg], X_REG) -; samplesrc/rpncalc.pla: 0236: next - !BYTE $26 ; LA _D049+0 -_F101 !WORD _D049+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+54 -_F102 !WORD 0+54 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B057 - !BYTE $A4 ; INCBRLE _B056 - !WORD _B056-* -_B055 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0237: // -; samplesrc/rpncalc.pla: 0238: // Put some useful constants in there -; samplesrc/rpncalc.pla: 0239: // -; samplesrc/rpncalc.pla: 0240: fpu:constPi() -; samplesrc/rpncalc.pla: 0241: fpu:pullExt(@memory[0*t_fpureg]) -; samplesrc/rpncalc.pla: 0242: fpu:constE() -; samplesrc/rpncalc.pla: 0243: fpu:pullExt(@memory[1*t_fpureg]) -; samplesrc/rpncalc.pla: 0244: end - !BYTE $6A ; LAW _X031+14 -_F103 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D049+0 -_F104 !WORD _D049+0 - !BYTE $6A ; LAW _X031+34 -_F105 !WORD 0+34 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X031+16 -_F106 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D049+10 -_F107 !WORD _D049+10 - !BYTE $6A ; LAW _X031+34 -_F108 !WORD 0+34 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/rpncalc.pla: 0245: // -; samplesrc/rpncalc.pla: 0246: // Keypress input handlers -; samplesrc/rpncalc.pla: 0247: // -; samplesrc/rpncalc.pla: 0248: def delKey(pkey)#0 - ; pkey -> [0] -_P000 ; delKey(pkey)#0() -_C011 ; delKey() -; samplesrc/rpncalc.pla: 0249: if inputStr - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0250: inputStr-- - !BYTE $68 ; LAB _D046+0 -_F109 !WORD _D046+0 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $68 ; LAB _D046+0 -_F110 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0251: fin - !BYTE $78 ; SAB _D046+0 -_F111 !WORD _D046+0 -_B058 -_B059 -; samplesrc/rpncalc.pla: 0252: if inputStr:0 == 1 | ('-' << 8) //inputStr == 1 and inputStr.1 == '-' -; samplesrc/rpncalc.pla: 0253: inputStr-- - !BYTE $6A ; LAW _D046+0 -_F112 !WORD _D046+0 - !BYTE $2C,$01,$2D ; CW 11521 - !BYTE $24 ; BRNE _B060 - !WORD _B060-* - !BYTE $68 ; LAB _D046+0 -_F113 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0254: fin - !BYTE $78 ; SAB _D046+0 -_F114 !WORD _D046+0 -_B060 -_B061 -; samplesrc/rpncalc.pla: 0255: showInput -; samplesrc/rpncalc.pla: 0256: end - !BYTE $54 ; CALL _C004 -_F115 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0257: def dropKey(pkey)#0 - ; pkey -> [0] -_P002 ; dropKey(pkey)#0() -_C012 ; dropKey() -; samplesrc/rpncalc.pla: 0258: fpu:pullStr(@inputStr, displayInt, displayFix, FPSTR_STRIP|FPSTR_FLOAT|FPSTR_FLEX) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0259: if inputStr.1 == ' ' -; samplesrc/rpncalc.pla: 0260: inputStr-- - !BYTE $26 ; LA _D046+0 -_F116 !WORD _D046+0 - !BYTE $68 ; LAB _D048+0 -_F117 !WORD _D048+0 - !BYTE $68 ; LAB _D047+0 -_F118 !WORD _D047+0 - !BYTE $04 ; CN 2 - !BYTE $3E,$08 ; ORI 8 - !BYTE $6A ; LAW _X031+36 -_F119 !WORD 0+36 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D046+1 -_F120 !WORD _D046+1 - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B062 - !WORD _B062-* - !BYTE $68 ; LAB _D046+0 -_F121 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0261: memcpy(@inputStr.1, @inputStr.2, inputStr) -; samplesrc/rpncalc.pla: 0262: fin - !BYTE $78 ; SAB _D046+0 -_F122 !WORD _D046+0 - !BYTE $26 ; LA _D046+1 -_F123 !WORD _D046+1 - !BYTE $26 ; LA _D046+2 -_F124 !WORD _D046+2 - !BYTE $68 ; LAB _D046+0 -_F125 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F126 !WORD 0 -_B062 -_B063 -; samplesrc/rpncalc.pla: 0263: showInput -; samplesrc/rpncalc.pla: 0264: showStack -; samplesrc/rpncalc.pla: 0265: end - !BYTE $54 ; CALL _C004 -_F127 !WORD _C004 - !BYTE $54 ; CALL _C002 -_F128 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0266: def copyKey(pkey)#0 - ; pkey -> [0] -_P008 ; copyKey(pkey)#0() -_C013 ; copyKey() -; samplesrc/rpncalc.pla: 0267: fpu:storStr(@inputStr, displayInt, displayFix, FPSTR_STRIP|FPSTR_FLOAT|FPSTR_FLEX, X_REG) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0268: if inputStr.1 == ' ' -; samplesrc/rpncalc.pla: 0269: inputStr-- - !BYTE $26 ; LA _D046+0 -_F129 !WORD _D046+0 - !BYTE $68 ; LAB _D048+0 -_F130 !WORD _D048+0 - !BYTE $68 ; LAB _D047+0 -_F131 !WORD _D047+0 - !BYTE $04 ; CN 2 - !BYTE $3E,$08 ; ORI 8 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+56 -_F132 !WORD 0+56 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D046+1 -_F133 !WORD _D046+1 - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B064 - !WORD _B064-* - !BYTE $68 ; LAB _D046+0 -_F134 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0270: memcpy(@inputStr.1, @inputStr.2, inputStr) -; samplesrc/rpncalc.pla: 0271: fin - !BYTE $78 ; SAB _D046+0 -_F135 !WORD _D046+0 - !BYTE $26 ; LA _D046+1 -_F136 !WORD _D046+1 - !BYTE $26 ; LA _D046+2 -_F137 !WORD _D046+2 - !BYTE $68 ; LAB _D046+0 -_F138 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F139 !WORD 0 -_B064 -_B065 -; samplesrc/rpncalc.pla: 0272: showInput -; samplesrc/rpncalc.pla: 0273: end - !BYTE $54 ; CALL _C004 -_F140 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0274: def clearKey(pkey)#0 - ; pkey -> [0] -_P003 ; clearKey(pkey)#0() -_C014 ; clearKey() -; samplesrc/rpncalc.pla: 0275: initInput - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0276: showInput -; samplesrc/rpncalc.pla: 0277: end - !BYTE $54 ; CALL _C007 -_F141 !WORD _C007 - !BYTE $54 ; CALL _C004 -_F142 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0278: def digitKey(pkey)#0 - ; pkey -> [0] -_P004 ; digitKey(pkey)#0() -_C015 ; digitKey() -; samplesrc/rpncalc.pla: 0279: if inputStr < inputLen - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0280: if inputStr:0 <> ZEROSTR -; samplesrc/rpncalc.pla: 0281: inputStr++ - !BYTE $68 ; LAB _D046+0 -_F143 !WORD _D046+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $6A ; LAW _D046+0 -_F144 !WORD _D046+0 - !BYTE $2C,$01,$30 ; CW 12289 - !BYTE $22 ; BREQ _B068 - !WORD _B068-* - !BYTE $68 ; LAB _D046+0 -_F145 !WORD _D046+0 - !BYTE $8C ; INCR -; samplesrc/rpncalc.pla: 0282: fin - !BYTE $78 ; SAB _D046+0 -_F146 !WORD _D046+0 -_B068 -_B069 -; samplesrc/rpncalc.pla: 0283: inputStr[inputStr] = ^pkey -; samplesrc/rpncalc.pla: 0284: showInput -; samplesrc/rpncalc.pla: 0285: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $26 ; LA _D046+0 -_F147 !WORD _D046+0 - !BYTE $B4 ; ADDAB _D046+0 -_F148 !WORD _D046+0 - !BYTE $70 ; SB - !BYTE $54 ; CALL _C004 -_F149 !WORD _C004 -_B066 -_B067 -; samplesrc/rpncalc.pla: 0286: end - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0287: def pointKey(pkey)#0 - ; pkey -> [0] -_P005 ; pointKey(pkey)#0() -_C016 ; pointKey() -; samplesrc/rpncalc.pla: 0288: byte c - ; c -> [2] -; samplesrc/rpncalc.pla: 0289: -; samplesrc/rpncalc.pla: 0290: if !inputStr - !BYTE $58,$03,$01 ; ENTER 3,1 -; samplesrc/rpncalc.pla: 0291: // -; samplesrc/rpncalc.pla: 0292: // Start off with '0' if blank input -; samplesrc/rpncalc.pla: 0293: // -; samplesrc/rpncalc.pla: 0294: inputStr:0 = ZEROSTR -; samplesrc/rpncalc.pla: 0295: else - !BYTE $68 ; LAB _D046+0 -_F150 !WORD _D046+0 - !BYTE $4E ; BRTRU _B070 - !WORD _B070-* - !BYTE $2C,$01,$30 ; CW 12289 - !BYTE $7A ; SAW _D046+0 -_F151 !WORD _D046+0 - !BYTE $50 ; BRNCH _B071 - !WORD _B071-* -_B070 -; samplesrc/rpncalc.pla: 0296: // -; samplesrc/rpncalc.pla: 0297: // Check for existing decimal point -; samplesrc/rpncalc.pla: 0298: // -; samplesrc/rpncalc.pla: 0299: for c = 1 to inputStr - !BYTE $68 ; LAB _D046+0 -_F152 !WORD _D046+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B072 - !WORD _B072-* -_B073 - !BYTE $6C,$02 ; DLB [2] -; samplesrc/rpncalc.pla: 0300: if inputStr[c] == '.' -; samplesrc/rpncalc.pla: 0301: return - !BYTE $26 ; LA _D046+0 -_F153 !WORD _D046+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B075 - !WORD _B075-* - !BYTE $32 ; DROP2 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0302: fin -_B075 -_B076 -; samplesrc/rpncalc.pla: 0303: next -_B074 - !BYTE $A4 ; INCBRLE _B073 - !WORD _B073-* -_B072 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; samplesrc/rpncalc.pla: 0304: fin -_B071 -; samplesrc/rpncalc.pla: 0305: inputStr++ - !BYTE $68 ; LAB _D046+0 -_F154 !WORD _D046+0 - !BYTE $8C ; INCR -; samplesrc/rpncalc.pla: 0306: inputStr[inputStr] = '.' -; samplesrc/rpncalc.pla: 0307: showInput -; samplesrc/rpncalc.pla: 0308: end - !BYTE $78 ; SAB _D046+0 -_F155 !WORD _D046+0 - !BYTE $2A,$2E ; CB 46 - !BYTE $26 ; LA _D046+0 -_F156 !WORD _D046+0 - !BYTE $B4 ; ADDAB _D046+0 -_F157 !WORD _D046+0 - !BYTE $70 ; SB - !BYTE $54 ; CALL _C004 -_F158 !WORD _C004 - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0309: def chsKey(pkey)#0 - ; pkey -> [0] -_P009 ; chsKey(pkey)#0() -_C017 ; chsKey() -; samplesrc/rpncalc.pla: 0310: if inputStr - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0311: if inputStr.1 <> '-' -; samplesrc/rpncalc.pla: 0312: memcpy(@inputStr.2, @inputStr.1, inputStr) -; samplesrc/rpncalc.pla: 0313: inputStr++ - !BYTE $68 ; LAB _D046+0 -_F159 !WORD _D046+0 - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $68 ; LAB _D046+1 -_F160 !WORD _D046+1 - !BYTE $2A,$2D ; CB 45 - !BYTE $22 ; BREQ _B079 - !WORD _B079-* - !BYTE $26 ; LA _D046+2 -_F161 !WORD _D046+2 - !BYTE $26 ; LA _D046+1 -_F162 !WORD _D046+1 - !BYTE $68 ; LAB _D046+0 -_F163 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F164 !WORD 0 - !BYTE $68 ; LAB _D046+0 -_F165 !WORD _D046+0 - !BYTE $8C ; INCR -; samplesrc/rpncalc.pla: 0314: inputStr.1 = '-' -; samplesrc/rpncalc.pla: 0315: else - !BYTE $78 ; SAB _D046+0 -_F166 !WORD _D046+0 - !BYTE $2A,$2D ; CB 45 - !BYTE $78 ; SAB _D046+1 -_F167 !WORD _D046+1 - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B079 -; samplesrc/rpncalc.pla: 0316: inputStr-- - !BYTE $68 ; LAB _D046+0 -_F168 !WORD _D046+0 - !BYTE $8E ; DECR -; samplesrc/rpncalc.pla: 0317: memcpy(@inputStr.1, @inputStr.2, inputStr) -; samplesrc/rpncalc.pla: 0318: fin - !BYTE $78 ; SAB _D046+0 -_F169 !WORD _D046+0 - !BYTE $26 ; LA _D046+1 -_F170 !WORD _D046+1 - !BYTE $26 ; LA _D046+2 -_F171 !WORD _D046+2 - !BYTE $68 ; LAB _D046+0 -_F172 !WORD _D046+0 - !BYTE $54 ; CALL _X018 -_F173 !WORD 0 -_B080 -; samplesrc/rpncalc.pla: 0319: showInput -; samplesrc/rpncalc.pla: 0320: fin - !BYTE $54 ; CALL _C004 -_F174 !WORD _C004 -_B077 -_B078 -; samplesrc/rpncalc.pla: 0321: end - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0322: def enterKey(pkey)#0 - ; pkey -> [0] -_P007 ; enterKey(pkey)#0() -_C018 ; enterKey() -; samplesrc/rpncalc.pla: 0323: fpu:pushStr(@inputStr) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0324: showStack -; samplesrc/rpncalc.pla: 0325: initInput -; samplesrc/rpncalc.pla: 0326: showInput -; samplesrc/rpncalc.pla: 0327: end - !BYTE $26 ; LA _D046+0 -_F175 !WORD _D046+0 - !BYTE $6A ; LAW _X031+26 -_F176 !WORD 0+26 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C002 -_F177 !WORD _C002 - !BYTE $54 ; CALL _C007 -_F178 !WORD _C007 - !BYTE $54 ; CALL _C004 -_F179 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0328: def opKey(pkey)#0 - ; pkey -> [0] -_P006 ; opKey(pkey)#0() -_C019 ; opKey() -; samplesrc/rpncalc.pla: 0329: updateInput - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0330: when ^pkey - !BYTE $54 ; CALL _C008 -_F180 !WORD _C008 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B082-* -; samplesrc/rpncalc.pla: 0331: is '+' -_B083 -; samplesrc/rpncalc.pla: 0332: fpu:addXY() -; samplesrc/rpncalc.pla: 0333: break - !BYTE $6A ; LAW _X031+72 -_F181 !WORD 0+72 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0334: is '-' -_B084 -; samplesrc/rpncalc.pla: 0335: fpu:subXY() -; samplesrc/rpncalc.pla: 0336: break - !BYTE $6A ; LAW _X031+74 -_F182 !WORD 0+74 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0337: is '*' -_B085 -; samplesrc/rpncalc.pla: 0338: fpu:mulXY() -; samplesrc/rpncalc.pla: 0339: break - !BYTE $6A ; LAW _X031+76 -_F183 !WORD 0+76 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0340: is '/' -_B086 -; samplesrc/rpncalc.pla: 0341: fpu:divXY() -; samplesrc/rpncalc.pla: 0342: break - !BYTE $6A ; LAW _X031+78 -_F184 !WORD 0+78 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0343: is 'R' -_B087 -; samplesrc/rpncalc.pla: 0344: fpu:sqrtX() -; samplesrc/rpncalc.pla: 0345: break - !BYTE $6A ; LAW _X031+98 -_F185 !WORD 0+98 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -; samplesrc/rpncalc.pla: 0346: wend - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B082 - !BYTE $05 ; CASEBLOCK - !WORD $002A - !WORD _B085-* - !WORD $002B - !WORD _B083-* - !WORD $002D - !WORD _B084-* - !WORD $002F - !WORD _B086-* - !WORD $0052 - !WORD _B087-* -_B081 -; samplesrc/rpncalc.pla: 0347: showStack -; samplesrc/rpncalc.pla: 0348: end - !BYTE $54 ; CALL _C002 -_F186 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0349: def memKey(pkey)#0 - ; pkey -> [0] -_P010 ; memKey(pkey)#0() -_C020 ; memKey() -; samplesrc/rpncalc.pla: 0350: word r - ; r -> [2] -; samplesrc/rpncalc.pla: 0351: -; samplesrc/rpncalc.pla: 0352: showStatus("Press 0-9 for memory register:") - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $2E ; CS - !BYTE $1E - !BYTE $50,$72,$65,$73,$73,$20,$30,$2D - !BYTE $39,$20,$66,$6F,$72,$20,$6D,$65 - !BYTE $6D,$6F,$72,$79,$20,$72,$65,$67 - !BYTE $69,$73,$74,$65,$72,$3A - !BYTE $54 ; CALL _C005 -_F187 !WORD _C005 -; samplesrc/rpncalc.pla: 0353: r = getc - '0' -; samplesrc/rpncalc.pla: 0354: clearStatus -; samplesrc/rpncalc.pla: 0355: if r >= 0 and r <= 9 -; samplesrc/rpncalc.pla: 0356: if ^pkey == '<' -; samplesrc/rpncalc.pla: 0357: fpu:pushExt(@memory[r*t_fpureg]) -; samplesrc/rpncalc.pla: 0358: showStack -; samplesrc/rpncalc.pla: 0359: else - !BYTE $54 ; CALL _X006 -_F188 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$02 ; SLW [2] - !BYTE $54 ; CALL _C006 -_F189 !WORD _C006 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B088 - !WORD _B088-* - !BYTE $66,$02 ; LLW [2] - !BYTE $12 ; CN 9 - !BYTE $4A ; ISLE -_B088 - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$3C ; CB 60 - !BYTE $24 ; BRNE _B091 - !WORD _B091-* - !BYTE $26 ; LA _D049+0 -_F190 !WORD _D049+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6A ; LAW _X031+24 -_F191 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C002 -_F192 !WORD _C002 - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B091 -; samplesrc/rpncalc.pla: 0360: fpu:storExt(@memory[r*t_fpureg], X_REG) -; samplesrc/rpncalc.pla: 0361: showMem -; samplesrc/rpncalc.pla: 0362: fin - !BYTE $26 ; LA _D049+0 -_F193 !WORD _D049+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+54 -_F194 !WORD 0+54 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C003 -_F195 !WORD _C003 -_B092 -; samplesrc/rpncalc.pla: 0363: fin -_B089 -_B090 -; samplesrc/rpncalc.pla: 0364: end - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rpncalc.pla: 0365: def elemsKey(pkey)#0 - ; pkey -> [0] -_P011 ; elemsKey(pkey)#0() -_C021 ; elemsKey() -; samplesrc/rpncalc.pla: 0366: updateInput - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/rpncalc.pla: 0367: when ^pkey - !BYTE $54 ; CALL _C008 -_F196 !WORD _C008 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B094-* -; samplesrc/rpncalc.pla: 0368: is 'C' -_B095 -; samplesrc/rpncalc.pla: 0369: fpu:cosX() -; samplesrc/rpncalc.pla: 0370: break - !BYTE $6A ; LAW _X031+102 -_F197 !WORD 0+102 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0371: is 'S' -_B096 -; samplesrc/rpncalc.pla: 0372: fpu:sinX() -; samplesrc/rpncalc.pla: 0373: break - !BYTE $6A ; LAW _X031+104 -_F198 !WORD 0+104 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0374: is 'T' -_B097 -; samplesrc/rpncalc.pla: 0375: fpu:tanX() -; samplesrc/rpncalc.pla: 0376: break - !BYTE $6A ; LAW _X031+106 -_F199 !WORD 0+106 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0377: is 'A' -_B098 -; samplesrc/rpncalc.pla: 0378: fpu:atanX() -; samplesrc/rpncalc.pla: 0379: break - !BYTE $6A ; LAW _X031+108 -_F200 !WORD 0+108 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0380: is '^' -_B099 -; samplesrc/rpncalc.pla: 0381: fpu:powXY() -; samplesrc/rpncalc.pla: 0382: break - !BYTE $6A ; LAW _X031+130 -_F201 !WORD 0+130 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0383: is 'L' -_B100 -; samplesrc/rpncalc.pla: 0384: fpu:log2X() -; samplesrc/rpncalc.pla: 0385: break - !BYTE $6A ; LAW _X031+110 -_F202 !WORD 0+110 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0386: is 'P' -_B101 -; samplesrc/rpncalc.pla: 0387: fpu:powEX() -; samplesrc/rpncalc.pla: 0388: break - !BYTE $6A ; LAW _X031+122 -_F203 !WORD 0+122 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0389: is 'N' -_B102 -; samplesrc/rpncalc.pla: 0390: fpu:lnX() -; samplesrc/rpncalc.pla: 0391: break - !BYTE $6A ; LAW _X031+114 -_F204 !WORD 0+114 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -; samplesrc/rpncalc.pla: 0392: wend - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -_B094 - !BYTE $08 ; CASEBLOCK - !WORD $0041 - !WORD _B098-* - !WORD $0043 - !WORD _B095-* - !WORD $004C - !WORD _B100-* - !WORD $004E - !WORD _B102-* - !WORD $0050 - !WORD _B101-* - !WORD $0053 - !WORD _B096-* - !WORD $0054 - !WORD _B097-* - !WORD $005E - !WORD _B099-* -_B093 -; samplesrc/rpncalc.pla: 0393: showStack -; samplesrc/rpncalc.pla: 0394: end - !BYTE $54 ; CALL _C002 -_F205 !WORD _C002 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/rpncalc.pla: 0395: // -; samplesrc/rpncalc.pla: 0396: // Command line handler -; samplesrc/rpncalc.pla: 0397: // -; samplesrc/rpncalc.pla: 0398: def cmdKey(pkey)#0 - ; pkey -> [0] -_P001 ; cmdKey(pkey)#0() -_C022 ; cmdKey() -; samplesrc/rpncalc.pla: 0399: // word cmdLine -; samplesrc/rpncalc.pla: 0400: -; samplesrc/rpncalc.pla: 0401: // showStatus("Command") -; samplesrc/rpncalc.pla: 0402: // cmdLine = gets(':'|$80) -; samplesrc/rpncalc.pla: 0403: word d - ; d -> [2] -; samplesrc/rpncalc.pla: 0404: -; samplesrc/rpncalc.pla: 0405: showStatus("Press 1-9 for fix point digits(Q=Quit):") - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $2E ; CS - !BYTE $27 - !BYTE $50,$72,$65,$73,$73,$20,$31,$2D - !BYTE $39,$20,$66,$6F,$72,$20,$66,$69 - !BYTE $78,$20,$70,$6F,$69,$6E,$74,$20 - !BYTE $64,$69,$67,$69,$74,$73,$28,$51 - !BYTE $3D,$51,$75,$69,$74,$29,$3A - !BYTE $54 ; CALL _C005 -_F206 !WORD _C005 -; samplesrc/rpncalc.pla: 0406: d = toupper(getc) - '0' -; samplesrc/rpncalc.pla: 0407: if d >= 1 and d <= 9 -; samplesrc/rpncalc.pla: 0408: displayFix = d -; samplesrc/rpncalc.pla: 0409: displayInt = displayWidth - displayFix - 2 -; samplesrc/rpncalc.pla: 0410: elsif d == 'Q' - '0' - !BYTE $54 ; CALL _X006 -_F207 !WORD 0 - !BYTE $54 ; CALL _X021 -_F208 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $6E,$02 ; DLW [2] - !BYTE $02 ; CN 1 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B103 - !WORD _B103-* - !BYTE $66,$02 ; LLW [2] - !BYTE $12 ; CN 9 - !BYTE $4A ; ISLE -_B103 - !BYTE $4C ; BRFLS _B104 - !WORD _B104-* - !BYTE $66,$02 ; LLW [2] - !BYTE $78 ; SAB _D047+0 -_F209 !WORD _D047+0 - !BYTE $1E ; CN 15 - !BYTE $68 ; LAB _D047+0 -_F210 !WORD _D047+0 - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $78 ; SAB _D048+0 -_F211 !WORD _D048+0 - !BYTE $50 ; BRNCH _B105 - !WORD _B105-* -_B104 -; samplesrc/rpncalc.pla: 0411: quit = TRUE -; samplesrc/rpncalc.pla: 0412: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$21 ; CB 33 - !BYTE $24 ; BRNE _B106 - !WORD _B106-* - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D045+0 -_F212 !WORD _D045+0 -_B106 -_B105 -; samplesrc/rpncalc.pla: 0413: clearStatus -; samplesrc/rpncalc.pla: 0414: // -; samplesrc/rpncalc.pla: 0415: // Do something -; samplesrc/rpncalc.pla: 0416: // -; samplesrc/rpncalc.pla: 0417: initDisplay -; samplesrc/rpncalc.pla: 0418: showStack -; samplesrc/rpncalc.pla: 0419: showMem -; samplesrc/rpncalc.pla: 0420: showInput -; samplesrc/rpncalc.pla: 0421: end - !BYTE $54 ; CALL _C006 -_F213 !WORD _C006 - !BYTE $54 ; CALL _C009 -_F214 !WORD _C009 - !BYTE $54 ; CALL _C002 -_F215 !WORD _C002 - !BYTE $54 ; CALL _C003 -_F216 !WORD _C003 - !BYTE $54 ; CALL _C004 -_F217 !WORD _C004 - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/rpncalc.pla: 0422: // -; samplesrc/rpncalc.pla: 0423: // Keypress handler -; samplesrc/rpncalc.pla: 0424: // -; samplesrc/rpncalc.pla: 0425: def inputKey#0 -_C023 ; inputKey() -; samplesrc/rpncalc.pla: 0426: byte inkey - ; inkey -> [0] -; samplesrc/rpncalc.pla: 0427: word pkeys - ; pkeys -> [1] -; samplesrc/rpncalc.pla: 0428: -; samplesrc/rpncalc.pla: 0429: conio:textctrl(ctrlecho, OFF) - !BYTE $58,$03,$00 ; ENTER 3,0 -; samplesrc/rpncalc.pla: 0430: while not quit - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X032+12 -_F218 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B109 - !WORD _B109-* -_B107 -; samplesrc/rpncalc.pla: 0431: pkeys = @keypad -; samplesrc/rpncalc.pla: 0432: conio:gotoxy(18, 7) -; samplesrc/rpncalc.pla: 0433: inkey = toupper(getc) -; samplesrc/rpncalc.pla: 0434: while ^pkeys - !BYTE $26 ; LA _D050+0 -_F219 !WORD _D050+0 - !BYTE $76,$01 ; SLW [1] - !BYTE $2A,$12 ; CB 18 - !BYTE $0E ; CN 7 - !BYTE $6A ; LAW _X032+8 -_F220 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X006 -_F221 !WORD 0 - !BYTE $54 ; CALL _X021 -_F222 !WORD 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B112 - !WORD _B112-* -_B110 -; samplesrc/rpncalc.pla: 0435: if inkey == ^pkeys -; samplesrc/rpncalc.pla: 0436: conio:textctrl(ctrlattr, INVERSE) -; samplesrc/rpncalc.pla: 0437: conio:gotoxy(pkeys->xpos, pkeys->ypos) -; samplesrc/rpncalc.pla: 0438: puts(pkeys + keystr) -; samplesrc/rpncalc.pla: 0439: conio:textctrl(ctrlattr, NORMAL) -; samplesrc/rpncalc.pla: 0440: pkeys=>phandler(pkeys)#0 -; samplesrc/rpncalc.pla: 0441: conio:gotoxy(pkeys->xpos, pkeys->ypos) -; samplesrc/rpncalc.pla: 0442: puts(pkeys + keystr) -; samplesrc/rpncalc.pla: 0443: break - !BYTE $64,$00 ; LLB [0] - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B113 - !WORD _B113-* - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X032+12 -_F223 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $6A ; LAW _X032+8 -_F224 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F225 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $2A,$FF ; CB 255 - !BYTE $6A ; LAW _X032+12 -_F226 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $34 ; DUP - !BYTE $38,$0B ; ADDI 11 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $66,$01 ; LLW [1] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $6A ; LAW _X032+8 -_F227 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _X004 -_F228 !WORD 0 - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -; samplesrc/rpncalc.pla: 0444: fin -_B113 -_B114 -; samplesrc/rpncalc.pla: 0445: pkeys = pkeys + t_keyinput -; samplesrc/rpncalc.pla: 0446: loop - !BYTE $66,$01 ; LLW [1] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$01 ; SLW [1] -_B112 - !BYTE $66,$01 ; LLW [1] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B110 - !WORD _B110-* -_B111 -; samplesrc/rpncalc.pla: 0447: loop -_B109 - !BYTE $68 ; LAB _D045+0 -_F229 !WORD _D045+0 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* -_B108 -; samplesrc/rpncalc.pla: 0448: conio:textctrl(ctrlecho, ON) -; samplesrc/rpncalc.pla: 0449: end - !BYTE $04 ; CN 2 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X032+12 -_F230 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; samplesrc/rpncalc.pla: 0450: initDisplay -_INIT -; samplesrc/rpncalc.pla: 0451: initState -; samplesrc/rpncalc.pla: 0452: initInput -; samplesrc/rpncalc.pla: 0453: showStack -; samplesrc/rpncalc.pla: 0454: showMem -; samplesrc/rpncalc.pla: 0455: showInput -; samplesrc/rpncalc.pla: 0456: showStatus("Version 0.7") - !BYTE $54 ; CALL _C009 -_F231 !WORD _C009 - !BYTE $54 ; CALL _C010 -_F232 !WORD _C010 - !BYTE $54 ; CALL _C007 -_F233 !WORD _C007 - !BYTE $54 ; CALL _C002 -_F234 !WORD _C002 - !BYTE $54 ; CALL _C003 -_F235 !WORD _C003 - !BYTE $54 ; CALL _C004 -_F236 !WORD _C004 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $56,$65,$72,$73,$69,$6F,$6E,$20 - !BYTE $30,$2E,$37 - !BYTE $54 ; CALL _C005 -_F237 !WORD _C005 -; samplesrc/rpncalc.pla: 0457: inputKey -; samplesrc/rpncalc.pla: 0458: conio:textmode(0) -; samplesrc/rpncalc.pla: 0459: conio:gotoxy(0, 22) -; samplesrc/rpncalc.pla: 0460: done - !BYTE $54 ; CALL _C023 -_F238 !WORD _C023 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X032+14 -_F239 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $2A,$16 ; CB 22 - !BYTE $6A ; LAW _X032+8 -_F240 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 25 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: EXT2STR - !BYTE $C5,$D8,$D4,$B2,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FPU - !BYTE $C6,$D0,$55 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/sanity.a b/src/samplesrc/sanity.a deleted file mode 100644 index 558e5ef..0000000 --- a/src/samplesrc/sanity.a +++ /dev/null @@ -1,2584 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/sanity.pla: 0001: // -; samplesrc/sanity.pla: 0002: // SANE library test program -; samplesrc/sanity.pla: 0003: // -; samplesrc/sanity.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/sanity.pla: 0004: -; samplesrc/sanity.pla: 0005: include "inc/sane.plh" -; inc/sane.plh: 0001: import sane - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - ; SANE -> X028 -; inc/sane.plh: 0002: //----------------------------------------------------------- -; inc/sane.plh: 0003: // Operation code masks. -; inc/sane.plh: 0004: //----------------------------------------------------------- -; inc/sane.plh: 0005: const FOADD = $0000 // add - ; FOADD = 0 -; inc/sane.plh: 0006: const FOSUB = $0002 // subtract - ; FOSUB = 2 -; inc/sane.plh: 0007: const FOMUL = $0004 // multiply - ; FOMUL = 4 -; inc/sane.plh: 0008: const FODIV = $0006 // divide - ; FODIV = 6 -; inc/sane.plh: 0009: const FOCMP = $0008 // compare, no exception from unordered - ; FOCMP = 8 -; inc/sane.plh: 0010: const FOCPX = $000A // compare, signal invalid if unordered - ; FOCPX = 10 -; inc/sane.plh: 0011: const FOREM = $000C // remainder - ; FOREM = 12 -; inc/sane.plh: 0012: const FOZ2X = $000E // convert to extended - ; FOZ2X = 14 -; inc/sane.plh: 0013: const FOX2Z = $0010 // convert from extended - ; FOX2Z = 16 -; inc/sane.plh: 0014: const FOSQRT = $0012 // square root - ; FOSQRT = 18 -; inc/sane.plh: 0015: const FORTI = $0014 // round to integral value - ; FORTI = 20 -; inc/sane.plh: 0016: const FOTTI = $0016 // truncate to integral value - ; FOTTI = 22 -; inc/sane.plh: 0017: const FOSCALB = $0018 // binary scale - ; FOSCALB = 24 -; inc/sane.plh: 0018: const FOLOGB = $001A // binary log - ; FOLOGB = 26 -; inc/sane.plh: 0019: const FOCLASS = $001C // classify - ; FOCLASS = 28 -; inc/sane.plh: 0020: const FONEXT = $001E // next-after - ; FONEXT = 30 -; inc/sane.plh: 0021: // -; inc/sane.plh: 0022: const FOSETENV = $0001 // set environment - ; FOSETENV = 1 -; inc/sane.plh: 0023: const FOGETENV = $0003 // get environment - ; FOGETENV = 3 -; inc/sane.plh: 0024: const FOSETHV = $0005 // set halt vector - ; FOSETHV = 5 -; inc/sane.plh: 0025: const FOGETHV = $0007 // get halt vector - ; FOGETHV = 7 -; inc/sane.plh: 0026: const FOD2B = $0009 // convert decimal to binary - ; FOD2B = 9 -; inc/sane.plh: 0027: const FOB2D = $000B // convert binary to decimal - ; FOB2D = 11 -; inc/sane.plh: 0028: const FONEG = $000D // negate - ; FONEG = 13 -; inc/sane.plh: 0029: const FOABS = $000F // absolute value - ; FOABS = 15 -; inc/sane.plh: 0030: const FOCPYSGN = $0011 // copy sign - ; FOCPYSGN = 17 -; inc/sane.plh: 0031: // UNDEFINED = $0013 -; inc/sane.plh: 0032: const FOSETXCP = $0015 // set exception - ; FOSETXCP = 21 -; inc/sane.plh: 0033: const FOPROCENTRY = $0017 // procedure-entry - ; FOPROCENTRY = 23 -; inc/sane.plh: 0034: const FOPROCEXIT = $0019 // procedure-exit - ; FOPROCEXIT = 25 -; inc/sane.plh: 0035: const FOTESTXCP = $001B // test exception - ; FOTESTXCP = 27 -; inc/sane.plh: 0036: // UNDEFINED = $001D -; inc/sane.plh: 0037: // UNDEFINED = $001F -; inc/sane.plh: 0038: //----------------------------------------------------------- -; inc/sane.plh: 0039: // Operand format masks. -; inc/sane.plh: 0040: //----------------------------------------------------------- -; inc/sane.plh: 0041: const FFEXT = $0000 // extended -- 80-bit float - ; FFEXT = 0 -; inc/sane.plh: 0042: const FFDBL = $0100 // double -- 64-bit float - ; FFDBL = 256 -; inc/sane.plh: 0043: const FFSGL = $0200 // single -- 32-bit float - ; FFSGL = 512 -; inc/sane.plh: 0044: // UNDEFINED = $0300 -; inc/sane.plh: 0045: const FFINT = $0400 // integer -- 16-bit integer - ; FFINT = 1024 -; inc/sane.plh: 0046: const FFCOMP = $0500 // comp -- 64-bit integer - ; FFCOMP = 1280 -; inc/sane.plh: 0047: // UNDEFINED = $0600 -; inc/sane.plh: 0048: // UNDEFINED = $0700 -; inc/sane.plh: 0049: //----------------------------------------------------------- -; inc/sane.plh: 0050: // Class. -; inc/sane.plh: 0051: //----------------------------------------------------------- -; inc/sane.plh: 0052: const FCSNAN = $FC // -4: signaling NAN - ; FCSNAN = 252 -; inc/sane.plh: 0053: const FCQNAN = $FD // -3: quiet NAN - ; FCQNAN = 253 -; inc/sane.plh: 0054: const FCINF = $FE // -2: infinite - ; FCINF = 254 -; inc/sane.plh: 0055: const FCZERO = $FF // -1: zero - ; FCZERO = 255 -; inc/sane.plh: 0056: const FCNORM = $00 // 0: normal - ; FCNORM = 0 -; inc/sane.plh: 0057: const FCDENORM = $01 // 1: denormal - ; FCDENORM = 1 -; inc/sane.plh: 0058: //----------------------------------------------------------- -; inc/sane.plh: 0059: // Exceptions. -; inc/sane.plh: 0060: //----------------------------------------------------------- -; inc/sane.plh: 0061: const FBINVALID = $01 - ; FBINVALID = 1 -; inc/sane.plh: 0062: const FBUFLOW = $02 - ; FBUFLOW = 2 -; inc/sane.plh: 0063: const FBOFLOW = $04 - ; FBOFLOW = 4 -; inc/sane.plh: 0064: const FBDIVZER = $08 - ; FBDIVZER = 8 -; inc/sane.plh: 0065: const FBINEXACT = $10 - ; FBINEXACT = 16 -; inc/sane.plh: 0066: //----------------------------------------------------------- -; inc/sane.plh: 0067: // Elementary function operation code masks. -; inc/sane.plh: 0068: //----------------------------------------------------------- -; inc/sane.plh: 0069: const FOLNX = $0000 // base-e log - ; FOLNX = 0 -; inc/sane.plh: 0070: const FOLOG2X = $0002 // base-2 log - ; FOLOG2X = 2 -; inc/sane.plh: 0071: const FOLN1X = $0004 // ln (1 + x) - ; FOLN1X = 4 -; inc/sane.plh: 0072: const FOLOG21X = $0006 // log2 (1 + x) - ; FOLOG21X = 6 -; inc/sane.plh: 0073: const FOEXPX = $0008 // base-e exponential - ; FOEXPX = 8 -; inc/sane.plh: 0074: const FOEXP2X = $000A // base-2 exponential - ; FOEXP2X = 10 -; inc/sane.plh: 0075: const FOEXP1X = $000C // exp (x) - 1 - ; FOEXP1X = 12 -; inc/sane.plh: 0076: const FOEXP21X = $000E // exp2 (x) - 1 - ; FOEXP21X = 14 -; inc/sane.plh: 0077: const FOXPWRI = $0010 // integer exponentiation - ; FOXPWRI = 16 -; inc/sane.plh: 0078: const FOXPWRY = $0012 // general exponentiation - ; FOXPWRY = 18 -; inc/sane.plh: 0079: const FOCOMPND = $0014 // compound - ; FOCOMPND = 20 -; inc/sane.plh: 0080: const FOANNUIT = $0016 // annuity - ; FOANNUIT = 22 -; inc/sane.plh: 0081: const FOATANX = $0018 // arctangent - ; FOATANX = 24 -; inc/sane.plh: 0082: const FOSINX = $001A // sine - ; FOSINX = 26 -; inc/sane.plh: 0083: const FOCOSX = $001C // cosine - ; FOCOSX = 28 -; inc/sane.plh: 0084: const FOTANX = $001E // tangent - ; FOTANX = 30 -; inc/sane.plh: 0085: const FORANDX = $0020 // random - ; FORANDX = 32 -; inc/sane.plh: 0086: //----------------------------------------------------------- -; inc/sane.plh: 0087: // NaN error codes. -; inc/sane.plh: 0088: //----------------------------------------------------------- -; inc/sane.plh: 0089: const NANSQRT = 1 // Invalid square root such as sqrt(-1). - ; NANSQRT = 1 -; inc/sane.plh: 0090: const NANADD = 2 // Invalid addition such as +INF - +INF. - ; NANADD = 2 -; inc/sane.plh: 0091: const NANDIV = 4 // Invalid division such as 0/0. - ; NANDIV = 4 -; inc/sane.plh: 0092: const NANMUL = 8 // Invalid multiply such as 0 * INF. - ; NANMUL = 8 -; inc/sane.plh: 0093: const NANREM = 9 // Invalid remainder or mod such as x REM 0. - ; NANREM = 9 -; inc/sane.plh: 0094: const NANASCBIN = 17 // Attempt to convert invalid ASCII string. - ; NANASCBIN = 17 -; inc/sane.plh: 0095: const NANCOMP = 20 // Result of converting comp NaN to floating. - ; NANCOMP = 20 -; inc/sane.plh: 0096: const NANZERO = 21 // Attempt to create a NaN with a zero code. - ; NANZERO = 21 -; inc/sane.plh: 0097: const NANTRIG = 33 // Invalid argument to trig routine. - ; NANTRIG = 33 -; inc/sane.plh: 0098: const NANINVTRIG = 34 // Invalid argument to inverse trig routine. - ; NANINVTRIG = 34 -; inc/sane.plh: 0099: const NANLOG = 36 // Invalid argument to log routine. - ; NANLOG = 36 -; inc/sane.plh: 0100: const NANPOWER = 37 // Invalid argument to x^i or x^y routine. - ; NANPOWER = 37 -; inc/sane.plh: 0101: const NANFINAN = 38 // Invalid argument to financial function. - ; NANFINAN = 38 -; inc/sane.plh: 0102: const NANINIT = 255 // Uninitialized storage. - ; NANINIT = 255 -; inc/sane.plh: 0103: //----------------------------------------------------------- -; inc/sane.plh: 0104: // Comparison results. -; inc/sane.plh: 0105: //----------------------------------------------------------- -; inc/sane.plh: 0106: const FCMPGT = $4040 // Greater Than - ; FCMPGT = 16448 -; inc/sane.plh: 0107: const FCMPLT = $8080 // Less Than - ; FCMPLT = 32896 -; inc/sane.plh: 0108: const FCMPEQ = $0002 // EQual - ; FCMPEQ = 2 -; inc/sane.plh: 0109: const FCMPUN = $0101 // UNordered - ; FCMPUN = 257 -; inc/sane.plh: 0110: //----------------------------------------------------------- -; inc/sane.plh: 0111: // -; inc/sane.plh: 0112: // Data types -; inc/sane.plh: 0113: // -; inc/sane.plh: 0114: struc t_single -; inc/sane.plh: 0115: byte[3] s_mantissa - ; s_mantissa = 0 -; inc/sane.plh: 0116: byte s_exponent - ; s_exponent = 3 -; inc/sane.plh: 0117: end - ; t_single = 4 -; inc/sane.plh: 0118: struc t_double -; inc/sane.plh: 0119: byte[6] d_mantissa - ; d_mantissa = 0 -; inc/sane.plh: 0120: word d_exponent - ; d_exponent = 6 -; inc/sane.plh: 0121: end - ; t_double = 8 -; inc/sane.plh: 0122: struc t_extended -; inc/sane.plh: 0123: byte[8] x_mantissa - ; x_mantissa = 0 -; inc/sane.plh: 0124: word x_exponent - ; x_exponent = 8 -; inc/sane.plh: 0125: end - ; t_extended = 10 -; inc/sane.plh: 0126: struc t_bigint -; inc/sane.plh: 0127: byte[8] l_int - ; l_int = 0 -; inc/sane.plh: 0128: end - ; t_bigint = 8 -; inc/sane.plh: 0129: // -; inc/sane.plh: 0130: // SANE PLASMA interface -; inc/sane.plh: 0131: // -; inc/sane.plh: 0132: struc t_sane -; inc/sane.plh: 0133: word initFP - ; initFP = 0 -; inc/sane.plh: 0134: word haltFP - ; haltFP = 2 -; inc/sane.plh: 0135: word op0FP - ; op0FP = 4 -; inc/sane.plh: 0136: word op1FP - ; op1FP = 6 -; inc/sane.plh: 0137: word op2FP - ; op2FP = 8 -; inc/sane.plh: 0138: word op3FP - ; op3FP = 10 -; inc/sane.plh: 0139: word op1ELEM - ; op1ELEM = 12 -; inc/sane.plh: 0140: word op2ELEM - ; op2ELEM = 14 -; inc/sane.plh: 0141: word op3ELEM - ; op3ELEM = 16 -; inc/sane.plh: 0142: word saveZP - ; saveZP = 18 -; inc/sane.plh: 0143: word restoreZP - ; restoreZP = 20 -; inc/sane.plh: 0144: end - ; t_sane = 22 -; inc/sane.plh: 0145: end -; samplesrc/sanity.pla: 0005: -; samplesrc/sanity.pla: 0006: -; samplesrc/sanity.pla: 0007: struc t_decrecord - !BYTE $00 ; END OF MODULE DEPENDENCIES -; samplesrc/sanity.pla: 0008: word sgn - ; sgn = 0 -; samplesrc/sanity.pla: 0009: word exp - ; exp = 2 -; samplesrc/sanity.pla: 0010: byte sig[29] - ; sig = 4 -; samplesrc/sanity.pla: 0011: end - ; t_decrecord = 33 -; samplesrc/sanity.pla: 0012: struc t_decformat -; samplesrc/sanity.pla: 0013: word style - ; style = 0 -; samplesrc/sanity.pla: 0014: word digits - ; digits = 2 -; samplesrc/sanity.pla: 0015: end - ; t_decformat = 4 -; samplesrc/sanity.pla: 0016: // -; samplesrc/sanity.pla: 0017: // Test values -; samplesrc/sanity.pla: 0018: // -; samplesrc/sanity.pla: 0019: word iA, iB, iC, zero, fpEnv -_D029 !FILL 2 ; iA, iB, iC, zero, fpEnv -_D030 !FILL 2 ; iB, iC, zero, fpEnv -_D031 !FILL 2 ; iC, zero, fpEnv -_D032 !FILL 2 ; zero, fpEnv -_D033 !FILL 2 ; fpEnv -; samplesrc/sanity.pla: 0020: byte xT[t_extended] -_D034 !FILL 10 ; xT[t_extended] -; samplesrc/sanity.pla: 0021: byte strNum = "-100.25" -_D035 ; strNum = "-100.25" - !BYTE $07 - !BYTE $2D,$31,$30,$30,$2E,$32,$35 -; samplesrc/sanity.pla: 0022: byte strA[16] -_D036 !FILL 16 ; strA[16] -; samplesrc/sanity.pla: 0023: def prbyte(h)#0 -_SUBSEG ; BYTECODE STARTS - ; h -> [0] -_C000 ; prbyte() -; samplesrc/sanity.pla: 0024: putc('$') - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/sanity.pla: 0025: call($FDDA, h, 0, 0, 0) -; samplesrc/sanity.pla: 0026: end - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $2C,$DA,$FD ; CW 64986 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F001 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/sanity.pla: 0027: def prword(h)#0 - ; h -> [0] -_C001 ; prword() -; samplesrc/sanity.pla: 0028: putc('$') - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/sanity.pla: 0029: call($F941, h >> 8, h, 0, 0) -; samplesrc/sanity.pla: 0030: end - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F002 !WORD 0 - !BYTE $2C,$41,$F9 ; CW 63809 - !BYTE $64,$01 ; LLB [1] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F003 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/sanity.pla: 0031: // -; samplesrc/sanity.pla: 0032: // Parse string into decrecord -; samplesrc/sanity.pla: 0033: // -; samplesrc/sanity.pla: 0034: def str2ext(str, ext) - ; str -> [0] - ; ext -> [2] -_C002 ; str2ext() -; samplesrc/sanity.pla: 0035: byte i, s, d - ; i -> [4] - ; s -> [5] - ; d -> [6] -; samplesrc/sanity.pla: 0036: byte decrec[t_decrecord] - ; decrec -> [7] -; samplesrc/sanity.pla: 0037: word sgnadj, expadj - ; sgnadj -> [40] - ; expadj -> [42] -; samplesrc/sanity.pla: 0038: -; samplesrc/sanity.pla: 0039: decrec:sgn = 0 - !BYTE $58,$2C,$02 ; ENTER 44,2 -; samplesrc/sanity.pla: 0040: decrec:exp = 0 -; samplesrc/sanity.pla: 0041: decrec.sig = 0 -; samplesrc/sanity.pla: 0042: s = 1 -; samplesrc/sanity.pla: 0043: i = 1 -; samplesrc/sanity.pla: 0044: // -; samplesrc/sanity.pla: 0045: // Skip whitespace -; samplesrc/sanity.pla: 0046: // -; samplesrc/sanity.pla: 0047: while ^(str+i) <= ' ' and i <= ^str; i++; loop - !BYTE $00 ; CN 0 - !BYTE $76,$07 ; SLW [7] - !BYTE $00 ; CN 0 - !BYTE $76,$09 ; SLW [9] - !BYTE $00 ; CN 0 - !BYTE $74,$0B ; SLB [11] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $02 ; CN 1 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR - !BYTE $74,$04 ; SLB [4] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE -_B004 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; samplesrc/sanity.pla: 0048: // -; samplesrc/sanity.pla: 0049: // Check for sign -; samplesrc/sanity.pla: 0050: // -; samplesrc/sanity.pla: 0051: if ^(str+i) == '-' -; samplesrc/sanity.pla: 0052: decrec:sgn = 1 -; samplesrc/sanity.pla: 0053: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B005 - !WORD _B005-* - !BYTE $02 ; CN 1 - !BYTE $76,$07 ; SLW [7] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0054: elsif ^(str+i) == '+' - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B005 -; samplesrc/sanity.pla: 0055: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B007 - !WORD _B007-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0056: fin - !BYTE $74,$04 ; SLB [4] -_B007 -_B006 -; samplesrc/sanity.pla: 0057: // -; samplesrc/sanity.pla: 0058: // Skip leading zeros -; samplesrc/sanity.pla: 0059: // -; samplesrc/sanity.pla: 0060: while i <= ^str and ^(str+i) == '0' - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B008 -; samplesrc/sanity.pla: 0061: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0062: loop - !BYTE $74,$04 ; SLB [4] -_B010 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B011 - !WORD _B011-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B011 - !BYTE $4E ; BRTRU _B008 - !WORD _B008-* -_B009 -; samplesrc/sanity.pla: 0063: // -; samplesrc/sanity.pla: 0064: // Parse number -; samplesrc/sanity.pla: 0065: // -; samplesrc/sanity.pla: 0066: while i <= ^str - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B012 -; samplesrc/sanity.pla: 0067: d = toupper(^(str+i)) -; samplesrc/sanity.pla: 0068: if d >= '0' and d <= '9' -; samplesrc/sanity.pla: 0069: // -; samplesrc/sanity.pla: 0070: // Parse digit -; samplesrc/sanity.pla: 0071: // -; samplesrc/sanity.pla: 0072: decrec.sig[s] = ^(str+i) -; samplesrc/sanity.pla: 0073: decrec:sig++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F004 !WORD 0 - !BYTE $6C,$06 ; DLB [6] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B015 - !WORD _B015-* - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B015 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $28,$0B ; LLA [11] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $70 ; SB - !BYTE $66,$0B ; LLW [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0074: s++ - !BYTE $76,$0B ; SLW [11] - !BYTE $64,$05 ; LLB [5] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0075: elsif d == '.' - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B016 -; samplesrc/sanity.pla: 0076: // -; samplesrc/sanity.pla: 0077: // Parse decimal point -; samplesrc/sanity.pla: 0078: // -; samplesrc/sanity.pla: 0079: i++ - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B018 - !WORD _B018-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0080: while i <= ^str - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B019 -; samplesrc/sanity.pla: 0081: d = toupper(^(str+i)) -; samplesrc/sanity.pla: 0082: if d >= '0' and d <= '9' -; samplesrc/sanity.pla: 0083: decrec.sig[s] = ^(str+i) -; samplesrc/sanity.pla: 0084: decrec.sig++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F005 !WORD 0 - !BYTE $6C,$06 ; DLB [6] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B022 - !WORD _B022-* - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B022 - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $28,$0B ; LLA [11] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $70 ; SB - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0085: decrec:exp-- - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$09 ; LLW [9] - !BYTE $8E ; DECR -; samplesrc/sanity.pla: 0086: s++ - !BYTE $76,$09 ; SLW [9] - !BYTE $64,$05 ; LLB [5] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0087: elsif d == 'E' - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B023 -; samplesrc/sanity.pla: 0088: i-- - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$45 ; CB 69 - !BYTE $24 ; BRNE _B025 - !WORD _B025-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; samplesrc/sanity.pla: 0089: break - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B020 - !WORD _B020-* -; samplesrc/sanity.pla: 0090: else - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B025 -; samplesrc/sanity.pla: 0091: i = ^str -; samplesrc/sanity.pla: 0092: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] -_B024 -; samplesrc/sanity.pla: 0093: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0094: loop - !BYTE $74,$04 ; SLB [4] -_B021 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B019 - !WORD _B019-* -_B020 -; samplesrc/sanity.pla: 0095: elsif d == 'E' - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B018 -; samplesrc/sanity.pla: 0096: // -; samplesrc/sanity.pla: 0097: // Parse exponent -; samplesrc/sanity.pla: 0098: // -; samplesrc/sanity.pla: 0099: i++ - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$45 ; CB 69 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0100: expadj = 0 -; samplesrc/sanity.pla: 0101: sgnadj = 1 -; samplesrc/sanity.pla: 0102: if ^(str+i) == '-' -; samplesrc/sanity.pla: 0103: sgnadj = -1 -; samplesrc/sanity.pla: 0104: i++ - !BYTE $74,$04 ; SLB [4] - !BYTE $00 ; CN 0 - !BYTE $76,$2A ; SLW [42] - !BYTE $02 ; CN 1 - !BYTE $76,$28 ; SLW [40] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B027 - !WORD _B027-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$28 ; SLW [40] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0105: elsif ^(str+i) == '+' - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B027 -; samplesrc/sanity.pla: 0106: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B029 - !WORD _B029-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0107: fin - !BYTE $74,$04 ; SLB [4] -_B029 -_B028 -; samplesrc/sanity.pla: 0108: while i <= ^str - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B030 -; samplesrc/sanity.pla: 0109: d = ^(str+i) -; samplesrc/sanity.pla: 0110: i++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $74,$06 ; SLB [6] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0111: if d >= '0' and d <= '9' -; samplesrc/sanity.pla: 0112: expadj = expadj * 10 + (d - '0') -; samplesrc/sanity.pla: 0113: else - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $66,$2A ; LLW [42] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $64,$06 ; LLB [6] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $82 ; ADD - !BYTE $76,$2A ; SLW [42] - !BYTE $50 ; BRNCH _B035 - !WORD _B035-* -_B034 -; samplesrc/sanity.pla: 0114: i = ^str -; samplesrc/sanity.pla: 0115: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] -_B035 -; samplesrc/sanity.pla: 0116: loop -_B032 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* -_B031 -; samplesrc/sanity.pla: 0117: decrec:exp = decrec:exp + (sgnadj * expadj) -; samplesrc/sanity.pla: 0118: else - !BYTE $66,$09 ; LLW [9] - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2A ; LLW [42] - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $76,$09 ; SLW [9] - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B026 -; samplesrc/sanity.pla: 0119: i = ^str -; samplesrc/sanity.pla: 0120: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] -_B017 -; samplesrc/sanity.pla: 0121: i++ - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0122: loop - !BYTE $74,$04 ; SLB [4] -_B014 - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* -_B013 -; samplesrc/sanity.pla: 0123: // -; samplesrc/sanity.pla: 0124: // Strip leading zeros from sig -; samplesrc/sanity.pla: 0125: // -; samplesrc/sanity.pla: 0126: while decrec.sig > 1 and decrec.sig.1 == '0' - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B036 -; samplesrc/sanity.pla: 0127: decrec.sig-- - !BYTE $64,$0B ; LLB [11] - !BYTE $8E ; DECR -; samplesrc/sanity.pla: 0128: if decrec:exp < 0 -; samplesrc/sanity.pla: 0129: decrec:exp-- - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$09 ; LLW [9] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $66,$09 ; LLW [9] - !BYTE $8E ; DECR -; samplesrc/sanity.pla: 0130: fin - !BYTE $76,$09 ; SLW [9] -_B040 -_B041 -; samplesrc/sanity.pla: 0131: memcpy(@decrec.sig.1, @decrec.sig.2, decrec.sig) -; samplesrc/sanity.pla: 0132: loop - !BYTE $28,$0B ; LLA [11] - !BYTE $8C ; INCR - !BYTE $28,$0B ; LLA [11] - !BYTE $38,$02 ; ADDI 2 - !BYTE $64,$0B ; LLB [11] - !BYTE $54 ; CALL _X018 -_F006 !WORD 0 -_B038 - !BYTE $64,$0B ; LLB [11] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B039 - !WORD _B039-* - !BYTE $28,$0B ; LLA [11] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B039 - !BYTE $4E ; BRTRU _B036 - !WORD _B036-* -_B037 -; samplesrc/sanity.pla: 0133: // -; samplesrc/sanity.pla: 0134: // Check for zero -; samplesrc/sanity.pla: 0135: // -; samplesrc/sanity.pla: 0136: if !decrec.sig -; samplesrc/sanity.pla: 0137: decrec.sig = 1 -; samplesrc/sanity.pla: 0138: decrec.sig.1 = '0' -; samplesrc/sanity.pla: 0139: fin - !BYTE $64,$0B ; LLB [11] - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $02 ; CN 1 - !BYTE $74,$0B ; SLB [11] - !BYTE $2A,$30 ; CB 48 - !BYTE $28,$0B ; LLA [11] - !BYTE $8C ; INCR - !BYTE $70 ; SB -_B042 -_B043 -; samplesrc/sanity.pla: 0140: //putc(decrec.sgn ?? '-' :: '+'); puts(@decrec.sig); putc('e'); puti(decrec:exp); putln -; samplesrc/sanity.pla: 0141: sane:saveZP() -; samplesrc/sanity.pla: 0142: return sane:restoreZP(sane:op2FP(FFEXT|FOD2B, ext, @decrec)) - !BYTE $6A ; LAW _X028+18 -_F007 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $12 ; CN 9 - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _X028+8 -_F008 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F009 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $5A,$2C ; LEAVE 44 -; samplesrc/sanity.pla: 0143: end -; samplesrc/sanity.pla: 0144: def ext2str(ext, str, intdigits, fracdigits, format) - ; ext -> [0] - ; str -> [2] - ; intdigits -> [4] - ; fracdigits -> [6] - ; format -> [8] -_C003 ; ext2str() -; samplesrc/sanity.pla: 0145: byte d, i, sigdigits, numdigits - ; d -> [10] - ; i -> [11] - ; sigdigits -> [12] - ; numdigits -> [13] -; samplesrc/sanity.pla: 0146: word dp, tens - ; dp -> [14] - ; tens -> [16] -; samplesrc/sanity.pla: 0147: byte decform[t_decformat] - ; decform -> [18] -; samplesrc/sanity.pla: 0148: byte decrec[t_decrecord] - ; decrec -> [22] -; samplesrc/sanity.pla: 0149: -; samplesrc/sanity.pla: 0150: numdigits = intdigits + fracdigits - !BYTE $58,$37,$05 ; ENTER 55,5 -; samplesrc/sanity.pla: 0151: decform:style = format & $01 -; samplesrc/sanity.pla: 0152: decform:digits = decform:style ?? fracdigits :: numdigits -; samplesrc/sanity.pla: 0153: sane:saveZP() -; samplesrc/sanity.pla: 0154: sane:restoreZP(sane:op3FP(FFEXT|FOB2D, @decrec, ext, @decform)) -; samplesrc/sanity.pla: 0155: ^(str+1) = decrec.sgn ?? '-' :: ' ' -; samplesrc/sanity.pla: 0156: if decrec.sig.1 == 'I' -; samplesrc/sanity.pla: 0157: ^(str+2) = 'I' -; samplesrc/sanity.pla: 0158: ^(str+3) = 'n' -; samplesrc/sanity.pla: 0159: ^(str+4) = 'f' -; samplesrc/sanity.pla: 0160: ^str = 4 -; samplesrc/sanity.pla: 0161: return str - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $74,$0D ; SLB [13] - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $6E,$12 ; DLW [18] - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $66,$06 ; LLW [6] - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B044 - !BYTE $64,$0D ; LLB [13] -_B045 - !BYTE $76,$14 ; SLW [20] - !BYTE $6A ; LAW _X028+18 -_F010 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $16 ; CN 11 - !BYTE $28,$16 ; LLA [22] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$12 ; LLA [18] - !BYTE $6A ; LAW _X028+10 -_F011 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X028+20 -_F012 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$16 ; LLB [22] - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $2A,$2D ; CB 45 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 - !BYTE $2A,$20 ; CB 32 -_B047 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$49 ; CB 73 - !BYTE $24 ; BRNE _B048 - !WORD _B048-* - !BYTE $2A,$49 ; CB 73 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$6E ; CB 110 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2A,$66 ; CB 102 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$37 ; LEAVE 55 -; samplesrc/sanity.pla: 0162: fin -_B048 -_B049 -; samplesrc/sanity.pla: 0163: if decrec.sig.1 == 'N' -; samplesrc/sanity.pla: 0164: ^(str+2) = 'N' -; samplesrc/sanity.pla: 0165: ^(str+3) = 'a' -; samplesrc/sanity.pla: 0166: ^(str+4) = 'N' -; samplesrc/sanity.pla: 0167: ^str = 4 -; samplesrc/sanity.pla: 0168: return str - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$4E ; CB 78 - !BYTE $24 ; BRNE _B050 - !WORD _B050-* - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$61 ; CB 97 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$37 ; LEAVE 55 -; samplesrc/sanity.pla: 0169: fin -_B050 -_B051 -; samplesrc/sanity.pla: 0170: if decrec.sig.1 == '0' -; samplesrc/sanity.pla: 0171: while decrec.sig < fracdigits - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $24 ; BRNE _B052 - !WORD _B052-* - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B054 -; samplesrc/sanity.pla: 0172: decrec.sig++ - !BYTE $64,$1A ; LLB [26] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0173: decrec.sig[decrec.sig] = '0' -; samplesrc/sanity.pla: 0174: loop - !BYTE $74,$1A ; SLB [26] - !BYTE $2A,$30 ; CB 48 - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$1A ; ADDLB [26] - !BYTE $70 ; SB -_B056 - !BYTE $64,$1A ; LLB [26] - !BYTE $66,$06 ; LLW [6] - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B054 - !WORD _B054-* -_B055 -; samplesrc/sanity.pla: 0175: decrec:exp = -decrec.sig -; samplesrc/sanity.pla: 0176: fin - !BYTE $64,$1A ; LLB [26] - !BYTE $90 ; NEG - !BYTE $76,$18 ; SLW [24] -_B052 -_B053 -; samplesrc/sanity.pla: 0177: dp = decrec.sig + decrec:exp -; samplesrc/sanity.pla: 0178: sigdigits = decrec.sig -; samplesrc/sanity.pla: 0179: if decrec:exp < 0 and format & $02 -; samplesrc/sanity.pla: 0180: // -; samplesrc/sanity.pla: 0181: // Strip off trailing fractional zeros -; samplesrc/sanity.pla: 0182: // -; samplesrc/sanity.pla: 0183: while sigdigits > dp and decrec.sig[sigdigits] == '0' - !BYTE $64,$1A ; LLB [26] - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $76,$0E ; SLW [14] - !BYTE $64,$1A ; LLB [26] - !BYTE $74,$0C ; SLB [12] - !BYTE $66,$18 ; LLW [24] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B057 - !WORD _B057-* - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$02 ; ANDI 2 -_B057 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B060 -; samplesrc/sanity.pla: 0184: sigdigits-- - !BYTE $64,$0C ; LLB [12] - !BYTE $8E ; DECR -; samplesrc/sanity.pla: 0185: decrec:exp++ - !BYTE $74,$0C ; SLB [12] - !BYTE $66,$18 ; LLW [24] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0186: loop - !BYTE $76,$18 ; SLW [24] -_B062 - !BYTE $64,$0C ; LLB [12] - !BYTE $66,$0E ; LLW [14] - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B063 - !WORD _B063-* - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$0C ; ADDLB [12] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ -_B063 - !BYTE $4E ; BRTRU _B060 - !WORD _B060-* -_B061 -; samplesrc/sanity.pla: 0187: fin -_B058 -_B059 -; samplesrc/sanity.pla: 0188: //puts("sigdigits: "); puti(sigdigits); putln -; samplesrc/sanity.pla: 0189: //putc(decrec.sgn ?? '-' :: '+'); puts(@decrec.sig); putc('e'); puti(decrec:exp); putln -; samplesrc/sanity.pla: 0190: //if sigdigits - decrec:exp > numdigits or decrec:exp > 0 or format & $04 -; samplesrc/sanity.pla: 0191: if -decrec:exp > numdigits or decrec:exp > 0 or format & $04 -; samplesrc/sanity.pla: 0192: // -; samplesrc/sanity.pla: 0193: // Convert to exponential format -; samplesrc/sanity.pla: 0194: // -; samplesrc/sanity.pla: 0195: ^(str+2) = decrec.sig.1 -; samplesrc/sanity.pla: 0196: ^(str+3) = '.' -; samplesrc/sanity.pla: 0197: i = 3 -; samplesrc/sanity.pla: 0198: for d = 0 to fracdigits//decrec.sig - !BYTE $66,$18 ; LLW [24] - !BYTE $90 ; NEG - !BYTE $64,$0D ; LLB [13] - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B064 - !WORD _B064-* - !BYTE $66,$18 ; LLW [24] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B065 - !WORD _B065-* - !BYTE $66,$08 ; LLW [8] - !BYTE $3C,$04 ; ANDI 4 -_B065 -_B064 - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $28,$1A ; LLA [26] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2A,$2E ; CB 46 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $06 ; CN 3 - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$06 ; LLW [6] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B068 - !WORD _B068-* -_B069 - !BYTE $6C,$0A ; DLB [10] -; samplesrc/sanity.pla: 0199: i++ - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0200: ^(str+i) = decrec.sig.2[d] -; samplesrc/sanity.pla: 0201: next - !BYTE $74,$0B ; SLB [11] - !BYTE $28,$1A ; LLA [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB -_B070 - !BYTE $A4 ; INCBRLE _B069 - !WORD _B069-* -_B068 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; samplesrc/sanity.pla: 0202: // -; samplesrc/sanity.pla: 0203: // Copy over all significant digits -; samplesrc/sanity.pla: 0204: // -; samplesrc/sanity.pla: 0205: if ^(str+i) == '.'; i--; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B071 - !WORD _B071-* - !BYTE $64,$0B ; LLB [11] - !BYTE $8E ; DECR - !BYTE $74,$0B ; SLB [11] -_B071 -_B072 -; samplesrc/sanity.pla: 0206: i++ - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0207: ^(str+i) = 'E' -; samplesrc/sanity.pla: 0208: i++ - !BYTE $74,$0B ; SLB [11] - !BYTE $2A,$45 ; CB 69 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0209: dp-- - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; samplesrc/sanity.pla: 0210: if dp < 0 -; samplesrc/sanity.pla: 0211: ^(str+i) = '-' -; samplesrc/sanity.pla: 0212: dp = -dp -; samplesrc/sanity.pla: 0213: else - !BYTE $6E,$0E ; DLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $2A,$2D ; CB 45 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $76,$0E ; SLW [14] - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B073 -; samplesrc/sanity.pla: 0214: ^(str+i) = '+' -; samplesrc/sanity.pla: 0215: if dp == 0 -; samplesrc/sanity.pla: 0216: i++ - !BYTE $2A,$2B ; CB 43 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB - !BYTE $66,$0E ; LLW [14] - !BYTE $4E ; BRTRU _B075 - !WORD _B075-* - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0217: ^(str+i) = '0' -; samplesrc/sanity.pla: 0218: fin - !BYTE $74,$0B ; SLB [11] - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB -_B075 -_B076 -; samplesrc/sanity.pla: 0219: fin -_B074 -; samplesrc/sanity.pla: 0220: // -; samplesrc/sanity.pla: 0221: // Pretty output the exponent (preceding zero for values less than 10) -; samplesrc/sanity.pla: 0222: d = 0 -; samplesrc/sanity.pla: 0223: tens = 10000 -; samplesrc/sanity.pla: 0224: while dp - !BYTE $00 ; CN 0 - !BYTE $74,$0A ; SLB [10] - !BYTE $2C,$10,$27 ; CW 10000 - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B077 -; samplesrc/sanity.pla: 0225: d = d or tens <= 10 -; samplesrc/sanity.pla: 0226: if dp >= tens or d -; samplesrc/sanity.pla: 0227: d = 1 -; samplesrc/sanity.pla: 0228: i++ - !BYTE $64,$0A ; LLB [10] - !BYTE $AE ; BROR _B080 - !WORD _B080-* - !BYTE $66,$10 ; LLW [16] - !BYTE $14 ; CN 10 - !BYTE $4A ; ISLE -_B080 - !BYTE $74,$0A ; SLB [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $48 ; ISGE - !BYTE $AE ; BROR _B081 - !WORD _B081-* - !BYTE $64,$0A ; LLB [10] -_B081 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $02 ; CN 1 - !BYTE $74,$0A ; SLB [10] - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0229: ^(str+i) = (dp / tens) + '0' -; samplesrc/sanity.pla: 0230: fin - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $88 ; DIV - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB -_B082 -_B083 -; samplesrc/sanity.pla: 0231: dp = dp % tens -; samplesrc/sanity.pla: 0232: tens = tens / 10 -; samplesrc/sanity.pla: 0233: if !tens; break; fin - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $8A ; MOD - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $6E,$10 ; DLW [16] - !BYTE $4E ; BRTRU _B084 - !WORD _B084-* - !BYTE $50 ; BRNCH _B078 - !WORD _B078-* -_B084 -_B085 -; samplesrc/sanity.pla: 0234: loop -_B079 - !BYTE $66,$0E ; LLW [14] - !BYTE $4E ; BRTRU _B077 - !WORD _B077-* -_B078 -; samplesrc/sanity.pla: 0235: //puts("DP=");puti(dp);puts(" digits="); puti(decrec.sig); puts(" exp="); puti(decrec:exp); putln -; samplesrc/sanity.pla: 0236: else - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B066 -; samplesrc/sanity.pla: 0237: // -; samplesrc/sanity.pla: 0238: // Convert as floating point -; samplesrc/sanity.pla: 0239: // -; samplesrc/sanity.pla: 0240: //puts("DP=");puti(dp);puts(" digits="); puti(decrec.sig); puts(" exp="); puti(decrec:exp); putln -; samplesrc/sanity.pla: 0241: i = 1 -; samplesrc/sanity.pla: 0242: if dp <= 0 -; samplesrc/sanity.pla: 0243: *(str+2) = '0'|('.'<<8) -; samplesrc/sanity.pla: 0244: i = 3 -; samplesrc/sanity.pla: 0245: while dp < 0 - !BYTE $02 ; CN 1 - !BYTE $74,$0B ; SLB [11] - !BYTE $66,$0E ; LLW [14] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $2C,$30,$2E ; CW 11824 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $06 ; CN 3 - !BYTE $74,$0B ; SLB [11] - !BYTE $50 ; BRNCH _B090 - !WORD _B090-* -_B088 -; samplesrc/sanity.pla: 0246: dp++ - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0247: i++ - !BYTE $76,$0E ; SLW [14] - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0248: ^(str+i) = '0' -; samplesrc/sanity.pla: 0249: loop - !BYTE $74,$0B ; SLB [11] - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB -_B090 - !BYTE $66,$0E ; LLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B088 - !WORD _B088-* -_B089 -; samplesrc/sanity.pla: 0250: fin -_B086 -_B087 -; samplesrc/sanity.pla: 0251: for d = 1 to sigdigits - !BYTE $64,$0C ; LLB [12] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B091 - !WORD _B091-* -_B092 - !BYTE $6C,$0A ; DLB [10] -; samplesrc/sanity.pla: 0252: i++ - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0253: ^(str+i) = decrec.sig[d] -; samplesrc/sanity.pla: 0254: if d == dp -; samplesrc/sanity.pla: 0255: i++ - !BYTE $74,$0B ; SLB [11] - !BYTE $28,$1A ; LLA [26] - !BYTE $B0,$0A ; ADDLB [10] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB - !BYTE $64,$0A ; LLB [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $24 ; BRNE _B094 - !WORD _B094-* - !BYTE $64,$0B ; LLB [11] - !BYTE $8C ; INCR -; samplesrc/sanity.pla: 0256: ^(str+i) = '.' -; samplesrc/sanity.pla: 0257: fin - !BYTE $74,$0B ; SLB [11] - !BYTE $2A,$2E ; CB 46 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $70 ; SB -_B094 -_B095 -; samplesrc/sanity.pla: 0258: next -_B093 - !BYTE $A4 ; INCBRLE _B092 - !WORD _B092-* -_B091 - !BYTE $74,$0A ; SLB [10] - !BYTE $30 ; DROP -; samplesrc/sanity.pla: 0259: if ^(str+i) == '.'; i--; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$0B ; ADDLB [11] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B096 - !WORD _B096-* - !BYTE $64,$0B ; LLB [11] - !BYTE $8E ; DECR - !BYTE $74,$0B ; SLB [11] -_B096 -_B097 -; samplesrc/sanity.pla: 0260: fin -_B067 -; samplesrc/sanity.pla: 0261: ^str = i -; samplesrc/sanity.pla: 0262: return str - !BYTE $64,$0B ; LLB [11] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$37 ; LEAVE 55 -; samplesrc/sanity.pla: 0263: end -; samplesrc/sanity.pla: 0264: def divstri(strNum, denom, format)#0 - ; strNum -> [0] - ; denom -> [2] - ; format -> [4] -_C004 ; divstri() -; samplesrc/sanity.pla: 0265: byte strResult[20] - ; strResult -> [6] -; samplesrc/sanity.pla: 0266: byte xResult[t_extended] - ; xResult -> [26] -; samplesrc/sanity.pla: 0267: -; samplesrc/sanity.pla: 0268: // -; samplesrc/sanity.pla: 0269: // Convert string to and from SANE -; samplesrc/sanity.pla: 0270: // -; samplesrc/sanity.pla: 0271: str2ext(strNum, @xResult) - !BYTE $58,$24,$03 ; ENTER 36,3 -; samplesrc/sanity.pla: 0272: sane:saveZP() -; samplesrc/sanity.pla: 0273: sane:op2FP(FFINT|FODIV, @xResult, @denom) // Div int denom into ext Result -; samplesrc/sanity.pla: 0274: sane:restoreZP(0) -; samplesrc/sanity.pla: 0275: ext2str(@xResult, @strResult, 6, 4, format)//format & $05 ?? 1 :: 6, 4, format) -; samplesrc/sanity.pla: 0276: puts(strNum); putc('/'); puti(denom); putc('='); puts(@strResult); putln -; samplesrc/sanity.pla: 0277: end - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$1A ; LLA [26] - !BYTE $54 ; CALL _C002 -_F013 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F014 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$06,$04 ; CW 1030 - !BYTE $28,$1A ; LLA [26] - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X028+8 -_F015 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F016 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$1A ; LLA [26] - !BYTE $28,$06 ; LLA [6] - !BYTE $0C ; CN 6 - !BYTE $08 ; CN 4 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C003 -_F017 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F019 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F020 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F021 !WORD 0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 - !BYTE $54 ; CALL _X003 -_F023 !WORD 0 - !BYTE $5A,$24 ; LEAVE 36 -; samplesrc/sanity.pla: 0278: // -; samplesrc/sanity.pla: 0279: // My custom SANE exception handler -; samplesrc/sanity.pla: 0280: // -; samplesrc/sanity.pla: 0281: def myException(pstatus) - ; pstatus -> [0] -_C005 ; myException() -; samplesrc/sanity.pla: 0282: sane:restoreZP(0) - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/sanity.pla: 0283: puts("Floating point exception:") - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F024 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $19 - !BYTE $46,$6C,$6F,$61,$74,$69,$6E,$67 - !BYTE $20,$70,$6F,$69,$6E,$74,$20,$65 - !BYTE $78,$63,$65,$70,$74,$69,$6F,$6E - !BYTE $3A - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 -; samplesrc/sanity.pla: 0284: if pstatus->8 & FBINVALID; puts(" INVALID"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $20,$49,$4E,$56,$41,$4C,$49,$44 - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 -_B098 -_B099 -; samplesrc/sanity.pla: 0285: if pstatus->8 & FBUFLOW; puts(" UNDERFLOW"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B100 - !WORD _B100-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$55,$4E,$44,$45,$52,$46,$4C - !BYTE $4F,$57 - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 -_B100 -_B101 -; samplesrc/sanity.pla: 0286: if pstatus->8 & FBOFLOW; puts(" OVERFLOW"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $60 ; LB - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B102 - !WORD _B102-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $20,$4F,$56,$45,$52,$46,$4C,$4F - !BYTE $57 - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -_B102 -_B103 -; samplesrc/sanity.pla: 0287: if pstatus->8 & FBDIVZER; puts(" DIV_BY_ZERO"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B104 - !WORD _B104-* - !BYTE $2E ; CS - !BYTE $0C - !BYTE $20,$44,$49,$56,$5F,$42,$59,$5F - !BYTE $5A,$45,$52,$4F - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 -_B104 -_B105 -; samplesrc/sanity.pla: 0288: if pstatus->8 & FBINEXACT; puts(" INEXACT"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B106 - !WORD _B106-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $20,$49,$4E,$45,$58,$41,$43,$54 - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -_B106 -_B107 -; samplesrc/sanity.pla: 0289: putln -; samplesrc/sanity.pla: 0290: sane:saveZP() -; samplesrc/sanity.pla: 0291: return pstatus=>4 - !BYTE $54 ; CALL _X003 -_F031 !WORD 0 - !BYTE $6A ; LAW _X028+18 -_F032 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/sanity.pla: 0292: end -; samplesrc/sanity.pla: 0293: -; samplesrc/sanity.pla: 0294: -; samplesrc/sanity.pla: 0295: iA = 3 -_INIT -; samplesrc/sanity.pla: 0296: iB = 4 -; samplesrc/sanity.pla: 0297: iC = -1 -; samplesrc/sanity.pla: 0298: zero = 0 -; samplesrc/sanity.pla: 0299: puts("SANE sanity test...\n") - !BYTE $06 ; CN 3 - !BYTE $7A ; SAW _D029+0 -_F033 !WORD _D029+0 - !BYTE $08 ; CN 4 - !BYTE $7A ; SAW _D030+0 -_F034 !WORD _D030+0 - !BYTE $20 ; MINUS ONE - !BYTE $7A ; SAW _D031+0 -_F035 !WORD _D031+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D032+0 -_F036 !WORD _D032+0 - !BYTE $2E ; CS - !BYTE $14 - !BYTE $53,$41,$4E,$45,$20,$73,$61,$6E - !BYTE $69,$74,$79,$20,$74,$65,$73,$74 - !BYTE $2E,$2E,$2E,$0D - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 -; samplesrc/sanity.pla: 0300: sane:initFP() -; samplesrc/sanity.pla: 0301: sane:saveZP() -; samplesrc/sanity.pla: 0302: sane:op2FP(FFINT|FOZ2X, @xT, @iA) // Convert int A to ext T -; samplesrc/sanity.pla: 0303: sane:op2FP(FFINT|FOADD, @xT, @iB) // Add int B to ext T -; samplesrc/sanity.pla: 0304: sane:op2FP(FFINT|FOX2Z, @iC, @xT) // Convert ext T to int C -; samplesrc/sanity.pla: 0305: sane:restoreZP(0) -; samplesrc/sanity.pla: 0306: puti(iA); putc('+'); puti(iB); putc('='); puti(iC); putc('\n') -; samplesrc/sanity.pla: 0307: sane:saveZP() -; samplesrc/sanity.pla: 0308: sane:op2FP(FFINT|FOZ2X, @xT, @iA) // Convert int A to ext T -; samplesrc/sanity.pla: 0309: sane:op2FP(FFINT|FOSUB, @xT, @iB) // Sub int B from ext T -; samplesrc/sanity.pla: 0310: sane:op2FP(FFINT|FOX2Z, @iC, @xT) // Convert ext T to int C -; samplesrc/sanity.pla: 0311: sane:restoreZP(0) -; samplesrc/sanity.pla: 0312: puti(iA); putc('-'); puti(iB); putc('='); puti(iC); putc('\n') -; samplesrc/sanity.pla: 0313: sane:saveZP() -; samplesrc/sanity.pla: 0314: sane:op2FP(FFINT|FOZ2X, @xT, @iA) // Convert int A to ext T -; samplesrc/sanity.pla: 0315: sane:op2FP(FFINT|FOMUL, @xT, @iB) // Mul int B by ext T -; samplesrc/sanity.pla: 0316: sane:op2FP(FFINT|FOX2Z, @iC, @xT) // Convert ext T to int C -; samplesrc/sanity.pla: 0317: sane:restoreZP(0) -; samplesrc/sanity.pla: 0318: puti(iA); putc('*'); puti(iB); putc('='); puti(iC); putc('\n') -; samplesrc/sanity.pla: 0319: sane:saveZP() -; samplesrc/sanity.pla: 0320: sane:op2FP(FFINT|FOZ2X, @xT, @iA) // Convert int A to ext T -; samplesrc/sanity.pla: 0321: sane:op2FP(FFINT|FODIV, @xT, @iB) // Div int B into ext T -; samplesrc/sanity.pla: 0322: sane:op2FP(FFINT|FOX2Z, @iC, @xT) // Convert ext T to int C -; samplesrc/sanity.pla: 0323: sane:restoreZP(0) -; samplesrc/sanity.pla: 0324: puti(iA); putc('/'); puti(iB); putc('='); puti(iC); putc('\n') -; samplesrc/sanity.pla: 0325: // -; samplesrc/sanity.pla: 0326: // Hook custom HALT exception handler and divide by zero :-) -; samplesrc/sanity.pla: 0327: // Enable all exceptions -; samplesrc/sanity.pla: 0328: // -; samplesrc/sanity.pla: 0329: sane:saveZP() -; samplesrc/sanity.pla: 0330: sane:haltFP = @myException -; samplesrc/sanity.pla: 0331: fpEnv = sane:op0FP(FOGETENV) -; samplesrc/sanity.pla: 0332: sane:op1FP(FOSETENV, fpEnv | FBINVALID | FBUFLOW | FBOFLOW | FBDIVZER | FBINEXACT) -; samplesrc/sanity.pla: 0333: sane:restoreZP(0) -; samplesrc/sanity.pla: 0334: // -; samplesrc/sanity.pla: 0335: // String conversion tests -; samplesrc/sanity.pla: 0336: // -; samplesrc/sanity.pla: 0337: divstri("-3", 0, 2) - !BYTE $6A ; LAW _X028+0 -_F038 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X028+18 -_F039 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D034+0 -_F040 !WORD _D034+0 - !BYTE $26 ; LA _D029+0 -_F041 !WORD _D029+0 - !BYTE $6A ; LAW _X028+8 -_F042 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $26 ; LA _D034+0 -_F043 !WORD _D034+0 - !BYTE $26 ; LA _D030+0 -_F044 !WORD _D030+0 - !BYTE $6A ; LAW _X028+8 -_F045 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $26 ; LA _D031+0 -_F046 !WORD _D031+0 - !BYTE $26 ; LA _D034+0 -_F047 !WORD _D034+0 - !BYTE $6A ; LAW _X028+8 -_F048 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F049 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D029+0 -_F050 !WORD _D029+0 - !BYTE $54 ; CALL _X005 -_F051 !WORD 0 - !BYTE $2A,$2B ; CB 43 - !BYTE $54 ; CALL _X002 -_F052 !WORD 0 - !BYTE $6A ; LAW _D030+0 -_F053 !WORD _D030+0 - !BYTE $54 ; CALL _X005 -_F054 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F055 !WORD 0 - !BYTE $6A ; LAW _D031+0 -_F056 !WORD _D031+0 - !BYTE $54 ; CALL _X005 -_F057 !WORD 0 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X002 -_F058 !WORD 0 - !BYTE $6A ; LAW _X028+18 -_F059 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D034+0 -_F060 !WORD _D034+0 - !BYTE $26 ; LA _D029+0 -_F061 !WORD _D029+0 - !BYTE $6A ; LAW _X028+8 -_F062 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$02,$04 ; CW 1026 - !BYTE $26 ; LA _D034+0 -_F063 !WORD _D034+0 - !BYTE $26 ; LA _D030+0 -_F064 !WORD _D030+0 - !BYTE $6A ; LAW _X028+8 -_F065 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $26 ; LA _D031+0 -_F066 !WORD _D031+0 - !BYTE $26 ; LA _D034+0 -_F067 !WORD _D034+0 - !BYTE $6A ; LAW _X028+8 -_F068 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F069 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D029+0 -_F070 !WORD _D029+0 - !BYTE $54 ; CALL _X005 -_F071 !WORD 0 - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _X002 -_F072 !WORD 0 - !BYTE $6A ; LAW _D030+0 -_F073 !WORD _D030+0 - !BYTE $54 ; CALL _X005 -_F074 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F075 !WORD 0 - !BYTE $6A ; LAW _D031+0 -_F076 !WORD _D031+0 - !BYTE $54 ; CALL _X005 -_F077 !WORD 0 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X002 -_F078 !WORD 0 - !BYTE $6A ; LAW _X028+18 -_F079 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D034+0 -_F080 !WORD _D034+0 - !BYTE $26 ; LA _D029+0 -_F081 !WORD _D029+0 - !BYTE $6A ; LAW _X028+8 -_F082 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $26 ; LA _D034+0 -_F083 !WORD _D034+0 - !BYTE $26 ; LA _D030+0 -_F084 !WORD _D030+0 - !BYTE $6A ; LAW _X028+8 -_F085 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $26 ; LA _D031+0 -_F086 !WORD _D031+0 - !BYTE $26 ; LA _D034+0 -_F087 !WORD _D034+0 - !BYTE $6A ; LAW _X028+8 -_F088 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F089 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D029+0 -_F090 !WORD _D029+0 - !BYTE $54 ; CALL _X005 -_F091 !WORD 0 - !BYTE $2A,$2A ; CB 42 - !BYTE $54 ; CALL _X002 -_F092 !WORD 0 - !BYTE $6A ; LAW _D030+0 -_F093 !WORD _D030+0 - !BYTE $54 ; CALL _X005 -_F094 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F095 !WORD 0 - !BYTE $6A ; LAW _D031+0 -_F096 !WORD _D031+0 - !BYTE $54 ; CALL _X005 -_F097 !WORD 0 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X002 -_F098 !WORD 0 - !BYTE $6A ; LAW _X028+18 -_F099 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$0E,$04 ; CW 1038 - !BYTE $26 ; LA _D034+0 -_F100 !WORD _D034+0 - !BYTE $26 ; LA _D029+0 -_F101 !WORD _D029+0 - !BYTE $6A ; LAW _X028+8 -_F102 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$06,$04 ; CW 1030 - !BYTE $26 ; LA _D034+0 -_F103 !WORD _D034+0 - !BYTE $26 ; LA _D030+0 -_F104 !WORD _D030+0 - !BYTE $6A ; LAW _X028+8 -_F105 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $26 ; LA _D031+0 -_F106 !WORD _D031+0 - !BYTE $26 ; LA _D034+0 -_F107 !WORD _D034+0 - !BYTE $6A ; LAW _X028+8 -_F108 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F109 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D029+0 -_F110 !WORD _D029+0 - !BYTE $54 ; CALL _X005 -_F111 !WORD 0 - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F112 !WORD 0 - !BYTE $6A ; LAW _D030+0 -_F113 !WORD _D030+0 - !BYTE $54 ; CALL _X005 -_F114 !WORD 0 - !BYTE $2A,$3D ; CB 61 - !BYTE $54 ; CALL _X002 -_F115 !WORD 0 - !BYTE $6A ; LAW _D031+0 -_F116 !WORD _D031+0 - !BYTE $54 ; CALL _X005 -_F117 !WORD 0 - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _X002 -_F118 !WORD 0 - !BYTE $6A ; LAW _X028+18 -_F119 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _C005+0 -_F120 !WORD _C005+0 - !BYTE $7A ; SAW _X028+2 -_F121 !WORD 0+2 - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X028+4 -_F122 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D033+0 -_F123 !WORD _D033+0 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D033+0 -_F124 !WORD _D033+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $3E,$02 ; ORI 2 - !BYTE $3E,$04 ; ORI 4 - !BYTE $3E,$08 ; ORI 8 - !BYTE $3E,$10 ; ORI 16 - !BYTE $6A ; LAW _X028+6 -_F125 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+20 -_F126 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2D,$33 - !BYTE $00 ; CN 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F127 !WORD _C004 -; samplesrc/sanity.pla: 0338: divstri("3", 0, 2) - !BYTE $2E ; CS - !BYTE $01 - !BYTE $33 - !BYTE $00 ; CN 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F128 !WORD _C004 -; samplesrc/sanity.pla: 0339: divstri("-100.5", 4, 2) - !BYTE $2E ; CS - !BYTE $06 - !BYTE $2D,$31,$30,$30,$2E,$35 - !BYTE $08 ; CN 4 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F129 !WORD _C004 -; samplesrc/sanity.pla: 0340: divstri("00.5", 2, 2) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $30,$30,$2E,$35 - !BYTE $04 ; CN 2 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C004 -_F130 !WORD _C004 -; samplesrc/sanity.pla: 0341: divstri(".5", 10, 3) - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2E,$35 - !BYTE $14 ; CN 10 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C004 -_F131 !WORD _C004 -; samplesrc/sanity.pla: 0342: divstri("800000", 2, 2) - !BYTE $2E ; CS - !BYTE $06 - !BYTE $38,$30,$30,$30,$30,$30 - !BYTE $04 ; CN 2 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C004 -_F132 !WORD _C004 -; samplesrc/sanity.pla: 0343: divstri("800000", 2, 4) - !BYTE $2E ; CS - !BYTE $06 - !BYTE $38,$30,$30,$30,$30,$30 - !BYTE $04 ; CN 2 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _C004 -_F133 !WORD _C004 -; samplesrc/sanity.pla: 0344: divstri("1e+2", 2, 2) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $31,$65,$2B,$32 - !BYTE $04 ; CN 2 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C004 -_F134 !WORD _C004 -; samplesrc/sanity.pla: 0345: divstri("-1e-2", 2, 2) - !BYTE $2E ; CS - !BYTE $05 - !BYTE $2D,$31,$65,$2D,$32 - !BYTE $04 ; CN 2 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C004 -_F135 !WORD _C004 -; samplesrc/sanity.pla: 0346: divstri("0", 1, 2) - !BYTE $2E ; CS - !BYTE $01 - !BYTE $30 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F136 !WORD _C004 -; samplesrc/sanity.pla: 0347: divstri("1000", 1, 1) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $31,$30,$30,$30 - !BYTE $02 ; CN 1 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C004 -_F137 !WORD _C004 -; samplesrc/sanity.pla: 0348: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 7 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: SANE - !BYTE $D3,$C1,$CE,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/sfm.a b/src/samplesrc/sfm.a deleted file mode 100644 index 51cf17c..0000000 --- a/src/samplesrc/sfm.a +++ /dev/null @@ -1,3933 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/sfm.pla: 0001: // -; samplesrc/sfm.pla: 0002: // Ziggy Stardust and the Spiders from Mars -; samplesrc/sfm.pla: 0003: // -; samplesrc/sfm.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/sfm.pla: 0004: -; samplesrc/sfm.pla: 0005: include "inc/hgrlib.plh" -; inc/hgrlib.plh: 0001: import hgrlib - ; DCI STRING: HGRLIB - !BYTE $C8,$C7,$D2,$CC,$C9,$42 - ; HGRLIB -> X028 -; inc/hgrlib.plh: 0002: predef divmod7(x)#2 - ; DIVMOD7 -> X029 -; inc/hgrlib.plh: 0003: predef hgrPlot(x, y)#0 - ; HGRPLOT -> X030 -; inc/hgrlib.plh: 0004: predef hgrOrPlot(x, y)#0 - ; HGRORPLOT -> X031 -; inc/hgrlib.plh: 0005: predef hgrXorPlot(x, y)#0 - ; HGRXORPLOT -> X032 -; inc/hgrlib.plh: 0006: predef hgrHLin(x1, x2, y)#0 - ; HGRHLIN -> X033 -; inc/hgrlib.plh: 0007: predef hgrVLin(y1, y2, x)#0 - ; HGRVLIN -> X034 -; inc/hgrlib.plh: 0008: predef hgrXorHLin(x1, x2, y)#0 - ; HGRXORHLIN -> X035 -; inc/hgrlib.plh: 0009: predef hgrXorVLin(y1, y2, x)#0 - ; HGRXORVLIN -> X036 -; inc/hgrlib.plh: 0010: predef hgrRect(x1, y1, x2, y2)#0 - ; HGRRECT -> X037 -; inc/hgrlib.plh: 0011: predef hgrXorRect(x1, y1, x2, y2)#0 - ; HGRXORRECT -> X038 -; inc/hgrlib.plh: 0012: predef hgrBLT(x, y, width, height, srcptr)#0 - ; HGRBLT -> X039 -; inc/hgrlib.plh: 0013: predef hgrCopySrc(ofst, y, w, h, srcptr)#0 - ; HGRCOPYSRC -> X040 -; inc/hgrlib.plh: 0014: predef hgrAndSrc(ofst, y, w, h, srcptr)#0 - ; HGRANDSRC -> X041 -; inc/hgrlib.plh: 0015: predef hgrXorSrc(ofst, y, w, h, srcptr)#0 - ; HGRXORSRC -> X042 -; inc/hgrlib.plh: 0016: predef hgrOrSrc(ofst, y, w, h, srcptr)#0 - ; HGRORSRC -> X043 -; inc/hgrlib.plh: 0017: predef hgrCopyDst(ofst, y, w, h, dstptr)#0 - ; HGRCOPYDST -> X044 -; inc/hgrlib.plh: 0018: predef hgrMode(mode)#1 - ; HGRMODE -> X045 -; inc/hgrlib.plh: 0019: predef hgrClear#0 - ; HGRCLEAR -> X046 -; inc/hgrlib.plh: 0020: predef hgrShow(page)#1 - ; HGRSHOW -> X047 -; inc/hgrlib.plh: 0021: predef hgrSwap#1 - ; HGRSWAP -> X048 -; inc/hgrlib.plh: 0022: predef hgrDrawBuf(page)#1 - ; HGRDRAWBUF -> X049 -; inc/hgrlib.plh: 0023: predef hgrColor(clr)#0 - ; HGRCOLOR -> X050 -; inc/hgrlib.plh: 0024: const hgrPage1 = 0 - ; hgrPage1 = 0 -; inc/hgrlib.plh: 0025: const hgrPage2 = 1 - ; hgrPage2 = 1 -; inc/hgrlib.plh: 0026: const hgrOff = -1 - ; hgrOff = -1 -; inc/hgrlib.plh: 0027: end -; samplesrc/sfm.pla: 0005: -; samplesrc/sfm.pla: 0006: include "inc/hgrsprite.plh" -; inc/hgrsprite.plh: 0001: import hgrsprite - ; DCI STRING: HGRSPRITE - !BYTE $C8,$C7,$D2,$D3,$D0,$D2,$C9,$D4,$45 - ; HGRSPRITE -> X051 -; inc/hgrsprite.plh: 0002: predef spriteCompile(w, h, xcenter, ycenter, srcptr)#1 - ; SPRITECOMPILE -> X052 -; inc/hgrsprite.plh: 0003: predef spriteDup(sprtsrc)#1 - ; SPRITEDUP -> X053 -; inc/hgrsprite.plh: 0004: predef spriteRead(filestr)#1 - ; SPRITEREAD -> X054 -; inc/hgrsprite.plh: 0005: predef spriteSave(filestr, sprtptr)#1 - ; SPRITESAVE -> X055 -; inc/hgrsprite.plh: 0006: predef spriteDraw(sprtptr)#0 - ; SPRITEDRAW -> X056 -; inc/hgrsprite.plh: 0007: predef spriteDrawXor(sprtptr)#0 - ; SPRITEDRAWXOR -> X057 -; inc/hgrsprite.plh: 0008: predef spriteUnDraw(sprtptr)#0 - ; SPRITEUNDRAW -> X058 -; inc/hgrsprite.plh: 0009: predef spriteUnDrawXor(sprtptr)#0 - ; SPRITEUNDRAWXOR -> X059 -; inc/hgrsprite.plh: 0010: predef spritePos(x, y, sprtptr)#0 - ; SPRITEPOS -> X060 -; inc/hgrsprite.plh: 0011: predef spritePosIndex(x, y, i)#0 - ; SPRITEPOSINDEX -> X061 -; inc/hgrsprite.plh: 0012: predef spriteUnDrawList#0 - ; SPRITEUNDRAWLIST -> X062 -; inc/hgrsprite.plh: 0013: predef spriteUnDrawXorList#0 - ; SPRITEUNDRAWXORLIST -> X063 -; inc/hgrsprite.plh: 0014: predef spriteDrawList#0 - ; SPRITEDRAWLIST -> X064 -; inc/hgrsprite.plh: 0015: predef spriteDrawXorList#0 - ; SPRITEDRAWXORLIST -> X065 -; inc/hgrsprite.plh: 0016: predef spriteAdd(i, sprtptr)#1 - ; SPRITEADD -> X066 -; inc/hgrsprite.plh: 0017: predef spriteDel(i)#1 - ; SPRITEDEL -> X067 -; inc/hgrsprite.plh: 0018: predef spriteDrawBuf(page)#1 - ; SPRITEDRAWBUF -> X068 -; inc/hgrsprite.plh: 0019: end -; samplesrc/sfm.pla: 0006: -; samplesrc/sfm.pla: 0007: include "inc/joybuzz.plh" -; inc/joybuzz.plh: 0001: import joybuzz - ; DCI STRING: JOYBUZZ - !BYTE $CA,$CF,$D9,$C2,$D5,$DA,$5A - ; JOYBUZZ -> X069 -; inc/joybuzz.plh: 0002: const MAX_JOY = 79 - ; MAX_JOY = 79 -; inc/joybuzz.plh: 0003: predef joypos(buzz)#4 - ; JOYPOS -> X070 -; inc/joybuzz.plh: 0004: end -; samplesrc/sfm.pla: 0007: -; samplesrc/sfm.pla: 0008: sysflags reshgr1 // Reserve HGR page 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0010 ; SYSTEM FLAGS -; samplesrc/sfm.pla: 0009: -; samplesrc/sfm.pla: 0010: const NUMSTARS = 32 - ; NUMSTARS = 32 -; samplesrc/sfm.pla: 0011: const SHIP_SPRTNUM = 0 - ; SHIP_SPRTNUM = 0 -; samplesrc/sfm.pla: 0012: const MISSLE_SPRTNUM = 1 - ; MISSLE_SPRTNUM = 1 -; samplesrc/sfm.pla: 0013: const WEB_SPRTBASE = 2 - ; WEB_SPRTBASE = 2 -; samplesrc/sfm.pla: 0014: const SPIDER_SPRTEBASE = 8 - ; SPIDER_SPRTEBASE = 8 -; samplesrc/sfm.pla: 0015: const LASER_RECHARGE = 20 - ; LASER_RECHARGE = 20 -; samplesrc/sfm.pla: 0016: const MISSLE_RELOAD = 10 - ; MISSLE_RELOAD = 10 -; samplesrc/sfm.pla: 0017: const ATTACK_SPEED = 12 - ; ATTACK_SPEED = 12 -; samplesrc/sfm.pla: 0018: const SWARM_LIMIT = 52 - ; SWARM_LIMIT = 52 -; samplesrc/sfm.pla: 0019: const FASTMOVE_LIMIT = 120 - ; FASTMOVE_LIMIT = 120 -; samplesrc/sfm.pla: 0020: const WEB_LIMIT = 152 - ; WEB_LIMIT = 152 -; samplesrc/sfm.pla: 0021: const YSHIP = 180 - ; YSHIP = 180 -; samplesrc/sfm.pla: 0022: const LASER_BUZZ = 20 - ; LASER_BUZZ = 20 -; samplesrc/sfm.pla: 0023: const ATTACK_BUZZ = 5 - ; ATTACK_BUZZ = 5 -; samplesrc/sfm.pla: 0024: const WEB1_BUZZ = 10 - ; WEB1_BUZZ = 10 -; samplesrc/sfm.pla: 0025: const WEB2_BUZZ = 12 - ; WEB2_BUZZ = 12 -; samplesrc/sfm.pla: 0026: const WEB3_BUZZ = 14 - ; WEB3_BUZZ = 14 -; samplesrc/sfm.pla: 0027: const SPLAT_BUZZ = 40 - ; SPLAT_BUZZ = 40 -; samplesrc/sfm.pla: 0028: -; samplesrc/sfm.pla: 0029: var sprtEgg1, sprtEgg2, sprtEgg3, sprtEgg -_D071 !FILL 2 ; sprtEgg1, sprtEgg2, sprtEgg3, sprtEgg -_D072 !FILL 2 ; sprtEgg2, sprtEgg3, sprtEgg -_D073 !FILL 2 ; sprtEgg3, sprtEgg -_D074 !FILL 2 ; sprtEgg -; samplesrc/sfm.pla: 0030: var sprtSpider1, sprtSpider2, sprtSpider3, sprtSpider -_D075 !FILL 2 ; sprtSpider1, sprtSpider2, sprtSpider3, sprtSpider -_D076 !FILL 2 ; sprtSpider2, sprtSpider3, sprtSpider -_D077 !FILL 2 ; sprtSpider3, sprtSpider -_D078 !FILL 2 ; sprtSpider -; samplesrc/sfm.pla: 0031: var sprtSplat1, sprtSplat2 -_D079 !FILL 2 ; sprtSplat1, sprtSplat2 -_D080 !FILL 2 ; sprtSplat2 -; samplesrc/sfm.pla: 0032: var sprtWeb1, sprtWeb2, sprtWeb3 -_D081 !FILL 2 ; sprtWeb1, sprtWeb2, sprtWeb3 -_D082 !FILL 2 ; sprtWeb2, sprtWeb3 -_D083 !FILL 2 ; sprtWeb3 -; samplesrc/sfm.pla: 0033: var sprtShip, sprtMissle, sprtDummy, heapstart -_D084 !FILL 2 ; sprtShip, sprtMissle, sprtDummy, heapstart -_D085 !FILL 2 ; sprtMissle, sprtDummy, heapstart -_D086 !FILL 2 ; sprtDummy, heapstart -_D087 !FILL 2 ; heapstart -; samplesrc/sfm.pla: 0034: var[NUMSTARS] xstar -_D088 !FILL 64 ; xstar -; samplesrc/sfm.pla: 0035: byte[NUMSTARS] ystar -_D089 !FILL 32 ; ystar -; samplesrc/sfm.pla: 0036: byte curstar, buzz -_D090 !FILL 1 ; curstar, buzz -_D091 !FILL 1 ; buzz -; samplesrc/sfm.pla: 0037: -; samplesrc/sfm.pla: 0038: // -; samplesrc/sfm.pla: 0039: // Apple II speaker tone generator routine -; samplesrc/sfm.pla: 0040: // -; samplesrc/sfm.pla: 0041: //asm spkrTone(pitch, duration)#0 -; samplesrc/sfm.pla: 0042: byte _spkrTone[] -_D092 ; _spkrTone[] -; samplesrc/sfm.pla: 0043: byte = $86, $E5 // STX ESP - !BYTE $86 - !BYTE $E5 -; samplesrc/sfm.pla: 0044: byte = $B4, $A0 // LDY ESTKH,X - !BYTE $B4 - !BYTE $A0 -; samplesrc/sfm.pla: 0045: byte = $B5, $C0 // LDA ESTKL,X - !BYTE $B5 - !BYTE $C0 -; samplesrc/sfm.pla: 0046: byte = $F0, $01 // BEQ +1 - !BYTE $F0 - !BYTE $01 -; samplesrc/sfm.pla: 0047: byte = $C8 // INY - !BYTE $C8 -; samplesrc/sfm.pla: 0048: byte = $85, $08 // STA DSTL - !BYTE $85 - !BYTE $08 -; samplesrc/sfm.pla: 0049: byte = $84, $09 // STY DSTH - !BYTE $84 - !BYTE $09 -; samplesrc/sfm.pla: 0050: byte = $B4, $A1 // LDY ESTKL+1,X - !BYTE $B4 - !BYTE $A1 -; samplesrc/sfm.pla: 0051: byte = $B5, $C1 // LDA ESTKL+1,X - !BYTE $B5 - !BYTE $C1 -; samplesrc/sfm.pla: 0052: byte = $F0, $01 // BEQ +1 - !BYTE $F0 - !BYTE $01 -; samplesrc/sfm.pla: 0053: byte = $C8 // INY - !BYTE $C8 -; samplesrc/sfm.pla: 0054: byte = $85, $E7 // STA TMPL - !BYTE $85 - !BYTE $E7 -; samplesrc/sfm.pla: 0055: byte = $84, $E8 // STY TMPH - !BYTE $84 - !BYTE $E8 -; samplesrc/sfm.pla: 0056: byte = $AA // TAX - !BYTE $AA -; samplesrc/sfm.pla: 0057: byte = $A9, $FF // LDA #$FF - !BYTE $A9 - !BYTE $FF -; samplesrc/sfm.pla: 0058: byte = $08 // PHP - !BYTE $08 -; samplesrc/sfm.pla: 0059: byte = $78 // SEI - !BYTE $78 -; samplesrc/sfm.pla: 0060: byte = $EA // NOP - !BYTE $EA -; samplesrc/sfm.pla: 0061: byte = $EA // NOP - !BYTE $EA -; samplesrc/sfm.pla: 0062: byte = $B0, $00 // BCS +0 - !BYTE $B0 - !BYTE $00 -; samplesrc/sfm.pla: 0063: byte = $38 // SEC - !BYTE $38 -; samplesrc/sfm.pla: 0064: byte = $CA // DEX - !BYTE $CA -; samplesrc/sfm.pla: 0065: byte = $D0, $18 // BNE +18 - !BYTE $D0 - !BYTE $18 -; samplesrc/sfm.pla: 0066: byte = $88 // DEY - !BYTE $88 -; samplesrc/sfm.pla: 0067: byte = $D0, $17 // BNE +17 - !BYTE $D0 - !BYTE $17 -; samplesrc/sfm.pla: 0068: byte = $2C, $30, $C0 // BIT $C030 - !BYTE $2C - !BYTE $30 - !BYTE $C0 -; samplesrc/sfm.pla: 0069: byte = $A6, $E7 // LDX TMPL - !BYTE $A6 - !BYTE $E7 -; samplesrc/sfm.pla: 0070: byte = $A4, $E8 // LDY TMPH - !BYTE $A4 - !BYTE $E8 -; samplesrc/sfm.pla: 0071: byte = $E9, $01 // SBC #$01 - !BYTE $E9 - !BYTE $01 -; samplesrc/sfm.pla: 0072: byte = $B0, $EA // BCS -EA - !BYTE $B0 - !BYTE $EA -; samplesrc/sfm.pla: 0073: byte = $C6, $08 // DEC DSTL - !BYTE $C6 - !BYTE $08 -; samplesrc/sfm.pla: 0074: byte = $D0, $EA // BNE -EA - !BYTE $D0 - !BYTE $EA -; samplesrc/sfm.pla: 0075: byte = $C6, $09 // DEC DSTH - !BYTE $C6 - !BYTE $09 -; samplesrc/sfm.pla: 0076: byte = $D0, $E6 // BNE -E6 - !BYTE $D0 - !BYTE $E6 -; samplesrc/sfm.pla: 0077: byte = $F0, $07 // BEQ +8 - !BYTE $F0 - !BYTE $07 -; samplesrc/sfm.pla: 0078: byte = $EA // NOP - !BYTE $EA -; samplesrc/sfm.pla: 0079: byte = $EA // NOP - !BYTE $EA -; samplesrc/sfm.pla: 0080: byte = $EA, $EA // BIT $C000 (nope) - !BYTE $EA - !BYTE $EA -; samplesrc/sfm.pla: 0081: byte = $EA // NOP - !BYTE $EA -; samplesrc/sfm.pla: 0082: byte = $D0, $EB // BNE -EA - !BYTE $D0 - !BYTE $EB -; samplesrc/sfm.pla: 0083: byte = $28 // PLP - !BYTE $28 -; samplesrc/sfm.pla: 0084: byte = $A6, $E5 // LDX ESP - !BYTE $A6 - !BYTE $E5 -; samplesrc/sfm.pla: 0085: byte = $E8 // INX - !BYTE $E8 -; samplesrc/sfm.pla: 0086: byte = $E8 // INX - !BYTE $E8 -; samplesrc/sfm.pla: 0087: byte = $60 // RTS - !BYTE $60 -; samplesrc/sfm.pla: 0088: -; samplesrc/sfm.pla: 0089: def game(spdrcnt)#1 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; spdrcnt -> [0] -_C000 ; game() -; samplesrc/sfm.pla: 0090: var[8] xspdr, yspdr, ixspdr, iyspdr, hatch - ; xspdr -> [2] - ; yspdr -> [18] - ; ixspdr -> [34] - ; iyspdr -> [50] - ; hatch -> [66] -; samplesrc/sfm.pla: 0091: var xship, xmissle, leftxlaser, rightxlaser, attack - ; xship -> [82] - ; xmissle -> [84] - ; leftxlaser -> [86] - ; rightxlaser -> [88] - ; attack -> [90] -; samplesrc/sfm.pla: 0092: byte[8] life, death - ; life -> [92] - ; death -> [100] -; samplesrc/sfm.pla: 0093: byte lasercharging, missleloading, misslecnt, ymissle - ; lasercharging -> [108] - ; missleloading -> [109] - ; misslecnt -> [110] - ; ymissle -> [111] -; samplesrc/sfm.pla: 0094: byte leftylaser, rightylaser, lefthit, righthit, sprtnum[], width - ; leftylaser -> [112] - ; rightylaser -> [113] - ; lefthit -> [114] - ; righthit -> [115] - ; sprtnum -> [116] - ; width -> [116] -; samplesrc/sfm.pla: 0095: byte spdrnum, k, xdelta, ydelta, btn0, btn1, webstate - ; spdrnum -> [117] - ; k -> [118] - ; xdelta -> [119] - ; ydelta -> [120] - ; btn0 -> [121] - ; btn1 -> [122] - ; webstate -> [123] -; samplesrc/sfm.pla: 0096: -; samplesrc/sfm.pla: 0097: xship = 140 - !BYTE $58,$7C,$01 ; ENTER 124,1 -; samplesrc/sfm.pla: 0098: ymissle = 255 // Not active value -; samplesrc/sfm.pla: 0099: misslecnt = 6 -; samplesrc/sfm.pla: 0100: missleloading = FALSE -; samplesrc/sfm.pla: 0101: lasercharging = FALSE -; samplesrc/sfm.pla: 0102: // -; samplesrc/sfm.pla: 0103: // Initialize the spiders (first is special) -; samplesrc/sfm.pla: 0104: // -; samplesrc/sfm.pla: 0105: xspdr[0] = 100 -; samplesrc/sfm.pla: 0106: ixspdr[0] = 1 -; samplesrc/sfm.pla: 0107: yspdr[0] = 60 -; samplesrc/sfm.pla: 0108: iyspdr[0] = -1 -; samplesrc/sfm.pla: 0109: hatch[0] = 1 -; samplesrc/sfm.pla: 0110: life[0] = 3 -; samplesrc/sfm.pla: 0111: death[0] = 0 -; samplesrc/sfm.pla: 0112: attack = -1 -; samplesrc/sfm.pla: 0113: webstate = 0 -; samplesrc/sfm.pla: 0114: // -; samplesrc/sfm.pla: 0115: // Initialize spiders -; samplesrc/sfm.pla: 0116: // -; samplesrc/sfm.pla: 0117: spdrnum = spdrcnt - 1 -; samplesrc/sfm.pla: 0118: for k = 1 to spdrnum - !BYTE $2A,$8C ; CB 140 - !BYTE $76,$52 ; SLW [82] - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$6F ; SLB [111] - !BYTE $0C ; CN 6 - !BYTE $74,$6E ; SLB [110] - !BYTE $00 ; CN 0 - !BYTE $74,$6D ; SLB [109] - !BYTE $00 ; CN 0 - !BYTE $74,$6C ; SLB [108] - !BYTE $2A,$64 ; CB 100 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $76,$22 ; SLW [34] - !BYTE $2A,$3C ; CB 60 - !BYTE $76,$12 ; SLW [18] - !BYTE $20 ; MINUS ONE - !BYTE $76,$32 ; SLW [50] - !BYTE $02 ; CN 1 - !BYTE $76,$42 ; SLW [66] - !BYTE $06 ; CN 3 - !BYTE $74,$5C ; SLB [92] - !BYTE $00 ; CN 0 - !BYTE $74,$64 ; SLB [100] - !BYTE $20 ; MINUS ONE - !BYTE $76,$5A ; SLW [90] - !BYTE $00 ; CN 0 - !BYTE $74,$7B ; SLB [123] - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $6C,$75 ; DLB [117] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6C,$76 ; DLB [118] -; samplesrc/sfm.pla: 0119: spriteAdd(k + SPIDER_SPRTEBASE, spriteDup(sprtEgg3)) -; samplesrc/sfm.pla: 0120: xspdr[k] = ((xspdr[k - 1] ^ 37) + 97) & 255 -; samplesrc/sfm.pla: 0121: ixspdr[k] = -ixspdr[k - 1] -; samplesrc/sfm.pla: 0122: yspdr[k] = ((yspdr[k - 1] ^ 29) + 53) & 63 -; samplesrc/sfm.pla: 0123: iyspdr[k] = -iyspdr[k - 1] -; samplesrc/sfm.pla: 0124: hatch[k] = k / 2 + 1//hatch[k - 1] + 1 -; samplesrc/sfm.pla: 0125: life[k] = 3 -; samplesrc/sfm.pla: 0126: death[k] = 0 -; samplesrc/sfm.pla: 0127: next - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $6A ; LAW _D073+0 -_F000 !WORD _D073+0 - !BYTE $54 ; CALL _X053 -_F001 !WORD 0 - !BYTE $54 ; CALL _X066 -_F002 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$76 ; LLB [118] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$25 ; CB 37 - !BYTE $98 ; XOR - !BYTE $38,$61 ; ADDI 97 - !BYTE $3C,$FF ; ANDI 255 - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $28,$22 ; LLA [34] - !BYTE $64,$76 ; LLB [118] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $28,$12 ; LLA [18] - !BYTE $64,$76 ; LLB [118] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $2A,$1D ; CB 29 - !BYTE $98 ; XOR - !BYTE $38,$35 ; ADDI 53 - !BYTE $3C,$3F ; ANDI 63 - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $28,$32 ; LLA [50] - !BYTE $64,$76 ; LLB [118] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $64,$76 ; LLB [118] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $8C ; INCR - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $06 ; CN 3 - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $70 ; SB -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$76 ; SLB [118] - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0128: // -; samplesrc/sfm.pla: 0129: // Initialize missle display -; samplesrc/sfm.pla: 0130: // -; samplesrc/sfm.pla: 0131: hgrColor(3) -; samplesrc/sfm.pla: 0132: hgrRect(0, YSHIP+3, 279, 191) -; samplesrc/sfm.pla: 0133: for k = 0 to misslecnt-1 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X050 -_F003 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $2A,$B7 ; CB 183 - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $2A,$BF ; CB 191 - !BYTE $54 ; CALL _X037 -_F004 !WORD 0 - !BYTE $64,$6E ; LLB [110] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B004 - !WORD _B004-* -_B005 - !BYTE $6C,$76 ; DLB [118] -; samplesrc/sfm.pla: 0134: spritePos(k * 16 + 160, 184, sprtMissle) -; samplesrc/sfm.pla: 0135: spriteDrawXor(sprtMissle) -; samplesrc/sfm.pla: 0136: next - !BYTE $64,$76 ; LLB [118] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $38,$A0 ; ADDI 160 - !BYTE $2A,$B8 ; CB 184 - !BYTE $6A ; LAW _D085+0 -_F005 !WORD _D085+0 - !BYTE $54 ; CALL _X060 -_F006 !WORD 0 - !BYTE $6A ; LAW _D085+0 -_F007 !WORD _D085+0 - !BYTE $54 ; CALL _X057 -_F008 !WORD 0 -_B006 - !BYTE $A4 ; INCBRLE _B005 - !WORD _B005-* -_B004 - !BYTE $74,$76 ; SLB [118] - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0137: hgrColor(1) -; samplesrc/sfm.pla: 0138: hgrRect(4, YSHIP+6, LASER_RECHARGE * 4 + 4, 188) -; samplesrc/sfm.pla: 0139: // -; samplesrc/sfm.pla: 0140: // Main game loop -; samplesrc/sfm.pla: 0141: // -; samplesrc/sfm.pla: 0142: repeat - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X050 -_F009 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $2A,$BA ; CB 186 - !BYTE $2A,$50 ; CB 80 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2A,$BC ; CB 188 - !BYTE $54 ; CALL _X037 -_F010 !WORD 0 -_B008 -; samplesrc/sfm.pla: 0143: // -; samplesrc/sfm.pla: 0144: // Move living spiders -; samplesrc/sfm.pla: 0145: // -; samplesrc/sfm.pla: 0146: for k = 0 to spdrnum - !BYTE $64,$75 ; LLB [117] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B010 - !WORD _B010-* -_B011 - !BYTE $6C,$76 ; DLB [118] -; samplesrc/sfm.pla: 0147: if life[k] -; samplesrc/sfm.pla: 0148: yspdr[k] = yspdr[k] + iyspdr[k] -; samplesrc/sfm.pla: 0149: if yspdr[k] < -5 -; samplesrc/sfm.pla: 0150: // -; samplesrc/sfm.pla: 0151: // Above screen -; samplesrc/sfm.pla: 0152: // -; samplesrc/sfm.pla: 0153: iyspdr[k] = 1 -; samplesrc/sfm.pla: 0154: if hatch[k] -; samplesrc/sfm.pla: 0155: hatch[k]-- - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $5E,$FB ; CFFB -5 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $02 ; CN 1 - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0156: if hatch[k] == 0 -; samplesrc/sfm.pla: 0157: // -; samplesrc/sfm.pla: 0158: // Hatch this egg into a spider -; samplesrc/sfm.pla: 0159: // -; samplesrc/sfm.pla: 0160: life[k] = 3 // Reset life -; samplesrc/sfm.pla: 0161: spriteAdd(k + SPIDER_SPRTEBASE, spriteDup(sprtSpider3)) -; samplesrc/sfm.pla: 0162: fin - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B019 - !WORD _B019-* - !BYTE $06 ; CN 3 - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $70 ; SB - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $6A ; LAW _D077+0 -_F011 !WORD _D077+0 - !BYTE $54 ; CALL _X053 -_F012 !WORD 0 - !BYTE $54 ; CALL _X066 -_F013 !WORD 0 - !BYTE $30 ; DROP -_B019 -_B020 -; samplesrc/sfm.pla: 0163: fin -_B017 -_B018 -; samplesrc/sfm.pla: 0164: fin -_B015 -_B016 -; samplesrc/sfm.pla: 0165: if yspdr[k] > SWARM_LIMIT -; samplesrc/sfm.pla: 0166: // -; samplesrc/sfm.pla: 0167: // Attack or not? -; samplesrc/sfm.pla: 0168: // -; samplesrc/sfm.pla: 0169: if hatch[k] == 0 and attack < 0 -; samplesrc/sfm.pla: 0170: attack = k -; samplesrc/sfm.pla: 0171: iyspdr[k] = ATTACK_SPEED -; samplesrc/sfm.pla: 0172: fin - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$34 ; CB 52 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B023 - !WORD _B023-* - !BYTE $66,$5A ; LLW [90] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B023 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $64,$76 ; LLB [118] - !BYTE $76,$5A ; SLW [90] - !BYTE $18 ; CN 12 - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW -_B024 -_B025 -; samplesrc/sfm.pla: 0173: if attack == k -; samplesrc/sfm.pla: 0174: // -; samplesrc/sfm.pla: 0175: // Attacking -; samplesrc/sfm.pla: 0176: // -; samplesrc/sfm.pla: 0177: if yspdr[k] > WEB_LIMIT -; samplesrc/sfm.pla: 0178: // -; samplesrc/sfm.pla: 0179: // Iterate through web sequence -; samplesrc/sfm.pla: 0180: // -; samplesrc/sfm.pla: 0181: when webstate - !BYTE $66,$5A ; LLW [90] - !BYTE $64,$76 ; LLB [118] - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$98 ; CB 152 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $64,$7B ; LLB [123] - !BYTE $52 ; SEL - !WORD _B031-* -; samplesrc/sfm.pla: 0182: is 10 -_B032 -; samplesrc/sfm.pla: 0183: iyspdr[k] = -8 // Retreat -; samplesrc/sfm.pla: 0184: yspdr[k] = WEB_LIMIT -; samplesrc/sfm.pla: 0185: spriteDel(2) -; samplesrc/sfm.pla: 0186: spriteDel(3) -; samplesrc/sfm.pla: 0187: spriteDel(4) -; samplesrc/sfm.pla: 0188: webstate = 0 -; samplesrc/sfm.pla: 0189: break - !BYTE $5E,$F8 ; CFFB -8 - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X067 -_F014 !WORD 0 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X067 -_F015 !WORD 0 - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X067 -_F016 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$7B ; SLB [123] - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -; samplesrc/sfm.pla: 0190: is 0 -_B033 -; samplesrc/sfm.pla: 0191: iyspdr[k] = 0 -; samplesrc/sfm.pla: 0192: spriteAdd(2, sprtWeb1) -; samplesrc/sfm.pla: 0193: spritePosIndex(xspdr[k], WEB_LIMIT+7, 2) -; samplesrc/sfm.pla: 0194: buzz = WEB1_BUZZ -; samplesrc/sfm.pla: 0195: webstate = 1 -; samplesrc/sfm.pla: 0196: break - !BYTE $00 ; CN 0 - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _D081+0 -_F017 !WORD _D081+0 - !BYTE $54 ; CALL _X066 -_F018 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$9F ; CB 159 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X061 -_F019 !WORD 0 - !BYTE $14 ; CN 10 - !BYTE $78 ; SAB _D091+0 -_F020 !WORD _D091+0 - !BYTE $02 ; CN 1 - !BYTE $74,$7B ; SLB [123] - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -; samplesrc/sfm.pla: 0197: is 1 -_B034 -; samplesrc/sfm.pla: 0198: spriteAdd(3, sprtWeb2) -; samplesrc/sfm.pla: 0199: spritePosIndex(xspdr[k], WEB_LIMIT+15, 3) -; samplesrc/sfm.pla: 0200: buzz = WEB2_BUZZ -; samplesrc/sfm.pla: 0201: webstate = 2 -; samplesrc/sfm.pla: 0202: break - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _D082+0 -_F021 !WORD _D082+0 - !BYTE $54 ; CALL _X066 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$A7 ; CB 167 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X061 -_F023 !WORD 0 - !BYTE $18 ; CN 12 - !BYTE $78 ; SAB _D091+0 -_F024 !WORD _D091+0 - !BYTE $04 ; CN 2 - !BYTE $74,$7B ; SLB [123] - !BYTE $50 ; BRNCH _B030 - !WORD _B030-* -; samplesrc/sfm.pla: 0203: is 2 -_B035 -; samplesrc/sfm.pla: 0204: spriteAdd(4, sprtWeb3) -; samplesrc/sfm.pla: 0205: spritePosIndex(xspdr[k], WEB_LIMIT+22, 4) -; samplesrc/sfm.pla: 0206: webstate = 3 -; samplesrc/sfm.pla: 0207: otherwise - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _D083+0 -_F025 !WORD _D083+0 - !BYTE $54 ; CALL _X066 -_F026 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$AE ; CB 174 - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X061 -_F027 !WORD 0 - !BYTE $06 ; CN 3 - !BYTE $74,$7B ; SLB [123] - !BYTE $50 ; BRNCH _B036 - !WORD _B036-* -_B031 - !BYTE $04 ; CASEBLOCK - !WORD $0000 - !WORD _B033-* - !WORD $0001 - !WORD _B034-* - !WORD $0002 - !WORD _B035-* - !WORD $000A - !WORD _B032-* -_B036 -; samplesrc/sfm.pla: 0208: // -; samplesrc/sfm.pla: 0209: // States 3..9 just repeat this -; samplesrc/sfm.pla: 0210: // -; samplesrc/sfm.pla: 0211: if xship >= xspdr[k] - 17 and xship <= xspdr[k] + 17 -; samplesrc/sfm.pla: 0212: // -; samplesrc/sfm.pla: 0213: // Capture ship -; samplesrc/sfm.pla: 0214: // -; samplesrc/sfm.pla: 0215: return FALSE - !BYTE $66,$52 ; LLW [82] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $3A,$11 ; SUBI 17 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B037 - !WORD _B037-* - !BYTE $66,$52 ; LLW [82] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $38,$11 ; ADDI 17 - !BYTE $4A ; ISLE -_B037 - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $32 ; DROP2 - !BYTE $00 ; CN 0 - !BYTE $5A,$7C ; LEAVE 124 -; samplesrc/sfm.pla: 0216: fin -_B038 -_B039 -; samplesrc/sfm.pla: 0217: buzz = WEB3_BUZZ -; samplesrc/sfm.pla: 0218: webstate++ - !BYTE $1C ; CN 14 - !BYTE $78 ; SAB _D091+0 -_F028 !WORD _D091+0 - !BYTE $64,$7B ; LLB [123] - !BYTE $8C ; INCR -; samplesrc/sfm.pla: 0219: wend - !BYTE $74,$7B ; SLB [123] -_B030 -; samplesrc/sfm.pla: 0220: else - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B028 -; samplesrc/sfm.pla: 0221: if iyspdr[k] > 0 -; samplesrc/sfm.pla: 0222: // -; samplesrc/sfm.pla: 0223: // Move towards player during attack, but not too fast -; samplesrc/sfm.pla: 0224: // -; samplesrc/sfm.pla: 0225: xdelta = yspdr[k] > FASTMOVE_LIMIT ?? 2 :: 4 -; samplesrc/sfm.pla: 0226: xspdr[k] = xspdr[k] + (xship - xspdr[k]) / xdelta -; samplesrc/sfm.pla: 0227: buzz = ATTACK_BUZZ -; samplesrc/sfm.pla: 0228: else - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$78 ; CB 120 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B042 - !BYTE $08 ; CN 4 -_B043 - !BYTE $74,$77 ; SLB [119] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $66,$52 ; LLW [82] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $64,$77 ; LLB [119] - !BYTE $88 ; DIV - !BYTE $82 ; ADD - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $0A ; CN 5 - !BYTE $78 ; SAB _D091+0 -_F029 !WORD _D091+0 - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B040 -; samplesrc/sfm.pla: 0229: // -; samplesrc/sfm.pla: 0230: // Retreat at a progressively faster rate -; samplesrc/sfm.pla: 0231: // -; samplesrc/sfm.pla: 0232: if ixspdr[k] > 0 -; samplesrc/sfm.pla: 0233: xspdr[k] = xspdr[k] + (WEB_LIMIT - yspdr[k]) / 8 -; samplesrc/sfm.pla: 0234: else - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$98 ; CB 152 - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B044 -; samplesrc/sfm.pla: 0235: xspdr[k] = xspdr[k] - (WEB_LIMIT - yspdr[k]) / 8 -; samplesrc/sfm.pla: 0236: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2A,$98 ; CB 152 - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $84 ; SUB - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW -_B045 -; samplesrc/sfm.pla: 0237: fin -_B041 -; samplesrc/sfm.pla: 0238: fin -_B029 -; samplesrc/sfm.pla: 0239: else - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B026 -; samplesrc/sfm.pla: 0240: // -; samplesrc/sfm.pla: 0241: // Just reverse direction towards top of screen -; samplesrc/sfm.pla: 0242: // -; samplesrc/sfm.pla: 0243: iyspdr[k] = -1 -; samplesrc/sfm.pla: 0244: fin - !BYTE $20 ; MINUS ONE - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW -_B027 -; samplesrc/sfm.pla: 0245: else - !BYTE $50 ; BRNCH _B022 - !WORD _B022-* -_B021 -; samplesrc/sfm.pla: 0246: if attack == k -; samplesrc/sfm.pla: 0247: // -; samplesrc/sfm.pla: 0248: // Retreated back to swarm zone so stop attack -; samplesrc/sfm.pla: 0249: // -; samplesrc/sfm.pla: 0250: attack = -1 -; samplesrc/sfm.pla: 0251: iyspdr[k] = -1 -; samplesrc/sfm.pla: 0252: fin - !BYTE $66,$5A ; LLW [90] - !BYTE $64,$76 ; LLB [118] - !BYTE $24 ; BRNE _B046 - !WORD _B046-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$5A ; SLW [90] - !BYTE $20 ; MINUS ONE - !BYTE $28,$32 ; LLA [50] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW -_B046 -_B047 -; samplesrc/sfm.pla: 0253: // -; samplesrc/sfm.pla: 0254: // Swarm movement -; samplesrc/sfm.pla: 0255: // -; samplesrc/sfm.pla: 0256: if ixspdr[k] > 0 -; samplesrc/sfm.pla: 0257: xspdr[k] = xspdr[k] + yspdr[k] / 8 -; samplesrc/sfm.pla: 0258: else - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $82 ; ADD - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 -; samplesrc/sfm.pla: 0259: xspdr[k] = xspdr[k] - yspdr[k] / 8 -; samplesrc/sfm.pla: 0260: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $84 ; SUB - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW -_B049 -; samplesrc/sfm.pla: 0261: if xspdr[k] < -5 or xspdr[k] > 284 -; samplesrc/sfm.pla: 0262: if xspdr[k] < -5 -; samplesrc/sfm.pla: 0263: xspdr[k] = -5 -; samplesrc/sfm.pla: 0264: ixspdr[k] = 1 -; samplesrc/sfm.pla: 0265: else - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $5E,$FB ; CFFB -5 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B050 - !WORD _B050-* - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $2C,$1C,$01 ; CW 284 - !BYTE $44 ; ISGT -_B050 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $5E,$FB ; CFFB -5 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B053 - !WORD _B053-* - !BYTE $5E,$FB ; CFFB -5 - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B053 -; samplesrc/sfm.pla: 0266: xspdr[k] = 284 -; samplesrc/sfm.pla: 0267: ixspdr[k] = -1 -; samplesrc/sfm.pla: 0268: fin - !BYTE $2C,$1C,$01 ; CW 284 - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW - !BYTE $20 ; MINUS ONE - !BYTE $28,$22 ; LLA [34] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $72 ; SW -_B054 -; samplesrc/sfm.pla: 0269: fin -_B051 -_B052 -; samplesrc/sfm.pla: 0270: fin -_B022 -; samplesrc/sfm.pla: 0271: spritePosIndex(xspdr[k], yspdr[k], k+SPIDER_SPRTEBASE) -; samplesrc/sfm.pla: 0272: elsif death[k] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _X061 -_F030 !WORD 0 - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B013 -; samplesrc/sfm.pla: 0273: // -; samplesrc/sfm.pla: 0274: // Splat sequence -; samplesrc/sfm.pla: 0275: // -; samplesrc/sfm.pla: 0276: death[k]-- - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B055 - !WORD _B055-* - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0277: if death[k] -; samplesrc/sfm.pla: 0278: spriteAdd(k+SPIDER_SPRTEBASE, spriteDup(sprtSplat2)) -; samplesrc/sfm.pla: 0279: spritePosIndex(xspdr[k], yspdr[k], k+SPIDER_SPRTEBASE) -; samplesrc/sfm.pla: 0280: else - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $70 ; SB - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $6A ; LAW _D080+0 -_F031 !WORD _D080+0 - !BYTE $54 ; CALL _X053 -_F032 !WORD 0 - !BYTE $54 ; CALL _X066 -_F033 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _X061 -_F034 !WORD 0 - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -_B056 -; samplesrc/sfm.pla: 0281: spriteAdd(k+SPIDER_SPRTEBASE, spriteDup(sprtDummy)) -; samplesrc/sfm.pla: 0282: spritePosIndex(0, 0, k+SPIDER_SPRTEBASE) -; samplesrc/sfm.pla: 0283: spdrcnt-- - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $6A ; LAW _D086+0 -_F035 !WORD _D086+0 - !BYTE $54 ; CALL _X053 -_F036 !WORD 0 - !BYTE $54 ; CALL _X066 -_F037 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _X061 -_F038 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0284: if not spdrcnt -; samplesrc/sfm.pla: 0285: return TRUE - !BYTE $6E,$00 ; DLW [0] - !BYTE $4E ; BRTRU _B058 - !WORD _B058-* - !BYTE $32 ; DROP2 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$7C ; LEAVE 124 -; samplesrc/sfm.pla: 0286: fin -_B058 -_B059 -; samplesrc/sfm.pla: 0287: buzz = SPLAT_BUZZ -; samplesrc/sfm.pla: 0288: fin - !BYTE $2A,$28 ; CB 40 - !BYTE $78 ; SAB _D091+0 -_F039 !WORD _D091+0 -_B057 -; samplesrc/sfm.pla: 0289: fin -_B055 -_B014 -; samplesrc/sfm.pla: 0290: next -_B012 - !BYTE $A4 ; INCBRLE _B011 - !WORD _B011-* -_B010 - !BYTE $74,$76 ; SLB [118] - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0291: // -; samplesrc/sfm.pla: 0292: // Move ship -; samplesrc/sfm.pla: 0293: // -; samplesrc/sfm.pla: 0294: xdelta, ydelta, btn0, btn1 = joypos(buzz) -; samplesrc/sfm.pla: 0295: buzz = spdrcnt * 4 -; samplesrc/sfm.pla: 0296: xship = xship + ((xdelta + 4) / 8 - 5) -; samplesrc/sfm.pla: 0297: if xship < 0; xship = 0; fin - !BYTE $68 ; LAB _D091+0 -_F040 !WORD _D091+0 - !BYTE $54 ; CALL _X070 -_F041 !WORD 0 - !BYTE $74,$7A ; SLB [122] - !BYTE $74,$79 ; SLB [121] - !BYTE $74,$78 ; SLB [120] - !BYTE $74,$77 ; SLB [119] - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $9A ; SHL - !BYTE $78 ; SAB _D091+0 -_F042 !WORD _D091+0 - !BYTE $66,$52 ; LLW [82] - !BYTE $64,$77 ; LLB [119] - !BYTE $38,$04 ; ADDI 4 - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $3A,$05 ; SUBI 5 - !BYTE $82 ; ADD - !BYTE $6E,$52 ; DLW [82] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $00 ; CN 0 - !BYTE $76,$52 ; SLW [82] -_B060 -_B061 -; samplesrc/sfm.pla: 0298: if xship > 279; xship = 279; fin - !BYTE $66,$52 ; LLW [82] - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $2C,$17,$01 ; CW 279 - !BYTE $76,$52 ; SLW [82] -_B062 -_B063 -; samplesrc/sfm.pla: 0299: spritePosIndex(xship, YSHIP, SHIP_SPRTNUM) -; samplesrc/sfm.pla: 0300: // -; samplesrc/sfm.pla: 0301: // Missle -; samplesrc/sfm.pla: 0302: // -; samplesrc/sfm.pla: 0303: if misslecnt and missleloading -; samplesrc/sfm.pla: 0304: missleloading-- - !BYTE $66,$52 ; LLW [82] - !BYTE $2A,$B4 ; CB 180 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X061 -_F043 !WORD 0 - !BYTE $64,$6E ; LLB [110] - !BYTE $AC ; BRAND _B064 - !WORD _B064-* - !BYTE $64,$6D ; LLB [109] -_B064 - !BYTE $4C ; BRFLS _B065 - !WORD _B065-* - !BYTE $64,$6D ; LLB [109] - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0305: fin - !BYTE $74,$6D ; SLB [109] -_B065 -_B066 -; samplesrc/sfm.pla: 0306: if btn1 and not missleloading and ymissle == 255 -; samplesrc/sfm.pla: 0307: // -; samplesrc/sfm.pla: 0308: // Fire missle -; samplesrc/sfm.pla: 0309: // -; samplesrc/sfm.pla: 0310: xmissle = xship -; samplesrc/sfm.pla: 0311: ymissle = YSHIP-15 -; samplesrc/sfm.pla: 0312: missleloading = MISSLE_RELOAD -; samplesrc/sfm.pla: 0313: misslecnt-- - !BYTE $64,$7A ; LLB [122] - !BYTE $AC ; BRAND _B067 - !WORD _B067-* - !BYTE $64,$6D ; LLB [109] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B068 - !WORD _B068-* - !BYTE $64,$6F ; LLB [111] - !BYTE $2A,$FF ; CB 255 - !BYTE $40 ; ISEQ -_B068 -_B067 - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $66,$52 ; LLW [82] - !BYTE $76,$54 ; SLW [84] - !BYTE $2A,$A5 ; CB 165 - !BYTE $74,$6F ; SLB [111] - !BYTE $14 ; CN 10 - !BYTE $74,$6D ; SLB [109] - !BYTE $64,$6E ; LLB [110] - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0314: spritePos(misslecnt * 16 + 160, 184, sprtMissle) // Erase from armory -; samplesrc/sfm.pla: 0315: spriteDrawXor(sprtMissle) -; samplesrc/sfm.pla: 0316: spriteAdd(1, sprtMissle) -; samplesrc/sfm.pla: 0317: fin - !BYTE $6C,$6E ; DLB [110] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $38,$A0 ; ADDI 160 - !BYTE $2A,$B8 ; CB 184 - !BYTE $6A ; LAW _D085+0 -_F044 !WORD _D085+0 - !BYTE $54 ; CALL _X060 -_F045 !WORD 0 - !BYTE $6A ; LAW _D085+0 -_F046 !WORD _D085+0 - !BYTE $54 ; CALL _X057 -_F047 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D085+0 -_F048 !WORD _D085+0 - !BYTE $54 ; CALL _X066 -_F049 !WORD 0 - !BYTE $30 ; DROP -_B069 -_B070 -; samplesrc/sfm.pla: 0318: if ymissle <> 255 -; samplesrc/sfm.pla: 0319: if ymissle < 8 -; samplesrc/sfm.pla: 0320: // -; samplesrc/sfm.pla: 0321: // Missle off top of screen -; samplesrc/sfm.pla: 0322: // -; samplesrc/sfm.pla: 0323: spriteDel(1) -; samplesrc/sfm.pla: 0324: ymissle = 255 -; samplesrc/sfm.pla: 0325: else - !BYTE $64,$6F ; LLB [111] - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B071 - !WORD _B071-* - !BYTE $64,$6F ; LLB [111] - !BYTE $10 ; CN 8 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X067 -_F050 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$6F ; SLB [111] - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B073 -; samplesrc/sfm.pla: 0326: ymissle = ymissle - 8 -; samplesrc/sfm.pla: 0327: spritePosIndex(xmissle, ymissle, MISSLE_SPRTNUM) -; samplesrc/sfm.pla: 0328: for k = 0 to spdrnum - !BYTE $64,$6F ; LLB [111] - !BYTE $3A,$08 ; SUBI 8 - !BYTE $74,$6F ; SLB [111] - !BYTE $66,$54 ; LLW [84] - !BYTE $64,$6F ; LLB [111] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X061 -_F051 !WORD 0 - !BYTE $64,$75 ; LLB [117] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B075 - !WORD _B075-* -_B076 - !BYTE $6C,$76 ; DLB [118] -; samplesrc/sfm.pla: 0329: if life[k] -; samplesrc/sfm.pla: 0330: // -; samplesrc/sfm.pla: 0331: // Hit test will all living spiders -; samplesrc/sfm.pla: 0332: // -; samplesrc/sfm.pla: 0333: if ymissle >= yspdr[k] - 15 and ymissle <= yspdr[k] + 5 -; samplesrc/sfm.pla: 0334: if hatch[k] -; samplesrc/sfm.pla: 0335: width = 7 // Egg width -; samplesrc/sfm.pla: 0336: else - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $64,$6F ; LLB [111] - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $3A,$0F ; SUBI 15 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B080 - !WORD _B080-* - !BYTE $64,$6F ; LLB [111] - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $4A ; ISLE -_B080 - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $0E ; CN 7 - !BYTE $74,$74 ; SLB [116] - !BYTE $50 ; BRNCH _B084 - !WORD _B084-* -_B083 -; samplesrc/sfm.pla: 0337: width = 10 // Spider width -; samplesrc/sfm.pla: 0338: fin - !BYTE $14 ; CN 10 - !BYTE $74,$74 ; SLB [116] -_B084 -; samplesrc/sfm.pla: 0339: if xmissle >= xspdr[k] - width and xmissle <= xspdr[k] + width -; samplesrc/sfm.pla: 0340: // -; samplesrc/sfm.pla: 0341: // Hit & kill spider -; samplesrc/sfm.pla: 0342: // -; samplesrc/sfm.pla: 0343: life[k] = 0 -; samplesrc/sfm.pla: 0344: death[k] = 2 -; samplesrc/sfm.pla: 0345: spriteAdd(k+SPIDER_SPRTEBASE, spriteDup(sprtSplat1)) -; samplesrc/sfm.pla: 0346: spritePosIndex(xspdr[k], yspdr[k], k+SPIDER_SPRTEBASE) -; samplesrc/sfm.pla: 0347: if attack == k // Was it attacking? -; samplesrc/sfm.pla: 0348: attack = -1 -; samplesrc/sfm.pla: 0349: spriteDel(2) -; samplesrc/sfm.pla: 0350: spriteDel(3) -; samplesrc/sfm.pla: 0351: spriteDel(4) -; samplesrc/sfm.pla: 0352: webstate = 0 -; samplesrc/sfm.pla: 0353: fin - !BYTE $66,$54 ; LLW [84] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $84 ; SUB - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B085 - !WORD _B085-* - !BYTE $66,$54 ; LLW [84] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $B0,$74 ; ADDLB [116] - !BYTE $4A ; ISLE -_B085 - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $00 ; CN 0 - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $70 ; SB - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $6A ; LAW _D079+0 -_F052 !WORD _D079+0 - !BYTE $54 ; CALL _X053 -_F053 !WORD 0 - !BYTE $54 ; CALL _X066 -_F054 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $64,$76 ; LLB [118] - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _X061 -_F055 !WORD 0 - !BYTE $66,$5A ; LLW [90] - !BYTE $64,$76 ; LLB [118] - !BYTE $24 ; BRNE _B088 - !WORD _B088-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$5A ; SLW [90] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X067 -_F056 !WORD 0 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X067 -_F057 !WORD 0 - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X067 -_F058 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$7B ; SLB [123] -_B088 -_B089 -; samplesrc/sfm.pla: 0354: // -; samplesrc/sfm.pla: 0355: // Remove missle -; samplesrc/sfm.pla: 0356: // -; samplesrc/sfm.pla: 0357: spriteDel(MISSLE_SPRTNUM) -; samplesrc/sfm.pla: 0358: ymissle = 255 -; samplesrc/sfm.pla: 0359: fin - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X067 -_F059 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$6F ; SLB [111] -_B086 -_B087 -; samplesrc/sfm.pla: 0360: fin -_B081 -_B082 -; samplesrc/sfm.pla: 0361: fin -_B078 -_B079 -; samplesrc/sfm.pla: 0362: next -_B077 - !BYTE $A4 ; INCBRLE _B076 - !WORD _B076-* -_B075 - !BYTE $74,$76 ; SLB [118] - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0363: buzz = ymissle/4 -; samplesrc/sfm.pla: 0364: fin - !BYTE $64,$6F ; LLB [111] - !BYTE $04 ; CN 2 - !BYTE $9C ; SHR - !BYTE $78 ; SAB _D091+0 -_F060 !WORD _D091+0 -_B074 -; samplesrc/sfm.pla: 0365: fin -_B071 -_B072 -; samplesrc/sfm.pla: 0366: // -; samplesrc/sfm.pla: 0367: // Update sprites -; samplesrc/sfm.pla: 0368: // -; samplesrc/sfm.pla: 0369: spriteDrawXorList() -; samplesrc/sfm.pla: 0370: // -; samplesrc/sfm.pla: 0371: // Lasers -; samplesrc/sfm.pla: 0372: // -; samplesrc/sfm.pla: 0373: if lasercharging -; samplesrc/sfm.pla: 0374: lasercharging-- - !BYTE $54 ; CALL _X065 -_F061 !WORD 0 - !BYTE $64,$6C ; LLB [108] - !BYTE $4C ; BRFLS _B090 - !WORD _B090-* - !BYTE $64,$6C ; LLB [108] - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0375: hgrColor(1) -; samplesrc/sfm.pla: 0376: hgrRect(81 - lasercharging*4, YSHIP+6, 84 - lasercharging*4, 188) -; samplesrc/sfm.pla: 0377: fin - !BYTE $74,$6C ; SLB [108] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X050 -_F062 !WORD 0 - !BYTE $2A,$51 ; CB 81 - !BYTE $64,$6C ; LLB [108] - !BYTE $04 ; CN 2 - !BYTE $9A ; SHL - !BYTE $84 ; SUB - !BYTE $2A,$BA ; CB 186 - !BYTE $2A,$54 ; CB 84 - !BYTE $64,$6C ; LLB [108] - !BYTE $04 ; CN 2 - !BYTE $9A ; SHL - !BYTE $84 ; SUB - !BYTE $2A,$BC ; CB 188 - !BYTE $54 ; CALL _X037 -_F063 !WORD 0 -_B090 -_B091 -; samplesrc/sfm.pla: 0378: if btn0 and not lasercharging -; samplesrc/sfm.pla: 0379: // -; samplesrc/sfm.pla: 0380: // Fire laser -; samplesrc/sfm.pla: 0381: // -; samplesrc/sfm.pla: 0382: hgrColor(0) -; samplesrc/sfm.pla: 0383: hgrRect(4, YSHIP+6, LASER_RECHARGE * 4 + 4, 188) -; samplesrc/sfm.pla: 0384: lasercharging = LASER_RECHARGE -; samplesrc/sfm.pla: 0385: leftxlaser = xship - 7 -; samplesrc/sfm.pla: 0386: rightxlaser = xship + 7 -; samplesrc/sfm.pla: 0387: leftylaser = 0 -; samplesrc/sfm.pla: 0388: rightylaser = 0 -; samplesrc/sfm.pla: 0389: lefthit = 255 -; samplesrc/sfm.pla: 0390: righthit = 255 -; samplesrc/sfm.pla: 0391: for k = 0 to spdrnum - !BYTE $64,$79 ; LLB [121] - !BYTE $AC ; BRAND _B092 - !WORD _B092-* - !BYTE $64,$6C ; LLB [108] - !BYTE $80 ; NOT -_B092 - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X050 -_F064 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $2A,$BA ; CB 186 - !BYTE $2A,$50 ; CB 80 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2A,$BC ; CB 188 - !BYTE $54 ; CALL _X037 -_F065 !WORD 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $74,$6C ; SLB [108] - !BYTE $66,$52 ; LLW [82] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $76,$56 ; SLW [86] - !BYTE $66,$52 ; LLW [82] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$58 ; SLW [88] - !BYTE $00 ; CN 0 - !BYTE $74,$70 ; SLB [112] - !BYTE $00 ; CN 0 - !BYTE $74,$71 ; SLB [113] - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$72 ; SLB [114] - !BYTE $2A,$FF ; CB 255 - !BYTE $74,$73 ; SLB [115] - !BYTE $64,$75 ; LLB [117] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B095 - !WORD _B095-* -_B096 - !BYTE $6C,$76 ; DLB [118] -; samplesrc/sfm.pla: 0392: if life[k] -; samplesrc/sfm.pla: 0393: // -; samplesrc/sfm.pla: 0394: // Hit test will all living spiders -; samplesrc/sfm.pla: 0395: // -; samplesrc/sfm.pla: 0396: if hatch[k] -; samplesrc/sfm.pla: 0397: width = 7 // Egg width -; samplesrc/sfm.pla: 0398: else - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$76 ; ADDLB [118] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B100 - !WORD _B100-* - !BYTE $0E ; CN 7 - !BYTE $74,$74 ; SLB [116] - !BYTE $50 ; BRNCH _B101 - !WORD _B101-* -_B100 -; samplesrc/sfm.pla: 0399: width = 10 // Spider width -; samplesrc/sfm.pla: 0400: fin - !BYTE $14 ; CN 10 - !BYTE $74,$74 ; SLB [116] -_B101 -; samplesrc/sfm.pla: 0401: if leftxlaser >= xspdr[k]-width and leftxlaser <= xspdr[k]+width -; samplesrc/sfm.pla: 0402: if yspdr[k] + 5 > leftylaser -; samplesrc/sfm.pla: 0403: lefthit = k -; samplesrc/sfm.pla: 0404: leftylaser = yspdr[k] + 5 -; samplesrc/sfm.pla: 0405: fin - !BYTE $66,$56 ; LLW [86] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $84 ; SUB - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B102 - !WORD _B102-* - !BYTE $66,$56 ; LLW [86] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $B0,$74 ; ADDLB [116] - !BYTE $4A ; ISLE -_B102 - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $64,$70 ; LLB [112] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $64,$76 ; LLB [118] - !BYTE $74,$72 ; SLB [114] - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $74,$70 ; SLB [112] -_B105 -_B106 -; samplesrc/sfm.pla: 0406: fin -_B103 -_B104 -; samplesrc/sfm.pla: 0407: if rightxlaser >= xspdr[k]-width and rightxlaser <= xspdr[k]+width -; samplesrc/sfm.pla: 0408: if yspdr[k] + 5 > rightylaser -; samplesrc/sfm.pla: 0409: righthit = k -; samplesrc/sfm.pla: 0410: rightylaser = yspdr[k] + 5 -; samplesrc/sfm.pla: 0411: fin - !BYTE $66,$58 ; LLW [88] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $84 ; SUB - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B107 - !WORD _B107-* - !BYTE $66,$58 ; LLW [88] - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $B0,$74 ; ADDLB [116] - !BYTE $4A ; ISLE -_B107 - !BYTE $4C ; BRFLS _B108 - !WORD _B108-* - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $64,$71 ; LLB [113] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $64,$76 ; LLB [118] - !BYTE $74,$73 ; SLB [115] - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$76 ; IDXLB [118] - !BYTE $62 ; LW - !BYTE $38,$05 ; ADDI 5 - !BYTE $74,$71 ; SLB [113] -_B110 -_B111 -; samplesrc/sfm.pla: 0412: fin -_B108 -_B109 -; samplesrc/sfm.pla: 0413: fin -_B098 -_B099 -; samplesrc/sfm.pla: 0414: next -_B097 - !BYTE $A4 ; INCBRLE _B096 - !WORD _B096-* -_B095 - !BYTE $74,$76 ; SLB [118] - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0415: // -; samplesrc/sfm.pla: 0416: // Draw Laser beams -; samplesrc/sfm.pla: 0417: // -; samplesrc/sfm.pla: 0418: hgrColor(3) -; samplesrc/sfm.pla: 0419: if leftxlaser >= 0 -; samplesrc/sfm.pla: 0420: hgrXorVLin(leftylaser, YSHIP-8, leftxlaser) -; samplesrc/sfm.pla: 0421: hgrXorVLin(leftylaser, YSHIP-8, leftxlaser+1) -; samplesrc/sfm.pla: 0422: fin - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X050 -_F066 !WORD 0 - !BYTE $66,$56 ; LLW [86] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B112 - !WORD _B112-* - !BYTE $64,$70 ; LLB [112] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$56 ; LLW [86] - !BYTE $54 ; CALL _X036 -_F067 !WORD 0 - !BYTE $64,$70 ; LLB [112] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$56 ; LLW [86] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X036 -_F068 !WORD 0 -_B112 -_B113 -; samplesrc/sfm.pla: 0423: if rightxlaser < 280 -; samplesrc/sfm.pla: 0424: hgrXorVLin(rightylaser, YSHIP-8, rightxlaser) -; samplesrc/sfm.pla: 0425: hgrXorVLin(rightylaser, YSHIP-8, rightxlaser-1) -; samplesrc/sfm.pla: 0426: fin - !BYTE $66,$58 ; LLW [88] - !BYTE $2C,$18,$01 ; CW 280 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $64,$71 ; LLB [113] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$58 ; LLW [88] - !BYTE $54 ; CALL _X036 -_F069 !WORD 0 - !BYTE $64,$71 ; LLB [113] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$58 ; LLW [88] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X036 -_F070 !WORD 0 -_B114 -_B115 -; samplesrc/sfm.pla: 0427: buzz = LASER_BUZZ -; samplesrc/sfm.pla: 0428: (@_spkrTone)(15, 1)#0 -; samplesrc/sfm.pla: 0429: if lefthit <> 255 -; samplesrc/sfm.pla: 0430: sprtnum = lefthit + SPIDER_SPRTEBASE -; samplesrc/sfm.pla: 0431: // -; samplesrc/sfm.pla: 0432: // Hit -; samplesrc/sfm.pla: 0433: // -; samplesrc/sfm.pla: 0434: life[lefthit]-- - !BYTE $2A,$14 ; CB 20 - !BYTE $78 ; SAB _D091+0 -_F071 !WORD _D091+0 - !BYTE $1E ; CN 15 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _D092 -_F072 !WORD _D092 - !BYTE $64,$72 ; LLB [114] - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B116 - !WORD _B116-* - !BYTE $64,$72 ; LLB [114] - !BYTE $38,$08 ; ADDI 8 - !BYTE $74,$74 ; SLB [116] - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$72 ; ADDLB [114] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0435: if not life[lefthit] -; samplesrc/sfm.pla: 0436: // -; samplesrc/sfm.pla: 0437: // Kill spider -; samplesrc/sfm.pla: 0438: // -; samplesrc/sfm.pla: 0439: death[lefthit] = 2 -; samplesrc/sfm.pla: 0440: spriteAdd(sprtnum, spriteDup(sprtSplat1)) -; samplesrc/sfm.pla: 0441: spritePosIndex(xspdr[lefthit], yspdr[lefthit], sprtnum) -; samplesrc/sfm.pla: 0442: if attack == lefthit // Was it attacking? -; samplesrc/sfm.pla: 0443: spriteDel(2) -; samplesrc/sfm.pla: 0444: spriteDel(3) -; samplesrc/sfm.pla: 0445: spriteDel(4) -; samplesrc/sfm.pla: 0446: webstate = 0 -; samplesrc/sfm.pla: 0447: attack = -1 -; samplesrc/sfm.pla: 0448: fin - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$72 ; ADDLB [114] - !BYTE $70 ; SB - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$72 ; ADDLB [114] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B118 - !WORD _B118-* - !BYTE $04 ; CN 2 - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$72 ; ADDLB [114] - !BYTE $70 ; SB - !BYTE $64,$74 ; LLB [116] - !BYTE $6A ; LAW _D079+0 -_F073 !WORD _D079+0 - !BYTE $54 ; CALL _X053 -_F074 !WORD 0 - !BYTE $54 ; CALL _X066 -_F075 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$72 ; IDXLB [114] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$72 ; IDXLB [114] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $54 ; CALL _X061 -_F076 !WORD 0 - !BYTE $66,$5A ; LLW [90] - !BYTE $64,$72 ; LLB [114] - !BYTE $24 ; BRNE _B120 - !WORD _B120-* - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X067 -_F077 !WORD 0 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X067 -_F078 !WORD 0 - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X067 -_F079 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$7B ; SLB [123] - !BYTE $20 ; MINUS ONE - !BYTE $76,$5A ; SLW [90] -_B120 -_B121 -; samplesrc/sfm.pla: 0449: else - !BYTE $50 ; BRNCH _B119 - !WORD _B119-* -_B118 -; samplesrc/sfm.pla: 0450: // -; samplesrc/sfm.pla: 0451: // Dim color to show life status -; samplesrc/sfm.pla: 0452: // -; samplesrc/sfm.pla: 0453: if hatch[lefthit] -; samplesrc/sfm.pla: 0454: sprtEgg = life[lefthit] == 2 ?? sprtEgg2 :: sprtEgg1 -; samplesrc/sfm.pla: 0455: spriteAdd(sprtnum, spriteDup(sprtEgg)) -; samplesrc/sfm.pla: 0456: else - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$72 ; IDXLB [114] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B122 - !WORD _B122-* - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$72 ; ADDLB [114] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B124 - !WORD _B124-* - !BYTE $6A ; LAW _D072+0 -_F080 !WORD _D072+0 - !BYTE $50 ; BRNCH _B125 - !WORD _B125-* -_B124 - !BYTE $6A ; LAW _D071+0 -_F081 !WORD _D071+0 -_B125 - !BYTE $7A ; SAW _D074+0 -_F082 !WORD _D074+0 - !BYTE $64,$74 ; LLB [116] - !BYTE $6A ; LAW _D074+0 -_F083 !WORD _D074+0 - !BYTE $54 ; CALL _X053 -_F084 !WORD 0 - !BYTE $54 ; CALL _X066 -_F085 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B122 -; samplesrc/sfm.pla: 0457: sprtSpider = life[lefthit] == 2 ?? sprtSpider2 :: sprtSpider1 -; samplesrc/sfm.pla: 0458: spriteAdd(sprtnum, spriteDup(sprtSpider)) -; samplesrc/sfm.pla: 0459: fin - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$72 ; ADDLB [114] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B126 - !WORD _B126-* - !BYTE $6A ; LAW _D076+0 -_F086 !WORD _D076+0 - !BYTE $50 ; BRNCH _B127 - !WORD _B127-* -_B126 - !BYTE $6A ; LAW _D075+0 -_F087 !WORD _D075+0 -_B127 - !BYTE $7A ; SAW _D078+0 -_F088 !WORD _D078+0 - !BYTE $64,$74 ; LLB [116] - !BYTE $6A ; LAW _D078+0 -_F089 !WORD _D078+0 - !BYTE $54 ; CALL _X053 -_F090 !WORD 0 - !BYTE $54 ; CALL _X066 -_F091 !WORD 0 - !BYTE $30 ; DROP -_B123 -; samplesrc/sfm.pla: 0460: spritePosIndex(xspdr[lefthit], yspdr[lefthit], sprtnum) -; samplesrc/sfm.pla: 0461: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$72 ; IDXLB [114] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$72 ; IDXLB [114] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $54 ; CALL _X061 -_F092 !WORD 0 -_B119 -; samplesrc/sfm.pla: 0462: fin -_B116 -_B117 -; samplesrc/sfm.pla: 0463: if righthit <> 255 and life[righthit] -; samplesrc/sfm.pla: 0464: sprtnum = righthit + SPIDER_SPRTEBASE -; samplesrc/sfm.pla: 0465: // -; samplesrc/sfm.pla: 0466: // Hit -; samplesrc/sfm.pla: 0467: // -; samplesrc/sfm.pla: 0468: life[righthit]-- - !BYTE $64,$73 ; LLB [115] - !BYTE $2A,$FF ; CB 255 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B128 - !WORD _B128-* - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $60 ; LB -_B128 - !BYTE $4C ; BRFLS _B129 - !WORD _B129-* - !BYTE $64,$73 ; LLB [115] - !BYTE $38,$08 ; ADDI 8 - !BYTE $74,$74 ; SLB [116] - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; samplesrc/sfm.pla: 0469: if not life[righthit] -; samplesrc/sfm.pla: 0470: // -; samplesrc/sfm.pla: 0471: // Kill spider -; samplesrc/sfm.pla: 0472: // -; samplesrc/sfm.pla: 0473: death[righthit] = 2 -; samplesrc/sfm.pla: 0474: spriteAdd(sprtnum, spriteDup(sprtSplat1)) -; samplesrc/sfm.pla: 0475: spritePosIndex(xspdr[righthit], yspdr[righthit], sprtnum) -; samplesrc/sfm.pla: 0476: if attack == righthit // Was it attacking? -; samplesrc/sfm.pla: 0477: spriteDel(2) -; samplesrc/sfm.pla: 0478: spriteDel(3) -; samplesrc/sfm.pla: 0479: spriteDel(4) -; samplesrc/sfm.pla: 0480: webstate = 0 -; samplesrc/sfm.pla: 0481: attack = -1 -; samplesrc/sfm.pla: 0482: fin - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $70 ; SB - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B131 - !WORD _B131-* - !BYTE $04 ; CN 2 - !BYTE $28,$64 ; LLA [100] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $70 ; SB - !BYTE $64,$74 ; LLB [116] - !BYTE $6A ; LAW _D079+0 -_F093 !WORD _D079+0 - !BYTE $54 ; CALL _X053 -_F094 !WORD 0 - !BYTE $54 ; CALL _X066 -_F095 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$73 ; IDXLB [115] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$73 ; IDXLB [115] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $54 ; CALL _X061 -_F096 !WORD 0 - !BYTE $66,$5A ; LLW [90] - !BYTE $64,$73 ; LLB [115] - !BYTE $24 ; BRNE _B133 - !WORD _B133-* - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X067 -_F097 !WORD 0 - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X067 -_F098 !WORD 0 - !BYTE $30 ; DROP - !BYTE $08 ; CN 4 - !BYTE $54 ; CALL _X067 -_F099 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$7B ; SLB [123] - !BYTE $20 ; MINUS ONE - !BYTE $76,$5A ; SLW [90] -_B133 -_B134 -; samplesrc/sfm.pla: 0483: else - !BYTE $50 ; BRNCH _B132 - !WORD _B132-* -_B131 -; samplesrc/sfm.pla: 0484: // -; samplesrc/sfm.pla: 0485: // Dim color to show life status -; samplesrc/sfm.pla: 0486: // -; samplesrc/sfm.pla: 0487: if hatch[righthit] -; samplesrc/sfm.pla: 0488: sprtEgg = life[righthit] == 2 ?? sprtEgg2 :: sprtEgg1 -; samplesrc/sfm.pla: 0489: spriteAdd(sprtnum, spriteDup(sprtEgg)) -; samplesrc/sfm.pla: 0490: else - !BYTE $28,$42 ; LLA [66] - !BYTE $B8,$73 ; IDXLB [115] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B135 - !WORD _B135-* - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B137 - !WORD _B137-* - !BYTE $6A ; LAW _D072+0 -_F100 !WORD _D072+0 - !BYTE $50 ; BRNCH _B138 - !WORD _B138-* -_B137 - !BYTE $6A ; LAW _D071+0 -_F101 !WORD _D071+0 -_B138 - !BYTE $7A ; SAW _D074+0 -_F102 !WORD _D074+0 - !BYTE $64,$74 ; LLB [116] - !BYTE $6A ; LAW _D074+0 -_F103 !WORD _D074+0 - !BYTE $54 ; CALL _X053 -_F104 !WORD 0 - !BYTE $54 ; CALL _X066 -_F105 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B136 - !WORD _B136-* -_B135 -; samplesrc/sfm.pla: 0491: sprtSpider = life[righthit] == 2 ?? sprtSpider2 :: sprtSpider1 -; samplesrc/sfm.pla: 0492: spriteAdd(sprtnum, spriteDup(sprtSpider)) -; samplesrc/sfm.pla: 0493: fin - !BYTE $28,$5C ; LLA [92] - !BYTE $B0,$73 ; ADDLB [115] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B139 - !WORD _B139-* - !BYTE $6A ; LAW _D076+0 -_F106 !WORD _D076+0 - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B139 - !BYTE $6A ; LAW _D075+0 -_F107 !WORD _D075+0 -_B140 - !BYTE $7A ; SAW _D078+0 -_F108 !WORD _D078+0 - !BYTE $64,$74 ; LLB [116] - !BYTE $6A ; LAW _D078+0 -_F109 !WORD _D078+0 - !BYTE $54 ; CALL _X053 -_F110 !WORD 0 - !BYTE $54 ; CALL _X066 -_F111 !WORD 0 - !BYTE $30 ; DROP -_B136 -; samplesrc/sfm.pla: 0494: spritePosIndex(xspdr[righthit], yspdr[righthit], sprtnum) -; samplesrc/sfm.pla: 0495: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $B8,$73 ; IDXLB [115] - !BYTE $62 ; LW - !BYTE $28,$12 ; LLA [18] - !BYTE $B8,$73 ; IDXLB [115] - !BYTE $62 ; LW - !BYTE $64,$74 ; LLB [116] - !BYTE $54 ; CALL _X061 -_F112 !WORD 0 -_B132 -; samplesrc/sfm.pla: 0496: fin -_B129 -_B130 -; samplesrc/sfm.pla: 0497: // -; samplesrc/sfm.pla: 0498: // Undraw lasers -; samplesrc/sfm.pla: 0499: // -; samplesrc/sfm.pla: 0500: hgrColor(3) -; samplesrc/sfm.pla: 0501: if leftxlaser >= 0 -; samplesrc/sfm.pla: 0502: hgrXorVLin(leftylaser, YSHIP-8, leftxlaser) -; samplesrc/sfm.pla: 0503: hgrXorVLin(leftylaser, YSHIP-8, leftxlaser+1) -; samplesrc/sfm.pla: 0504: fin - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X050 -_F113 !WORD 0 - !BYTE $66,$56 ; LLW [86] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B141 - !WORD _B141-* - !BYTE $64,$70 ; LLB [112] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$56 ; LLW [86] - !BYTE $54 ; CALL _X036 -_F114 !WORD 0 - !BYTE $64,$70 ; LLB [112] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$56 ; LLW [86] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X036 -_F115 !WORD 0 -_B141 -_B142 -; samplesrc/sfm.pla: 0505: if rightxlaser < 280 -; samplesrc/sfm.pla: 0506: hgrXorVLin(rightylaser, YSHIP-8, rightxlaser) -; samplesrc/sfm.pla: 0507: hgrXorVLin(rightylaser, YSHIP-8, rightxlaser-1) -; samplesrc/sfm.pla: 0508: fin - !BYTE $66,$58 ; LLW [88] - !BYTE $2C,$18,$01 ; CW 280 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B143 - !WORD _B143-* - !BYTE $64,$71 ; LLB [113] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$58 ; LLW [88] - !BYTE $54 ; CALL _X036 -_F116 !WORD 0 - !BYTE $64,$71 ; LLB [113] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$58 ; LLW [88] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X036 -_F117 !WORD 0 -_B143 -_B144 -; samplesrc/sfm.pla: 0509: fin -_B093 -_B094 -; samplesrc/sfm.pla: 0510: // -; samplesrc/sfm.pla: 0511: // Update stars -; samplesrc/sfm.pla: 0512: // -; samplesrc/sfm.pla: 0513: hgrColor(3) -; samplesrc/sfm.pla: 0514: hgrXorPlot(xstar[curstar], ystar[curstar]) -; samplesrc/sfm.pla: 0515: ystar[curstar]++ - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X050 -_F118 !WORD 0 - !BYTE $26 ; LA _D088+0 -_F119 !WORD _D088+0 - !BYTE $BC ; IDXAB _D090+0 -_F120 !WORD _D090+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D089+0 -_F121 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F122 !WORD _D090+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X032 -_F123 !WORD 0 - !BYTE $26 ; LA _D089+0 -_F124 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F125 !WORD _D090+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR -; samplesrc/sfm.pla: 0516: if ystar[curstar] > YSHIP -; samplesrc/sfm.pla: 0517: ystar[curstar] = 0 -; samplesrc/sfm.pla: 0518: fin - !BYTE $26 ; LA _D089+0 -_F126 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F127 !WORD _D090+0 - !BYTE $70 ; SB - !BYTE $26 ; LA _D089+0 -_F128 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F129 !WORD _D090+0 - !BYTE $60 ; LB - !BYTE $2A,$B4 ; CB 180 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D089+0 -_F130 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F131 !WORD _D090+0 - !BYTE $70 ; SB -_B145 -_B146 -; samplesrc/sfm.pla: 0519: hgrXorPlot(xstar[curstar], ystar[curstar]) -; samplesrc/sfm.pla: 0520: curstar++ - !BYTE $26 ; LA _D088+0 -_F132 !WORD _D088+0 - !BYTE $BC ; IDXAB _D090+0 -_F133 !WORD _D090+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D089+0 -_F134 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F135 !WORD _D090+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X032 -_F136 !WORD 0 - !BYTE $68 ; LAB _D090+0 -_F137 !WORD _D090+0 - !BYTE $8C ; INCR -; samplesrc/sfm.pla: 0521: if curstar >= NUMSTARS; curstar = 0; fin - !BYTE $7C ; DAB _D090+0 -_F138 !WORD _D090+0 - !BYTE $2A,$20 ; CB 32 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D090+0 -_F139 !WORD _D090+0 -_B147 -_B148 -; samplesrc/sfm.pla: 0522: until ^$C000 == $9B // ESCape key pressed -_B009 - !BYTE $68,$00,$C0 ; LAB 49152 - !BYTE $2A,$9B ; CB 155 - !BYTE $24 ; BRNE _B008 - !WORD _B008-* -_B007 -; samplesrc/sfm.pla: 0523: getc -; samplesrc/sfm.pla: 0524: return FALSE - !BYTE $54 ; CALL _X006 -_F140 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$7C ; LEAVE 124 -; samplesrc/sfm.pla: 0525: end -; samplesrc/sfm.pla: 0526: // -; samplesrc/sfm.pla: 0527: // Initialization -; samplesrc/sfm.pla: 0528: // -; samplesrc/sfm.pla: 0529: puts("Loading"); -_INIT - !BYTE $2E ; CS - !BYTE $07 - !BYTE $4C,$6F,$61,$64,$69,$6E,$67 - !BYTE $54 ; CALL _X004 -_F141 !WORD 0 -; samplesrc/sfm.pla: 0530: putc('.') -; samplesrc/sfm.pla: 0531: sprtShip = spriteRead("SHIP") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F142 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$48,$49,$50 - !BYTE $54 ; CALL _X054 -_F143 !WORD 0 - !BYTE $7A ; SAW _D084+0 -_F144 !WORD _D084+0 -; samplesrc/sfm.pla: 0532: if not sprtShip -; samplesrc/sfm.pla: 0533: cmdsys:modexec("SFMSPRT") - !BYTE $6A ; LAW _D084+0 -_F145 !WORD _D084+0 - !BYTE $4E ; BRTRU _B149 - !WORD _B149-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$46,$4D,$53,$50,$52,$54 - !BYTE $6A ; LAW _X000+6 -_F146 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0534: sprtShip = spriteRead("SHIP") - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$48,$49,$50 - !BYTE $54 ; CALL _X054 -_F147 !WORD 0 - !BYTE $7A ; SAW _D084+0 -_F148 !WORD _D084+0 -; samplesrc/sfm.pla: 0535: if not sprtShip -; samplesrc/sfm.pla: 0536: puts("\nError: Unable to compile sprites.\n") - !BYTE $6A ; LAW _D084+0 -_F149 !WORD _D084+0 - !BYTE $4E ; BRTRU _B151 - !WORD _B151-* - !BYTE $2E ; CS - !BYTE $23 - !BYTE $0D,$45,$72,$72,$6F,$72,$3A,$20 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$63,$6F,$6D,$70,$69,$6C - !BYTE $65,$20,$73,$70,$72,$69,$74,$65 - !BYTE $73,$2E,$0D - !BYTE $54 ; CALL _X004 -_F150 !WORD 0 -; samplesrc/sfm.pla: 0537: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; samplesrc/sfm.pla: 0538: fin -_B151 -_B152 -; samplesrc/sfm.pla: 0539: fin -_B149 -_B150 -; samplesrc/sfm.pla: 0540: putc('.') -; samplesrc/sfm.pla: 0541: sprtMissle = spriteRead("MISSLE") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F151 !WORD 0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $4D,$49,$53,$53,$4C,$45 - !BYTE $54 ; CALL _X054 -_F152 !WORD 0 - !BYTE $7A ; SAW _D085+0 -_F153 !WORD _D085+0 -; samplesrc/sfm.pla: 0542: putc('.') -; samplesrc/sfm.pla: 0543: sprtEgg3 = spriteRead("EGG3") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F154 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$47,$47,$33 - !BYTE $54 ; CALL _X054 -_F155 !WORD 0 - !BYTE $7A ; SAW _D073+0 -_F156 !WORD _D073+0 -; samplesrc/sfm.pla: 0544: putc('.') -; samplesrc/sfm.pla: 0545: sprtEgg2 = spriteRead("EGG2") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F157 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$47,$47,$32 - !BYTE $54 ; CALL _X054 -_F158 !WORD 0 - !BYTE $7A ; SAW _D072+0 -_F159 !WORD _D072+0 -; samplesrc/sfm.pla: 0546: putc('.') -; samplesrc/sfm.pla: 0547: sprtEgg1 = spriteRead("EGG1") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F160 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$47,$47,$31 - !BYTE $54 ; CALL _X054 -_F161 !WORD 0 - !BYTE $7A ; SAW _D071+0 -_F162 !WORD _D071+0 -; samplesrc/sfm.pla: 0548: putc('.') -; samplesrc/sfm.pla: 0549: sprtSpider3= spriteRead("SPIDER3") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F163 !WORD 0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$50,$49,$44,$45,$52,$33 - !BYTE $54 ; CALL _X054 -_F164 !WORD 0 - !BYTE $7A ; SAW _D077+0 -_F165 !WORD _D077+0 -; samplesrc/sfm.pla: 0550: putc('.') -; samplesrc/sfm.pla: 0551: sprtSpider2= spriteRead("SPIDER2") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F166 !WORD 0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$50,$49,$44,$45,$52,$32 - !BYTE $54 ; CALL _X054 -_F167 !WORD 0 - !BYTE $7A ; SAW _D076+0 -_F168 !WORD _D076+0 -; samplesrc/sfm.pla: 0552: putc('.') -; samplesrc/sfm.pla: 0553: sprtSpider1= spriteRead("SPIDER1") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F169 !WORD 0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$50,$49,$44,$45,$52,$31 - !BYTE $54 ; CALL _X054 -_F170 !WORD 0 - !BYTE $7A ; SAW _D075+0 -_F171 !WORD _D075+0 -; samplesrc/sfm.pla: 0554: putc('.') -; samplesrc/sfm.pla: 0555: sprtWeb1 = spriteRead("WEB1") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F172 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $57,$45,$42,$31 - !BYTE $54 ; CALL _X054 -_F173 !WORD 0 - !BYTE $7A ; SAW _D081+0 -_F174 !WORD _D081+0 -; samplesrc/sfm.pla: 0556: putc('.') -; samplesrc/sfm.pla: 0557: sprtWeb2 = spriteRead("WEB2") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F175 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $57,$45,$42,$32 - !BYTE $54 ; CALL _X054 -_F176 !WORD 0 - !BYTE $7A ; SAW _D082+0 -_F177 !WORD _D082+0 -; samplesrc/sfm.pla: 0558: putc('.') -; samplesrc/sfm.pla: 0559: sprtWeb3 = spriteRead("WEB3") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F178 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $57,$45,$42,$33 - !BYTE $54 ; CALL _X054 -_F179 !WORD 0 - !BYTE $7A ; SAW _D083+0 -_F180 !WORD _D083+0 -; samplesrc/sfm.pla: 0560: putc('.') -; samplesrc/sfm.pla: 0561: sprtSplat1 = spriteRead("SPLAT1") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F181 !WORD 0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $53,$50,$4C,$41,$54,$31 - !BYTE $54 ; CALL _X054 -_F182 !WORD 0 - !BYTE $7A ; SAW _D079+0 -_F183 !WORD _D079+0 -; samplesrc/sfm.pla: 0562: putc('.') -; samplesrc/sfm.pla: 0563: sprtSplat2 = spriteRead("SPLAT2") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F184 !WORD 0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $53,$50,$4C,$41,$54,$32 - !BYTE $54 ; CALL _X054 -_F185 !WORD 0 - !BYTE $7A ; SAW _D080+0 -_F186 !WORD _D080+0 -; samplesrc/sfm.pla: 0564: putc('.') -; samplesrc/sfm.pla: 0565: sprtDummy = spriteRead("DUMMY") - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F187 !WORD 0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $44,$55,$4D,$4D,$59 - !BYTE $54 ; CALL _X054 -_F188 !WORD 0 - !BYTE $7A ; SAW _D086+0 -_F189 !WORD _D086+0 -; samplesrc/sfm.pla: 0566: // -; samplesrc/sfm.pla: 0567: // Heat up JIT compiler -; samplesrc/sfm.pla: 0568: // -; samplesrc/sfm.pla: 0569: for curstar = 0 to 50 - !BYTE $2A,$32 ; CB 50 - !BYTE $00 ; CN 0 -_B154 - !BYTE $7C ; DAB _D090+0 -_F190 !WORD _D090+0 -; samplesrc/sfm.pla: 0570: putc('.') -; samplesrc/sfm.pla: 0571: spriteAdd(0, sprtDummy) -; samplesrc/sfm.pla: 0572: spritePosIndex(0, 0, 0) -; samplesrc/sfm.pla: 0573: spriteDrawXorList() -; samplesrc/sfm.pla: 0574: next - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F191 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D086+0 -_F192 !WORD _D086+0 - !BYTE $54 ; CALL _X066 -_F193 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X061 -_F194 !WORD 0 - !BYTE $54 ; CALL _X065 -_F195 !WORD 0 -_B155 - !BYTE $A4 ; INCBRLE _B154 - !WORD _B154-* -_B153 - !BYTE $78 ; SAB _D090+0 -_F196 !WORD _D090+0 - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0575: heapstart = heapmark() -; samplesrc/sfm.pla: 0576: //puts("\nBeginning available memory: "); puti(heapavail()); putln -; samplesrc/sfm.pla: 0577: repeat - !BYTE $54 ; CALL _X012 -_F197 !WORD 0 - !BYTE $7A ; SAW _D087+0 -_F198 !WORD _D087+0 -_B157 -; samplesrc/sfm.pla: 0578: hgrMode(hgrPage1) -; samplesrc/sfm.pla: 0579: spriteDrawBuf(hgrDrawBuf(hgrPage1)) // Single buffered -; samplesrc/sfm.pla: 0580: spriteAdd(SHIP_SPRTNUM, sprtShip) -; samplesrc/sfm.pla: 0581: spriteAdd(SPIDER_SPRTEBASE, sprtEgg3) -; samplesrc/sfm.pla: 0582: // -; samplesrc/sfm.pla: 0583: // Init stars -; samplesrc/sfm.pla: 0584: // -; samplesrc/sfm.pla: 0585: xstar[0] = 99 -; samplesrc/sfm.pla: 0586: ystar[0] = 10 -; samplesrc/sfm.pla: 0587: hgrColor(3) -; samplesrc/sfm.pla: 0588: hgrXorPlot(xstar[0], ystar[0]) -; samplesrc/sfm.pla: 0589: for curstar = 1 to NUMSTARS-1 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F199 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X049 -_F200 !WORD 0 - !BYTE $54 ; CALL _X068 -_F201 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D084+0 -_F202 !WORD _D084+0 - !BYTE $54 ; CALL _X066 -_F203 !WORD 0 - !BYTE $30 ; DROP - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D073+0 -_F204 !WORD _D073+0 - !BYTE $54 ; CALL _X066 -_F205 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2A,$63 ; CB 99 - !BYTE $7A ; SAW _D088+0 -_F206 !WORD _D088+0 - !BYTE $14 ; CN 10 - !BYTE $78 ; SAB _D089+0 -_F207 !WORD _D089+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X050 -_F208 !WORD 0 - !BYTE $6A ; LAW _D088+0 -_F209 !WORD _D088+0 - !BYTE $68 ; LAB _D089+0 -_F210 !WORD _D089+0 - !BYTE $54 ; CALL _X032 -_F211 !WORD 0 - !BYTE $2A,$1F ; CB 31 - !BYTE $02 ; CN 1 -_B160 - !BYTE $7C ; DAB _D090+0 -_F212 !WORD _D090+0 -; samplesrc/sfm.pla: 0590: xstar[curstar] = (xstar[curstar - 1] + 97 - curstar) % 280 -; samplesrc/sfm.pla: 0591: ystar[curstar] = (ystar[curstar - 1] + 19 + curstar) % YSHIP -; samplesrc/sfm.pla: 0592: hgrXorPlot(xstar[curstar], ystar[curstar]) -; samplesrc/sfm.pla: 0593: next - !BYTE $26 ; LA _D088+0 -_F213 !WORD _D088+0 - !BYTE $68 ; LAB _D090+0 -_F214 !WORD _D090+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $38,$61 ; ADDI 97 - !BYTE $68 ; LAB _D090+0 -_F215 !WORD _D090+0 - !BYTE $84 ; SUB - !BYTE $2C,$18,$01 ; CW 280 - !BYTE $8A ; MOD - !BYTE $26 ; LA _D088+0 -_F216 !WORD _D088+0 - !BYTE $BC ; IDXAB _D090+0 -_F217 !WORD _D090+0 - !BYTE $72 ; SW - !BYTE $26 ; LA _D089+0 -_F218 !WORD _D089+0 - !BYTE $68 ; LAB _D090+0 -_F219 !WORD _D090+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $38,$13 ; ADDI 19 - !BYTE $B4 ; ADDAB _D090+0 -_F220 !WORD _D090+0 - !BYTE $2A,$B4 ; CB 180 - !BYTE $8A ; MOD - !BYTE $26 ; LA _D089+0 -_F221 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F222 !WORD _D090+0 - !BYTE $70 ; SB - !BYTE $26 ; LA _D088+0 -_F223 !WORD _D088+0 - !BYTE $BC ; IDXAB _D090+0 -_F224 !WORD _D090+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D089+0 -_F225 !WORD _D089+0 - !BYTE $B4 ; ADDAB _D090+0 -_F226 !WORD _D090+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X032 -_F227 !WORD 0 -_B161 - !BYTE $A4 ; INCBRLE _B160 - !WORD _B160-* -_B159 - !BYTE $78 ; SAB _D090+0 -_F228 !WORD _D090+0 - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0594: curstar = 0 -; samplesrc/sfm.pla: 0595: if game(8) -; samplesrc/sfm.pla: 0596: // -; samplesrc/sfm.pla: 0597: // Won -; samplesrc/sfm.pla: 0598: // -; samplesrc/sfm.pla: 0599: spriteDrawXorList() -; samplesrc/sfm.pla: 0600: (@_spkrTone)(100, 20)#0 -; samplesrc/sfm.pla: 0601: (@_spkrTone)(75, 20)#0 -; samplesrc/sfm.pla: 0602: (@_spkrTone)(15, 20)#0 -; samplesrc/sfm.pla: 0603: (@_spkrTone)(25, 100)#0 -; samplesrc/sfm.pla: 0604: puts("\nZiggy Stardust has saved Earth!\n") - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D090+0 -_F229 !WORD _D090+0 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _C000 -_F230 !WORD _C000 - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $54 ; CALL _X065 -_F231 !WORD 0 - !BYTE $2A,$64 ; CB 100 - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _D092 -_F232 !WORD _D092 - !BYTE $2A,$4B ; CB 75 - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _D092 -_F233 !WORD _D092 - !BYTE $1E ; CN 15 - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _D092 -_F234 !WORD _D092 - !BYTE $2A,$19 ; CB 25 - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _D092 -_F235 !WORD _D092 - !BYTE $2E ; CS - !BYTE $21 - !BYTE $0D,$5A,$69,$67,$67,$79,$20,$53 - !BYTE $74,$61,$72,$64,$75,$73,$74,$20 - !BYTE $68,$61,$73,$20,$73,$61,$76,$65 - !BYTE $64,$20,$45,$61,$72,$74,$68,$21 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F236 !WORD 0 -; samplesrc/sfm.pla: 0605: else - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -_B162 -; samplesrc/sfm.pla: 0606: // -; samplesrc/sfm.pla: 0607: // Lost -; samplesrc/sfm.pla: 0608: // -; samplesrc/sfm.pla: 0609: spriteDrawXorList() -; samplesrc/sfm.pla: 0610: (@_spkrTone)(100, 50)#0 -; samplesrc/sfm.pla: 0611: spriteDrawXor(sprtShip) -; samplesrc/sfm.pla: 0612: (@_spkrTone)(150, 50)#0 -; samplesrc/sfm.pla: 0613: spriteDrawXor(sprtShip) -; samplesrc/sfm.pla: 0614: (@_spkrTone)(100, 50)#0 -; samplesrc/sfm.pla: 0615: spriteDrawXor(sprtShip) -; samplesrc/sfm.pla: 0616: (@_spkrTone)(150, 50)#0 -; samplesrc/sfm.pla: 0617: puts("\nEarth has been overrun") - !BYTE $54 ; CALL _X065 -_F237 !WORD 0 - !BYTE $2A,$64 ; CB 100 - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _D092 -_F238 !WORD _D092 - !BYTE $6A ; LAW _D084+0 -_F239 !WORD _D084+0 - !BYTE $54 ; CALL _X057 -_F240 !WORD 0 - !BYTE $2A,$96 ; CB 150 - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _D092 -_F241 !WORD _D092 - !BYTE $6A ; LAW _D084+0 -_F242 !WORD _D084+0 - !BYTE $54 ; CALL _X057 -_F243 !WORD 0 - !BYTE $2A,$64 ; CB 100 - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _D092 -_F244 !WORD _D092 - !BYTE $6A ; LAW _D084+0 -_F245 !WORD _D084+0 - !BYTE $54 ; CALL _X057 -_F246 !WORD 0 - !BYTE $2A,$96 ; CB 150 - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _D092 -_F247 !WORD _D092 - !BYTE $2E ; CS - !BYTE $17 - !BYTE $0D,$45,$61,$72,$74,$68,$20,$68 - !BYTE $61,$73,$20,$62,$65,$65,$6E,$20 - !BYTE $6F,$76,$65,$72,$72,$75,$6E - !BYTE $54 ; CALL _X004 -_F248 !WORD 0 -; samplesrc/sfm.pla: 0618: puts("\nby the Spiders from Mars\n") - !BYTE $2E ; CS - !BYTE $1A - !BYTE $0D,$62,$79,$20,$74,$68,$65,$20 - !BYTE $53,$70,$69,$64,$65,$72,$73,$20 - !BYTE $66,$72,$6F,$6D,$20,$4D,$61,$72 - !BYTE $73,$0D - !BYTE $54 ; CALL _X004 -_F249 !WORD 0 -; samplesrc/sfm.pla: 0619: fin -_B163 -; samplesrc/sfm.pla: 0620: hgrMode(hgrOFF) -; samplesrc/sfm.pla: 0621: //hgrDrawBuf(hgrPage1) -; samplesrc/sfm.pla: 0622: // -; samplesrc/sfm.pla: 0623: // Clear sprite lists -; samplesrc/sfm.pla: 0624: // -; samplesrc/sfm.pla: 0625: for curstar = 0 to 15 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X045 -_F250 !WORD 0 - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B165 - !BYTE $7C ; DAB _D090+0 -_F251 !WORD _D090+0 -; samplesrc/sfm.pla: 0626: spriteDel(curstar) -; samplesrc/sfm.pla: 0627: next - !BYTE $68 ; LAB _D090+0 -_F252 !WORD _D090+0 - !BYTE $54 ; CALL _X067 -_F253 !WORD 0 - !BYTE $30 ; DROP -_B166 - !BYTE $A4 ; INCBRLE _B165 - !WORD _B165-* -_B164 - !BYTE $78 ; SAB _D090+0 -_F254 !WORD _D090+0 - !BYTE $30 ; DROP -; samplesrc/sfm.pla: 0628: spriteDrawXorList() -; samplesrc/sfm.pla: 0629: spriteDrawXorList() -; samplesrc/sfm.pla: 0630: // -; samplesrc/sfm.pla: 0631: // Reset heap -; samplesrc/sfm.pla: 0632: // -; samplesrc/sfm.pla: 0633: heaprelease(heapstart) -; samplesrc/sfm.pla: 0634: //puts("\nAvailable memory: "); puti(heapavail()); putln -; samplesrc/sfm.pla: 0635: puts("Play again (Y/N)?") - !BYTE $54 ; CALL _X065 -_F255 !WORD 0 - !BYTE $54 ; CALL _X065 -_F256 !WORD 0 - !BYTE $6A ; LAW _D087+0 -_F257 !WORD _D087+0 - !BYTE $54 ; CALL _X015 -_F258 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $11 - !BYTE $50,$6C,$61,$79,$20,$61,$67,$61 - !BYTE $69,$6E,$20,$28,$59,$2F,$4E,$29 - !BYTE $3F - !BYTE $54 ; CALL _X004 -_F259 !WORD 0 -; samplesrc/sfm.pla: 0636: until toupper(getc) <> 'Y' -_B158 - !BYTE $54 ; CALL _X006 -_F260 !WORD 0 - !BYTE $54 ; CALL _X021 -_F261 !WORD 0 - !BYTE $2A,$59 ; CB 89 - !BYTE $22 ; BREQ _B157 - !WORD _B157-* -_B156 -; samplesrc/sfm.pla: 0637: putln -; samplesrc/sfm.pla: 0638: done - !BYTE $54 ; CALL _X003 -_F262 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 60 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 70 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 60 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 37 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 53 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE 54 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 61 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE 49 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE 68 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE 66 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE 50 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 67 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE 65 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: HGRXORPLOT - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D0,$CC,$CF,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: HGRXORVLIN - !BYTE $C8,$C7,$D2,$D8,$CF,$D2,$D6,$CC,$C9,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: HGRRECT - !BYTE $C8,$C7,$D2,$D2,$C5,$C3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 37 ; ESD INDEX - ; DCI STRING: HGRMODE - !BYTE $C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: HGRDRAWBUF - !BYTE $C8,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 49 ; ESD INDEX - ; DCI STRING: HGRCOLOR - !BYTE $C8,$C7,$D2,$C3,$CF,$CC,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 50 ; ESD INDEX - ; DCI STRING: SPRITEDUP - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D5,$50 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 53 ; ESD INDEX - ; DCI STRING: SPRITEREAD - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D2,$C5,$C1,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 54 ; ESD INDEX - ; DCI STRING: SPRITEDRAWXOR - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$D8,$CF,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 57 ; ESD INDEX - ; DCI STRING: SPRITEPOS - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D0,$CF,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 60 ; ESD INDEX - ; DCI STRING: SPRITEPOSINDEX - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D0,$CF,$D3,$C9,$CE,$C4,$C5,$58 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 61 ; ESD INDEX - ; DCI STRING: SPRITEDRAWXORLIST - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$D8,$CF,$D2,$CC,$C9,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 65 ; ESD INDEX - ; DCI STRING: SPRITEADD - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C1,$C4,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 66 ; ESD INDEX - ; DCI STRING: SPRITEDEL - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$C5,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 67 ; ESD INDEX - ; DCI STRING: SPRITEDRAWBUF - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 68 ; ESD INDEX - ; DCI STRING: JOYPOS - !BYTE $CA,$CF,$D9,$D0,$CF,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 70 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/sfmsprt.a b/src/samplesrc/sfmsprt.a deleted file mode 100644 index 5375fcc..0000000 --- a/src/samplesrc/sfmsprt.a +++ /dev/null @@ -1,2300 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/sfmsprt.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/sfmsprt.pla: 0001: -; samplesrc/sfmsprt.pla: 0002: include "inc/hgrlib.plh" -; inc/hgrlib.plh: 0001: import hgrlib - ; DCI STRING: HGRLIB - !BYTE $C8,$C7,$D2,$CC,$C9,$42 - ; HGRLIB -> X028 -; inc/hgrlib.plh: 0002: predef divmod7(x)#2 - ; DIVMOD7 -> X029 -; inc/hgrlib.plh: 0003: predef hgrPlot(x, y)#0 - ; HGRPLOT -> X030 -; inc/hgrlib.plh: 0004: predef hgrOrPlot(x, y)#0 - ; HGRORPLOT -> X031 -; inc/hgrlib.plh: 0005: predef hgrXorPlot(x, y)#0 - ; HGRXORPLOT -> X032 -; inc/hgrlib.plh: 0006: predef hgrHLin(x1, x2, y)#0 - ; HGRHLIN -> X033 -; inc/hgrlib.plh: 0007: predef hgrVLin(y1, y2, x)#0 - ; HGRVLIN -> X034 -; inc/hgrlib.plh: 0008: predef hgrXorHLin(x1, x2, y)#0 - ; HGRXORHLIN -> X035 -; inc/hgrlib.plh: 0009: predef hgrXorVLin(y1, y2, x)#0 - ; HGRXORVLIN -> X036 -; inc/hgrlib.plh: 0010: predef hgrRect(x1, y1, x2, y2)#0 - ; HGRRECT -> X037 -; inc/hgrlib.plh: 0011: predef hgrXorRect(x1, y1, x2, y2)#0 - ; HGRXORRECT -> X038 -; inc/hgrlib.plh: 0012: predef hgrBLT(x, y, width, height, srcptr)#0 - ; HGRBLT -> X039 -; inc/hgrlib.plh: 0013: predef hgrCopySrc(ofst, y, w, h, srcptr)#0 - ; HGRCOPYSRC -> X040 -; inc/hgrlib.plh: 0014: predef hgrAndSrc(ofst, y, w, h, srcptr)#0 - ; HGRANDSRC -> X041 -; inc/hgrlib.plh: 0015: predef hgrXorSrc(ofst, y, w, h, srcptr)#0 - ; HGRXORSRC -> X042 -; inc/hgrlib.plh: 0016: predef hgrOrSrc(ofst, y, w, h, srcptr)#0 - ; HGRORSRC -> X043 -; inc/hgrlib.plh: 0017: predef hgrCopyDst(ofst, y, w, h, dstptr)#0 - ; HGRCOPYDST -> X044 -; inc/hgrlib.plh: 0018: predef hgrMode(mode)#1 - ; HGRMODE -> X045 -; inc/hgrlib.plh: 0019: predef hgrClear#0 - ; HGRCLEAR -> X046 -; inc/hgrlib.plh: 0020: predef hgrShow(page)#1 - ; HGRSHOW -> X047 -; inc/hgrlib.plh: 0021: predef hgrSwap#1 - ; HGRSWAP -> X048 -; inc/hgrlib.plh: 0022: predef hgrDrawBuf(page)#1 - ; HGRDRAWBUF -> X049 -; inc/hgrlib.plh: 0023: predef hgrColor(clr)#0 - ; HGRCOLOR -> X050 -; inc/hgrlib.plh: 0024: const hgrPage1 = 0 - ; hgrPage1 = 0 -; inc/hgrlib.plh: 0025: const hgrPage2 = 1 - ; hgrPage2 = 1 -; inc/hgrlib.plh: 0026: const hgrOff = -1 - ; hgrOff = -1 -; inc/hgrlib.plh: 0027: end -; samplesrc/sfmsprt.pla: 0002: -; samplesrc/sfmsprt.pla: 0003: include "inc/hgrsprite.plh" -; inc/hgrsprite.plh: 0001: import hgrsprite - ; DCI STRING: HGRSPRITE - !BYTE $C8,$C7,$D2,$D3,$D0,$D2,$C9,$D4,$45 - ; HGRSPRITE -> X051 -; inc/hgrsprite.plh: 0002: predef spriteCompile(w, h, xcenter, ycenter, srcptr)#1 - ; SPRITECOMPILE -> X052 -; inc/hgrsprite.plh: 0003: predef spriteDup(sprtsrc)#1 - ; SPRITEDUP -> X053 -; inc/hgrsprite.plh: 0004: predef spriteRead(filestr)#1 - ; SPRITEREAD -> X054 -; inc/hgrsprite.plh: 0005: predef spriteSave(filestr, sprtptr)#1 - ; SPRITESAVE -> X055 -; inc/hgrsprite.plh: 0006: predef spriteDraw(sprtptr)#0 - ; SPRITEDRAW -> X056 -; inc/hgrsprite.plh: 0007: predef spriteDrawXor(sprtptr)#0 - ; SPRITEDRAWXOR -> X057 -; inc/hgrsprite.plh: 0008: predef spriteUnDraw(sprtptr)#0 - ; SPRITEUNDRAW -> X058 -; inc/hgrsprite.plh: 0009: predef spriteUnDrawXor(sprtptr)#0 - ; SPRITEUNDRAWXOR -> X059 -; inc/hgrsprite.plh: 0010: predef spritePos(x, y, sprtptr)#0 - ; SPRITEPOS -> X060 -; inc/hgrsprite.plh: 0011: predef spritePosIndex(x, y, i)#0 - ; SPRITEPOSINDEX -> X061 -; inc/hgrsprite.plh: 0012: predef spriteUnDrawList#0 - ; SPRITEUNDRAWLIST -> X062 -; inc/hgrsprite.plh: 0013: predef spriteUnDrawXorList#0 - ; SPRITEUNDRAWXORLIST -> X063 -; inc/hgrsprite.plh: 0014: predef spriteDrawList#0 - ; SPRITEDRAWLIST -> X064 -; inc/hgrsprite.plh: 0015: predef spriteDrawXorList#0 - ; SPRITEDRAWXORLIST -> X065 -; inc/hgrsprite.plh: 0016: predef spriteAdd(i, sprtptr)#1 - ; SPRITEADD -> X066 -; inc/hgrsprite.plh: 0017: predef spriteDel(i)#1 - ; SPRITEDEL -> X067 -; inc/hgrsprite.plh: 0018: predef spriteDrawBuf(page)#1 - ; SPRITEDRAWBUF -> X068 -; inc/hgrsprite.plh: 0019: end -; samplesrc/sfmsprt.pla: 0003: -; samplesrc/sfmsprt.pla: 0004: sysflags reshgr1 // Reserve HGR page 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0010 ; SYSTEM FLAGS -; samplesrc/sfmsprt.pla: 0005: -; samplesrc/sfmsprt.pla: 0006: -; samplesrc/sfmsprt.pla: 0007: byte egg3 = $88,$88,$83,$33,$38,$88,$88 -_D069 ; egg3 = $88,$88,$83,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0008: byte = $88,$83,$33,$11,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $11 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0009: byte = $83,$31,$11,$11,$11,$13,$38 - !BYTE $83 - !BYTE $31 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $13 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0010: byte = $33,$11,$11,$11,$11,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0011: byte = $33,$11,$11,$11,$11,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0012: byte = $33,$11,$11,$11,$11,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0013: byte = $33,$11,$11,$11,$11,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0014: byte = $33,$11,$11,$11,$11,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0015: byte = $33,$11,$11,$11,$11,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0016: byte = $83,$31,$11,$11,$11,$13,$38 - !BYTE $83 - !BYTE $31 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $13 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0017: byte = $88,$83,$33,$11,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $11 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0018: byte = $88,$88,$83,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0019: byte egg2 = $88,$88,$83,$33,$38,$88,$88 -_D070 ; egg2 = $88,$88,$83,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0020: byte = $88,$83,$33,$11,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $11 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0021: byte = $83,$30,$11,$00,$11,$13,$38 - !BYTE $83 - !BYTE $30 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $13 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0022: byte = $33,$11,$00,$11,$00,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0023: byte = $33,$00,$11,$00,$11,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0024: byte = $33,$11,$00,$11,$00,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0025: byte = $33,$00,$11,$00,$11,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0026: byte = $33,$11,$00,$11,$00,$11,$33 - !BYTE $33 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0027: byte = $33,$00,$11,$00,$11,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0028: byte = $83,$31,$00,$11,$00,$13,$38 - !BYTE $83 - !BYTE $31 - !BYTE $00 - !BYTE $11 - !BYTE $00 - !BYTE $13 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0029: byte = $88,$83,$33,$00,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $00 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0030: byte = $88,$88,$83,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0031: byte egg1 = $88,$88,$83,$33,$38,$88,$88 -_D071 ; egg1 = $88,$88,$83,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0032: byte = $88,$83,$33,$00,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $00 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0033: byte = $83,$30,$00,$00,$00,$03,$38 - !BYTE $83 - !BYTE $30 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $03 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0034: byte = $33,$00,$00,$00,$00,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0035: byte = $33,$00,$00,$00,$00,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0036: byte = $33,$00,$00,$00,$00,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0037: byte = $33,$00,$00,$00,$00,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0038: byte = $33,$00,$00,$00,$00,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0039: byte = $33,$00,$00,$00,$00,$00,$33 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0040: byte = $83,$30,$00,$00,$00,$03,$38 - !BYTE $83 - !BYTE $30 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $03 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0041: byte = $88,$83,$33,$11,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $11 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0042: byte = $88,$88,$83,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0043: byte spider3 = $33,$88,$88,$33,$33,$33,$33,$88,$88,$33 -_D072 ; spider3 = $33,$88,$88,$33,$33,$33,$33,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0044: byte = $33,$88,$83,$32,$22,$22,$23,$38,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $83 - !BYTE $32 - !BYTE $22 - !BYTE $22 - !BYTE $23 - !BYTE $38 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0045: byte = $83,$38,$83,$32,$22,$22,$23,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $32 - !BYTE $22 - !BYTE $22 - !BYTE $23 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0046: byte = $88,$83,$33,$22,$22,$22,$22,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0047: byte = $33,$88,$33,$22,$22,$22,$22,$33,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0048: byte = $88,$33,$38,$33,$22,$22,$33,$83,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $38 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $83 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0049: byte = $88,$88,$83,$33,$22,$22,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0050: byte = $88,$33,$33,$33,$22,$22,$33,$33,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0051: byte = $33,$88,$88,$88,$33,$33,$88,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0052: byte = $88,$88,$33,$33,$22,$22,$33,$33,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0053: byte = $88,$33,$88,$33,$22,$22,$33,$88,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $22 - !BYTE $22 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0054: byte = $33,$88,$88,$83,$32,$23,$38,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $32 - !BYTE $23 - !BYTE $38 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0055: byte = $88,$88,$88,$88,$33,$33,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0056: byte spider2 = $33,$88,$88,$33,$33,$33,$33,$88,$88,$33 -_D073 ; spider2 = $33,$88,$88,$33,$33,$33,$33,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0057: byte = $33,$88,$83,$30,$02,$20,$03,$38,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $83 - !BYTE $30 - !BYTE $02 - !BYTE $20 - !BYTE $03 - !BYTE $38 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0058: byte = $83,$38,$83,$32,$20,$02,$23,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $32 - !BYTE $20 - !BYTE $02 - !BYTE $23 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0059: byte = $88,$83,$33,$20,$02,$20,$02,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $20 - !BYTE $02 - !BYTE $20 - !BYTE $02 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0060: byte = $33,$88,$33,$02,$20,$02,$20,$33,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $02 - !BYTE $20 - !BYTE $02 - !BYTE $20 - !BYTE $33 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0061: byte = $88,$33,$38,$30,$02,$20,$03,$83,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $38 - !BYTE $30 - !BYTE $02 - !BYTE $20 - !BYTE $03 - !BYTE $83 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0062: byte = $88,$88,$83,$33,$20,$02,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $20 - !BYTE $02 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0063: byte = $88,$33,$33,$30,$02,$20,$03,$33,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $30 - !BYTE $02 - !BYTE $20 - !BYTE $03 - !BYTE $33 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0064: byte = $33,$88,$88,$88,$33,$33,$88,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0065: byte = $88,$88,$33,$30,$02,$20,$03,$33,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $30 - !BYTE $02 - !BYTE $20 - !BYTE $03 - !BYTE $33 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0066: byte = $88,$33,$88,$33,$20,$02,$33,$88,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $20 - !BYTE $02 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0067: byte = $33,$88,$88,$83,$32,$23,$38,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $32 - !BYTE $23 - !BYTE $38 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0068: byte = $88,$88,$88,$88,$33,$33,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0069: byte spider1 = $33,$88,$88,$33,$33,$33,$33,$88,$88,$33 -_D074 ; spider1 = $33,$88,$88,$33,$33,$33,$33,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0070: byte = $33,$88,$83,$30,$00,$00,$03,$38,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $83 - !BYTE $30 - !BYTE $00 - !BYTE $00 - !BYTE $03 - !BYTE $38 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0071: byte = $83,$38,$83,$30,$00,$00,$03,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $30 - !BYTE $00 - !BYTE $00 - !BYTE $03 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0072: byte = $88,$83,$33,$00,$00,$00,$00,$33,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0073: byte = $33,$88,$33,$00,$00,$00,$00,$33,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $00 - !BYTE $33 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0074: byte = $88,$33,$38,$33,$00,$00,$33,$83,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $38 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $33 - !BYTE $83 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0075: byte = $88,$88,$83,$33,$00,$00,$33,$38,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $33 - !BYTE $38 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0076: byte = $88,$33,$33,$30,$00,$00,$03,$33,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $30 - !BYTE $00 - !BYTE $00 - !BYTE $03 - !BYTE $33 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0077: byte = $33,$88,$88,$88,$33,$33,$88,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0078: byte = $88,$88,$33,$30,$00,$00,$03,$33,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $30 - !BYTE $00 - !BYTE $00 - !BYTE $03 - !BYTE $33 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0079: byte = $88,$33,$88,$33,$00,$00,$33,$88,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $00 - !BYTE $00 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0080: byte = $33,$88,$88,$83,$30,$03,$38,$88,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $83 - !BYTE $30 - !BYTE $03 - !BYTE $38 - !BYTE $88 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0081: byte = $88,$88,$88,$88,$33,$33,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0082: byte web1 = $88,$83,$38,$88 -_D075 ; web1 = $88,$83,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0083: byte = $88,$38,$83,$88 - !BYTE $88 - !BYTE $38 - !BYTE $83 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0084: byte = $88,$38,$83,$88 - !BYTE $88 - !BYTE $38 - !BYTE $83 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0085: byte = $88,$33,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0086: byte = $83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0087: byte = $83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0088: byte = $83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0089: byte = $33,$33,$33,$33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0090: byte web2 = $88,$33,$83,$38,$33,$88 -_D076 ; web2 = $88,$33,$83,$38,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $83 - !BYTE $38 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0091: byte = $88,$38,$83,$38,$83,$88 - !BYTE $88 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0092: byte = $83,$38,$83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0093: byte = $83,$33,$33,$33,$33,$38 - !BYTE $83 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0094: byte = $83,$38,$83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0095: byte = $83,$38,$83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0096: byte = $33,$88,$83,$38,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $83 - !BYTE $38 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0097: byte = $33,$33,$33,$33,$33,$33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0098: byte web3 = $88,$83,$38,$83,$38,$83,$38,$83,$38,$88 -_D077 ; web3 = $88,$83,$38,$83,$38,$83,$38,$83,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0099: byte = $88,$83,$38,$83,$38,$83,$38,$83,$38,$88 - !BYTE $88 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0100: byte = $88,$33,$88,$33,$88,$88,$33,$88,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $88 - !BYTE $88 - !BYTE $33 - !BYTE $88 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0101: byte = $88,$33,$33,$33,$33,$33,$33,$33,$33,$88 - !BYTE $88 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0102: byte = $83,$38,$88,$33,$83,$38,$33,$88,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $88 - !BYTE $33 - !BYTE $83 - !BYTE $38 - !BYTE $33 - !BYTE $88 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0103: byte = $83,$38,$83,$38,$83,$38,$83,$38,$83,$38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 -; samplesrc/sfmsprt.pla: 0104: byte = $33,$88,$83,$38,$83,$38,$83,$38,$88,$33 - !BYTE $33 - !BYTE $88 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $83 - !BYTE $38 - !BYTE $88 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0105: byte = $33,$38,$33,$33,$33,$33,$33,$33,$33,$33 - !BYTE $33 - !BYTE $38 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 - !BYTE $33 -; samplesrc/sfmsprt.pla: 0106: byte splat1 = $88,$88,$88,$22,$22,$22,$22,$88,$88,$88 -_D078 ; splat1 = $88,$88,$88,$22,$22,$22,$22,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0107: byte = $88,$88,$88,$22,$11,$11,$22,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0108: byte = $88,$88,$88,$22,$11,$11,$22,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0109: byte = $88,$82,$22,$11,$11,$11,$11,$22,$28,$88 - !BYTE $88 - !BYTE $82 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $28 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0110: byte = $22,$22,$22,$11,$11,$11,$11,$22,$22,$22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $22 -; samplesrc/sfmsprt.pla: 0111: byte = $88,$22,$28,$22,$11,$11,$22,$82,$22,$88 - !BYTE $88 - !BYTE $22 - !BYTE $28 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $82 - !BYTE $22 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0112: byte = $88,$88,$82,$22,$11,$11,$22,$28,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $82 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $28 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0113: byte = $88,$22,$22,$22,$11,$11,$22,$22,$22,$88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0114: byte = $22,$22,$88,$88,$22,$22,$88,$88,$22,$22 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 -; samplesrc/sfmsprt.pla: 0115: byte = $88,$88,$22,$22,$11,$11,$22,$22,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0116: byte = $88,$22,$22,$22,$11,$11,$22,$22,$22,$88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0117: byte = $22,$22,$88,$82,$21,$12,$28,$88,$22,$22 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $82 - !BYTE $21 - !BYTE $12 - !BYTE $28 - !BYTE $88 - !BYTE $22 - !BYTE $22 -; samplesrc/sfmsprt.pla: 0118: byte = $88,$88,$88,$88,$22,$22,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0119: byte splat2 = $88,$88,$88,$88,$22,$22,$22,$22,$88,$88,$88,$88 -_D079 ; splat2 = $88,$88,$88,$88,$22,$22,$22,$22,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0120: byte = $88,$88,$88,$88,$22,$11,$11,$22,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0121: byte = $88,$88,$88,$82,$22,$11,$11,$22,$88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $82 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0122: byte = $88,$88,$88,$22,$11,$11,$11,$11,$22,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0123: byte = $88,$88,$82,$22,$11,$18,$81,$11,$22,$28,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $82 - !BYTE $22 - !BYTE $11 - !BYTE $18 - !BYTE $81 - !BYTE $11 - !BYTE $22 - !BYTE $28 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0124: byte = $88,$22,$22,$22,$11,$88,$88,$11,$22,$22,$22,$88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $88 - !BYTE $88 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0125: byte = $22,$28,$82,$22,$11,$88,$88,$11,$22,$28,$82,$22 - !BYTE $22 - !BYTE $28 - !BYTE $82 - !BYTE $22 - !BYTE $11 - !BYTE $88 - !BYTE $88 - !BYTE $11 - !BYTE $22 - !BYTE $28 - !BYTE $82 - !BYTE $22 -; samplesrc/sfmsprt.pla: 0126: byte = $88,$88,$22,$28,$88,$88,$88,$88,$82,$22,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $28 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $82 - !BYTE $22 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0127: byte = $88,$88,$88,$22,$88,$88,$88,$11,$22,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0128: byte = $88,$88,$22,$22,$11,$88,$88,$11,$22,$22,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $88 - !BYTE $88 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0129: byte = $88,$22,$22,$22,$11,$18,$81,$11,$22,$22,$22,$88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $18 - !BYTE $81 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0130: byte = $88,$88,$88,$22,$11,$18,$81,$11,$22,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $11 - !BYTE $18 - !BYTE $81 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0131: byte = $88,$88,$22,$22,$11,$11,$11,$11,$22,$22,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0132: byte = $88,$22,$22,$88,$22,$11,$11,$22,$88,$22,$22,$88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0133: byte = $22,$28,$88,$88,$88,$22,$22,$88,$88,$88,$82,$22 - !BYTE $22 - !BYTE $28 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $82 - !BYTE $22 -; samplesrc/sfmsprt.pla: 0134: byte = $88,$88,$22,$22,$22,$11,$11,$22,$22,$22,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $22 - !BYTE $22 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0135: byte = $88,$88,$22,$28,$22,$11,$11,$22,$82,$22,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $22 - !BYTE $28 - !BYTE $22 - !BYTE $11 - !BYTE $11 - !BYTE $22 - !BYTE $82 - !BYTE $22 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0136: byte ship = $CC,$CC,$CC,$77,$CC,$CC,$CC -_D080 ; ship = $CC,$CC,$CC,$77,$CC,$CC,$CC - !BYTE $CC - !BYTE $CC - !BYTE $CC - !BYTE $77 - !BYTE $CC - !BYTE $CC - !BYTE $CC -; samplesrc/sfmsprt.pla: 0137: byte = $CC,$CC,$C7,$77,$7C,$CC,$CC - !BYTE $CC - !BYTE $CC - !BYTE $C7 - !BYTE $77 - !BYTE $7C - !BYTE $CC - !BYTE $CC -; samplesrc/sfmsprt.pla: 0138: byte = $CC,$CC,$C7,$77,$7C,$CC,$CC - !BYTE $CC - !BYTE $CC - !BYTE $C7 - !BYTE $77 - !BYTE $7C - !BYTE $CC - !BYTE $CC -; samplesrc/sfmsprt.pla: 0139: byte = $CC,$CC,$C7,$77,$7C,$CC,$CC - !BYTE $CC - !BYTE $CC - !BYTE $C7 - !BYTE $77 - !BYTE $7C - !BYTE $CC - !BYTE $CC -; samplesrc/sfmsprt.pla: 0140: byte = $CC,$CC,$C7,$77,$7C,$CC,$CC - !BYTE $CC - !BYTE $CC - !BYTE $C7 - !BYTE $77 - !BYTE $7C - !BYTE $CC - !BYTE $CC -; samplesrc/sfmsprt.pla: 0141: byte = $77,$CC,$77,$66,$77,$CC,$77 - !BYTE $77 - !BYTE $CC - !BYTE $77 - !BYTE $66 - !BYTE $77 - !BYTE $CC - !BYTE $77 -; samplesrc/sfmsprt.pla: 0142: byte = $77,$CC,$77,$66,$77,$CC,$77 - !BYTE $77 - !BYTE $CC - !BYTE $77 - !BYTE $66 - !BYTE $77 - !BYTE $CC - !BYTE $77 -; samplesrc/sfmsprt.pla: 0143: byte = $77,$CC,$77,$66,$77,$CC,$77 - !BYTE $77 - !BYTE $CC - !BYTE $77 - !BYTE $66 - !BYTE $77 - !BYTE $CC - !BYTE $77 -; samplesrc/sfmsprt.pla: 0144: byte = $77,$CC,$77,$77,$77,$CC,$77 - !BYTE $77 - !BYTE $CC - !BYTE $77 - !BYTE $77 - !BYTE $77 - !BYTE $CC - !BYTE $77 -; samplesrc/sfmsprt.pla: 0145: byte = $77,$CC,$77,$77,$77,$CC,$77 - !BYTE $77 - !BYTE $CC - !BYTE $77 - !BYTE $77 - !BYTE $77 - !BYTE $CC - !BYTE $77 -; samplesrc/sfmsprt.pla: 0146: byte = $77,$CC,$77,$77,$77,$CC,$77 - !BYTE $77 - !BYTE $CC - !BYTE $77 - !BYTE $77 - !BYTE $77 - !BYTE $CC - !BYTE $77 -; samplesrc/sfmsprt.pla: 0147: byte = $77,$C7,$77,$77,$77,$7C,$77 - !BYTE $77 - !BYTE $C7 - !BYTE $77 - !BYTE $77 - !BYTE $77 - !BYTE $7C - !BYTE $77 -; samplesrc/sfmsprt.pla: 0148: byte = $77,$77,$75,$55,$57,$77,$77 - !BYTE $77 - !BYTE $77 - !BYTE $75 - !BYTE $55 - !BYTE $57 - !BYTE $77 - !BYTE $77 -; samplesrc/sfmsprt.pla: 0149: byte = $77,$77,$75,$55,$57,$77,$77 - !BYTE $77 - !BYTE $77 - !BYTE $75 - !BYTE $55 - !BYTE $57 - !BYTE $77 - !BYTE $77 -; samplesrc/sfmsprt.pla: 0150: byte missle = $CC,$55,$CC -_D081 ; missle = $CC,$55,$CC - !BYTE $CC - !BYTE $55 - !BYTE $CC -; samplesrc/sfmsprt.pla: 0151: byte = $CC,$55,$CC - !BYTE $CC - !BYTE $55 - !BYTE $CC -; samplesrc/sfmsprt.pla: 0152: byte = $CC,$55,$CC - !BYTE $CC - !BYTE $55 - !BYTE $CC -; samplesrc/sfmsprt.pla: 0153: byte = $CC,$55,$CC - !BYTE $CC - !BYTE $55 - !BYTE $CC -; samplesrc/sfmsprt.pla: 0154: byte = $CC,$55,$CC - !BYTE $CC - !BYTE $55 - !BYTE $CC -; samplesrc/sfmsprt.pla: 0155: byte = $CC,$55,$CC - !BYTE $CC - !BYTE $55 - !BYTE $CC -; samplesrc/sfmsprt.pla: 0156: byte = $C5,$55,$5C - !BYTE $C5 - !BYTE $55 - !BYTE $5C -; samplesrc/sfmsprt.pla: 0157: byte = $55,$55,$55 - !BYTE $55 - !BYTE $55 - !BYTE $55 -; samplesrc/sfmsprt.pla: 0158: byte dummy = $88,$88,$88,$88 -_D082 ; dummy = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0159: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0160: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0161: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0162: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0163: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0164: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0165: byte = $88,$88,$88,$88 - !BYTE $88 - !BYTE $88 - !BYTE $88 - !BYTE $88 -; samplesrc/sfmsprt.pla: 0166: var sprtEgg1, sprtEgg2, sprtEgg3 -_D083 !FILL 2 ; sprtEgg1, sprtEgg2, sprtEgg3 -_D084 !FILL 2 ; sprtEgg2, sprtEgg3 -_D085 !FILL 2 ; sprtEgg3 -; samplesrc/sfmsprt.pla: 0167: var sprtSpider1, sprtSpider2, sprtSpider3 -_D086 !FILL 2 ; sprtSpider1, sprtSpider2, sprtSpider3 -_D087 !FILL 2 ; sprtSpider2, sprtSpider3 -_D088 !FILL 2 ; sprtSpider3 -; samplesrc/sfmsprt.pla: 0168: var sprtSplat1, sprtSplat2 -_D089 !FILL 2 ; sprtSplat1, sprtSplat2 -_D090 !FILL 2 ; sprtSplat2 -; samplesrc/sfmsprt.pla: 0169: var sprtWeb1, sprtWeb2, sprtWeb3 -_D091 !FILL 2 ; sprtWeb1, sprtWeb2, sprtWeb3 -_D092 !FILL 2 ; sprtWeb2, sprtWeb3 -_D093 !FILL 2 ; sprtWeb3 -; samplesrc/sfmsprt.pla: 0170: var sprtShip, sprtMissle, sprtDummy -_D094 !FILL 2 ; sprtShip, sprtMissle, sprtDummy -_D095 !FILL 2 ; sprtMissle, sprtDummy -_D096 !FILL 2 ; sprtDummy -; samplesrc/sfmsprt.pla: 0171: -; samplesrc/sfmsprt.pla: 0172: hgrMode(hgrPage1) -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/sfmsprt.pla: 0173: spriteDrawBuf(hgrDrawBuf(hgrPage1)) // So we can see the compile process -; samplesrc/sfmsprt.pla: 0174: sprtShip = spriteCompile(14, 14, 7, 13, @ship) -; samplesrc/sfmsprt.pla: 0175: sprtMissle = spriteCompile( 6, 8, 3, 0, @missle) -; samplesrc/sfmsprt.pla: 0176: sprtEgg3 = spriteCompile(14, 12, 7, 6, @egg3) -; samplesrc/sfmsprt.pla: 0177: sprtEgg2 = spriteCompile(14, 12, 7, 6, @egg2) -; samplesrc/sfmsprt.pla: 0178: sprtEgg1 = spriteCompile(14, 12, 7, 6, @egg1) -; samplesrc/sfmsprt.pla: 0179: sprtSpider3= spriteCompile(20, 13, 10, 6, @spider3) -; samplesrc/sfmsprt.pla: 0180: sprtSpider2= spriteCompile(20, 13, 10, 6, @spider2) -; samplesrc/sfmsprt.pla: 0181: sprtSpider1= spriteCompile(20, 13, 10, 6, @spider1) -; samplesrc/sfmsprt.pla: 0182: sprtWeb1 = spriteCompile( 8, 8, 4, 0, @web1) -; samplesrc/sfmsprt.pla: 0183: sprtWeb2 = spriteCompile(12, 8, 6, 0, @web2) -; samplesrc/sfmsprt.pla: 0184: sprtWeb3 = spriteCompile(20, 8, 10, 0, @web3) -; samplesrc/sfmsprt.pla: 0185: sprtSplat1 = spriteCompile(20, 13, 10, 6, @splat1) -; samplesrc/sfmsprt.pla: 0186: sprtSplat2 = spriteCompile(24, 17, 12, 8, @splat2) -; samplesrc/sfmsprt.pla: 0187: sprtDummy = spriteCompile( 7, 8, 0, 0, @dummy) -; samplesrc/sfmsprt.pla: 0188: hgrMode(hgrOff) -; samplesrc/sfmsprt.pla: 0189: spriteSave("SHIP", sprtShip) - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F000 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X049 -_F001 !WORD 0 - !BYTE $54 ; CALL _X068 -_F002 !WORD 0 - !BYTE $30 ; DROP - !BYTE $1C ; CN 14 - !BYTE $34 ; DUP - !BYTE $0E ; CN 7 - !BYTE $1A ; CN 13 - !BYTE $26 ; LA _D080+0 -_F003 !WORD _D080+0 - !BYTE $54 ; CALL _X052 -_F004 !WORD 0 - !BYTE $7A ; SAW _D094+0 -_F005 !WORD _D094+0 - !BYTE $0C ; CN 6 - !BYTE $10 ; CN 8 - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D081+0 -_F006 !WORD _D081+0 - !BYTE $54 ; CALL _X052 -_F007 !WORD 0 - !BYTE $7A ; SAW _D095+0 -_F008 !WORD _D095+0 - !BYTE $1C ; CN 14 - !BYTE $18 ; CN 12 - !BYTE $0E ; CN 7 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D069+0 -_F009 !WORD _D069+0 - !BYTE $54 ; CALL _X052 -_F010 !WORD 0 - !BYTE $7A ; SAW _D085+0 -_F011 !WORD _D085+0 - !BYTE $1C ; CN 14 - !BYTE $18 ; CN 12 - !BYTE $0E ; CN 7 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D070+0 -_F012 !WORD _D070+0 - !BYTE $54 ; CALL _X052 -_F013 !WORD 0 - !BYTE $7A ; SAW _D084+0 -_F014 !WORD _D084+0 - !BYTE $1C ; CN 14 - !BYTE $18 ; CN 12 - !BYTE $0E ; CN 7 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D071+0 -_F015 !WORD _D071+0 - !BYTE $54 ; CALL _X052 -_F016 !WORD 0 - !BYTE $7A ; SAW _D083+0 -_F017 !WORD _D083+0 - !BYTE $2A,$14 ; CB 20 - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D072+0 -_F018 !WORD _D072+0 - !BYTE $54 ; CALL _X052 -_F019 !WORD 0 - !BYTE $7A ; SAW _D088+0 -_F020 !WORD _D088+0 - !BYTE $2A,$14 ; CB 20 - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D073+0 -_F021 !WORD _D073+0 - !BYTE $54 ; CALL _X052 -_F022 !WORD 0 - !BYTE $7A ; SAW _D087+0 -_F023 !WORD _D087+0 - !BYTE $2A,$14 ; CB 20 - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D074+0 -_F024 !WORD _D074+0 - !BYTE $54 ; CALL _X052 -_F025 !WORD 0 - !BYTE $7A ; SAW _D086+0 -_F026 !WORD _D086+0 - !BYTE $10 ; CN 8 - !BYTE $34 ; DUP - !BYTE $08 ; CN 4 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D075+0 -_F027 !WORD _D075+0 - !BYTE $54 ; CALL _X052 -_F028 !WORD 0 - !BYTE $7A ; SAW _D091+0 -_F029 !WORD _D091+0 - !BYTE $18 ; CN 12 - !BYTE $10 ; CN 8 - !BYTE $0C ; CN 6 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D076+0 -_F030 !WORD _D076+0 - !BYTE $54 ; CALL _X052 -_F031 !WORD 0 - !BYTE $7A ; SAW _D092+0 -_F032 !WORD _D092+0 - !BYTE $2A,$14 ; CB 20 - !BYTE $10 ; CN 8 - !BYTE $14 ; CN 10 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D077+0 -_F033 !WORD _D077+0 - !BYTE $54 ; CALL _X052 -_F034 !WORD 0 - !BYTE $7A ; SAW _D093+0 -_F035 !WORD _D093+0 - !BYTE $2A,$14 ; CB 20 - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $0C ; CN 6 - !BYTE $26 ; LA _D078+0 -_F036 !WORD _D078+0 - !BYTE $54 ; CALL _X052 -_F037 !WORD 0 - !BYTE $7A ; SAW _D089+0 -_F038 !WORD _D089+0 - !BYTE $2A,$18 ; CB 24 - !BYTE $2A,$11 ; CB 17 - !BYTE $18 ; CN 12 - !BYTE $10 ; CN 8 - !BYTE $26 ; LA _D079+0 -_F039 !WORD _D079+0 - !BYTE $54 ; CALL _X052 -_F040 !WORD 0 - !BYTE $7A ; SAW _D090+0 -_F041 !WORD _D090+0 - !BYTE $0E ; CN 7 - !BYTE $10 ; CN 8 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D082+0 -_F042 !WORD _D082+0 - !BYTE $54 ; CALL _X052 -_F043 !WORD 0 - !BYTE $7A ; SAW _D096+0 -_F044 !WORD _D096+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X045 -_F045 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$48,$49,$50 - !BYTE $6A ; LAW _D094+0 -_F046 !WORD _D094+0 - !BYTE $54 ; CALL _X055 -_F047 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0190: spriteSave("MISSLE", sprtMissle) - !BYTE $2E ; CS - !BYTE $06 - !BYTE $4D,$49,$53,$53,$4C,$45 - !BYTE $6A ; LAW _D095+0 -_F048 !WORD _D095+0 - !BYTE $54 ; CALL _X055 -_F049 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0191: spriteSave("EGG3", sprtEgg3) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$47,$47,$33 - !BYTE $6A ; LAW _D085+0 -_F050 !WORD _D085+0 - !BYTE $54 ; CALL _X055 -_F051 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0192: spriteSave("EGG2", sprtEgg2) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$47,$47,$32 - !BYTE $6A ; LAW _D084+0 -_F052 !WORD _D084+0 - !BYTE $54 ; CALL _X055 -_F053 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0193: spriteSave("EGG1", sprtEgg1) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $45,$47,$47,$31 - !BYTE $6A ; LAW _D083+0 -_F054 !WORD _D083+0 - !BYTE $54 ; CALL _X055 -_F055 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0194: spriteSave("SPIDER1", sprtSpider1) - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$50,$49,$44,$45,$52,$31 - !BYTE $6A ; LAW _D086+0 -_F056 !WORD _D086+0 - !BYTE $54 ; CALL _X055 -_F057 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0195: spriteSave("SPIDER2", sprtSpider2) - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$50,$49,$44,$45,$52,$32 - !BYTE $6A ; LAW _D087+0 -_F058 !WORD _D087+0 - !BYTE $54 ; CALL _X055 -_F059 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0196: spriteSave("SPIDER3", sprtSpider3) - !BYTE $2E ; CS - !BYTE $07 - !BYTE $53,$50,$49,$44,$45,$52,$33 - !BYTE $6A ; LAW _D088+0 -_F060 !WORD _D088+0 - !BYTE $54 ; CALL _X055 -_F061 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0197: spriteSave("WEB1", sprtWeb1) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $57,$45,$42,$31 - !BYTE $6A ; LAW _D091+0 -_F062 !WORD _D091+0 - !BYTE $54 ; CALL _X055 -_F063 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0198: spriteSave("WEB2", sprtWeb2) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $57,$45,$42,$32 - !BYTE $6A ; LAW _D092+0 -_F064 !WORD _D092+0 - !BYTE $54 ; CALL _X055 -_F065 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0199: spriteSave("WEB3", sprtWeb3) - !BYTE $2E ; CS - !BYTE $04 - !BYTE $57,$45,$42,$33 - !BYTE $6A ; LAW _D093+0 -_F066 !WORD _D093+0 - !BYTE $54 ; CALL _X055 -_F067 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0200: spriteSave("SPLAT1", sprtSplat1) - !BYTE $2E ; CS - !BYTE $06 - !BYTE $53,$50,$4C,$41,$54,$31 - !BYTE $6A ; LAW _D089+0 -_F068 !WORD _D089+0 - !BYTE $54 ; CALL _X055 -_F069 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0201: spriteSave("SPLAT2", sprtSplat2) - !BYTE $2E ; CS - !BYTE $06 - !BYTE $53,$50,$4C,$41,$54,$32 - !BYTE $6A ; LAW _D090+0 -_F070 !WORD _D090+0 - !BYTE $54 ; CALL _X055 -_F071 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0202: spriteSave("DUMMY", sprtDummy) - !BYTE $2E ; CS - !BYTE $05 - !BYTE $44,$55,$4D,$4D,$59 - !BYTE $6A ; LAW _D096+0 -_F072 !WORD _D096+0 - !BYTE $54 ; CALL _X055 -_F073 !WORD 0 - !BYTE $30 ; DROP -; samplesrc/sfmsprt.pla: 0203: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 49 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 68 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 52 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 55 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: HGRMODE - !BYTE $C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: HGRDRAWBUF - !BYTE $C8,$C7,$D2,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 49 ; ESD INDEX - ; DCI STRING: SPRITECOMPILE - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C3,$CF,$CD,$D0,$C9,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 52 ; ESD INDEX - ; DCI STRING: SPRITESAVE - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$D3,$C1,$D6,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 55 ; ESD INDEX - ; DCI STRING: SPRITEDRAWBUF - !BYTE $D3,$D0,$D2,$C9,$D4,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 68 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/sieve.a b/src/samplesrc/sieve.a deleted file mode 100644 index 6b7f4d7..0000000 --- a/src/samplesrc/sieve.a +++ /dev/null @@ -1,497 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/sieve.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/sieve.pla: 0001: -; samplesrc/sieve.pla: 0002: -; samplesrc/sieve.pla: 0003: const size = 8190 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; size = 8190 -; samplesrc/sieve.pla: 0004: const sizepl = size+1 - ; sizepl = 8191 -; samplesrc/sieve.pla: 0005: -; samplesrc/sieve.pla: 0006: word flag -_D028 !FILL 2 ; flag -; samplesrc/sieve.pla: 0007: byte iter -_D029 !FILL 1 ; iter -; samplesrc/sieve.pla: 0008: word prime, i, k, count -_D030 !FILL 2 ; prime, i, k, count -_D031 !FILL 2 ; i, k, count -_D032 !FILL 2 ; k, count -_D033 !FILL 2 ; count -; samplesrc/sieve.pla: 0009: -; samplesrc/sieve.pla: 0010: def beep#0 -_SUBSEG ; BYTECODE STARTS -_C000 ; beep() -; samplesrc/sieve.pla: 0011: putc(7) - !BYTE $0E ; CN 7 - !BYTE $26 ; LA _X002+0 -_F000 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0012: end - !BYTE $5C ; RET -; samplesrc/sieve.pla: 0013: -; samplesrc/sieve.pla: 0014: def sieve#0 -_C001 ; sieve() -; samplesrc/sieve.pla: 0015: beep - !BYTE $26 ; LA _C000+0 -_F001 !WORD _C000+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0016: //for iter = 1 to 10 -; samplesrc/sieve.pla: 0017: flag = heapalloc(sizepl) - !BYTE $2C,$FF,$1F ; CW 8191 - !BYTE $26 ; LA _X014+0 -_F002 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D028+0 -_F003 !WORD _D028+0 - !BYTE $72 ; SW -; samplesrc/sieve.pla: 0018: memset(flag, TRUE, sizepl) - !BYTE $26 ; LA _D028+0 -_F004 !WORD _D028+0 - !BYTE $62 ; LW - !BYTE $20 ; MINUS ONE - !BYTE $2C,$FF,$1F ; CW 8191 - !BYTE $26 ; LA _X017+0 -_F005 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0019: count = 0 - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D033+0 -_F006 !WORD _D033+0 - !BYTE $72 ; SW -; samplesrc/sieve.pla: 0020: for i = 0 to size - !BYTE $2C,$FE,$1F ; CW 8190 - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $7E ; DAW _D031+0 -_F007 !WORD _D031+0 -; samplesrc/sieve.pla: 0021: if flag->[i] - !BYTE $26 ; LA _D028+0 -_F008 !WORD _D028+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F009 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* -; samplesrc/sieve.pla: 0022: prime = i + i + 3 - !BYTE $26 ; LA _D031+0 -_F010 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D031+0 -_F011 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $06 ; CN 3 - !BYTE $82 ; ADD - !BYTE $26 ; LA _D030+0 -_F012 !WORD _D030+0 - !BYTE $72 ; SW -; samplesrc/sieve.pla: 0023: k = i + prime - !BYTE $26 ; LA _D031+0 -_F013 !WORD _D031+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D030+0 -_F014 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $26 ; LA _D032+0 -_F015 !WORD _D032+0 - !BYTE $72 ; SW -; samplesrc/sieve.pla: 0024: while k <= size - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B006 -; samplesrc/sieve.pla: 0025: flag->[k] = FALSE - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D028+0 -_F016 !WORD _D028+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D032+0 -_F017 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $70 ; SB -; samplesrc/sieve.pla: 0026: k = k + prime - !BYTE $26 ; LA _D032+0 -_F018 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D030+0 -_F019 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $26 ; LA _D032+0 -_F020 !WORD _D032+0 - !BYTE $72 ; SW -; samplesrc/sieve.pla: 0027: loop -_B008 - !BYTE $26 ; LA _D032+0 -_F021 !WORD _D032+0 - !BYTE $62 ; LW - !BYTE $2C,$FE,$1F ; CW 8190 - !BYTE $4A ; ISLE - !BYTE $4E ; BRTRU _B006 - !WORD _B006-* -_B007 -; samplesrc/sieve.pla: 0028: count = count + 1 - !BYTE $26 ; LA _D033+0 -_F022 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $82 ; ADD - !BYTE $26 ; LA _D033+0 -_F023 !WORD _D033+0 - !BYTE $72 ; SW -; samplesrc/sieve.pla: 0029: puti(prime) - !BYTE $26 ; LA _D030+0 -_F024 !WORD _D030+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _X005+0 -_F025 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0030: putln - !BYTE $26 ; LA _X003+0 -_F026 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0031: fin -_B004 -_B005 -; samplesrc/sieve.pla: 0032: next -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $7A ; SAW _D031+0 -_F027 !WORD _D031+0 - !BYTE $30 ; DROP -; samplesrc/sieve.pla: 0033: //next -; samplesrc/sieve.pla: 0034: beep - !BYTE $26 ; LA _C000+0 -_F028 !WORD _C000+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0035: end - !BYTE $5C ; RET -; samplesrc/sieve.pla: 0036: -; samplesrc/sieve.pla: 0037: sieve -_INIT - !BYTE $26 ; LA _C001+0 -_F029 !WORD _C001+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0038: puti(count) - !BYTE $26 ; LA _D033+0 -_F030 !WORD _D033+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _X005+0 -_F031 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0039: puts(" primes.\n") - !BYTE $2E ; CS - !BYTE $09 - !BYTE $20,$70,$72,$69,$6D,$65,$73,$2E - !BYTE $0D - !BYTE $26 ; LA _X004+0 -_F032 !WORD 0+0 - !BYTE $56 ; ICAL -; samplesrc/sieve.pla: 0040: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/test.a b/src/samplesrc/test.a deleted file mode 100644 index b905b41..0000000 --- a/src/samplesrc/test.a +++ /dev/null @@ -1,2799 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/test.pla: 0001: // -; samplesrc/test.pla: 0002: // Include all imported modules and their data/functions. -; samplesrc/test.pla: 0003: // -; samplesrc/test.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/test.pla: 0004: -; samplesrc/test.pla: 0005: include "inc/testlib.plh" -; inc/testlib.plh: 0001: import testlib - ; DCI STRING: TESTLIB - !BYTE $D4,$C5,$D3,$D4,$CC,$C9,$42 - ; TESTLIB -> X028 -; inc/testlib.plh: 0002: word print - ; PRINT -> X029 -; inc/testlib.plh: 0003: const dec = 0 - ; dec = 0 -; inc/testlib.plh: 0004: const hex = 2 - ; hex = 2 -; inc/testlib.plh: 0005: const newln = 4 - ; newln = 4 -; inc/testlib.plh: 0006: const str = 6 - ; str = 6 -; inc/testlib.plh: 0007: const chr = 8 - ; chr = 8 -; inc/testlib.plh: 0008: end -; samplesrc/test.pla: 0005: -; samplesrc/test.pla: 0006: // -; samplesrc/test.pla: 0007: // Structure definition. -; samplesrc/test.pla: 0008: // -; samplesrc/test.pla: 0009: struc mystruc - !BYTE $00 ; END OF MODULE DEPENDENCIES -; samplesrc/test.pla: 0010: byte cmd - ; cmd = 0 -; samplesrc/test.pla: 0011: word param - ; param = 1 -; samplesrc/test.pla: 0012: byte[3] -; samplesrc/test.pla: 0013: word data - ; data = 6 -; samplesrc/test.pla: 0014: end - ; mystruc = 8 -; samplesrc/test.pla: 0015: // -; samplesrc/test.pla: 0016: // Const expression -; samplesrc/test.pla: 0017: // -; samplesrc/test.pla: 0018: const constval = 2*(2+3) // a test expression should evaluate to 10 - ; constval = 10 -; samplesrc/test.pla: 0019: // -; samplesrc/test.pla: 0020: // Declare all global variables for this module. -; samplesrc/test.pla: 0021: // Note that arrays are declared with prefix []. postfix [], or no []. -; samplesrc/test.pla: 0022: // Only arrays with predclared sizes need [ and ], such as "int[3] a". -; samplesrc/test.pla: 0023: // -; samplesrc/test.pla: 0024: byte[] hello = "Hello, Apple " -_D030 ; hello = "Hello, Apple " - !BYTE $0D - !BYTE $48,$65,$6C,$6C,$6F,$2C,$20,$41 - !BYTE $70,$70,$6C,$65,$20 -; samplesrc/test.pla: 0025: byte[] a1 = "1" -_D031 ; a1 = "1" - !BYTE $01 - !BYTE $31 -; samplesrc/test.pla: 0026: byte[] a2 = "][" -_D032 ; a2 = "][" - !BYTE $02 - !BYTE $5D,$5B -; samplesrc/test.pla: 0027: byte[] a2p = "][+" -_D033 ; a2p = "][+" - !BYTE $03 - !BYTE $5D,$5B,$2B -; samplesrc/test.pla: 0028: byte[] a2e = "//e" -_D034 ; a2e = "//e" - !BYTE $03 - !BYTE $2F,$2F,$65 -; samplesrc/test.pla: 0029: byte[] a2c = "//c" -_D035 ; a2c = "//c" - !BYTE $03 - !BYTE $2F,$2F,$63 -; samplesrc/test.pla: 0030: byte[] a3 = "///" -_D036 ; a3 = "///" - !BYTE $03 - !BYTE $2F,$2F,$2F -; samplesrc/test.pla: 0031: byte constr = "Constant expression = " -_D037 ; constr = "Constant expression = " - !BYTE $16 - !BYTE $43,$6F,$6E,$73,$74,$61,$6E,$74 - !BYTE $20,$65,$78,$70,$72,$65,$73,$73 - !BYTE $69,$6F,$6E,$20,$3D,$20 -; samplesrc/test.pla: 0032: byte[] offsets = "Structure offsets:" -_D038 ; offsets = "Structure offsets:" - !BYTE $12 - !BYTE $53,$74,$72,$75,$63,$74,$75,$72 - !BYTE $65,$20,$6F,$66,$66,$73,$65,$74 - !BYTE $73,$3A -; samplesrc/test.pla: 0033: word array[] = 1, 10, 100, 1000, 10000 -_D039 ; array[] = 1, 10, 100, 1000, 10000 - !WORD $0001 - !WORD $000A - !WORD $0064 - !WORD $03E8 - !WORD $2710 -; samplesrc/test.pla: 0034: word ptr -_D040 !FILL 2 ; ptr -; samplesrc/test.pla: 0035: // -; samplesrc/test.pla: 0036: // Define functions. -; samplesrc/test.pla: 0037: // -; samplesrc/test.pla: 0038: def tens(start)#0 -_SUBSEG ; BYTECODE STARTS - ; start -> [0] -_C000 ; tens() -; samplesrc/test.pla: 0039: word i, pptr - ; i -> [2] - ; pptr -> [4] -; samplesrc/test.pla: 0040: -; samplesrc/test.pla: 0041: i = start - !BYTE $58,$06,$01 ; ENTER 6,1 -; samplesrc/test.pla: 0042: pptr = @print -; samplesrc/test.pla: 0043: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $26 ; LA _X029+0 -_F000 !WORD 0+0 - !BYTE $76,$04 ; SLW [4] -_B002 -; samplesrc/test.pla: 0044: print:hex(i)#0 -; samplesrc/test.pla: 0045: print:str(" ")#0 - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X029+2 -_F001 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $2E ; CS - !BYTE $03 - !BYTE $20,$20,$20 - !BYTE $6A ; LAW _X029+6 -_F002 !WORD 0+6 - !BYTE $56 ; ICAL -; samplesrc/test.pla: 0046: pptr=>dec(i)#0 -; samplesrc/test.pla: 0047: print:newln()#0 -; samplesrc/test.pla: 0048: i = i / 10 -; samplesrc/test.pla: 0049: until i == 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $6A ; LAW _X029+4 -_F003 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $76,$02 ; SLW [2] -_B003 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B002 - !WORD _B002-* -_B001 -; samplesrc/test.pla: 0050: end - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/test.pla: 0051: def ascii#0 -_C001 ; ascii() -; samplesrc/test.pla: 0052: byte i - ; i -> [0] -; samplesrc/test.pla: 0053: i = 32 - !BYTE $58,$01,$00 ; ENTER 1,0 -; samplesrc/test.pla: 0054: while i < 128 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; samplesrc/test.pla: 0055: putc(i) -; samplesrc/test.pla: 0056: i = i + 1 -; samplesrc/test.pla: 0057: loop - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X002 -_F004 !WORD 0 - !BYTE $64,$00 ; LLB [0] - !BYTE $8C ; INCR - !BYTE $74,$00 ; SLB [0] -_B006 - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$80 ; CB 128 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; samplesrc/test.pla: 0058: end - !BYTE $5A,$01 ; LEAVE 1 -; samplesrc/test.pla: 0059: def nums(range)#0 - ; range -> [0] -_C002 ; nums() -; samplesrc/test.pla: 0060: word i - ; i -> [2] -; samplesrc/test.pla: 0061: byte j - ; j -> [4] -; samplesrc/test.pla: 0062: for i = range downto -range step range/10 - !BYTE $58,$05,$01 ; ENTER 5,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $66,$00 ; LLW [0] - !BYTE $A2 ; BRLT _B007 - !WORD _B007-* -_B008 - !BYTE $6E,$02 ; DLW [2] -; samplesrc/test.pla: 0063: puti(i) -; samplesrc/test.pla: 0064: putln -; samplesrc/test.pla: 0065: next - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F005 !WORD 0 - !BYTE $54 ; CALL _X003 -_F006 !WORD 0 -_B009 - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $AA ; SUBBRGE _B008 - !WORD _B008-* -_B007 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; samplesrc/test.pla: 0066: puti(array[0]);putln -; samplesrc/test.pla: 0067: puti(array[1]);putln -; samplesrc/test.pla: 0068: i++ - !BYTE $6A ; LAW _D039+0 -_F007 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F008 !WORD 0 - !BYTE $54 ; CALL _X003 -_F009 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F010 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F011 !WORD 0 - !BYTE $54 ; CALL _X003 -_F012 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; samplesrc/test.pla: 0069: j = 2 -; samplesrc/test.pla: 0070: j++ - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $6C,$04 ; DLB [4] - !BYTE $8C ; INCR -; samplesrc/test.pla: 0071: array[1]++ - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D039+2 -_F013 !WORD _D039+2 - !BYTE $8C ; INCR -; samplesrc/test.pla: 0072: array[0] = array[0] + 1 -; samplesrc/test.pla: 0073: array++ - !BYTE $7A ; SAW _D039+2 -_F014 !WORD _D039+2 - !BYTE $6A ; LAW _D039+0 -_F015 !WORD _D039+0 - !BYTE $8C ; INCR - !BYTE $7E ; DAW _D039+0 -_F016 !WORD _D039+0 - !BYTE $8C ; INCR -; samplesrc/test.pla: 0074: puti(array[0]);putln -; samplesrc/test.pla: 0075: puti(array[1]);putln -; samplesrc/test.pla: 0076: end - !BYTE $7E ; DAW _D039+0 -_F017 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F018 !WORD 0 - !BYTE $54 ; CALL _X003 -_F019 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F020 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F021 !WORD 0 - !BYTE $54 ; CALL _X003 -_F022 !WORD 0 - !BYTE $5A,$05 ; LEAVE 5 -; samplesrc/test.pla: 0077: def printfunc(a, b, lambda)#0 - ; a -> [0] - ; b -> [2] - ; lambda -> [4] -_C003 ; printfunc() -; samplesrc/test.pla: 0078: puts("func(a,b)=") - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $66,$75,$6E,$63,$28,$61,$2C,$62 - !BYTE $29,$3D - !BYTE $54 ; CALL _X004 -_F023 !WORD 0 -; samplesrc/test.pla: 0079: puti(lambda(a,b)) -; samplesrc/test.pla: 0080: putln -; samplesrc/test.pla: 0081: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X005 -_F024 !WORD 0 - !BYTE $54 ; CALL _X003 -_F025 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; samplesrc/test.pla: 0082: def vals123#3 -_C004 ; vals123() -; samplesrc/test.pla: 0083: return 1, 2, 3 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $06 ; CN 3 - !BYTE $5C ; RET -; samplesrc/test.pla: 0084: end -; samplesrc/test.pla: 0085: export def main(range)#0 - ; range -> [0] -_C005 ; main() -; samplesrc/test.pla: 0086: word a, b, c, valptr - ; a -> [2] - ; b -> [4] - ; c -> [6] - ; valptr -> [8] -; samplesrc/test.pla: 0087: word lambda - ; lambda -> [10] -; samplesrc/test.pla: 0088: -; samplesrc/test.pla: 0089: a = 10 - !BYTE $58,$0C,$01 ; ENTER 12,1 -; samplesrc/test.pla: 0090: nums(*range) -; samplesrc/test.pla: 0091: tens(*range*10) -; samplesrc/test.pla: 0092: ascii -; samplesrc/test.pla: 0093: putln -; samplesrc/test.pla: 0094: puts("10 * 8 = "); puti(a * 8); putln - !BYTE $14 ; CN 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F026 !WORD _C002 - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $54 ; CALL _C000 -_F027 !WORD _C000 - !BYTE $54 ; CALL _C001 -_F028 !WORD _C001 - !BYTE $54 ; CALL _X003 -_F029 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $31,$30,$20,$2A,$20,$38,$20,$3D - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -; samplesrc/test.pla: 0095: puts("10 / 2 = "); puti(a / 2); putln - !BYTE $66,$02 ; LLW [2] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X005 -_F031 !WORD 0 - !BYTE $54 ; CALL _X003 -_F032 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $31,$30,$20,$2F,$20,$32,$20,$3D - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F033 !WORD 0 -; samplesrc/test.pla: 0096: puts(@hello) -; samplesrc/test.pla: 0097: when MACHID & $C8 - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $54 ; CALL _X005 -_F034 !WORD 0 - !BYTE $54 ; CALL _X003 -_F035 !WORD 0 - !BYTE $26 ; LA _D030+0 -_F036 !WORD _D030+0 - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 - !BYTE $68 ; LAB _X001+0 -_F038 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B011-* -; samplesrc/test.pla: 0098: is $08 -_B012 -; samplesrc/test.pla: 0099: puts(@a1) -; samplesrc/test.pla: 0100: break - !BYTE $26 ; LA _D031+0 -_F039 !WORD _D031+0 - !BYTE $54 ; CALL _X004 -_F040 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0101: is $00 -_B013 -; samplesrc/test.pla: 0102: puts(@a2) -; samplesrc/test.pla: 0103: break - !BYTE $26 ; LA _D032+0 -_F041 !WORD _D032+0 - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0104: is $40 -_B014 -; samplesrc/test.pla: 0105: puts(@a2p) -; samplesrc/test.pla: 0106: break - !BYTE $26 ; LA _D033+0 -_F043 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F044 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0107: is $80 -_B015 -; samplesrc/test.pla: 0108: puts(@a2e) -; samplesrc/test.pla: 0109: break - !BYTE $26 ; LA _D034+0 -_F045 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F046 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0110: is $88 -_B016 -; samplesrc/test.pla: 0111: puts(@a2c) -; samplesrc/test.pla: 0112: break - !BYTE $26 ; LA _D035+0 -_F047 !WORD _D035+0 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0113: is $C0 -_B017 -; samplesrc/test.pla: 0114: puts(@a3) -; samplesrc/test.pla: 0115: break - !BYTE $26 ; LA _D036+0 -_F049 !WORD _D036+0 - !BYTE $54 ; CALL _X004 -_F050 !WORD 0 - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -; samplesrc/test.pla: 0116: otherwise -_B011 - !BYTE $06 ; CASEBLOCK - !WORD $0000 - !WORD _B013-* - !WORD $0008 - !WORD _B012-* - !WORD $0040 - !WORD _B014-* - !WORD $0080 - !WORD _B015-* - !WORD $0088 - !WORD _B016-* - !WORD $00C0 - !WORD _B017-* -; samplesrc/test.pla: 0117: putc('?') -; samplesrc/test.pla: 0118: wend - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _X002 -_F051 !WORD 0 -_B010 -; samplesrc/test.pla: 0119: putln -; samplesrc/test.pla: 0120: printfunc(1, 2, &(a,b) a+b) - ; a -> [0] - ; b -> [2] - ; a -> [0] - ; b -> [2] -; samplesrc/test.pla: 0121: printfunc(1, 2, &(a,b) (a-b)) - ; a -> [0] - ; b -> [2] - ; a -> [0] - ; b -> [2] -; samplesrc/test.pla: 0122: lambda = &(x,y) x * y - ; x -> [0] - ; y -> [2] -; samplesrc/test.pla: 0123: puti(lambda(2,3));putln -; samplesrc/test.pla: 0124: a = vals123 -; samplesrc/test.pla: 0125: drop, b, drop = vals123 -; samplesrc/test.pla: 0126: drop, drop, c = vals123 -; samplesrc/test.pla: 0127: puts("a, b, c = "); puti(a); puts(", "); puti(b); puts(", "); puti(c); putln - !BYTE $54 ; CALL _X003 -_F052 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _C006+0 -_F053 !WORD _C006+0 - !BYTE $54 ; CALL _C003 -_F054 !WORD _C003 - !BYTE $02 ; CN 1 - !BYTE $04 ; CN 2 - !BYTE $26 ; LA _C007+0 -_F055 !WORD _C007+0 - !BYTE $54 ; CALL _C003 -_F056 !WORD _C003 - !BYTE $26 ; LA _C008+0 -_F057 !WORD _C008+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $06 ; CN 3 - !BYTE $66,$0A ; LLW [10] - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _X005 -_F058 !WORD 0 - !BYTE $54 ; CALL _X003 -_F059 !WORD 0 - !BYTE $54 ; CALL _C004 -_F060 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $76,$02 ; SLW [2] - !BYTE $54 ; CALL _C004 -_F061 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C004 -_F062 !WORD _C004 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $0A - !BYTE $61,$2C,$20,$62,$2C,$20,$63,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F063 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F064 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F065 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F066 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F067 !WORD 0 -; samplesrc/test.pla: 0128: a, b, c = 0, 0, 0 -; samplesrc/test.pla: 0129: valptr = @a -; samplesrc/test.pla: 0130: valptr=>[a], valptr=>[1], valptr=>[2] = vals123 -; samplesrc/test.pla: 0131: puts("a, b, c = "); puti(a); puts(", "); puti(b); puts(", "); puti(c); putln - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X005 -_F068 !WORD 0 - !BYTE $54 ; CALL _X003 -_F069 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $28,$02 ; LLA [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $54 ; CALL _C004 -_F070 !WORD _C004 - !BYTE $66,$08 ; LLW [8] - !BYTE $04 ; CN 2 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $02 ; CN 1 - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $72 ; SW - !BYTE $2E ; CS - !BYTE $0A - !BYTE $61,$2C,$20,$62,$2C,$20,$63,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F071 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F072 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F073 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F074 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F075 !WORD 0 -; samplesrc/test.pla: 0132: puts(" 7 / 3 = "); puti(7/3); puts(" ; 7 % 3 = "); puti(7%3); putln - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X005 -_F076 !WORD 0 - !BYTE $54 ; CALL _X003 -_F077 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$37,$20,$2F,$20,$20,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F078 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X005 -_F079 !WORD 0 - !BYTE $2E ; CS - !BYTE $0D - !BYTE $20,$3B,$20,$20,$37,$20,$25,$20 - !BYTE $20,$33,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F080 !WORD 0 -; samplesrc/test.pla: 0133: puts(" 7 / -3 = "); puti(7/-3); puts("; 7 % -3 = "); puti(7%-3); putln - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X005 -_F081 !WORD 0 - !BYTE $54 ; CALL _X003 -_F082 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$37,$20,$2F,$20,$2D,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F083 !WORD 0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $54 ; CALL _X005 -_F084 !WORD 0 - !BYTE $2E ; CS - !BYTE $0C - !BYTE $3B,$20,$20,$37,$20,$25,$20,$2D - !BYTE $33,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F085 !WORD 0 -; samplesrc/test.pla: 0134: puts("-7 / 3 = "); puti(-7/3); puts("; -7 % 3 = "); puti(-7%3); putln - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X005 -_F086 !WORD 0 - !BYTE $54 ; CALL _X003 -_F087 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $2D,$37,$20,$2F,$20,$20,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F088 !WORD 0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $54 ; CALL _X005 -_F089 !WORD 0 - !BYTE $2E ; CS - !BYTE $0C - !BYTE $3B,$20,$2D,$37,$20,$25,$20,$20 - !BYTE $33,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F090 !WORD 0 -; samplesrc/test.pla: 0135: puts("-7 / -3 = "); puti(-7/-3); puts(" ; -7 % -3 = "); puti(-7%-3); putln - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X005 -_F091 !WORD 0 - !BYTE $54 ; CALL _X003 -_F092 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $2D,$37,$20,$2F,$20,$2D,$33,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F093 !WORD 0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X005 -_F094 !WORD 0 - !BYTE $2E ; CS - !BYTE $0D - !BYTE $20,$3B,$20,$2D,$37,$20,$25,$20 - !BYTE $2D,$33,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F095 !WORD 0 -; samplesrc/test.pla: 0136: a,b=divmod(7,3); puts("divmod( 7, 3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X005 -_F096 !WORD 0 - !BYTE $54 ; CALL _X003 -_F097 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X023 -_F098 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $2E ; CS - !BYTE $10 - !BYTE $64,$69,$76,$6D,$6F,$64,$28,$20 - !BYTE $37,$2C,$20,$33,$29,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F099 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F100 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F101 !WORD 0 -; samplesrc/test.pla: 0137: a,b=divmod(7,-3); puts("divmod( 7,-3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F102 !WORD 0 - !BYTE $54 ; CALL _X003 -_F103 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X023 -_F104 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $2E ; CS - !BYTE $10 - !BYTE $64,$69,$76,$6D,$6F,$64,$28,$20 - !BYTE $37,$2C,$2D,$33,$29,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F105 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F106 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F107 !WORD 0 -; samplesrc/test.pla: 0138: a,b=divmod(-7,3); puts("divmod(-7, 3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F108 !WORD 0 - !BYTE $54 ; CALL _X003 -_F109 !WORD 0 - !BYTE $5E,$F9 ; CFFB -7 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _X023 -_F110 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $2E ; CS - !BYTE $10 - !BYTE $64,$69,$76,$6D,$6F,$64,$28,$2D - !BYTE $37,$2C,$20,$33,$29,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F111 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F112 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F113 !WORD 0 -; samplesrc/test.pla: 0139: a,b=divmod(-7,-3);puts("divmod(-7,-3) = "); puti(a); puts(", "); puti(b); putln - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F114 !WORD 0 - !BYTE $54 ; CALL _X003 -_F115 !WORD 0 - !BYTE $5E,$F9 ; CFFB -7 - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X023 -_F116 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $2E ; CS - !BYTE $10 - !BYTE $64,$69,$76,$6D,$6F,$64,$28,$2D - !BYTE $37,$2C,$2D,$33,$29,$20,$3D,$20 - !BYTE $54 ; CALL _X004 -_F117 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X005 -_F118 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $2C,$20 - !BYTE $54 ; CALL _X004 -_F119 !WORD 0 -; samplesrc/test.pla: 0140: end - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X005 -_F120 !WORD 0 - !BYTE $54 ; CALL _X003 -_F121 !WORD 0 - !BYTE $5A,$0C ; LEAVE 12 -_C006 ; _LAMBDA0000() - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $5A,$04 ; LEAVE 4 -_C007 ; _LAMBDA0001() - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $5A,$04 ; LEAVE 4 -_C008 ; _LAMBDA0002() - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $5A,$04 ; LEAVE 4 -; samplesrc/test.pla: 0141: -; samplesrc/test.pla: 0142: def dummy(zz)#2 - ; zz -> [0] -_C009 ; dummy() -; samplesrc/test.pla: 0143: puts("dummy func"); putln - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $64,$75,$6D,$6D,$79,$20,$66,$75 - !BYTE $6E,$63 - !BYTE $54 ; CALL _X004 -_F122 !WORD 0 -; samplesrc/test.pla: 0144: return 0 - !BYTE $54 ; CALL _X003 -_F123 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/test.pla: 0145: end -; samplesrc/test.pla: 0146: -; samplesrc/test.pla: 0147: def value1 -_C010 ; value1() -; samplesrc/test.pla: 0148: return 1 - !BYTE $02 ; CN 1 - !BYTE $5C ; RET -; samplesrc/test.pla: 0149: end -; samplesrc/test.pla: 0150: -; samplesrc/test.pla: 0151: puts("Command line: ") -_INIT - !BYTE $2E ; CS - !BYTE $0E - !BYTE $43,$6F,$6D,$6D,$61,$6E,$64,$20 - !BYTE $6C,$69,$6E,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F124 !WORD 0 -; samplesrc/test.pla: 0152: puts(cmdsys:cmdline) -; samplesrc/test.pla: 0153: putln -; samplesrc/test.pla: 0154: puts("System path: ") - !BYTE $6A ; LAW _X000+4 -_F125 !WORD 0+4 - !BYTE $54 ; CALL _X004 -_F126 !WORD 0 - !BYTE $54 ; CALL _X003 -_F127 !WORD 0 - !BYTE $2E ; CS - !BYTE $0D - !BYTE $53,$79,$73,$74,$65,$6D,$20,$70 - !BYTE $61,$74,$68,$3A,$20 - !BYTE $54 ; CALL _X004 -_F128 !WORD 0 -; samplesrc/test.pla: 0155: puts(cmdsys:syspath) -; samplesrc/test.pla: 0156: putln -; samplesrc/test.pla: 0157: puti(array[0]);putc(' ') -; samplesrc/test.pla: 0158: puti(array[1]);putc(' ') -; samplesrc/test.pla: 0159: puti(array[2]);putc(' ') -; samplesrc/test.pla: 0160: puti(array[3]);putc(' ') -; samplesrc/test.pla: 0161: puti(array[4]);putln -; samplesrc/test.pla: 0162: puti((@array)=>0);putc(' ') -; samplesrc/test.pla: 0163: puti((@array)=>2);putc(' ') -; samplesrc/test.pla: 0164: puti((@array)=>4);putc(' ') -; samplesrc/test.pla: 0165: puti((@array)=>6);putc(' ') -; samplesrc/test.pla: 0166: puti((@array)=>8);putln -; samplesrc/test.pla: 0167: ptr = @main -; samplesrc/test.pla: 0168: ptr(@array:6)#0 -; samplesrc/test.pla: 0169: ptr = @array -; samplesrc/test.pla: 0170: puti((ptr):6) -; samplesrc/test.pla: 0171: putln -; samplesrc/test.pla: 0172: puti(ptr=>6) -; samplesrc/test.pla: 0173: putln -; samplesrc/test.pla: 0174: puti((ptr).6) -; samplesrc/test.pla: 0175: putln -; samplesrc/test.pla: 0176: puti(ptr->6) -; samplesrc/test.pla: 0177: putln -; samplesrc/test.pla: 0178: puts(@offsets) -; samplesrc/test.pla: 0179: putln -; samplesrc/test.pla: 0180: puti(cmd) -; samplesrc/test.pla: 0181: putln -; samplesrc/test.pla: 0182: puti(param) -; samplesrc/test.pla: 0183: putln -; samplesrc/test.pla: 0184: puti(data) -; samplesrc/test.pla: 0185: putln -; samplesrc/test.pla: 0186: puti(mystruc) -; samplesrc/test.pla: 0187: putln -; samplesrc/test.pla: 0188: puts(@constr); puti(constval); putln -; samplesrc/test.pla: 0189: puts("Signed byte constant:"); puti(-3); putln - !BYTE $6A ; LAW _X000+2 -_F129 !WORD 0+2 - !BYTE $54 ; CALL _X004 -_F130 !WORD 0 - !BYTE $54 ; CALL _X003 -_F131 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F132 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F133 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F134 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F135 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F136 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F137 !WORD 0 - !BYTE $6A ; LAW _D039+4 -_F138 !WORD _D039+4 - !BYTE $54 ; CALL _X005 -_F139 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F140 !WORD 0 - !BYTE $6A ; LAW _D039+6 -_F141 !WORD _D039+6 - !BYTE $54 ; CALL _X005 -_F142 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F143 !WORD 0 - !BYTE $6A ; LAW _D039+8 -_F144 !WORD _D039+8 - !BYTE $54 ; CALL _X005 -_F145 !WORD 0 - !BYTE $54 ; CALL _X003 -_F146 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F147 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F148 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F149 !WORD 0 - !BYTE $6A ; LAW _D039+2 -_F150 !WORD _D039+2 - !BYTE $54 ; CALL _X005 -_F151 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F152 !WORD 0 - !BYTE $6A ; LAW _D039+4 -_F153 !WORD _D039+4 - !BYTE $54 ; CALL _X005 -_F154 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F155 !WORD 0 - !BYTE $6A ; LAW _D039+6 -_F156 !WORD _D039+6 - !BYTE $54 ; CALL _X005 -_F157 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F158 !WORD 0 - !BYTE $6A ; LAW _D039+8 -_F159 !WORD _D039+8 - !BYTE $54 ; CALL _X005 -_F160 !WORD 0 - !BYTE $54 ; CALL _X003 -_F161 !WORD 0 - !BYTE $26 ; LA _C005+0 -_F162 !WORD _C005+0 - !BYTE $7A ; SAW _D040+0 -_F163 !WORD _D040+0 - !BYTE $26 ; LA _D039+6 -_F164 !WORD _D039+6 - !BYTE $6A ; LAW _D040+0 -_F165 !WORD _D040+0 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D039+0 -_F166 !WORD _D039+0 - !BYTE $7E ; DAW _D040+0 -_F167 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F168 !WORD 0 - !BYTE $54 ; CALL _X003 -_F169 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F170 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F171 !WORD 0 - !BYTE $54 ; CALL _X003 -_F172 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F173 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F174 !WORD 0 - !BYTE $54 ; CALL _X003 -_F175 !WORD 0 - !BYTE $6A ; LAW _D040+0 -_F176 !WORD _D040+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X005 -_F177 !WORD 0 - !BYTE $54 ; CALL _X003 -_F178 !WORD 0 - !BYTE $26 ; LA _D038+0 -_F179 !WORD _D038+0 - !BYTE $54 ; CALL _X004 -_F180 !WORD 0 - !BYTE $54 ; CALL _X003 -_F181 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X005 -_F182 !WORD 0 - !BYTE $54 ; CALL _X003 -_F183 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X005 -_F184 !WORD 0 - !BYTE $54 ; CALL _X003 -_F185 !WORD 0 - !BYTE $0C ; CN 6 - !BYTE $54 ; CALL _X005 -_F186 !WORD 0 - !BYTE $54 ; CALL _X003 -_F187 !WORD 0 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _X005 -_F188 !WORD 0 - !BYTE $54 ; CALL _X003 -_F189 !WORD 0 - !BYTE $26 ; LA _D037+0 -_F190 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F191 !WORD 0 - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X005 -_F192 !WORD 0 - !BYTE $54 ; CALL _X003 -_F193 !WORD 0 - !BYTE $2E ; CS - !BYTE $15 - !BYTE $53,$69,$67,$6E,$65,$64,$20,$62 - !BYTE $79,$74,$65,$20,$63,$6F,$6E,$73 - !BYTE $74,$61,$6E,$74,$3A - !BYTE $54 ; CALL _X004 -_F194 !WORD 0 -; samplesrc/test.pla: 0190: puts("Hello from in-line string!\$7F\n") - !BYTE $5E,$FD ; CFFB -3 - !BYTE $54 ; CALL _X005 -_F195 !WORD 0 - !BYTE $54 ; CALL _X003 -_F196 !WORD 0 - !BYTE $2E ; CS - !BYTE $1C - !BYTE $48,$65,$6C,$6C,$6F,$20,$66,$72 - !BYTE $6F,$6D,$20,$69,$6E,$2D,$6C,$69 - !BYTE $6E,$65,$20,$73,$74,$72,$69,$6E - !BYTE $67,$21,$7F,$0D - !BYTE $54 ; CALL _X004 -_F197 !WORD 0 -; samplesrc/test.pla: 0191: puti(array:0); puts(" == "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F198 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F199 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3D,$3D,$20 - !BYTE $54 ; CALL _X004 -_F200 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F201 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F202 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F203 !WORD 0 -; samplesrc/test.pla: 0192: puts(array:0 == array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F204 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F205 !WORD _D039+1 - !BYTE $24 ; BRNE _B020 - !WORD _B020-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B020 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B021 - !BYTE $54 ; CALL _X004 -_F206 !WORD 0 -; samplesrc/test.pla: 0193: puti(array:0); puts(" <> "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F207 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F208 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3E,$20 - !BYTE $54 ; CALL _X004 -_F209 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F210 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F211 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F212 !WORD 0 -; samplesrc/test.pla: 0194: puts(array:0 <> array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F213 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F214 !WORD _D039+1 - !BYTE $22 ; BREQ _B024 - !WORD _B024-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B024 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B025 - !BYTE $54 ; CALL _X004 -_F215 !WORD 0 -; samplesrc/test.pla: 0195: puti(array:0); puts(" >= "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F216 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F217 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$3D,$20 - !BYTE $54 ; CALL _X004 -_F218 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F219 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F220 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F221 !WORD 0 -; samplesrc/test.pla: 0196: puts(array:0 >= array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F222 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F223 !WORD _D039+1 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B029 - !WORD _B029-* -_B028 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B029 - !BYTE $54 ; CALL _X004 -_F224 !WORD 0 -; samplesrc/test.pla: 0197: puti(array:0); puts(" <= "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F225 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F226 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3D,$20 - !BYTE $54 ; CALL _X004 -_F227 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F228 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F229 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F230 !WORD 0 -; samplesrc/test.pla: 0198: puts(array:0 <= array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F231 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F232 !WORD _D039+1 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B032 - !WORD _B032-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B033 - !WORD _B033-* -_B032 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B033 - !BYTE $54 ; CALL _X004 -_F233 !WORD 0 -; samplesrc/test.pla: 0199: puti(array:0); puts(" > "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F234 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F235 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$20,$20 - !BYTE $54 ; CALL _X004 -_F236 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F237 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F238 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F239 !WORD 0 -; samplesrc/test.pla: 0200: puts(array:0 > array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F240 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F241 !WORD _D039+1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B036 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B037 - !BYTE $54 ; CALL _X004 -_F242 !WORD 0 -; samplesrc/test.pla: 0201: puti(array:0); puts(" < "); puti(array:1); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F243 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F244 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$20,$20 - !BYTE $54 ; CALL _X004 -_F245 !WORD 0 - !BYTE $6A ; LAW _D039+1 -_F246 !WORD _D039+1 - !BYTE $54 ; CALL _X005 -_F247 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F248 !WORD 0 -; samplesrc/test.pla: 0202: puts(array:0 < array:1 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F249 !WORD _D039+0 - !BYTE $6A ; LAW _D039+1 -_F250 !WORD _D039+1 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B040 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B041 - !BYTE $54 ; CALL _X004 -_F251 !WORD 0 -; samplesrc/test.pla: 0203: puti(array:0); puts(" == "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F252 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F253 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3D,$3D,$20 - !BYTE $54 ; CALL _X004 -_F254 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F255 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F256 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F257 !WORD 0 -; samplesrc/test.pla: 0204: puts(array:0 == array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F258 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $24 ; BRNE _B044 - !WORD _B044-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B044 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B045 - !BYTE $54 ; CALL _X004 -_F259 !WORD 0 -; samplesrc/test.pla: 0205: puti(array:0); puts(" <> "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F260 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F261 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3E,$20 - !BYTE $54 ; CALL _X004 -_F262 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F263 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F264 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F265 !WORD 0 -; samplesrc/test.pla: 0206: puts(array:0 <> array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F266 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $22 ; BREQ _B048 - !WORD _B048-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B049 - !BYTE $54 ; CALL _X004 -_F267 !WORD 0 -; samplesrc/test.pla: 0207: puti(array:0); puts(" >= "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F268 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F269 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$3D,$20 - !BYTE $54 ; CALL _X004 -_F270 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F271 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F272 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F273 !WORD 0 -; samplesrc/test.pla: 0208: puts(array:0 >= array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F274 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B052 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B053 - !BYTE $54 ; CALL _X004 -_F275 !WORD 0 -; samplesrc/test.pla: 0209: puti(array:0); puts(" <= "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F276 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F277 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$3D,$20 - !BYTE $54 ; CALL _X004 -_F278 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F279 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F280 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F281 !WORD 0 -; samplesrc/test.pla: 0210: puts(array:0 <= array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F282 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -_B056 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B057 - !BYTE $54 ; CALL _X004 -_F283 !WORD 0 -; samplesrc/test.pla: 0211: puti(array:0); puts(" > "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F284 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F285 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3E,$20,$20 - !BYTE $54 ; CALL _X004 -_F286 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F287 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F288 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F289 !WORD 0 -; samplesrc/test.pla: 0212: puts(array:0 > array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F290 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -_B060 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B061 - !BYTE $54 ; CALL _X004 -_F291 !WORD 0 -; samplesrc/test.pla: 0213: puti(array:0); puts(" < "); puti(array:0); puts (" is ") - !BYTE $6A ; LAW _D039+0 -_F292 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F293 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$3C,$20,$20 - !BYTE $54 ; CALL _X004 -_F294 !WORD 0 - !BYTE $6A ; LAW _D039+0 -_F295 !WORD _D039+0 - !BYTE $54 ; CALL _X005 -_F296 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$69,$73,$20 - !BYTE $54 ; CALL _X004 -_F297 !WORD 0 -; samplesrc/test.pla: 0214: puts(array:0 < array:0 ?? "TRUE\n" :: "FALSE\n") - !BYTE $6A ; LAW _D039+0 -_F298 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B064 - !WORD _B064-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $54,$52,$55,$45,$0D - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B064 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $46,$41,$4C,$53,$45,$0D -_B065 - !BYTE $54 ; CALL _X004 -_F299 !WORD 0 -; samplesrc/test.pla: 0215: ptr = 5 -; samplesrc/test.pla: 0216: puts("5*0="); puti(ptr*0); putln - !BYTE $0A ; CN 5 - !BYTE $7A ; SAW _D040+0 -_F300 !WORD _D040+0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2A,$30,$3D - !BYTE $54 ; CALL _X004 -_F301 !WORD 0 -; samplesrc/test.pla: 0217: puts("5*1="); puti(ptr*1); putln - !BYTE $6A ; LAW _D040+0 -_F302 !WORD _D040+0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X005 -_F303 !WORD 0 - !BYTE $54 ; CALL _X003 -_F304 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2A,$31,$3D - !BYTE $54 ; CALL _X004 -_F305 !WORD 0 -; samplesrc/test.pla: 0218: puts("5*2="); puti(ptr*2); putln - !BYTE $6A ; LAW _D040+0 -_F306 !WORD _D040+0 - !BYTE $54 ; CALL _X005 -_F307 !WORD 0 - !BYTE $54 ; CALL _X003 -_F308 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2A,$32,$3D - !BYTE $54 ; CALL _X004 -_F309 !WORD 0 -; samplesrc/test.pla: 0219: puts("5/1="); puti(ptr/1); putln - !BYTE $6A ; LAW _D040+0 -_F310 !WORD _D040+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X005 -_F311 !WORD 0 - !BYTE $54 ; CALL _X003 -_F312 !WORD 0 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $35,$2F,$31,$3D - !BYTE $54 ; CALL _X004 -_F313 !WORD 0 -; samplesrc/test.pla: 0220: ptr = -1 -; samplesrc/test.pla: 0221: puts("-1 * -1 = "); puti(ptr * ptr); putln - !BYTE $6A ; LAW _D040+0 -_F314 !WORD _D040+0 - !BYTE $54 ; CALL _X005 -_F315 !WORD 0 - !BYTE $54 ; CALL _X003 -_F316 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $7A ; SAW _D040+0 -_F317 !WORD _D040+0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $2D,$31,$20,$2A,$20,$2D,$31,$20 - !BYTE $3D,$20 - !BYTE $54 ; CALL _X004 -_F318 !WORD 0 -; samplesrc/test.pla: 0222: done - !BYTE $6A ; LAW _D040+0 -_F319 !WORD _D040+0 - !BYTE $34 ; DUP - !BYTE $86 ; MUL - !BYTE $54 ; CALL _X005 -_F320 !WORD 0 - !BYTE $54 ; CALL _X003 -_F321 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 12 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: DIVMOD - !BYTE $C4,$C9,$D6,$CD,$CF,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 23 ; ESD INDEX - ; DCI STRING: PRINT - !BYTE $D0,$D2,$C9,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: MAIN - !BYTE $CD,$C1,$C9,$4E - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _C005 - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/testlib.a b/src/samplesrc/testlib.a deleted file mode 100644 index 6577d12..0000000 --- a/src/samplesrc/testlib.a +++ /dev/null @@ -1,351 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/testlib.pla: 0001: // -; samplesrc/testlib.pla: 0002: // Include all imported modules and their data/functions. -; samplesrc/testlib.pla: 0003: // -; samplesrc/testlib.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/testlib.pla: 0004: -; samplesrc/testlib.pla: 0005: // -; samplesrc/testlib.pla: 0006: // Module data. -; samplesrc/testlib.pla: 0007: // -; samplesrc/testlib.pla: 0008: predef puthex(h)#0 - !BYTE $00 ; END OF MODULE DEPENDENCIES -; samplesrc/testlib.pla: 0009: export word print[] = @puti, @puthex, @putln, @puts, @putc -_D029 ; print[] = @puti, @puthex, @putln, @puts, @putc -_F000 !WORD 0 ; _X005 -_F001 !WORD _P000 -_F002 !WORD 0 ; _X003 -_F003 !WORD 0 ; _X004 -_F004 !WORD 0 ; _X002 -; samplesrc/testlib.pla: 0010: byte valstr[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D030 ; valstr[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' - !BYTE $30 - !BYTE $31 - !BYTE $32 - !BYTE $33 - !BYTE $34 - !BYTE $35 - !BYTE $36 - !BYTE $37 - !BYTE $38 - !BYTE $39 - !BYTE $41 - !BYTE $42 - !BYTE $43 - !BYTE $44 - !BYTE $45 - !BYTE $46 -; samplesrc/testlib.pla: 0011: byte loadstr[] = "testlib loaded!" -_D031 ; loadstr[] = "testlib loaded!" - !BYTE $0F - !BYTE $74,$65,$73,$74,$6C,$69,$62,$20 - !BYTE $6C,$6F,$61,$64,$65,$64,$21 -; samplesrc/testlib.pla: 0012: // -; samplesrc/testlib.pla: 0013: // Define functions. -; samplesrc/testlib.pla: 0014: // -; samplesrc/testlib.pla: 0015: def puthex(h)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; h -> [0] -_P000 ; puthex(h)#0() -_C000 ; puthex() -; samplesrc/testlib.pla: 0016: putc('$') - !BYTE $58,$02,$01 ; ENTER 2,1 -; samplesrc/testlib.pla: 0017: putc(valstr[(h >> 12) & $0F]) -; samplesrc/testlib.pla: 0018: putc(valstr[(h >> 8) & $0F]) -; samplesrc/testlib.pla: 0019: putc(valstr[(h >> 4) & $0F]) -; samplesrc/testlib.pla: 0020: putc(valstr[ h & $0F]) -; samplesrc/testlib.pla: 0021: end - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F005 !WORD 0 - !BYTE $26 ; LA _D030+0 -_F006 !WORD _D030+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $18 ; CN 12 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F007 !WORD 0 - !BYTE $26 ; LA _D030+0 -_F008 !WORD _D030+0 - !BYTE $64,$01 ; LLB [1] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F009 !WORD 0 - !BYTE $26 ; LA _D030+0 -_F010 !WORD _D030+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F011 !WORD 0 - !BYTE $26 ; LA _D030+0 -_F012 !WORD _D030+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F013 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; samplesrc/testlib.pla: 0022: puts(@loadstr) -_INIT -; samplesrc/testlib.pla: 0023: putln -; samplesrc/testlib.pla: 0024: done - !BYTE $26 ; LA _D031+0 -_F014 !WORD _D031+0 - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 - !BYTE $54 ; CALL _X003 -_F016 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: PRINT - !BYTE $D0,$D2,$C9,$CE,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D029 - !BYTE $00 ; END OF ESD diff --git a/src/samplesrc/tiletest.a b/src/samplesrc/tiletest.a deleted file mode 100644 index b37645f..0000000 --- a/src/samplesrc/tiletest.a +++ /dev/null @@ -1,354 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; samplesrc/tiletest.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; samplesrc/tiletest.pla: 0001: -; samplesrc/tiletest.pla: 0002: include "inc/hgrlib.plh" -; inc/hgrlib.plh: 0001: import hgrlib - ; DCI STRING: HGRLIB - !BYTE $C8,$C7,$D2,$CC,$C9,$42 - ; HGRLIB -> X028 -; inc/hgrlib.plh: 0002: predef divmod7(x)#2 - ; DIVMOD7 -> X029 -; inc/hgrlib.plh: 0003: predef hgrPlot(x, y)#0 - ; HGRPLOT -> X030 -; inc/hgrlib.plh: 0004: predef hgrOrPlot(x, y)#0 - ; HGRORPLOT -> X031 -; inc/hgrlib.plh: 0005: predef hgrXorPlot(x, y)#0 - ; HGRXORPLOT -> X032 -; inc/hgrlib.plh: 0006: predef hgrHLin(x1, x2, y)#0 - ; HGRHLIN -> X033 -; inc/hgrlib.plh: 0007: predef hgrVLin(y1, y2, x)#0 - ; HGRVLIN -> X034 -; inc/hgrlib.plh: 0008: predef hgrXorHLin(x1, x2, y)#0 - ; HGRXORHLIN -> X035 -; inc/hgrlib.plh: 0009: predef hgrXorVLin(y1, y2, x)#0 - ; HGRXORVLIN -> X036 -; inc/hgrlib.plh: 0010: predef hgrRect(x1, y1, x2, y2)#0 - ; HGRRECT -> X037 -; inc/hgrlib.plh: 0011: predef hgrXorRect(x1, y1, x2, y2)#0 - ; HGRXORRECT -> X038 -; inc/hgrlib.plh: 0012: predef hgrBLT(x, y, width, height, srcptr)#0 - ; HGRBLT -> X039 -; inc/hgrlib.plh: 0013: predef hgrCopySrc(ofst, y, w, h, srcptr)#0 - ; HGRCOPYSRC -> X040 -; inc/hgrlib.plh: 0014: predef hgrAndSrc(ofst, y, w, h, srcptr)#0 - ; HGRANDSRC -> X041 -; inc/hgrlib.plh: 0015: predef hgrXorSrc(ofst, y, w, h, srcptr)#0 - ; HGRXORSRC -> X042 -; inc/hgrlib.plh: 0016: predef hgrOrSrc(ofst, y, w, h, srcptr)#0 - ; HGRORSRC -> X043 -; inc/hgrlib.plh: 0017: predef hgrCopyDst(ofst, y, w, h, dstptr)#0 - ; HGRCOPYDST -> X044 -; inc/hgrlib.plh: 0018: predef hgrMode(mode)#1 - ; HGRMODE -> X045 -; inc/hgrlib.plh: 0019: predef hgrClear#0 - ; HGRCLEAR -> X046 -; inc/hgrlib.plh: 0020: predef hgrShow(page)#1 - ; HGRSHOW -> X047 -; inc/hgrlib.plh: 0021: predef hgrSwap#1 - ; HGRSWAP -> X048 -; inc/hgrlib.plh: 0022: predef hgrDrawBuf(page)#1 - ; HGRDRAWBUF -> X049 -; inc/hgrlib.plh: 0023: predef hgrColor(clr)#0 - ; HGRCOLOR -> X050 -; inc/hgrlib.plh: 0024: const hgrPage1 = 0 - ; hgrPage1 = 0 -; inc/hgrlib.plh: 0025: const hgrPage2 = 1 - ; hgrPage2 = 1 -; inc/hgrlib.plh: 0026: const hgrOff = -1 - ; hgrOff = -1 -; inc/hgrlib.plh: 0027: end -; samplesrc/tiletest.pla: 0002: -; samplesrc/tiletest.pla: 0003: include "inc/hgrtile.plh" -; inc/hgrtile.plh: 0001: import hgrtile - ; DCI STRING: HGRTILE - !BYTE $C8,$C7,$D2,$D4,$C9,$CC,$45 - ; HGRTILE -> X051 -; inc/hgrtile.plh: 0002: predef tileDraw(x, y, tileptr)#0 - ; TILEDRAW -> X052 -; inc/hgrtile.plh: 0003: predef tileXorDraw(x, y, tileptr)#0 - ; TILEXORDRAW -> X053 -; inc/hgrtile.plh: 0004: predef tileOrDraw(x, y, tileptr)#0 - ; TILEORDRAW -> X054 -; inc/hgrtile.plh: 0005: predef tileAndDraw(x, y, tileptr)#0 - ; TILEANDDRAW -> X055 -; inc/hgrtile.plh: 0006: predef tileDrawStr(x, y, strptr, strlen, tileset)#0 - ; TILEDRAWSTR -> X056 -; inc/hgrtile.plh: 0007: predef tileFromText(txtpage, tileset)#0 - ; TILEFROMTEXT -> X057 -; inc/hgrtile.plh: 0008: predef tileDrawBuf(page)#1 - ; TILEDRAWBUF -> X058 -; inc/hgrtile.plh: 0009: end -; samplesrc/tiletest.pla: 0003: -; samplesrc/tiletest.pla: 0004: include "inc/hgrfont.plh" -; inc/hgrfont.plh: 0001: import hgrfont - ; DCI STRING: HGRFONT - !BYTE $C8,$C7,$D2,$C6,$CF,$CE,$54 - ; HGRFONT -> X059 -; inc/hgrfont.plh: 0002: predef hgrPutStr(x, y, strptr)#0 - ; HGRPUTSTR -> X060 -; inc/hgrfont.plh: 0003: end -; samplesrc/tiletest.pla: 0004: -; samplesrc/tiletest.pla: 0005: sysflags reshgr1 // Reserve HGR page 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0010 ; SYSTEM FLAGS -; samplesrc/tiletest.pla: 0006: -; samplesrc/tiletest.pla: 0007: hgrMode(hgrPage1) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT -; samplesrc/tiletest.pla: 0008: tileDrawBuf(hgrPage1) -; samplesrc/tiletest.pla: 0009: hgrPutStr(5, 1, "Hello HiRes Tile Demo") - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X045 -_F000 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X058 -_F001 !WORD 0 - !BYTE $30 ; DROP - !BYTE $0A ; CN 5 - !BYTE $02 ; CN 1 - !BYTE $2E ; CS - !BYTE $15 - !BYTE $48,$65,$6C,$6C,$6F,$20,$48,$69 - !BYTE $52,$65,$73,$20,$54,$69,$6C,$65 - !BYTE $20,$44,$65,$6D,$6F - !BYTE $54 ; CALL _X060 -_F002 !WORD 0 -; samplesrc/tiletest.pla: 0010: getc -; samplesrc/tiletest.pla: 0011: tileFromText(0, @hgrFont) -; samplesrc/tiletest.pla: 0012: getc -; samplesrc/tiletest.pla: 0013: hgrMode(hgrOff) -; samplesrc/tiletest.pla: 0014: done - !BYTE $54 ; CALL _X006 -_F003 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _X059+0 -_F004 !WORD 0+0 - !BYTE $54 ; CALL _X057 -_F005 !WORD 0 - !BYTE $54 ; CALL _X006 -_F006 !WORD 0 - !BYTE $30 ; DROP - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X045 -_F007 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 58 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 60 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 59 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 57 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 45 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: HGRMODE - !BYTE $C8,$C7,$D2,$CD,$CF,$C4,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 45 ; ESD INDEX - ; DCI STRING: TILEFROMTEXT - !BYTE $D4,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D4,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 57 ; ESD INDEX - ; DCI STRING: TILEDRAWBUF - !BYTE $D4,$C9,$CC,$C5,$C4,$D2,$C1,$D7,$C2,$D5,$46 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 58 ; ESD INDEX - ; DCI STRING: HGRFONT - !BYTE $C8,$C7,$D2,$C6,$CF,$CE,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 59 ; ESD INDEX - ; DCI STRING: HGRPUTSTR - !BYTE $C8,$C7,$D2,$D0,$D5,$D4,$D3,$D4,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 60 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/test b/src/test deleted file mode 100644 index 31d21ba5c6ee39222b155233fa80729ee6bd8ba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3693 zcmb7{4R91^8OPs!clUB!6Wp{%L4|SK(rXCGu04hI9P^$p&i9q;%|2^fi_K( z&fK&A-}8T;=Y8LOZ}&2J!z&{~Y%sD#y}$3&^Dq6edg%B|Lnr(15IM^u?d^#Iv!bJ; zJz^@wa?O3}n)~LeMMV*!i72{pNh02rY=|e#$X7c$BVAoBiMUyAUSFN;>~2bScSg)a zG};wOc9kl^Cz{1SRO2=wYCTF+q+~#dlopk(Qq%-h(==N>q9!V%T4PPCW|Mz=N=9YX zUx({FwTj3$lVW8ybA$z#-Xxd&t;?$38m?1nb>`a{6?<+FaXKjA6BYjL``;c;$xv&= zaIMyL8Hmc>l+@a_-lT@tyLp{KP45;rK2Tey*Lu{TFWMb%%4;ZSoKx=1ZSS+jt*rA% z%~M~St@zolXbc}SxcYm-8;tN?d%fV4;*gndF63P7R_Xbk+voU2=DZPK?soma47+Q+ z5Q|<|wNL~CcDC|v5y*3(QUvBYP$mLJ4$KpQ`3}qxff5Hy;SpkB*em*mKQ9J{w~CjC zw~Idy9~G|-=YP&!L~4QA{;-*g7TOvp@uz&6C+f@GRJbBH6iP{3Qd$T}c|xI}uc5$f zEHIl!w#-~XS>W83b`5*nH3Z+UC#9uio=ka}BI?y1>x_D(eR)Q9e$3f|KC{FuGR^t! z;?8!_Rg?lZN8ncB5i?9F9oYDe7B+QMt+9j(Q^IIR4mb)XOta1(rlsFSijICV)P7Hfz%o9!*}NU41` zyxeX@FsFJ`S27YaI~tPf-65G7a$nher`&mIU2L%*Zx`FHV$4Q+V&^^om`#DDxtkM4 zpv`Da7&U>2u_a+F^fYEB{2I%v_|de zNn5&1cNAxKwg~FsRbN_~v(hJmo@Es)s+Yd6chO>}_``Z{o~U>6`0FlTF;VlP@teOe zVe?{h++9~r*t}@`=4BH$XU^Jr$gVx>1(QALv7M7W=dqoWKIO5klRo3It&=|Cv905t zuaDO+sNJ3)vj4F15{B%z$a$P^&o9n+SDkqoXTdi{y`uM5nf83X!eaj9a&aHEgt4H< ztrzujgCXQz;uvA(3RyucC1(4DEF?;Z3Zl+0tW9E;wUyXG>>>^bX$=b98WL*yZ$en- z;PdbW_;vU#_=*r|sfe^rOd)a?i7C58zp*{2lNC!}s&FV*xk@|nafc%PM;Rfc~DdM8?iR--l4MHzp9dLlMtz6ITe_Tcy8?<3z&eh_^MeH#B+{6CPtLVgZ?4ZVo}PyB36vvM`vnt{$jO-;4# zg~MnJ?a+kPg{H{2qu(Nb2(>gd{RsSBdUk6v{W!b_eiGgf{{%h+{{sFc{A>6q+y|ea zw;w(U58@BOzlZ++mJ`9r!=+yYybsL|V~BS|hTE>xikku>87iP1n`* zr(hGl1rERka1lHYUI>@Li{T1gvnqAfT8{Tc^d58-T7#}e*P!=P+eB@Y+E(%y{)2EY z{4jh#*V2a>e~SEB_&NAEd>S5PUqj><;WyDs`0v73V8x?bK982p@rbnH5mp{N7Y*W< zz@>0GybQjJnib>`cs<&NpM*EUo8fJ64>dc;_rUwmALAc{e-0mkkHUS_oFG2~pGE(U z{|5Xv{4e-DSY(N`nkB56Sz7ut=*?NWH5U%T#c(NH4%eWo(R#cHydG|Ylki4(C%OxL z6z_3(54;clDSQxq5j~9#;{6GJ1%4HN4Za9_yjpsSS6JCz-I@l^fIkh-hHrx_&`R`9 zyp?b@TmydvZiK&vZbf&Xy{N_5BVN_|KKT#G_mcmJ{Ac8c$d8aeL*7Szg1n#nq*qN3 zz-REzqUZ50cva#4V`vC*>R8_k{gs9y27WiR#E`a}tTI$vs}0STy9`}C-~aNd-&7jY T#lUa-Plt_JwDnhc`H}rUnu1C4 diff --git a/src/testlib b/src/testlib deleted file mode 100644 index db5864a44508b5d43cecc027b7529b8822f10d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmZo=U`l0Run}Nls1i7Q_Q>U%!3-cSkN^S$LnC7oQ!{f5OGhVX7gsm_lGNgooXjMJ zoczR;)D%UA2qs1?l@JC7HEDq~28lT~{7nfEUJ4_EoyNd{B$LJfm5E|f(-r`#1|o(S zCZLrQ1sPZyg&7zoiZU=y6lY+WD9OMy(TRbn(G@5b0HlFVn-~M6 X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/cat.pla: 0001: -; utilsrc/apple/cat.pla: 0002: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X028 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X029 - ; THROW -> X030 -; inc/longjmp.plh: 0004: end -; utilsrc/apple/cat.pla: 0002: -; utilsrc/apple/cat.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X031 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X032 - ; ARGNEXT -> X033 -; inc/args.plh: 0003: end -; utilsrc/apple/cat.pla: 0003: -; utilsrc/apple/cat.pla: 0004: include "inc/matchfiles.plh" -; inc/matchfiles.plh: 0001: import matchfiles - ; DCI STRING: MATCHFILES - !BYTE $CD,$C1,$D4,$C3,$C8,$C6,$C9,$CC,$C5,$53 - ; MATCHFILES -> X034 -; inc/matchfiles.plh: 0002: predef matchName(src, exp)#1 - ; MATCHNAME -> X035 -; inc/matchfiles.plh: 0003: predef matchList(pathptr, exp)#2 - ; MATCHLIST -> X036 -; inc/matchfiles.plh: 0004: predef isWildName(exp)#1 - ; ISWILDNAME -> X037 -; inc/matchfiles.plh: 0005: predef fileFromPath(filestr, pathstr)#0 - ; FILEFROMPATH -> X038 -; inc/matchfiles.plh: 0006: predef splitPathFile(pathstr)#2 - ; SPLITPATHFILE -> X039 -; inc/matchfiles.plh: 0007: end -; utilsrc/apple/cat.pla: 0004: -; utilsrc/apple/cat.pla: 0005: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X040 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X041 -; inc/fileio.plh: 0082: end -; utilsrc/apple/cat.pla: 0005: -; utilsrc/apple/cat.pla: 0006: include "inc/int32.plh" -; inc/int32.plh: 0001: import int32 - ; DCI STRING: INT32 - !BYTE $C9,$CE,$D4,$B3,$32 - ; INT32 -> X042 -; inc/int32.plh: 0002: const t_i32 = 4 - ; t_i32 = 4 -; inc/int32.plh: 0003: -; inc/int32.plh: 0004: predef zero32#0 - ; ZERO32 -> X043 -; inc/int32.plh: 0005: predef zext16to32#0 - ; ZEXT16TO32 -> X044 -; inc/int32.plh: 0006: predef neg32#0 - ; NEG32 -> X045 -; inc/int32.plh: 0007: predef load32(i32ptr)#0 - ; LOAD32 -> X046 -; inc/int32.plh: 0008: predef loadi16(imm16)#0 - ; LOADI16 -> X047 -; inc/int32.plh: 0009: predef store32(i32ptr)#0 - ; STORE32 -> X048 -; inc/int32.plh: 0010: predef add32(i32ptr)#0 - ; ADD32 -> X049 -; inc/int32.plh: 0011: predef addi16(imm16)#0 - ; ADDI16 -> X050 -; inc/int32.plh: 0012: predef sub32(i32ptr)#0 - ; SUB32 -> X051 -; inc/int32.plh: 0013: predef subi16(imm16)#0 - ; SUBI16 -> X052 -; inc/int32.plh: 0014: predef shl32(imm8)#0 - ; SHL32 -> X053 -; inc/int32.plh: 0015: predef shr32(imm8)#0 - ; SHR32 -> X054 -; inc/int32.plh: 0016: predef mul32(i32ptr)#0 - ; MUL32 -> X055 -; inc/int32.plh: 0017: predef muli16(imm16)#0 - ; MULI16 -> X056 -; inc/int32.plh: 0018: predef div32(i32ptr)#2 - ; DIV32 -> X057 -; inc/int32.plh: 0019: predef divi16(imm16)#2 - ; DIVI16 -> X058 -; inc/int32.plh: 0020: predef iseq32(i32ptr)#1 - ; ISEQ32 -> X059 -; inc/int32.plh: 0021: predef iseqi16(imm16)#1 - ; ISEQI16 -> X060 -; inc/int32.plh: 0022: predef isge32(i32ptr)#1 - ; ISGE32 -> X061 -; inc/int32.plh: 0023: predef isgei16(imm16)#1 - ; ISGEI16 -> X062 -; inc/int32.plh: 0024: predef isle32(i32ptr)#1 - ; ISLE32 -> X063 -; inc/int32.plh: 0025: predef islei16(imm16)#1 - ; ISLEI16 -> X064 -; inc/int32.plh: 0026: predef isgt32(i32ptr)#1 - ; ISGT32 -> X065 -; inc/int32.plh: 0027: predef isgti16(imm16)#1 - ; ISGTI16 -> X066 -; inc/int32.plh: 0028: predef islt32(i32ptr)#1 - ; ISLT32 -> X067 -; inc/int32.plh: 0029: predef islti16(imm16)#1 - ; ISLTI16 -> X068 -; inc/int32.plh: 0030: predef i32tos(i32ptr, strptr)#1 - ; I32TOS -> X069 -; inc/int32.plh: 0031: predef puti32(i32ptr)#0 - ; PUTI32 -> X070 -; inc/int32.plh: 0032: end -; utilsrc/apple/cat.pla: 0006: -; utilsrc/apple/cat.pla: 0007: -; utilsrc/apple/cat.pla: 0008: predef catalog(pathstr)#0 - !BYTE $00 ; END OF MODULE DEPENDENCIES -; utilsrc/apple/cat.pla: 0009: -; utilsrc/apple/cat.pla: 0010: var arg, recurse, exit -_D072 !FILL 2 ; arg, recurse, exit -_D073 !FILL 2 ; recurse, exit -_D074 !FILL 2 ; exit -; utilsrc/apple/cat.pla: 0011: char[64] path, wildname -_D075 !FILL 64 ; path, wildname -_D076 !FILL 64 ; wildname -; utilsrc/apple/cat.pla: 0012: res[t_fileinfo] fileinfo -_D077 !FILL 15 ; fileinfo -; utilsrc/apple/cat.pla: 0013: res[t_fileentry] fileentry -_D078 !FILL 39 ; fileentry -; utilsrc/apple/cat.pla: 0014: // -; utilsrc/apple/cat.pla: 0015: // Copy string with upper case conversion -; utilsrc/apple/cat.pla: 0016: // -; utilsrc/apple/cat.pla: 0017: def struprcpy(dst, src)#0 -_SUBSEG ; BYTECODE STARTS - ; dst -> [0] - ; src -> [2] -_C000 ; struprcpy() -; utilsrc/apple/cat.pla: 0018: byte i, chr - ; i -> [4] - ; chr -> [5] -; utilsrc/apple/cat.pla: 0019: -; utilsrc/apple/cat.pla: 0020: if ^src - !BYTE $58,$06,$02 ; ENTER 6,2 -; utilsrc/apple/cat.pla: 0021: for i = 1 to ^src - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B003 - !WORD _B003-* -_B004 - !BYTE $6C,$04 ; DLB [4] -; utilsrc/apple/cat.pla: 0022: chr = src->[i] -; utilsrc/apple/cat.pla: 0023: if chr >= 'a' and chr <= 'z' -; utilsrc/apple/cat.pla: 0024: dst->[i] = chr - 'a' + 'A' -; utilsrc/apple/cat.pla: 0025: else - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $6C,$05 ; DLB [5] - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B006 - !WORD _B006-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$7A ; CB 122 - !BYTE $4A ; ISLE -_B006 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $64,$05 ; LLB [5] - !BYTE $3A,$61 ; SUBI 97 - !BYTE $38,$41 ; ADDI 65 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; utilsrc/apple/cat.pla: 0026: dst->[i] = chr -; utilsrc/apple/cat.pla: 0027: fin - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B008 -; utilsrc/apple/cat.pla: 0028: next -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/cat.pla: 0029: fin -_B001 -_B002 -; utilsrc/apple/cat.pla: 0030: ^dst = ^src -; utilsrc/apple/cat.pla: 0031: end - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$06 ; LEAVE 6 -; utilsrc/apple/cat.pla: 0032: // -; utilsrc/apple/cat.pla: 0033: // Print out a directory entry -; utilsrc/apple/cat.pla: 0034: // -; utilsrc/apple/cat.pla: 0035: def printentry(entryptr)#0 - ; entryptr -> [0] -_C001 ; printentry() -; utilsrc/apple/cat.pla: 0036: char type, pad, eofstr[12] - ; type -> [2] - ; pad -> [3] - ; eofstr -> [4] -; utilsrc/apple/cat.pla: 0037: -; utilsrc/apple/cat.pla: 0038: puts(entryptr) - !BYTE $58,$10,$01 ; ENTER 16,1 -; utilsrc/apple/cat.pla: 0039: when entryptr->entry_type - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F000 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B010-* -; utilsrc/apple/cat.pla: 0040: is $0F // Is it a directory? -_B011 -; utilsrc/apple/cat.pla: 0041: type = '/' -; utilsrc/apple/cat.pla: 0042: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; utilsrc/apple/cat.pla: 0043: is $FF // SYSTEM file -_B012 -; utilsrc/apple/cat.pla: 0044: type = '-' -; utilsrc/apple/cat.pla: 0045: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; utilsrc/apple/cat.pla: 0046: is $FE // REL file -_B013 -; utilsrc/apple/cat.pla: 0047: type = '+' -; utilsrc/apple/cat.pla: 0048: break - !BYTE $2A,$2B ; CB 43 - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; utilsrc/apple/cat.pla: 0049: otherwise -_B010 - !BYTE $03 ; CASEBLOCK - !WORD $000F - !WORD _B011-* - !WORD $00FE - !WORD _B013-* - !WORD $00FF - !WORD _B012-* -; utilsrc/apple/cat.pla: 0050: type = ' ' -; utilsrc/apple/cat.pla: 0051: wend - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$02 ; SLB [2] -_B009 -; utilsrc/apple/cat.pla: 0052: putc(type) -; utilsrc/apple/cat.pla: 0053: for pad = ^entryptr to 14 - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F001 !WORD 0 - !BYTE $1C ; CN 14 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A0 ; BRGT _B014 - !WORD _B014-* -_B015 - !BYTE $6C,$03 ; DLB [3] -; utilsrc/apple/cat.pla: 0054: putc(' ') -; utilsrc/apple/cat.pla: 0055: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F002 !WORD 0 -_B016 - !BYTE $A4 ; INCBRLE _B015 - !WORD _B015-* -_B014 - !BYTE $74,$03 ; SLB [3] - !BYTE $30 ; DROP -; utilsrc/apple/cat.pla: 0056: putc('$'); putb(entryptr->entry_type) -; utilsrc/apple/cat.pla: 0057: puts(" $"); puth(entryptr=>entry_aux) - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F003 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X008 -_F004 !WORD 0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $20,$20,$24 - !BYTE $54 ; CALL _X004 -_F005 !WORD 0 -; utilsrc/apple/cat.pla: 0058: entryptr->entry_EOFH.1 = 0 -; utilsrc/apple/cat.pla: 0059: i32tos(entryptr+entry_EOFL, @eofstr) -; utilsrc/apple/cat.pla: 0060: for pad = eofstr to 9 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$1F ; ADDI 31 - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F006 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$17 ; ADDI 23 - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$15 ; ADDI 21 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X069 -_F007 !WORD 0 - !BYTE $30 ; DROP - !BYTE $12 ; CN 9 - !BYTE $64,$04 ; LLB [4] - !BYTE $A0 ; BRGT _B017 - !WORD _B017-* -_B018 - !BYTE $6C,$03 ; DLB [3] -; utilsrc/apple/cat.pla: 0061: putc(' ') -; utilsrc/apple/cat.pla: 0062: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F008 !WORD 0 -_B019 - !BYTE $A4 ; INCBRLE _B018 - !WORD _B018-* -_B017 - !BYTE $74,$03 ; SLB [3] - !BYTE $30 ; DROP -; utilsrc/apple/cat.pla: 0063: puts(@eofstr) -; utilsrc/apple/cat.pla: 0064: putln -; utilsrc/apple/cat.pla: 0065: end - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 - !BYTE $54 ; CALL _X003 -_F010 !WORD 0 - !BYTE $5A,$10 ; LEAVE 16 -; utilsrc/apple/cat.pla: 0066: def printentries(pathstr, entries, num)#0 - ; pathstr -> [0] - ; entries -> [2] - ; num -> [4] -_C002 ; printentries() -; utilsrc/apple/cat.pla: 0067: byte page - ; page -> [6] -; utilsrc/apple/cat.pla: 0068: -; utilsrc/apple/cat.pla: 0069: puts(pathstr); putln - !BYTE $58,$07,$03 ; ENTER 7,3 -; utilsrc/apple/cat.pla: 0070: puts("=NAME==========TYPE===AUX====LENGTH=\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F011 !WORD 0 - !BYTE $54 ; CALL _X003 -_F012 !WORD 0 - !BYTE $2E ; CS - !BYTE $25 - !BYTE $3D,$4E,$41,$4D,$45,$3D,$3D,$3D - !BYTE $3D,$3D,$3D,$3D,$3D,$3D,$3D,$54 - !BYTE $59,$50,$45,$3D,$3D,$3D,$41,$55 - !BYTE $58,$3D,$3D,$3D,$3D,$4C,$45,$4E - !BYTE $47,$54,$48,$3D,$0D - !BYTE $54 ; CALL _X004 -_F013 !WORD 0 -; utilsrc/apple/cat.pla: 0071: page = 20 -; utilsrc/apple/cat.pla: 0072: repeat - !BYTE $2A,$14 ; CB 20 - !BYTE $74,$06 ; SLB [6] -_B021 -; utilsrc/apple/cat.pla: 0073: printentry(entries) -; utilsrc/apple/cat.pla: 0074: entries = entries + t_fileentry -; utilsrc/apple/cat.pla: 0075: // -; utilsrc/apple/cat.pla: 0076: // Pause display every screenfull -; utilsrc/apple/cat.pla: 0077: // -; utilsrc/apple/cat.pla: 0078: if not page -; utilsrc/apple/cat.pla: 0079: if toupper(getc()) == 'Q' -; utilsrc/apple/cat.pla: 0080: throw(exit, TRUE) -; utilsrc/apple/cat.pla: 0081: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F014 !WORD _C001 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$27 ; ADDI 39 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$06 ; LLB [6] - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* - !BYTE $54 ; CALL _X006 -_F015 !WORD 0 - !BYTE $54 ; CALL _X021 -_F016 !WORD 0 - !BYTE $2A,$51 ; CB 81 - !BYTE $24 ; BRNE _B025 - !WORD _B025-* - !BYTE $6A ; LAW _D074+0 -_F017 !WORD _D074+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F018 !WORD 0 - !BYTE $30 ; DROP -_B025 -_B026 -; utilsrc/apple/cat.pla: 0082: page = 22 -; utilsrc/apple/cat.pla: 0083: else - !BYTE $2A,$16 ; CB 22 - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B023 -; utilsrc/apple/cat.pla: 0084: page-- - !BYTE $64,$06 ; LLB [6] - !BYTE $8E ; DECR -; utilsrc/apple/cat.pla: 0085: fin - !BYTE $74,$06 ; SLB [6] -_B024 -; utilsrc/apple/cat.pla: 0086: num-- - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; utilsrc/apple/cat.pla: 0087: until not num - !BYTE $76,$04 ; SLW [4] -_B022 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* -_B020 -; utilsrc/apple/cat.pla: 0088: end - !BYTE $5A,$07 ; LEAVE 7 -; utilsrc/apple/cat.pla: 0089: def catalog(pathstr)#0 - ; pathstr -> [0] -_P000 ; catalog(pathstr)#0() -_C003 ; catalog() -; utilsrc/apple/cat.pla: 0090: char recursepath[64] - ; recursepath -> [2] -; utilsrc/apple/cat.pla: 0091: var entrylist, entryptr, entrycnt - ; entrylist -> [66] - ; entryptr -> [68] - ; entrycnt -> [70] -; utilsrc/apple/cat.pla: 0092: -; utilsrc/apple/cat.pla: 0093: entrylist, entrycnt = matchList(pathstr, @wildname) - !BYTE $58,$48,$01 ; ENTER 72,1 -; utilsrc/apple/cat.pla: 0094: if entrylist -; utilsrc/apple/cat.pla: 0095: printentries(pathstr, entrylist, entrycnt) -; utilsrc/apple/cat.pla: 0096: if recurse -; utilsrc/apple/cat.pla: 0097: entryptr = entrylist -; utilsrc/apple/cat.pla: 0098: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D076+0 -_F019 !WORD _D076+0 - !BYTE $54 ; CALL _X036 -_F020 !WORD 0 - !BYTE $76,$46 ; SLW [70] - !BYTE $6E,$42 ; DLW [66] - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$42 ; LLW [66] - !BYTE $66,$46 ; LLW [70] - !BYTE $54 ; CALL _C002 -_F021 !WORD _C002 - !BYTE $6A ; LAW _D073+0 -_F022 !WORD _D073+0 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $66,$42 ; LLW [66] - !BYTE $76,$44 ; SLW [68] -_B032 -; utilsrc/apple/cat.pla: 0099: if entryptr->entry_type == $0F -; utilsrc/apple/cat.pla: 0100: // -; utilsrc/apple/cat.pla: 0101: // A directory, so recurse -; utilsrc/apple/cat.pla: 0102: // -; utilsrc/apple/cat.pla: 0103: strcpy(@recursepath, pathstr) -; utilsrc/apple/cat.pla: 0104: strcat(@recursepath, entryptr) -; utilsrc/apple/cat.pla: 0105: recursepath++ - !BYTE $66,$44 ; LLW [68] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B034 - !WORD _B034-* - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X019 -_F023 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$44 ; LLW [68] - !BYTE $54 ; CALL _X020 -_F024 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; utilsrc/apple/cat.pla: 0106: recursepath[recursepath] = '/' -; utilsrc/apple/cat.pla: 0107: if toupper(getc()) == 'Q' -; utilsrc/apple/cat.pla: 0108: throw(exit, TRUE) -; utilsrc/apple/cat.pla: 0109: fin - !BYTE $74,$02 ; SLB [2] - !BYTE $2A,$2F ; CB 47 - !BYTE $28,$02 ; LLA [2] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $70 ; SB - !BYTE $54 ; CALL _X006 -_F025 !WORD 0 - !BYTE $54 ; CALL _X021 -_F026 !WORD 0 - !BYTE $2A,$51 ; CB 81 - !BYTE $24 ; BRNE _B036 - !WORD _B036-* - !BYTE $6A ; LAW _D074+0 -_F027 !WORD _D074+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F028 !WORD 0 - !BYTE $30 ; DROP -_B036 -_B037 -; utilsrc/apple/cat.pla: 0110: catalog(@recursepath) -; utilsrc/apple/cat.pla: 0111: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C003 -_F029 !WORD _C003 -_B034 -_B035 -; utilsrc/apple/cat.pla: 0112: entryptr = entryptr + t_fileentry -; utilsrc/apple/cat.pla: 0113: entrycnt-- - !BYTE $66,$44 ; LLW [68] - !BYTE $38,$27 ; ADDI 39 - !BYTE $76,$44 ; SLW [68] - !BYTE $66,$46 ; LLW [70] - !BYTE $8E ; DECR -; utilsrc/apple/cat.pla: 0114: until not entrycnt - !BYTE $76,$46 ; SLW [70] -_B033 - !BYTE $66,$46 ; LLW [70] - !BYTE $4E ; BRTRU _B032 - !WORD _B032-* -_B031 -; utilsrc/apple/cat.pla: 0115: fin -_B029 -_B030 -; utilsrc/apple/cat.pla: 0116: heaprelease(entrylist) -; utilsrc/apple/cat.pla: 0117: fin - !BYTE $66,$42 ; LLW [66] - !BYTE $54 ; CALL _X015 -_F030 !WORD 0 - !BYTE $30 ; DROP -_B027 -_B028 -; utilsrc/apple/cat.pla: 0118: end - !BYTE $5A,$48 ; LEAVE 72 -; utilsrc/apple/cat.pla: 0119: // -; utilsrc/apple/cat.pla: 0120: // Install error exit -; utilsrc/apple/cat.pla: 0121: // -; utilsrc/apple/cat.pla: 0122: exit = heapalloc(t_except) -_INIT -; utilsrc/apple/cat.pla: 0123: if not except(exit) -; utilsrc/apple/cat.pla: 0124: // -; utilsrc/apple/cat.pla: 0125: // Check arguments and file types -; utilsrc/apple/cat.pla: 0126: // -; utilsrc/apple/cat.pla: 0127: arg = argNext(argFirst) -; utilsrc/apple/cat.pla: 0128: if ^arg and arg->[1] == '-' -; utilsrc/apple/cat.pla: 0129: if ^arg > 1 and toupper(arg->[2]) == 'R' -; utilsrc/apple/cat.pla: 0130: recurse = TRUE -; utilsrc/apple/cat.pla: 0131: fin - !BYTE $2C,$60,$01 ; CW 352 - !BYTE $54 ; CALL _X014 -_F031 !WORD 0 - !BYTE $7E ; DAW _D074+0 -_F032 !WORD _D074+0 - !BYTE $54 ; CALL _X029 -_F033 !WORD 0 - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* - !BYTE $54 ; CALL _X032 -_F034 !WORD 0 - !BYTE $54 ; CALL _X033 -_F035 !WORD 0 - !BYTE $7A ; SAW _D072+0 -_F036 !WORD _D072+0 - !BYTE $6A ; LAW _D072+0 -_F037 !WORD _D072+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B040 - !WORD _B040-* - !BYTE $6A ; LAW _D072+0 -_F038 !WORD _D072+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B040 - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $6A ; LAW _D072+0 -_F039 !WORD _D072+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B043 - !WORD _B043-* - !BYTE $6A ; LAW _D072+0 -_F040 !WORD _D072+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F041 !WORD 0 - !BYTE $2A,$52 ; CB 82 - !BYTE $40 ; ISEQ -_B043 - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $20 ; MINUS ONE - !BYTE $7A ; SAW _D073+0 -_F042 !WORD _D073+0 -_B044 -_B045 -; utilsrc/apple/cat.pla: 0132: arg = argNext(arg) -; utilsrc/apple/cat.pla: 0133: fin - !BYTE $6A ; LAW _D072+0 -_F043 !WORD _D072+0 - !BYTE $54 ; CALL _X033 -_F044 !WORD 0 - !BYTE $7A ; SAW _D072+0 -_F045 !WORD _D072+0 -_B041 -_B042 -; utilsrc/apple/cat.pla: 0134: if ^arg -; utilsrc/apple/cat.pla: 0135: struprcpy(@path, arg) -; utilsrc/apple/cat.pla: 0136: // -; utilsrc/apple/cat.pla: 0137: // Check if cataloging a directory or volume -; utilsrc/apple/cat.pla: 0138: // -; utilsrc/apple/cat.pla: 0139: if fileio:getfileinfo(@path, @fileinfo) <> FILE_ERR_OK or (fileinfo.storage_type & $0D <> $0D) -; utilsrc/apple/cat.pla: 0140: filefrompath(@wildname, @path) -; utilsrc/apple/cat.pla: 0141: fin - !BYTE $6A ; LAW _D072+0 -_F046 !WORD _D072+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $26 ; LA _D075+0 -_F047 !WORD _D075+0 - !BYTE $6A ; LAW _D072+0 -_F048 !WORD _D072+0 - !BYTE $54 ; CALL _C000 -_F049 !WORD _C000 - !BYTE $26 ; LA _D075+0 -_F050 !WORD _D075+0 - !BYTE $26 ; LA _D077+0 -_F051 !WORD _D077+0 - !BYTE $6A ; LAW _X040+4 -_F052 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $AE ; BROR _B048 - !WORD _B048-* - !BYTE $68 ; LAB _D077+4 -_F053 !WORD _D077+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $42 ; ISNE -_B048 - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $26 ; LA _D076+0 -_F054 !WORD _D076+0 - !BYTE $26 ; LA _D075+0 -_F055 !WORD _D075+0 - !BYTE $54 ; CALL _X038 -_F056 !WORD 0 -_B049 -_B050 -; utilsrc/apple/cat.pla: 0142: path = path - wildname -; utilsrc/apple/cat.pla: 0143: fin - !BYTE $68 ; LAB _D075+0 -_F057 !WORD _D075+0 - !BYTE $68 ; LAB _D076+0 -_F058 !WORD _D076+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D075+0 -_F059 !WORD _D075+0 -_B046 -_B047 -; utilsrc/apple/cat.pla: 0144: if not path -; utilsrc/apple/cat.pla: 0145: fileio:getpfx(@path) -; utilsrc/apple/cat.pla: 0146: fin - !BYTE $68 ; LAB _D075+0 -_F060 !WORD _D075+0 - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* - !BYTE $26 ; LA _D075+0 -_F061 !WORD _D075+0 - !BYTE $6A ; LAW _X040+0 -_F062 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B051 -_B052 -; utilsrc/apple/cat.pla: 0147: // -; utilsrc/apple/cat.pla: 0148: // Check if directory exists -; utilsrc/apple/cat.pla: 0149: // -; utilsrc/apple/cat.pla: 0150: if fileio:getfileinfo(@path, @fileinfo) == FILE_ERR_OK -; utilsrc/apple/cat.pla: 0151: catalog(@path) -; utilsrc/apple/cat.pla: 0152: else - !BYTE $26 ; LA _D075+0 -_F063 !WORD _D075+0 - !BYTE $26 ; LA _D077+0 -_F064 !WORD _D077+0 - !BYTE $6A ; LAW _X040+4 -_F065 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B053 - !WORD _B053-* - !BYTE $26 ; LA _D075+0 -_F066 !WORD _D075+0 - !BYTE $54 ; CALL _C003 -_F067 !WORD _C003 - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B053 -; utilsrc/apple/cat.pla: 0153: puts("Unable to open: "); puts(@path); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$3A,$20 - !BYTE $54 ; CALL _X004 -_F068 !WORD 0 -; utilsrc/apple/cat.pla: 0154: fin - !BYTE $26 ; LA _D075+0 -_F069 !WORD _D075+0 - !BYTE $54 ; CALL _X004 -_F070 !WORD 0 - !BYTE $54 ; CALL _X003 -_F071 !WORD 0 -_B054 -; utilsrc/apple/cat.pla: 0155: fin -_B038 -_B039 -; utilsrc/apple/cat.pla: 0156: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 5 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 69 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: MATCHLIST - !BYTE $CD,$C1,$D4,$C3,$C8,$CC,$C9,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - ; DCI STRING: FILEFROMPATH - !BYTE $C6,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D0,$C1,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - ; DCI STRING: I32TOS - !BYTE $C9,$B3,$B2,$D4,$CF,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 69 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/copy.a b/src/utilsrc/apple/copy.a deleted file mode 100644 index 7bbe27b..0000000 --- a/src/utilsrc/apple/copy.a +++ /dev/null @@ -1,2371 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/copy.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/copy.pla: 0001: -; utilsrc/apple/copy.pla: 0002: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X028 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X029 - ; THROW -> X030 -; inc/longjmp.plh: 0004: end -; utilsrc/apple/copy.pla: 0002: -; utilsrc/apple/copy.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X031 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X032 - ; ARGNEXT -> X033 -; inc/args.plh: 0003: end -; utilsrc/apple/copy.pla: 0003: -; utilsrc/apple/copy.pla: 0004: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X034 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X035 -; inc/fileio.plh: 0082: end -; utilsrc/apple/copy.pla: 0004: -; utilsrc/apple/copy.pla: 0005: include "inc/matchfiles.plh" -; inc/matchfiles.plh: 0001: import matchfiles - ; DCI STRING: MATCHFILES - !BYTE $CD,$C1,$D4,$C3,$C8,$C6,$C9,$CC,$C5,$53 - ; MATCHFILES -> X036 -; inc/matchfiles.plh: 0002: predef matchName(src, exp)#1 - ; MATCHNAME -> X037 -; inc/matchfiles.plh: 0003: predef matchList(pathptr, exp)#2 - ; MATCHLIST -> X038 -; inc/matchfiles.plh: 0004: predef isWildName(exp)#1 - ; ISWILDNAME -> X039 -; inc/matchfiles.plh: 0005: predef fileFromPath(filestr, pathstr)#0 - ; FILEFROMPATH -> X040 -; inc/matchfiles.plh: 0006: predef splitPathFile(pathstr)#2 - ; SPLITPATHFILE -> X041 -; inc/matchfiles.plh: 0007: end -; utilsrc/apple/copy.pla: 0005: -; utilsrc/apple/copy.pla: 0006: -; utilsrc/apple/copy.pla: 0007: const MAXBUFSIZE = 16384 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; MAXBUFSIZE = 16384 -; utilsrc/apple/copy.pla: 0008: const MINBUFSIZE = 1024 - ; MINBUFSIZE = 1024 -; utilsrc/apple/copy.pla: 0009: var arg, exit, srcfilelist, srcfileptr, srccnt -_D042 !FILL 2 ; arg, exit, srcfilelist, srcfileptr, srccnt -_D043 !FILL 2 ; exit, srcfilelist, srcfileptr, srccnt -_D044 !FILL 2 ; srcfilelist, srcfileptr, srccnt -_D045 !FILL 2 ; srcfileptr, srccnt -_D046 !FILL 2 ; srccnt -; utilsrc/apple/copy.pla: 0010: var copybuff, copyrel, copysize -_D047 !FILL 2 ; copybuff, copyrel, copysize -_D048 !FILL 2 ; copyrel, copysize -_D049 !FILL 2 ; copysize -; utilsrc/apple/copy.pla: 0011: byte recurse, dstlen -_D050 !FILL 1 ; recurse, dstlen -_D051 !FILL 1 ; dstlen -; utilsrc/apple/copy.pla: 0012: char[64] curpath, dstpath -_D052 !FILL 64 ; curpath, dstpath -_D053 !FILL 64 ; dstpath -; utilsrc/apple/copy.pla: 0013: char[16] srcdir -_D054 !FILL 16 ; srcdir -; utilsrc/apple/copy.pla: 0014: res[t_fileinfo] srcfileinfo, dstfileinfo -_D055 !FILL 15 ; srcfileinfo, dstfileinfo -_D056 !FILL 15 ; dstfileinfo -; utilsrc/apple/copy.pla: 0015: // -; utilsrc/apple/copy.pla: 0016: // Copy path with upper case conversion -; utilsrc/apple/copy.pla: 0017: // -; utilsrc/apple/copy.pla: 0018: def pathcpy(dst, src)#0 -_SUBSEG ; BYTECODE STARTS - ; dst -> [0] - ; src -> [2] -_C000 ; pathcpy() -; utilsrc/apple/copy.pla: 0019: byte i, chr - ; i -> [4] - ; chr -> [5] -; utilsrc/apple/copy.pla: 0020: -; utilsrc/apple/copy.pla: 0021: if ^src - !BYTE $58,$06,$02 ; ENTER 6,2 -; utilsrc/apple/copy.pla: 0022: for i = 1 to ^src - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B003 - !WORD _B003-* -_B004 - !BYTE $6C,$04 ; DLB [4] -; utilsrc/apple/copy.pla: 0023: chr = src->[i] -; utilsrc/apple/copy.pla: 0024: if chr >= 'a' and chr <= 'z' -; utilsrc/apple/copy.pla: 0025: dst->[i] = chr - 'a' + 'A' -; utilsrc/apple/copy.pla: 0026: else - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $6C,$05 ; DLB [5] - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B006 - !WORD _B006-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$7A ; CB 122 - !BYTE $4A ; ISLE -_B006 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $64,$05 ; LLB [5] - !BYTE $3A,$61 ; SUBI 97 - !BYTE $38,$41 ; ADDI 65 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; utilsrc/apple/copy.pla: 0027: dst->[i] = chr -; utilsrc/apple/copy.pla: 0028: fin - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B008 -; utilsrc/apple/copy.pla: 0029: next -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/copy.pla: 0030: fin -_B001 -_B002 -; utilsrc/apple/copy.pla: 0031: ^dst = ^src -; utilsrc/apple/copy.pla: 0032: end - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$06 ; LEAVE 6 -; utilsrc/apple/copy.pla: 0033: def abspath(abs, path)#0 - ; abs -> [0] - ; path -> [2] -_C001 ; abspath() -; utilsrc/apple/copy.pla: 0034: if ^path == 0 or path->[1] <> '/' - !BYTE $58,$04,$02 ; ENTER 4,2 -; utilsrc/apple/copy.pla: 0035: // -; utilsrc/apple/copy.pla: 0036: // Append relative path to absolute path -; utilsrc/apple/copy.pla: 0037: // -; utilsrc/apple/copy.pla: 0038: strcpy(abs, @curpath) -; utilsrc/apple/copy.pla: 0039: else - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B009 - !WORD _B009-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $42 ; ISNE -_B009 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D052+0 -_F000 !WORD _D052+0 - !BYTE $54 ; CALL _X019 -_F001 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B010 -; utilsrc/apple/copy.pla: 0040: // -; utilsrc/apple/copy.pla: 0041: // Absolute path -; utilsrc/apple/copy.pla: 0042: // -; utilsrc/apple/copy.pla: 0043: ^abs = 0 -; utilsrc/apple/copy.pla: 0044: fin - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B011 -; utilsrc/apple/copy.pla: 0045: strcat(abs, path) -; utilsrc/apple/copy.pla: 0046: // -; utilsrc/apple/copy.pla: 0047: // Strip trailing path seperator -; utilsrc/apple/copy.pla: 0048: // -; utilsrc/apple/copy.pla: 0049: if abs->[^abs] == '/' -; utilsrc/apple/copy.pla: 0050: ^abs-- - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X020 -_F002 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B012 - !WORD _B012-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; utilsrc/apple/copy.pla: 0051: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B012 -_B013 -; utilsrc/apple/copy.pla: 0052: end - !BYTE $5A,$04 ; LEAVE 4 -; utilsrc/apple/copy.pla: 0053: def pathdiff(path1, path2)#1 - ; path1 -> [0] - ; path2 -> [2] -_C002 ; pathdiff() -; utilsrc/apple/copy.pla: 0054: byte i, d - ; i -> [4] - ; d -> [5] -; utilsrc/apple/copy.pla: 0055: char[64] abs1, abs2 - ; abs1 -> [6] - ; abs2 -> [70] -; utilsrc/apple/copy.pla: 0056: -; utilsrc/apple/copy.pla: 0057: abspath(@abs1, path1) - !BYTE $58,$86,$02 ; ENTER 134,2 -; utilsrc/apple/copy.pla: 0058: abspath(@abs2, path2) -; utilsrc/apple/copy.pla: 0059: -; utilsrc/apple/copy.pla: 0060: if abs1 <> abs2 -; utilsrc/apple/copy.pla: 0061: return TRUE - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F003 !WORD _C001 - !BYTE $28,$46 ; LLA [70] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C001 -_F004 !WORD _C001 - !BYTE $64,$06 ; LLB [6] - !BYTE $64,$46 ; LLB [70] - !BYTE $22 ; BREQ _B014 - !WORD _B014-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$86 ; LEAVE 134 -; utilsrc/apple/copy.pla: 0062: fin -_B014 -_B015 -; utilsrc/apple/copy.pla: 0063: for i = 1 to abs1 - !BYTE $64,$06 ; LLB [6] - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B016 - !WORD _B016-* -_B017 - !BYTE $6C,$04 ; DLB [4] -; utilsrc/apple/copy.pla: 0064: d = abs1[i] - abs2[i] -; utilsrc/apple/copy.pla: 0065: if d -; utilsrc/apple/copy.pla: 0066: return d - !BYTE $28,$06 ; LLA [6] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $28,$46 ; LLA [70] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $6C,$05 ; DLB [5] - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $32 ; DROP2 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$86 ; LEAVE 134 -; utilsrc/apple/copy.pla: 0067: fin -_B019 -_B020 -; utilsrc/apple/copy.pla: 0068: next -_B018 - !BYTE $A4 ; INCBRLE _B017 - !WORD _B017-* -_B016 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/copy.pla: 0069: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$86 ; LEAVE 134 -; utilsrc/apple/copy.pla: 0070: end -; utilsrc/apple/copy.pla: 0071: // -; utilsrc/apple/copy.pla: 0072: // Check destination path -; utilsrc/apple/copy.pla: 0073: // -; utilsrc/apple/copy.pla: 0074: def chkdstpath(dstfile) - ; dstfile -> [0] -_C003 ; chkdstpath() -; utilsrc/apple/copy.pla: 0075: // -; utilsrc/apple/copy.pla: 0076: // Check if destination exists -; utilsrc/apple/copy.pla: 0077: // -; utilsrc/apple/copy.pla: 0078: if fileio:getfileinfo(dstfile, @dstfileinfo) == FILE_ERR_OK - !BYTE $58,$02,$01 ; ENTER 2,1 -; utilsrc/apple/copy.pla: 0079: // -; utilsrc/apple/copy.pla: 0080: // Check if copying into a directory -; utilsrc/apple/copy.pla: 0081: // -; utilsrc/apple/copy.pla: 0082: if dstfileinfo.storage_type & $0D == $0D -; utilsrc/apple/copy.pla: 0083: if dstfile->[^dstfile] <> '/' -; utilsrc/apple/copy.pla: 0084: // -; utilsrc/apple/copy.pla: 0085: // Add path seperator -; utilsrc/apple/copy.pla: 0086: // -; utilsrc/apple/copy.pla: 0087: ^dstfile++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D056+0 -_F005 !WORD _D056+0 - !BYTE $6A ; LAW _X034+4 -_F006 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* - !BYTE $68 ; LAB _D056+4 -_F007 !WORD _D056+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B023 - !WORD _B023-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B025 - !WORD _B025-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0088: dstfile->[^dstfile] = '/' -; utilsrc/apple/copy.pla: 0089: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $2A,$2F ; CB 47 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $70 ; SB -_B025 -_B026 -; utilsrc/apple/copy.pla: 0090: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; utilsrc/apple/copy.pla: 0091: fin -_B023 -_B024 -; utilsrc/apple/copy.pla: 0092: fin -_B021 -_B022 -; utilsrc/apple/copy.pla: 0093: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; utilsrc/apple/copy.pla: 0094: end -; utilsrc/apple/copy.pla: 0095: def copyfiles(srcfile, dstfile)#0 - ; srcfile -> [0] - ; dstfile -> [2] -_C004 ; copyfiles() -; utilsrc/apple/copy.pla: 0096: var entrylist, entry, entrycnt, srcref, dstref, copyxfer - ; entrylist -> [4] - ; entry -> [6] - ; entrycnt -> [8] - ; srcref -> [10] - ; dstref -> [12] - ; copyxfer -> [14] -; utilsrc/apple/copy.pla: 0097: char[64] srcpath - ; srcpath -> [16] -; utilsrc/apple/copy.pla: 0098: char[64] srcfilepath - ; srcfilepath -> [80] -; utilsrc/apple/copy.pla: 0099: char[64] dstfilepath - ; dstfilepath -> [144] -; utilsrc/apple/copy.pla: 0100: char[16] wildname - ; wildname -> [208] -; utilsrc/apple/copy.pla: 0101: -; utilsrc/apple/copy.pla: 0102: // -; utilsrc/apple/copy.pla: 0103: // Check if copying a directory -; utilsrc/apple/copy.pla: 0104: // -; utilsrc/apple/copy.pla: 0105: strcpy(@srcpath, srcfile) - !BYTE $58,$E0,$02 ; ENTER 224,2 -; utilsrc/apple/copy.pla: 0106: wildname = 0 -; utilsrc/apple/copy.pla: 0107: if fileio:getfileinfo(@srcpath, @srcfileinfo) <> FILE_ERR_OK or (srcfileinfo.storage_type & $0D <> $0D) -; utilsrc/apple/copy.pla: 0108: fileFromPath(@wildname, @srcpath) -; utilsrc/apple/copy.pla: 0109: srcpath = srcpath - wildname -; utilsrc/apple/copy.pla: 0110: fin - !BYTE $28,$10 ; LLA [16] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X019 -_F008 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$D0 ; SLB [208] - !BYTE $28,$10 ; LLA [16] - !BYTE $26 ; LA _D055+0 -_F009 !WORD _D055+0 - !BYTE $6A ; LAW _X034+4 -_F010 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $AE ; BROR _B027 - !WORD _B027-* - !BYTE $68 ; LAB _D055+4 -_F011 !WORD _D055+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $42 ; ISNE -_B027 - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $28,$D0 ; LLA [208] - !BYTE $28,$10 ; LLA [16] - !BYTE $54 ; CALL _X040 -_F012 !WORD 0 - !BYTE $64,$10 ; LLB [16] - !BYTE $64,$D0 ; LLB [208] - !BYTE $84 ; SUB - !BYTE $74,$10 ; SLB [16] -_B028 -_B029 -; utilsrc/apple/copy.pla: 0111: entrylist, entrycnt = matchList(@srcpath, @wildname) -; utilsrc/apple/copy.pla: 0112: if not entrylist -; utilsrc/apple/copy.pla: 0113: puts(srcfile); puts(" ???\n") - !BYTE $28,$10 ; LLA [16] - !BYTE $28,$D0 ; LLA [208] - !BYTE $54 ; CALL _X038 -_F013 !WORD 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$3F,$3F,$3F,$0D - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; utilsrc/apple/copy.pla: 0114: else - !BYTE $50 ; BRNCH _B031 - !WORD _B031-* -_B030 -; utilsrc/apple/copy.pla: 0115: entry = entrylist -; utilsrc/apple/copy.pla: 0116: while entrycnt - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B032 -; utilsrc/apple/copy.pla: 0117: strcpy(@srcfilepath, @srcpath) -; utilsrc/apple/copy.pla: 0118: strcat(@srcfilepath, entry) -; utilsrc/apple/copy.pla: 0119: strcpy(@dstfilepath, dstfile) -; utilsrc/apple/copy.pla: 0120: if chkdstpath(@dstfilepath) -; utilsrc/apple/copy.pla: 0121: strcat(@dstfilepath, entry) -; utilsrc/apple/copy.pla: 0122: fin - !BYTE $28,$50 ; LLA [80] - !BYTE $28,$10 ; LLA [16] - !BYTE $54 ; CALL _X019 -_F016 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$50 ; LLA [80] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X020 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$90 ; LLA [144] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X019 -_F018 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _C003 -_F019 !WORD _C003 - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $28,$90 ; LLA [144] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X020 -_F020 !WORD 0 - !BYTE $30 ; DROP -_B035 -_B036 -; utilsrc/apple/copy.pla: 0123: if entry->entry_type == $0F -; utilsrc/apple/copy.pla: 0124: // -; utilsrc/apple/copy.pla: 0125: // Source is a directory and not referencing the destination -; utilsrc/apple/copy.pla: 0126: // -; utilsrc/apple/copy.pla: 0127: if pathdiff(@srcfilepath, dstfile) -; utilsrc/apple/copy.pla: 0128: fileio:create(@dstfilepath, $0F, $0000) -; utilsrc/apple/copy.pla: 0129: if not chkdstpath(@dstfilepath) -; utilsrc/apple/copy.pla: 0130: puts("Unable to create directory: "); puts(@dstfilepath); putln - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B037 - !WORD _B037-* - !BYTE $28,$50 ; LLA [80] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F021 !WORD _C002 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $28,$90 ; LLA [144] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X034+22 -_F022 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _C003 -_F023 !WORD _C003 - !BYTE $4E ; BRTRU _B041 - !WORD _B041-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$63,$72,$65,$61,$74,$65 - !BYTE $20,$64,$69,$72,$65,$63,$74,$6F - !BYTE $72,$79,$3A,$20 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -; utilsrc/apple/copy.pla: 0131: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0132: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 - !BYTE $54 ; CALL _X003 -_F026 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F027 !WORD _D043+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F028 !WORD 0 - !BYTE $30 ; DROP -_B041 -_B042 -; utilsrc/apple/copy.pla: 0133: if recurse -; utilsrc/apple/copy.pla: 0134: copyfiles(@srcfilepath, @dstfilepath) -; utilsrc/apple/copy.pla: 0135: fin - !BYTE $68 ; LAB _D050+0 -_F029 !WORD _D050+0 - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $28,$50 ; LLA [80] - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _C004 -_F030 !WORD _C004 -_B043 -_B044 -; utilsrc/apple/copy.pla: 0136: fin -_B039 -_B040 -; utilsrc/apple/copy.pla: 0137: else - !BYTE $50 ; BRNCH _B038 - !WORD _B038-* -_B037 -; utilsrc/apple/copy.pla: 0138: puts(@srcfilepath) -; utilsrc/apple/copy.pla: 0139: // -; utilsrc/apple/copy.pla: 0140: // Check if destination file exists -; utilsrc/apple/copy.pla: 0141: // -; utilsrc/apple/copy.pla: 0142: if fileio:getfileinfo(@dstfilepath, @dstfileinfo) == FILE_ERR_OK -; utilsrc/apple/copy.pla: 0143: fileio:destroy(@dstfilepath) -; utilsrc/apple/copy.pla: 0144: fin - !BYTE $28,$50 ; LLA [80] - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 - !BYTE $28,$90 ; LLA [144] - !BYTE $26 ; LA _D056+0 -_F032 !WORD _D056+0 - !BYTE $6A ; LAW _X034+4 -_F033 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B045 - !WORD _B045-* - !BYTE $28,$90 ; LLA [144] - !BYTE $6A ; LAW _X034+24 -_F034 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B045 -_B046 -; utilsrc/apple/copy.pla: 0145: // -; utilsrc/apple/copy.pla: 0146: // Create the destination file and open for writing -; utilsrc/apple/copy.pla: 0147: // -; utilsrc/apple/copy.pla: 0148: if fileio:create(@dstfilepath, entry->entry_type, entry=>entry_aux) <> FILE_ERR_OK -; utilsrc/apple/copy.pla: 0149: puts("\nUnable to create file: "); puts(@dstfilepath); putln - !BYTE $28,$90 ; LLA [144] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$1F ; ADDI 31 - !BYTE $62 ; LW - !BYTE $6A ; LAW _X034+22 -_F035 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $0D,$55,$6E,$61,$62,$6C,$65,$20 - !BYTE $74,$6F,$20,$63,$72,$65,$61,$74 - !BYTE $65,$20,$66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F036 !WORD 0 -; utilsrc/apple/copy.pla: 0150: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0151: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 - !BYTE $54 ; CALL _X003 -_F038 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F039 !WORD _D043+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F040 !WORD 0 - !BYTE $30 ; DROP -_B047 -_B048 -; utilsrc/apple/copy.pla: 0152: srcref = fileio:open(@srcfilepath) -; utilsrc/apple/copy.pla: 0153: if not srcref -; utilsrc/apple/copy.pla: 0154: puts("\nUnable to open file: "); puts(@srcfilepath); putln - !BYTE $28,$50 ; LLA [80] - !BYTE $6A ; LAW _X034+14 -_F041 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6E,$0A ; DLW [10] - !BYTE $4E ; BRTRU _B049 - !WORD _B049-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $0D,$55,$6E,$61,$62,$6C,$65,$20 - !BYTE $74,$6F,$20,$6F,$70,$65,$6E,$20 - !BYTE $66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 -; utilsrc/apple/copy.pla: 0155: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0156: fin - !BYTE $28,$50 ; LLA [80] - !BYTE $54 ; CALL _X004 -_F043 !WORD 0 - !BYTE $54 ; CALL _X003 -_F044 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F045 !WORD _D043+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F046 !WORD 0 - !BYTE $30 ; DROP -_B049 -_B050 -; utilsrc/apple/copy.pla: 0157: dstref = fileio:open(@dstfilepath) -; utilsrc/apple/copy.pla: 0158: if not dstref -; utilsrc/apple/copy.pla: 0159: puts("\nUnable to open file: "); puts(@dstfilepath); putln - !BYTE $28,$90 ; LLA [144] - !BYTE $6A ; LAW _X034+14 -_F047 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6E,$0C ; DLW [12] - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $0D,$55,$6E,$61,$62,$6C,$65,$20 - !BYTE $74,$6F,$20,$6F,$70,$65,$6E,$20 - !BYTE $66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 -; utilsrc/apple/copy.pla: 0160: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0161: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 - !BYTE $54 ; CALL _X003 -_F050 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F051 !WORD _D043+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F052 !WORD 0 - !BYTE $30 ; DROP -_B051 -_B052 -; utilsrc/apple/copy.pla: 0162: // -; utilsrc/apple/copy.pla: 0163: // Let the copying begin -; utilsrc/apple/copy.pla: 0164: // -; utilsrc/apple/copy.pla: 0165: repeat -_B054 -; utilsrc/apple/copy.pla: 0166: copyxfer = fileio:read(srcref, copybuff, copysize) -; utilsrc/apple/copy.pla: 0167: if copyxfer -; utilsrc/apple/copy.pla: 0168: if fileio:write(dstref, copybuff, copyxfer) <> copyxfer -; utilsrc/apple/copy.pla: 0169: puts("\nError writing: "); puts(@dstfilepath); putln - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _D047+0 -_F053 !WORD _D047+0 - !BYTE $6A ; LAW _D049+0 -_F054 !WORD _D049+0 - !BYTE $6A ; LAW _X034+18 -_F055 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$0E ; DLW [14] - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _D047+0 -_F056 !WORD _D047+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $6A ; LAW _X034+20 -_F057 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $66,$0E ; LLW [14] - !BYTE $22 ; BREQ _B058 - !WORD _B058-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$77 - !BYTE $72,$69,$74,$69,$6E,$67,$3A,$20 - !BYTE $54 ; CALL _X004 -_F058 !WORD 0 -; utilsrc/apple/copy.pla: 0170: throw(exit, TRUE) -; utilsrc/apple/copy.pla: 0171: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F059 !WORD 0 - !BYTE $54 ; CALL _X003 -_F060 !WORD 0 - !BYTE $6A ; LAW _D043+0 -_F061 !WORD _D043+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X030 -_F062 !WORD 0 - !BYTE $30 ; DROP -_B058 -_B059 -; utilsrc/apple/copy.pla: 0172: fin -_B056 -_B057 -; utilsrc/apple/copy.pla: 0173: until copyxfer == 0 -_B055 - !BYTE $66,$0E ; LLW [14] - !BYTE $4E ; BRTRU _B054 - !WORD _B054-* -_B053 -; utilsrc/apple/copy.pla: 0174: fileio:close(dstref) -; utilsrc/apple/copy.pla: 0175: fileio:close(srcref) -; utilsrc/apple/copy.pla: 0176: puts(" ==> "); puts(@dstfilepath); putln - !BYTE $66,$0C ; LLW [12] - !BYTE $6A ; LAW _X034+16 -_F063 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _X034+16 -_F064 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$3D,$3D,$3E,$20 - !BYTE $54 ; CALL _X004 -_F065 !WORD 0 -; utilsrc/apple/copy.pla: 0177: fin - !BYTE $28,$90 ; LLA [144] - !BYTE $54 ; CALL _X004 -_F066 !WORD 0 - !BYTE $54 ; CALL _X003 -_F067 !WORD 0 -_B038 -; utilsrc/apple/copy.pla: 0178: entry = entry + t_fileentry -; utilsrc/apple/copy.pla: 0179: entrycnt-- - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$27 ; ADDI 39 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; utilsrc/apple/copy.pla: 0180: loop - !BYTE $76,$08 ; SLW [8] -_B034 - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B032 - !WORD _B032-* -_B033 -; utilsrc/apple/copy.pla: 0181: heaprelease(entrylist) -; utilsrc/apple/copy.pla: 0182: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F068 !WORD 0 - !BYTE $30 ; DROP -_B031 -; utilsrc/apple/copy.pla: 0183: end - !BYTE $5A,$E0 ; LEAVE 224 -; utilsrc/apple/copy.pla: 0184: // -; utilsrc/apple/copy.pla: 0185: // Install error exit -; utilsrc/apple/copy.pla: 0186: // -; utilsrc/apple/copy.pla: 0187: exit = heapalloc(t_except) -_INIT -; utilsrc/apple/copy.pla: 0188: if not except(exit) -; utilsrc/apple/copy.pla: 0189: fileio:getpfx(@curpath) -; utilsrc/apple/copy.pla: 0190: // -; utilsrc/apple/copy.pla: 0191: // Check arguments and file types -; utilsrc/apple/copy.pla: 0192: // -; utilsrc/apple/copy.pla: 0193: arg = argNext(argFirst) -; utilsrc/apple/copy.pla: 0194: if ^arg and arg->[1] == '-' -; utilsrc/apple/copy.pla: 0195: if ^arg > 1 and toupper(arg->[2]) == 'R' -; utilsrc/apple/copy.pla: 0196: recurse = TRUE -; utilsrc/apple/copy.pla: 0197: fin - !BYTE $2C,$60,$01 ; CW 352 - !BYTE $54 ; CALL _X014 -_F069 !WORD 0 - !BYTE $7E ; DAW _D043+0 -_F070 !WORD _D043+0 - !BYTE $54 ; CALL _X029 -_F071 !WORD 0 - !BYTE $4E ; BRTRU _B060 - !WORD _B060-* - !BYTE $26 ; LA _D052+0 -_F072 !WORD _D052+0 - !BYTE $6A ; LAW _X034+0 -_F073 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X032 -_F074 !WORD 0 - !BYTE $54 ; CALL _X033 -_F075 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F076 !WORD _D042+0 - !BYTE $6A ; LAW _D042+0 -_F077 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B062 - !WORD _B062-* - !BYTE $6A ; LAW _D042+0 -_F078 !WORD _D042+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B062 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $6A ; LAW _D042+0 -_F079 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B065 - !WORD _B065-* - !BYTE $6A ; LAW _D042+0 -_F080 !WORD _D042+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F081 !WORD 0 - !BYTE $2A,$52 ; CB 82 - !BYTE $40 ; ISEQ -_B065 - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D050+0 -_F082 !WORD _D050+0 -_B066 -_B067 -; utilsrc/apple/copy.pla: 0198: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0199: fin - !BYTE $6A ; LAW _D042+0 -_F083 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F084 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F085 !WORD _D042+0 -_B063 -_B064 -; utilsrc/apple/copy.pla: 0200: if ^arg -; utilsrc/apple/copy.pla: 0201: srcfilelist = heapalloc(^arg + 1) -; utilsrc/apple/copy.pla: 0202: pathcpy(srcfilelist, arg) -; utilsrc/apple/copy.pla: 0203: srccnt++ - !BYTE $6A ; LAW _D042+0 -_F086 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $6A ; LAW _D042+0 -_F087 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X014 -_F088 !WORD 0 - !BYTE $7E ; DAW _D044+0 -_F089 !WORD _D044+0 - !BYTE $6A ; LAW _D042+0 -_F090 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F091 !WORD _C000 - !BYTE $6A ; LAW _D046+0 -_F092 !WORD _D046+0 - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0204: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0205: if ^arg -; utilsrc/apple/copy.pla: 0206: pathcpy(@dstpath, arg) -; utilsrc/apple/copy.pla: 0207: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0208: while ^arg - !BYTE $7A ; SAW _D046+0 -_F093 !WORD _D046+0 - !BYTE $6A ; LAW _D042+0 -_F094 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F095 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F096 !WORD _D042+0 - !BYTE $6A ; LAW _D042+0 -_F097 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $26 ; LA _D053+0 -_F098 !WORD _D053+0 - !BYTE $6A ; LAW _D042+0 -_F099 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F100 !WORD _C000 - !BYTE $6A ; LAW _D042+0 -_F101 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F102 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F103 !WORD _D042+0 - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B072 -; utilsrc/apple/copy.pla: 0209: // -; utilsrc/apple/copy.pla: 0210: // Add to source list -; utilsrc/apple/copy.pla: 0211: // -; utilsrc/apple/copy.pla: 0212: srcfileptr = heapalloc(dstpath + 1) -; utilsrc/apple/copy.pla: 0213: strcpy(srcfileptr, @dstpath) -; utilsrc/apple/copy.pla: 0214: srccnt++ - !BYTE $68 ; LAB _D053+0 -_F104 !WORD _D053+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X014 -_F105 !WORD 0 - !BYTE $7E ; DAW _D045+0 -_F106 !WORD _D045+0 - !BYTE $26 ; LA _D053+0 -_F107 !WORD _D053+0 - !BYTE $54 ; CALL _X019 -_F108 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D046+0 -_F109 !WORD _D046+0 - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0215: // -; utilsrc/apple/copy.pla: 0216: // Set new destination -; utilsrc/apple/copy.pla: 0217: // -; utilsrc/apple/copy.pla: 0218: pathcpy(@dstpath, arg) -; utilsrc/apple/copy.pla: 0219: arg = argNext(arg) -; utilsrc/apple/copy.pla: 0220: loop - !BYTE $7A ; SAW _D046+0 -_F110 !WORD _D046+0 - !BYTE $26 ; LA _D053+0 -_F111 !WORD _D053+0 - !BYTE $6A ; LAW _D042+0 -_F112 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F113 !WORD _C000 - !BYTE $6A ; LAW _D042+0 -_F114 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F115 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F116 !WORD _D042+0 -_B074 - !BYTE $6A ; LAW _D042+0 -_F117 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* -_B073 -; utilsrc/apple/copy.pla: 0221: if dstpath[0] == 1 and dstpath[1] == '=' -; utilsrc/apple/copy.pla: 0222: fileio:getpfx(@dstpath) -; utilsrc/apple/copy.pla: 0223: fin - !BYTE $68 ; LAB _D053+0 -_F118 !WORD _D053+0 - !BYTE $02 ; CN 1 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B075 - !WORD _B075-* - !BYTE $68 ; LAB _D053+1 -_F119 !WORD _D053+1 - !BYTE $2A,$3D ; CB 61 - !BYTE $40 ; ISEQ -_B075 - !BYTE $4C ; BRFLS _B076 - !WORD _B076-* - !BYTE $26 ; LA _D053+0 -_F120 !WORD _D053+0 - !BYTE $6A ; LAW _X034+0 -_F121 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B076 -_B077 -; utilsrc/apple/copy.pla: 0224: if not chkdstpath(@dstpath) and (srccnt > 1 or isWildName(srcfilelist)) -; utilsrc/apple/copy.pla: 0225: puts("Destination must be a directory: "); puts(@dstpath); putln - !BYTE $26 ; LA _D053+0 -_F122 !WORD _D053+0 - !BYTE $54 ; CALL _C003 -_F123 !WORD _C003 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B078 - !WORD _B078-* - !BYTE $6A ; LAW _D046+0 -_F124 !WORD _D046+0 - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B079 - !WORD _B079-* - !BYTE $6A ; LAW _D044+0 -_F125 !WORD _D044+0 - !BYTE $54 ; CALL _X039 -_F126 !WORD 0 -_B079 -_B078 - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $2E ; CS - !BYTE $21 - !BYTE $44,$65,$73,$74,$69,$6E,$61,$74 - !BYTE $69,$6F,$6E,$20,$6D,$75,$73,$74 - !BYTE $20,$62,$65,$20,$61,$20,$64,$69 - !BYTE $72,$65,$63,$74,$6F,$72,$79,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F127 !WORD 0 -; utilsrc/apple/copy.pla: 0226: return - !BYTE $26 ; LA _D053+0 -_F128 !WORD _D053+0 - !BYTE $54 ; CALL _X004 -_F129 !WORD 0 - !BYTE $54 ; CALL _X003 -_F130 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0227: fin -_B080 -_B081 -; utilsrc/apple/copy.pla: 0228: fileio:iobufalloc(2) // Reserve two I/O buffers -; utilsrc/apple/copy.pla: 0229: if isule(heapavail, MINBUFSIZE + 6144) -; utilsrc/apple/copy.pla: 0230: puts(" No available memory for copy buffer\n") - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X034+12 -_F131 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X016 -_F132 !WORD 0 - !BYTE $2C,$00,$1C ; CW 7168 - !BYTE $54 ; CALL _X027 -_F133 !WORD 0 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $2E ; CS - !BYTE $25 - !BYTE $20,$4E,$6F,$20,$61,$76,$61,$69 - !BYTE $6C,$61,$62,$6C,$65,$20,$6D,$65 - !BYTE $6D,$6F,$72,$79,$20,$66,$6F,$72 - !BYTE $20,$63,$6F,$70,$79,$20,$62,$75 - !BYTE $66,$66,$65,$72,$0D - !BYTE $54 ; CALL _X004 -_F134 !WORD 0 -; utilsrc/apple/copy.pla: 0231: return - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0232: fin -_B082 -_B083 -; utilsrc/apple/copy.pla: 0233: copysize = MAXBUFSIZE -; utilsrc/apple/copy.pla: 0234: while isult(heapavail, copysize + 6144) // Leave lots of room for recursion - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $7A ; SAW _D049+0 -_F135 !WORD _D049+0 - !BYTE $50 ; BRNCH _B086 - !WORD _B086-* -_B084 -; utilsrc/apple/copy.pla: 0235: copysize = copysize - 1024 -; utilsrc/apple/copy.pla: 0236: loop - !BYTE $6A ; LAW _D049+0 -_F136 !WORD _D049+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D049+0 -_F137 !WORD _D049+0 -_B086 - !BYTE $54 ; CALL _X016 -_F138 !WORD 0 - !BYTE $6A ; LAW _D049+0 -_F139 !WORD _D049+0 - !BYTE $2C,$00,$18 ; CW 6144 - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X026 -_F140 !WORD 0 - !BYTE $4E ; BRTRU _B084 - !WORD _B084-* -_B085 -; utilsrc/apple/copy.pla: 0237: copyrel = heapalloc(copysize + 256) -; utilsrc/apple/copy.pla: 0238: // -; utilsrc/apple/copy.pla: 0239: // Round buffer to page boundary for faster transfers -; utilsrc/apple/copy.pla: 0240: // -; utilsrc/apple/copy.pla: 0241: copybuff = (copyrel + $FF) & $FF00 -; utilsrc/apple/copy.pla: 0242: // -; utilsrc/apple/copy.pla: 0243: // Iterate through all sources -; utilsrc/apple/copy.pla: 0244: // -; utilsrc/apple/copy.pla: 0245: srcfileptr = srcfilelist -; utilsrc/apple/copy.pla: 0246: while srccnt - !BYTE $6A ; LAW _D049+0 -_F141 !WORD _D049+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F142 !WORD 0 - !BYTE $7E ; DAW _D048+0 -_F143 !WORD _D048+0 - !BYTE $38,$FF ; ADDI 255 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D047+0 -_F144 !WORD _D047+0 - !BYTE $6A ; LAW _D044+0 -_F145 !WORD _D044+0 - !BYTE $7A ; SAW _D045+0 -_F146 !WORD _D045+0 - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -_B087 -; utilsrc/apple/copy.pla: 0247: dstlen = dstpath -; utilsrc/apple/copy.pla: 0248: if fileio:getfileinfo(srcfileptr, @srcfileinfo) == FILE_ERR_OK and (srcfileinfo.storage_type & $0D == $0D) -; utilsrc/apple/copy.pla: 0249: if recurse -; utilsrc/apple/copy.pla: 0250: // -; utilsrc/apple/copy.pla: 0251: // Copy directory -; utilsrc/apple/copy.pla: 0252: // -; utilsrc/apple/copy.pla: 0253: if dstpath[dstpath] <> '/' -; utilsrc/apple/copy.pla: 0254: dstpath++ - !BYTE $68 ; LAB _D053+0 -_F147 !WORD _D053+0 - !BYTE $78 ; SAB _D051+0 -_F148 !WORD _D051+0 - !BYTE $6A ; LAW _D045+0 -_F149 !WORD _D045+0 - !BYTE $26 ; LA _D055+0 -_F150 !WORD _D055+0 - !BYTE $6A ; LAW _X034+4 -_F151 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B090 - !WORD _B090-* - !BYTE $68 ; LAB _D055+4 -_F152 !WORD _D055+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $40 ; ISEQ -_B090 - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $68 ; LAB _D050+0 -_F153 !WORD _D050+0 - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $26 ; LA _D053+0 -_F154 !WORD _D053+0 - !BYTE $B4 ; ADDAB _D053+0 -_F155 !WORD _D053+0 - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B095 - !WORD _B095-* - !BYTE $68 ; LAB _D053+0 -_F156 !WORD _D053+0 - !BYTE $8C ; INCR -; utilsrc/apple/copy.pla: 0255: dstpath[dstpath] = '/' -; utilsrc/apple/copy.pla: 0256: fin - !BYTE $78 ; SAB _D053+0 -_F157 !WORD _D053+0 - !BYTE $2A,$2F ; CB 47 - !BYTE $26 ; LA _D053+0 -_F158 !WORD _D053+0 - !BYTE $B4 ; ADDAB _D053+0 -_F159 !WORD _D053+0 - !BYTE $70 ; SB -_B095 -_B096 -; utilsrc/apple/copy.pla: 0257: filefrompath(@srcdir, srcfileptr) -; utilsrc/apple/copy.pla: 0258: strcat(@dstpath, @srcdir) -; utilsrc/apple/copy.pla: 0259: if fileio:getfileinfo(@dstpath, @dstfileinfo) <> FILE_ERR_OK -; utilsrc/apple/copy.pla: 0260: fileio:create(@dstpath, $0F, $0000) -; utilsrc/apple/copy.pla: 0261: fin - !BYTE $26 ; LA _D054+0 -_F160 !WORD _D054+0 - !BYTE $6A ; LAW _D045+0 -_F161 !WORD _D045+0 - !BYTE $54 ; CALL _X040 -_F162 !WORD 0 - !BYTE $26 ; LA _D053+0 -_F163 !WORD _D053+0 - !BYTE $26 ; LA _D054+0 -_F164 !WORD _D054+0 - !BYTE $54 ; CALL _X020 -_F165 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D053+0 -_F166 !WORD _D053+0 - !BYTE $26 ; LA _D056+0 -_F167 !WORD _D056+0 - !BYTE $6A ; LAW _X034+4 -_F168 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $26 ; LA _D053+0 -_F169 !WORD _D053+0 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X034+22 -_F170 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B097 -_B098 -; utilsrc/apple/copy.pla: 0262: if not chkdstpath(@dstpath) -; utilsrc/apple/copy.pla: 0263: puts("Destination must be a directory: "); puts(@dstpath); putln - !BYTE $26 ; LA _D053+0 -_F171 !WORD _D053+0 - !BYTE $54 ; CALL _C003 -_F172 !WORD _C003 - !BYTE $4E ; BRTRU _B099 - !WORD _B099-* - !BYTE $2E ; CS - !BYTE $21 - !BYTE $44,$65,$73,$74,$69,$6E,$61,$74 - !BYTE $69,$6F,$6E,$20,$6D,$75,$73,$74 - !BYTE $20,$62,$65,$20,$61,$20,$64,$69 - !BYTE $72,$65,$63,$74,$6F,$72,$79,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F173 !WORD 0 -; utilsrc/apple/copy.pla: 0264: return - !BYTE $26 ; LA _D053+0 -_F174 !WORD _D053+0 - !BYTE $54 ; CALL _X004 -_F175 !WORD 0 - !BYTE $54 ; CALL _X003 -_F176 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0265: fin -_B099 -_B100 -; utilsrc/apple/copy.pla: 0266: else - !BYTE $50 ; BRNCH _B094 - !WORD _B094-* -_B093 -; utilsrc/apple/copy.pla: 0267: puts("Omitting directory without -r: "); puts(srcfileptr); putln - !BYTE $2E ; CS - !BYTE $1F - !BYTE $4F,$6D,$69,$74,$74,$69,$6E,$67 - !BYTE $20,$64,$69,$72,$65,$63,$74,$6F - !BYTE $72,$79,$20,$77,$69,$74,$68,$6F - !BYTE $75,$74,$20,$2D,$72,$3A,$20 - !BYTE $54 ; CALL _X004 -_F177 !WORD 0 -; utilsrc/apple/copy.pla: 0268: srcfileptr = srcfileptr + ^srcfileptr + 1 -; utilsrc/apple/copy.pla: 0269: srccnt-- - !BYTE $6A ; LAW _D045+0 -_F178 !WORD _D045+0 - !BYTE $54 ; CALL _X004 -_F179 !WORD 0 - !BYTE $54 ; CALL _X003 -_F180 !WORD 0 - !BYTE $6A ; LAW _D045+0 -_F181 !WORD _D045+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D045+0 -_F182 !WORD _D045+0 - !BYTE $6A ; LAW _D046+0 -_F183 !WORD _D046+0 - !BYTE $8E ; DECR -; utilsrc/apple/copy.pla: 0270: continue - !BYTE $7A ; SAW _D046+0 -_F184 !WORD _D046+0 - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -; utilsrc/apple/copy.pla: 0271: fin -_B094 -; utilsrc/apple/copy.pla: 0272: fin -_B091 -_B092 -; utilsrc/apple/copy.pla: 0273: // -; utilsrc/apple/copy.pla: 0274: // Copy files -; utilsrc/apple/copy.pla: 0275: // -; utilsrc/apple/copy.pla: 0276: copyfiles(srcfileptr, @dstpath) -; utilsrc/apple/copy.pla: 0277: dstpath = dstlen -; utilsrc/apple/copy.pla: 0278: srcfileptr = srcfileptr + ^srcfileptr + 1 -; utilsrc/apple/copy.pla: 0279: srccnt-- - !BYTE $6A ; LAW _D045+0 -_F185 !WORD _D045+0 - !BYTE $26 ; LA _D053+0 -_F186 !WORD _D053+0 - !BYTE $54 ; CALL _C004 -_F187 !WORD _C004 - !BYTE $68 ; LAB _D051+0 -_F188 !WORD _D051+0 - !BYTE $78 ; SAB _D053+0 -_F189 !WORD _D053+0 - !BYTE $6A ; LAW _D045+0 -_F190 !WORD _D045+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D045+0 -_F191 !WORD _D045+0 - !BYTE $6A ; LAW _D046+0 -_F192 !WORD _D046+0 - !BYTE $8E ; DECR -; utilsrc/apple/copy.pla: 0280: loop - !BYTE $7A ; SAW _D046+0 -_F193 !WORD _D046+0 -_B089 - !BYTE $6A ; LAW _D046+0 -_F194 !WORD _D046+0 - !BYTE $4E ; BRTRU _B087 - !WORD _B087-* -_B088 -; utilsrc/apple/copy.pla: 0281: heaprelease(copyrel) -; utilsrc/apple/copy.pla: 0282: return - !BYTE $6A ; LAW _D048+0 -_F195 !WORD _D048+0 - !BYTE $54 ; CALL _X015 -_F196 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/copy.pla: 0283: fin -_B070 -_B071 -; utilsrc/apple/copy.pla: 0284: fin -_B068 -_B069 -; utilsrc/apple/copy.pla: 0285: puts("Usage: +COPY + \n") - !BYTE $2E ; CS - !BYTE $1F - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $43,$4F,$50,$59,$20,$3C,$53,$52 - !BYTE $43,$46,$49,$4C,$45,$3E,$2B,$20 - !BYTE $3C,$44,$45,$53,$54,$3E,$0D - !BYTE $54 ; CALL _X004 -_F197 !WORD 0 -; utilsrc/apple/copy.pla: 0286: fin -_B060 -_B061 -; utilsrc/apple/copy.pla: 0287: fileio:close(0) -; utilsrc/apple/copy.pla: 0288: done - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X034+16 -_F198 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 6 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE 39 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ISULE - !BYTE $C9,$D3,$D5,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 27 ; ESD INDEX - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: MATCHLIST - !BYTE $CD,$C1,$D4,$C3,$C8,$CC,$C9,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: ISWILDNAME - !BYTE $C9,$D3,$D7,$C9,$CC,$C4,$CE,$C1,$CD,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 39 ; ESD INDEX - ; DCI STRING: FILEFROMPATH - !BYTE $C6,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D0,$C1,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/del.a b/src/utilsrc/apple/del.a deleted file mode 100644 index 6b2fa92..0000000 --- a/src/utilsrc/apple/del.a +++ /dev/null @@ -1,1368 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/del.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/del.pla: 0001: -; utilsrc/apple/del.pla: 0002: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X028 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X029 - ; THROW -> X030 -; inc/longjmp.plh: 0004: end -; utilsrc/apple/del.pla: 0002: -; utilsrc/apple/del.pla: 0003: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X031 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X032 - ; ARGNEXT -> X033 -; inc/args.plh: 0003: end -; utilsrc/apple/del.pla: 0003: -; utilsrc/apple/del.pla: 0004: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X034 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X035 -; inc/fileio.plh: 0082: end -; utilsrc/apple/del.pla: 0004: -; utilsrc/apple/del.pla: 0005: include "inc/matchfiles.plh" -; inc/matchfiles.plh: 0001: import matchfiles - ; DCI STRING: MATCHFILES - !BYTE $CD,$C1,$D4,$C3,$C8,$C6,$C9,$CC,$C5,$53 - ; MATCHFILES -> X036 -; inc/matchfiles.plh: 0002: predef matchName(src, exp)#1 - ; MATCHNAME -> X037 -; inc/matchfiles.plh: 0003: predef matchList(pathptr, exp)#2 - ; MATCHLIST -> X038 -; inc/matchfiles.plh: 0004: predef isWildName(exp)#1 - ; ISWILDNAME -> X039 -; inc/matchfiles.plh: 0005: predef fileFromPath(filestr, pathstr)#0 - ; FILEFROMPATH -> X040 -; inc/matchfiles.plh: 0006: predef splitPathFile(pathstr)#2 - ; SPLITPATHFILE -> X041 -; inc/matchfiles.plh: 0007: end -; utilsrc/apple/del.pla: 0005: -; utilsrc/apple/del.pla: 0006: -; utilsrc/apple/del.pla: 0007: var arg, recurse, exit, filelist, fileptr, filecnt - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D042 !FILL 2 ; arg, recurse, exit, filelist, fileptr, filecnt -_D043 !FILL 2 ; recurse, exit, filelist, fileptr, filecnt -_D044 !FILL 2 ; exit, filelist, fileptr, filecnt -_D045 !FILL 2 ; filelist, fileptr, filecnt -_D046 !FILL 2 ; fileptr, filecnt -_D047 !FILL 2 ; filecnt -; utilsrc/apple/del.pla: 0008: char[64] path -_D048 !FILL 64 ; path -; utilsrc/apple/del.pla: 0009: res[t_fileinfo] fileinfo -_D049 !FILL 15 ; fileinfo -; utilsrc/apple/del.pla: 0010: // -; utilsrc/apple/del.pla: 0011: // Copy string with upper case conversion -; utilsrc/apple/del.pla: 0012: // -; utilsrc/apple/del.pla: 0013: def struprcpy(dst, src)#0 -_SUBSEG ; BYTECODE STARTS - ; dst -> [0] - ; src -> [2] -_C000 ; struprcpy() -; utilsrc/apple/del.pla: 0014: byte i, chr - ; i -> [4] - ; chr -> [5] -; utilsrc/apple/del.pla: 0015: -; utilsrc/apple/del.pla: 0016: if ^src - !BYTE $58,$06,$02 ; ENTER 6,2 -; utilsrc/apple/del.pla: 0017: for i = 1 to ^src - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B003 - !WORD _B003-* -_B004 - !BYTE $6C,$04 ; DLB [4] -; utilsrc/apple/del.pla: 0018: chr = src->[i] -; utilsrc/apple/del.pla: 0019: if chr >= 'a' and chr <= 'z' -; utilsrc/apple/del.pla: 0020: dst->[i] = chr - 'a' + 'A' -; utilsrc/apple/del.pla: 0021: else - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $6C,$05 ; DLB [5] - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B006 - !WORD _B006-* - !BYTE $64,$05 ; LLB [5] - !BYTE $2A,$7A ; CB 122 - !BYTE $4A ; ISLE -_B006 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $64,$05 ; LLB [5] - !BYTE $3A,$61 ; SUBI 97 - !BYTE $38,$41 ; ADDI 65 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -_B007 -; utilsrc/apple/del.pla: 0022: dst->[i] = chr -; utilsrc/apple/del.pla: 0023: fin - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B008 -; utilsrc/apple/del.pla: 0024: next -_B005 - !BYTE $A4 ; INCBRLE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/del.pla: 0025: fin -_B001 -_B002 -; utilsrc/apple/del.pla: 0026: ^dst = ^src -; utilsrc/apple/del.pla: 0027: end - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$06 ; LEAVE 6 -; utilsrc/apple/del.pla: 0028: // -; utilsrc/apple/del.pla: 0029: // Check filename -; utilsrc/apple/del.pla: 0030: // -; utilsrc/apple/del.pla: 0031: def chkfile(file)#1 - ; file -> [0] -_C001 ; chkfile() -; utilsrc/apple/del.pla: 0032: var refnum, dirbuf, filecnt - ; refnum -> [2] - ; dirbuf -> [4] - ; filecnt -> [6] -; utilsrc/apple/del.pla: 0033: -; utilsrc/apple/del.pla: 0034: // -; utilsrc/apple/del.pla: 0035: // Check if file exists -; utilsrc/apple/del.pla: 0036: // -; utilsrc/apple/del.pla: 0037: if fileio:getfileinfo(file, @fileinfo) == FILE_ERR_OK - !BYTE $58,$08,$01 ; ENTER 8,1 -; utilsrc/apple/del.pla: 0038: // -; utilsrc/apple/del.pla: 0039: // Check if deleting a directory -; utilsrc/apple/del.pla: 0040: // -; utilsrc/apple/del.pla: 0041: if fileinfo.file_type == $0F -; utilsrc/apple/del.pla: 0042: refnum = fileio:open(file) -; utilsrc/apple/del.pla: 0043: if refnum -; utilsrc/apple/del.pla: 0044: // -; utilsrc/apple/del.pla: 0045: // Check for files inside directory -; utilsrc/apple/del.pla: 0046: // -; utilsrc/apple/del.pla: 0047: filecnt = 0 -; utilsrc/apple/del.pla: 0048: dirbuf = heapalloc(512) -; utilsrc/apple/del.pla: 0049: if fileio:read(refnum, dirbuf, 512) == 512 -; utilsrc/apple/del.pla: 0050: fileio:close(refnum) -; utilsrc/apple/del.pla: 0051: filecnt = dirbuf=>$25 // File count in directory -; utilsrc/apple/del.pla: 0052: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D049+0 -_F000 !WORD _D049+0 - !BYTE $6A ; LAW _X034+4 -_F001 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* - !BYTE $68 ; LAB _D049+1 -_F002 !WORD _D049+1 - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B011 - !WORD _B011-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X034+14 -_F003 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F004 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X034+18 -_F005 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $24 ; BRNE _B015 - !WORD _B015-* - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X034+16 -_F006 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$25 ; ADDI 37 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B015 -_B016 -; utilsrc/apple/del.pla: 0053: heaprelease(dirbuf) -; utilsrc/apple/del.pla: 0054: if filecnt -; utilsrc/apple/del.pla: 0055: puts("Directory not empty: "); puts(file); putln - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F007 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $44,$69,$72,$65,$63,$74,$6F,$72 - !BYTE $79,$20,$6E,$6F,$74,$20,$65,$6D - !BYTE $70,$74,$79,$3A,$20 - !BYTE $54 ; CALL _X004 -_F008 !WORD 0 -; utilsrc/apple/del.pla: 0056: return FALSE - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 - !BYTE $54 ; CALL _X003 -_F010 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; utilsrc/apple/del.pla: 0057: fin -_B017 -_B018 -; utilsrc/apple/del.pla: 0058: fin -_B013 -_B014 -; utilsrc/apple/del.pla: 0059: fin -_B011 -_B012 -; utilsrc/apple/del.pla: 0060: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; utilsrc/apple/del.pla: 0061: fin -_B009 -_B010 -; utilsrc/apple/del.pla: 0062: puts("File not found: "); puts(file); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $46,$69,$6C,$65,$20,$6E,$6F,$74 - !BYTE $20,$66,$6F,$75,$6E,$64,$3A,$20 - !BYTE $54 ; CALL _X004 -_F011 !WORD 0 -; utilsrc/apple/del.pla: 0063: return FALSE - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F012 !WORD 0 - !BYTE $54 ; CALL _X003 -_F013 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; utilsrc/apple/del.pla: 0064: end -; utilsrc/apple/del.pla: 0065: def delfiles(delfile)#0 - ; delfile -> [0] -_C002 ; delfiles() -; utilsrc/apple/del.pla: 0066: var entrylist, entry, entrycnt - ; entrylist -> [2] - ; entry -> [4] - ; entrycnt -> [6] -; utilsrc/apple/del.pla: 0067: char[64] delpath - ; delpath -> [8] -; utilsrc/apple/del.pla: 0068: char[64] delfilepath - ; delfilepath -> [72] -; utilsrc/apple/del.pla: 0069: char[16] wildname - ; wildname -> [136] -; utilsrc/apple/del.pla: 0070: -; utilsrc/apple/del.pla: 0071: strcpy(@delpath, delfile) - !BYTE $58,$98,$01 ; ENTER 152,1 -; utilsrc/apple/del.pla: 0072: wildname = 0 -; utilsrc/apple/del.pla: 0073: if delpath[delpath] <> '/' -; utilsrc/apple/del.pla: 0074: fileFromPath(@wildname, @delpath) -; utilsrc/apple/del.pla: 0075: delpath = delpath - wildname -; utilsrc/apple/del.pla: 0076: fin - !BYTE $28,$08 ; LLA [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X019 -_F014 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$88 ; SLB [136] - !BYTE $28,$08 ; LLA [8] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $22 ; BREQ _B019 - !WORD _B019-* - !BYTE $28,$88 ; LLA [136] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X040 -_F015 !WORD 0 - !BYTE $64,$08 ; LLB [8] - !BYTE $64,$88 ; LLB [136] - !BYTE $84 ; SUB - !BYTE $74,$08 ; SLB [8] -_B019 -_B020 -; utilsrc/apple/del.pla: 0077: // -; utilsrc/apple/del.pla: 0078: // Check arguments and file types -; utilsrc/apple/del.pla: 0079: // -; utilsrc/apple/del.pla: 0080: entrylist, entrycnt = matchList(@delpath, @wildname) -; utilsrc/apple/del.pla: 0081: if entrylist -; utilsrc/apple/del.pla: 0082: entry = entrylist -; utilsrc/apple/del.pla: 0083: while entrycnt - !BYTE $28,$08 ; LLA [8] - !BYTE $28,$88 ; LLA [136] - !BYTE $54 ; CALL _X038 -_F016 !WORD 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B023 -; utilsrc/apple/del.pla: 0084: strcpy(@delfilepath, @delpath) -; utilsrc/apple/del.pla: 0085: strcat(@delfilepath, entry) -; utilsrc/apple/del.pla: 0086: // -; utilsrc/apple/del.pla: 0087: // Check if file is a directory -; utilsrc/apple/del.pla: 0088: // -; utilsrc/apple/del.pla: 0089: if entry->entry_type == $0F -; utilsrc/apple/del.pla: 0090: if recurse -; utilsrc/apple/del.pla: 0091: strcat(@delfilepath, "/") - !BYTE $28,$48 ; LLA [72] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X019 -_F017 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$48 ; LLA [72] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X020 -_F018 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $1E ; CN 15 - !BYTE $24 ; BRNE _B026 - !WORD _B026-* - !BYTE $6A ; LAW _D043+0 -_F019 !WORD _D043+0 - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $28,$48 ; LLA [72] - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2F - !BYTE $54 ; CALL _X020 -_F020 !WORD 0 - !BYTE $30 ; DROP -; utilsrc/apple/del.pla: 0092: strcat(@delfilepath, @wildname) -; utilsrc/apple/del.pla: 0093: delfiles(@delfilepath) -; utilsrc/apple/del.pla: 0094: fin - !BYTE $28,$48 ; LLA [72] - !BYTE $28,$88 ; LLA [136] - !BYTE $54 ; CALL _X020 -_F021 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$48 ; LLA [72] - !BYTE $54 ; CALL _C002 -_F022 !WORD _C002 -_B028 -_B029 -; utilsrc/apple/del.pla: 0095: strcpy(@delfilepath, @delpath) -; utilsrc/apple/del.pla: 0096: strcat(@delfilepath, entry) -; utilsrc/apple/del.pla: 0097: if chkfile(@delfilepath) -; utilsrc/apple/del.pla: 0098: puts("Removing: "); puts(@delfilepath); putln - !BYTE $28,$48 ; LLA [72] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X019 -_F023 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$48 ; LLA [72] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X020 -_F024 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$48 ; LLA [72] - !BYTE $54 ; CALL _C001 -_F025 !WORD _C001 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $52,$65,$6D,$6F,$76,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 -; utilsrc/apple/del.pla: 0099: fileio:destroy(@delfilepath) -; utilsrc/apple/del.pla: 0100: fin - !BYTE $28,$48 ; LLA [72] - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 - !BYTE $54 ; CALL _X003 -_F028 !WORD 0 - !BYTE $28,$48 ; LLA [72] - !BYTE $6A ; LAW _X034+24 -_F029 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B030 -_B031 -; utilsrc/apple/del.pla: 0101: else - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B026 -; utilsrc/apple/del.pla: 0102: puts("Removing: "); puts(@delfilepath); putln - !BYTE $2E ; CS - !BYTE $0A - !BYTE $52,$65,$6D,$6F,$76,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -; utilsrc/apple/del.pla: 0103: fileio:destroy(@delfilepath) -; utilsrc/apple/del.pla: 0104: fin - !BYTE $28,$48 ; LLA [72] - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 - !BYTE $54 ; CALL _X003 -_F032 !WORD 0 - !BYTE $28,$48 ; LLA [72] - !BYTE $6A ; LAW _X034+24 -_F033 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B027 -; utilsrc/apple/del.pla: 0105: entry = entry + t_fileentry -; utilsrc/apple/del.pla: 0106: entrycnt-- - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$27 ; ADDI 39 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; utilsrc/apple/del.pla: 0107: loop - !BYTE $76,$06 ; SLW [6] -_B025 - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* -_B024 -; utilsrc/apple/del.pla: 0108: elsif not wildname - !BYTE $50 ; BRNCH _B022 - !WORD _B022-* -_B021 -; utilsrc/apple/del.pla: 0109: puts("Not found: "); puts(@delpath); puts("/"); puts(@wildname); putln - !BYTE $64,$88 ; LLB [136] - !BYTE $4E ; BRTRU _B032 - !WORD _B032-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $4E,$6F,$74,$20,$66,$6F,$75,$6E - !BYTE $64,$3A,$20 - !BYTE $54 ; CALL _X004 -_F034 !WORD 0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X004 -_F035 !WORD 0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2F - !BYTE $54 ; CALL _X004 -_F036 !WORD 0 -; utilsrc/apple/del.pla: 0110: fin - !BYTE $28,$88 ; LLA [136] - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 - !BYTE $54 ; CALL _X003 -_F038 !WORD 0 -_B032 -_B022 -; utilsrc/apple/del.pla: 0111: end - !BYTE $5A,$98 ; LEAVE 152 -; utilsrc/apple/del.pla: 0112: // -; utilsrc/apple/del.pla: 0113: // Install error exit -; utilsrc/apple/del.pla: 0114: // -; utilsrc/apple/del.pla: 0115: exit = heapalloc(t_except) -_INIT -; utilsrc/apple/del.pla: 0116: if not except(exit) -; utilsrc/apple/del.pla: 0117: // -; utilsrc/apple/del.pla: 0118: // Check arguments and file types -; utilsrc/apple/del.pla: 0119: // -; utilsrc/apple/del.pla: 0120: arg = argNext(argFirst) -; utilsrc/apple/del.pla: 0121: if ^arg and arg->[1] == '-' -; utilsrc/apple/del.pla: 0122: if ^arg > 1 and toupper(arg->[2]) == 'R' -; utilsrc/apple/del.pla: 0123: recurse = TRUE -; utilsrc/apple/del.pla: 0124: fin - !BYTE $2C,$60,$01 ; CW 352 - !BYTE $54 ; CALL _X014 -_F039 !WORD 0 - !BYTE $7E ; DAW _D044+0 -_F040 !WORD _D044+0 - !BYTE $54 ; CALL _X029 -_F041 !WORD 0 - !BYTE $4E ; BRTRU _B033 - !WORD _B033-* - !BYTE $54 ; CALL _X032 -_F042 !WORD 0 - !BYTE $54 ; CALL _X033 -_F043 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F044 !WORD _D042+0 - !BYTE $6A ; LAW _D042+0 -_F045 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B035 - !WORD _B035-* - !BYTE $6A ; LAW _D042+0 -_F046 !WORD _D042+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B035 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $6A ; LAW _D042+0 -_F047 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B038 - !WORD _B038-* - !BYTE $6A ; LAW _D042+0 -_F048 !WORD _D042+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F049 !WORD 0 - !BYTE $2A,$52 ; CB 82 - !BYTE $40 ; ISEQ -_B038 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $20 ; MINUS ONE - !BYTE $7A ; SAW _D043+0 -_F050 !WORD _D043+0 -_B039 -_B040 -; utilsrc/apple/del.pla: 0125: arg = argNext(arg) -; utilsrc/apple/del.pla: 0126: fin - !BYTE $6A ; LAW _D042+0 -_F051 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F052 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F053 !WORD _D042+0 -_B036 -_B037 -; utilsrc/apple/del.pla: 0127: if ^arg -; utilsrc/apple/del.pla: 0128: filelist = heapmark() -; utilsrc/apple/del.pla: 0129: while ^arg - !BYTE $6A ; LAW _D042+0 -_F054 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $54 ; CALL _X012 -_F055 !WORD 0 - !BYTE $7A ; SAW _D045+0 -_F056 !WORD _D045+0 - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B043 -; utilsrc/apple/del.pla: 0130: // -; utilsrc/apple/del.pla: 0131: // Add to file list -; utilsrc/apple/del.pla: 0132: // -; utilsrc/apple/del.pla: 0133: fileptr = heapalloc(^arg + 1) -; utilsrc/apple/del.pla: 0134: struprcpy(fileptr, arg) -; utilsrc/apple/del.pla: 0135: filecnt++ - !BYTE $6A ; LAW _D042+0 -_F057 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X014 -_F058 !WORD 0 - !BYTE $7E ; DAW _D046+0 -_F059 !WORD _D046+0 - !BYTE $6A ; LAW _D042+0 -_F060 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F061 !WORD _C000 - !BYTE $6A ; LAW _D047+0 -_F062 !WORD _D047+0 - !BYTE $8C ; INCR -; utilsrc/apple/del.pla: 0136: arg = argNext(arg) -; utilsrc/apple/del.pla: 0137: loop - !BYTE $7A ; SAW _D047+0 -_F063 !WORD _D047+0 - !BYTE $6A ; LAW _D042+0 -_F064 !WORD _D042+0 - !BYTE $54 ; CALL _X033 -_F065 !WORD 0 - !BYTE $7A ; SAW _D042+0 -_F066 !WORD _D042+0 -_B045 - !BYTE $6A ; LAW _D042+0 -_F067 !WORD _D042+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B043 - !WORD _B043-* -_B044 -; utilsrc/apple/del.pla: 0138: fileptr = filelist -; utilsrc/apple/del.pla: 0139: while filecnt - !BYTE $6A ; LAW _D045+0 -_F068 !WORD _D045+0 - !BYTE $7A ; SAW _D046+0 -_F069 !WORD _D046+0 - !BYTE $50 ; BRNCH _B048 - !WORD _B048-* -_B046 -; utilsrc/apple/del.pla: 0140: // -; utilsrc/apple/del.pla: 0141: // Delete files in list -; utilsrc/apple/del.pla: 0142: // -; utilsrc/apple/del.pla: 0143: if recurse and fileio:getfileinfo(fileptr, @fileinfo) == FILE_ERR_OK and (fileinfo.storage_type & $0D == $0D) -; utilsrc/apple/del.pla: 0144: strcpy(@path,fileptr) -; utilsrc/apple/del.pla: 0145: strcat(@path, "/") - !BYTE $6A ; LAW _D043+0 -_F070 !WORD _D043+0 - !BYTE $AC ; BRAND _B049 - !WORD _B049-* - !BYTE $6A ; LAW _D046+0 -_F071 !WORD _D046+0 - !BYTE $26 ; LA _D049+0 -_F072 !WORD _D049+0 - !BYTE $6A ; LAW _X034+4 -_F073 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B050 - !WORD _B050-* - !BYTE $68 ; LAB _D049+4 -_F074 !WORD _D049+4 - !BYTE $3C,$0D ; ANDI 13 - !BYTE $1A ; CN 13 - !BYTE $40 ; ISEQ -_B050 -_B049 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $26 ; LA _D048+0 -_F075 !WORD _D048+0 - !BYTE $6A ; LAW _D046+0 -_F076 !WORD _D046+0 - !BYTE $54 ; CALL _X019 -_F077 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D048+0 -_F078 !WORD _D048+0 - !BYTE $2E ; CS - !BYTE $01 - !BYTE $2F - !BYTE $54 ; CALL _X020 -_F079 !WORD 0 - !BYTE $30 ; DROP -; utilsrc/apple/del.pla: 0146: delfiles(@path) -; utilsrc/apple/del.pla: 0147: fin - !BYTE $26 ; LA _D048+0 -_F080 !WORD _D048+0 - !BYTE $54 ; CALL _C002 -_F081 !WORD _C002 -_B051 -_B052 -; utilsrc/apple/del.pla: 0148: delfiles(fileptr) -; utilsrc/apple/del.pla: 0149: fileptr = fileptr + ^fileptr + 1 -; utilsrc/apple/del.pla: 0150: filecnt-- - !BYTE $6A ; LAW _D046+0 -_F082 !WORD _D046+0 - !BYTE $54 ; CALL _C002 -_F083 !WORD _C002 - !BYTE $6A ; LAW _D046+0 -_F084 !WORD _D046+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D046+0 -_F085 !WORD _D046+0 - !BYTE $6A ; LAW _D047+0 -_F086 !WORD _D047+0 - !BYTE $8E ; DECR -; utilsrc/apple/del.pla: 0151: loop - !BYTE $7A ; SAW _D047+0 -_F087 !WORD _D047+0 -_B048 - !BYTE $6A ; LAW _D047+0 -_F088 !WORD _D047+0 - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* -_B047 -; utilsrc/apple/del.pla: 0152: else - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -_B041 -; utilsrc/apple/del.pla: 0153: puts("Usage: +DEL +\n") - !BYTE $2E ; CS - !BYTE $14 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $44,$45,$4C,$20,$3C,$46,$49,$4C - !BYTE $45,$3E,$2B,$0D - !BYTE $54 ; CALL _X004 -_F089 !WORD 0 -; utilsrc/apple/del.pla: 0154: fin -_B042 -; utilsrc/apple/del.pla: 0155: fin -_B033 -_B034 -; utilsrc/apple/del.pla: 0156: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 40 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 38 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: MATCHLIST - !BYTE $CD,$C1,$D4,$C3,$C8,$CC,$C9,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 38 ; ESD INDEX - ; DCI STRING: FILEFROMPATH - !BYTE $C6,$C9,$CC,$C5,$C6,$D2,$CF,$CD,$D0,$C1,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 40 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/initslot.a b/src/utilsrc/apple/initslot.a deleted file mode 100644 index 11c666e..0000000 --- a/src/utilsrc/apple/initslot.a +++ /dev/null @@ -1,608 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/initslot.pla: 0001: // -; utilsrc/apple/initslot.pla: 0002: // APPLE // slot initializer -; utilsrc/apple/initslot.pla: 0003: // -; utilsrc/apple/initslot.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/initslot.pla: 0004: -; utilsrc/apple/initslot.pla: 0005: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/initslot.pla: 0005: -; utilsrc/apple/initslot.pla: 0006: sysflags restxt1|resxtxt1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0005 ; SYSTEM FLAGS -; utilsrc/apple/initslot.pla: 0007: -; utilsrc/apple/initslot.pla: 0008: var arg -_D031 !FILL 2 ; arg -; utilsrc/apple/initslot.pla: 0009: -; utilsrc/apple/initslot.pla: 0010: if MACHID & MACHID_MODEL == MACHID_III -_SUBSEG ; BYTECODE STARTS -_INIT -; utilsrc/apple/initslot.pla: 0011: puts("Not for Apple ///\n") - !BYTE $68 ; LAB _X001+0 -_F000 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $2A,$C0 ; CB 192 - !BYTE $24 ; BRNE _B001 - !WORD _B001-* - !BYTE $2E ; CS - !BYTE $12 - !BYTE $4E,$6F,$74,$20,$66,$6F,$72,$20 - !BYTE $41,$70,$70,$6C,$65,$20,$2F,$2F - !BYTE $2F,$0D - !BYTE $54 ; CALL _X004 -_F001 !WORD 0 -; utilsrc/apple/initslot.pla: 0012: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; utilsrc/apple/initslot.pla: 0013: fin -_B001 -_B002 -; utilsrc/apple/initslot.pla: 0014: arg = argNext(argFirst) -; utilsrc/apple/initslot.pla: 0015: if ^arg -; utilsrc/apple/initslot.pla: 0016: if arg->1 == '0' -; utilsrc/apple/initslot.pla: 0017: // Validate and reserve 80 column text pages -; utilsrc/apple/initslot.pla: 0018: if cmdsys:_sysflags_ & vid80col -; utilsrc/apple/initslot.pla: 0019: when MACHID & MACHID_MODEL - !BYTE $54 ; CALL _X029 -_F002 !WORD 0 - !BYTE $54 ; CALL _X030 -_F003 !WORD 0 - !BYTE $7A ; SAW _D031+0 -_F004 !WORD _D031+0 - !BYTE $6A ; LAW _D031+0 -_F005 !WORD _D031+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $6A ; LAW _D031+0 -_F006 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $24 ; BRNE _B005 - !WORD _B005-* - !BYTE $6A ; LAW _X000+23 -_F007 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $68 ; LAB _X001+0 -_F008 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B010-* -; utilsrc/apple/initslot.pla: 0020: is MACHID_IIC -_B011 -; utilsrc/apple/initslot.pla: 0021: is MACHID_IIE -_B012 -; utilsrc/apple/initslot.pla: 0022: putc(21) // IIe disable -; utilsrc/apple/initslot.pla: 0023: cmdsys:_sysflags_ = cmdsys:_sysflags_ & ~resxtxt1 -; utilsrc/apple/initslot.pla: 0024: break - !BYTE $2A,$15 ; CB 21 - !BYTE $54 ; CALL _X002 -_F009 !WORD 0 - !BYTE $6A ; LAW _X000+23 -_F010 !WORD 0+23 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $94 ; AND - !BYTE $7A ; SAW _X000+23 -_F011 !WORD 0+23 - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -; utilsrc/apple/initslot.pla: 0025: is MACHID_IIPLUS -_B013 -; utilsrc/apple/initslot.pla: 0026: is MACHID_II -_B014 -; utilsrc/apple/initslot.pla: 0027: putc(26); putc('1'); putln // Videx disable -; utilsrc/apple/initslot.pla: 0028: putc(20); putc('A'); putc('1'); putln// ALS SmartTerm disable -; utilsrc/apple/initslot.pla: 0029: ^$C058 -; utilsrc/apple/initslot.pla: 0030: wend - !BYTE $2A,$1A ; CB 26 - !BYTE $54 ; CALL _X002 -_F012 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _X002 -_F013 !WORD 0 - !BYTE $54 ; CALL _X003 -_F014 !WORD 0 - !BYTE $2A,$14 ; CB 20 - !BYTE $54 ; CALL _X002 -_F015 !WORD 0 - !BYTE $2A,$41 ; CB 65 - !BYTE $54 ; CALL _X002 -_F016 !WORD 0 - !BYTE $2A,$31 ; CB 49 - !BYTE $54 ; CALL _X002 -_F017 !WORD 0 - !BYTE $54 ; CALL _X003 -_F018 !WORD 0 - !BYTE $68,$58,$C0 ; LAB 49240 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -_B010 - !BYTE $04 ; CASEBLOCK - !WORD $0000 - !WORD _B014-* - !WORD $0040 - !WORD _B013-* - !WORD $0080 - !WORD _B012-* - !WORD $0088 - !WORD _B011-* -_B009 -; utilsrc/apple/initslot.pla: 0031: cmdsys:_sysflags_ = cmdsys:_sysflags_ & ~vid80col -; utilsrc/apple/initslot.pla: 0032: fin - !BYTE $6A ; LAW _X000+23 -_F019 !WORD 0+23 - !BYTE $2C,$FF,$F7 ; CW -2049 - !BYTE $94 ; AND - !BYTE $7A ; SAW _X000+23 -_F020 !WORD 0+23 -_B007 -_B008 -; utilsrc/apple/initslot.pla: 0033: call($FE89, 0, 0, 0, 0) // IN#0 -; utilsrc/apple/initslot.pla: 0034: call($FE93, 0, 0, 0, 0) // PR#0 -; utilsrc/apple/initslot.pla: 0035: call($FB2F, 0, 0, 0, 0) // INIT -; utilsrc/apple/initslot.pla: 0036: return modflagkeep - !BYTE $2C,$89,$FE ; CW 65161 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F021 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$93,$FE ; CW 65171 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F022 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$2F,$FB ; CW 64303 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F023 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $5C ; RET -; utilsrc/apple/initslot.pla: 0037: elsif arg->1 >= '1' and arg->1 <= '7' - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B005 -; utilsrc/apple/initslot.pla: 0038: if arg->1 == '3' -; utilsrc/apple/initslot.pla: 0039: // Validate and reserve 80 column text pages -; utilsrc/apple/initslot.pla: 0040: if not (MACHID & MACHID_80COL) -; utilsrc/apple/initslot.pla: 0041: puts("80 column card not present\n") - !BYTE $6A ; LAW _D031+0 -_F024 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$31 ; CB 49 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B015 - !WORD _B015-* - !BYTE $6A ; LAW _D031+0 -_F025 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$37 ; CB 55 - !BYTE $4A ; ISLE -_B015 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $6A ; LAW _D031+0 -_F026 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$33 ; CB 51 - !BYTE $24 ; BRNE _B017 - !WORD _B017-* - !BYTE $68 ; LAB _X001+0 -_F027 !WORD 0+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B019 - !WORD _B019-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $38,$30,$20,$63,$6F,$6C,$75,$6D - !BYTE $6E,$20,$63,$61,$72,$64,$20,$6E - !BYTE $6F,$74,$20,$70,$72,$65,$73,$65 - !BYTE $6E,$74,$0D - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -; utilsrc/apple/initslot.pla: 0042: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/initslot.pla: 0043: fin -_B019 -_B020 -; utilsrc/apple/initslot.pla: 0044: when MACHID & MACHID_MODEL - !BYTE $68 ; LAB _X001+0 -_F029 !WORD 0+0 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B022-* -; utilsrc/apple/initslot.pla: 0045: is MACHID_IIPLUS -_B023 -; utilsrc/apple/initslot.pla: 0046: is MACHID_II -_B024 -; utilsrc/apple/initslot.pla: 0047: ^$C059 -; utilsrc/apple/initslot.pla: 0048: wend - !BYTE $68,$59,$C0 ; LAB 49241 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B021 - !WORD _B021-* -_B022 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B024-* - !WORD $0040 - !WORD _B023-* -_B021 -; utilsrc/apple/initslot.pla: 0049: cmdsys:_sysflags_ = cmdsys:_sysflags_ | vid80col -; utilsrc/apple/initslot.pla: 0050: fin - !BYTE $6A ; LAW _X000+23 -_F030 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $7A ; SAW _X000+23 -_F031 !WORD 0+23 -_B017 -_B018 -; utilsrc/apple/initslot.pla: 0051: call($C000 + ((arg->1 - '0') << 8), '\n', 0, 0, 0) -; utilsrc/apple/initslot.pla: 0052: return modflagkeep - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $6A ; LAW _D031+0 -_F032 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $3A,$30 ; SUBI 48 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $1A ; CN 13 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F033 !WORD 0 - !BYTE $30 ; DROP - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $5C ; RET -; utilsrc/apple/initslot.pla: 0053: fin -_B016 -_B006 -; utilsrc/apple/initslot.pla: 0054: fin -_B003 -_B004 -; utilsrc/apple/initslot.pla: 0055: puts("Usage: INITSLOT [SLOT NUMBER 1-7]\n") - !BYTE $2E ; CS - !BYTE $22 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$49 - !BYTE $4E,$49,$54,$53,$4C,$4F,$54,$20 - !BYTE $5B,$53,$4C,$4F,$54,$20,$4E,$55 - !BYTE $4D,$42,$45,$52,$20,$31,$2D,$37 - !BYTE $5D,$0D - !BYTE $54 ; CALL _X004 -_F034 !WORD 0 -; utilsrc/apple/initslot.pla: 0056: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/jitune.a b/src/utilsrc/apple/jitune.a deleted file mode 100644 index 67c3e36..0000000 --- a/src/utilsrc/apple/jitune.a +++ /dev/null @@ -1,521 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/jitune.pla: 0001: // -; utilsrc/apple/jitune.pla: 0002: // PLASMA JIT bytecode compiler tuner -; utilsrc/apple/jitune.pla: 0003: // -; utilsrc/apple/jitune.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/jitune.pla: 0004: -; utilsrc/apple/jitune.pla: 0005: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/jitune.pla: 0005: -; utilsrc/apple/jitune.pla: 0006: -; utilsrc/apple/jitune.pla: 0007: var arg, val - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D031 !FILL 2 ; arg, val -_D032 !FILL 2 ; val -; utilsrc/apple/jitune.pla: 0008: -; utilsrc/apple/jitune.pla: 0009: def atoi(strptr) -_SUBSEG ; BYTECODE STARTS - ; strptr -> [0] -_C000 ; atoi() -; utilsrc/apple/jitune.pla: 0010: var num, len - ; num -> [2] - ; len -> [4] -; utilsrc/apple/jitune.pla: 0011: -; utilsrc/apple/jitune.pla: 0012: num = 0 - !BYTE $58,$06,$01 ; ENTER 6,1 -; utilsrc/apple/jitune.pla: 0013: len = ^strptr -; utilsrc/apple/jitune.pla: 0014: strptr++ - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; utilsrc/apple/jitune.pla: 0015: while len and ^strptr >= '0' and ^strptr <= '9' - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; utilsrc/apple/jitune.pla: 0016: num = num * 10 + ^strptr - '0' -; utilsrc/apple/jitune.pla: 0017: strptr++ - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; utilsrc/apple/jitune.pla: 0018: len-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR -; utilsrc/apple/jitune.pla: 0019: loop - !BYTE $76,$04 ; SLW [4] -_B003 - !BYTE $66,$04 ; LLW [4] - !BYTE $AC ; BRAND _B004 - !WORD _B004-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B005 - !WORD _B005-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B005 -_B004 - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; utilsrc/apple/jitune.pla: 0020: return num - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -; utilsrc/apple/jitune.pla: 0021: end -; utilsrc/apple/jitune.pla: 0022: -; utilsrc/apple/jitune.pla: 0023: arg = argNext(argFirst) -_INIT -; utilsrc/apple/jitune.pla: 0024: if ^arg -; utilsrc/apple/jitune.pla: 0025: if arg->1 >= '0' and arg->1 <= '9' -; utilsrc/apple/jitune.pla: 0026: val = atoi(arg) -; utilsrc/apple/jitune.pla: 0027: if val > 255 -; utilsrc/apple/jitune.pla: 0028: val = 255 -; utilsrc/apple/jitune.pla: 0029: fin - !BYTE $54 ; CALL _X029 -_F000 !WORD 0 - !BYTE $54 ; CALL _X030 -_F001 !WORD 0 - !BYTE $7A ; SAW _D031+0 -_F002 !WORD _D031+0 - !BYTE $6A ; LAW _D031+0 -_F003 !WORD _D031+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $6A ; LAW _D031+0 -_F004 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B008 - !WORD _B008-* - !BYTE $6A ; LAW _D031+0 -_F005 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B008 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $6A ; LAW _D031+0 -_F006 !WORD _D031+0 - !BYTE $54 ; CALL _C000 -_F007 !WORD _C000 - !BYTE $7E ; DAW _D032+0 -_F008 !WORD _D032+0 - !BYTE $2A,$FF ; CB 255 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $2A,$FF ; CB 255 - !BYTE $7A ; SAW _D032+0 -_F009 !WORD _D032+0 -_B011 -_B012 -; utilsrc/apple/jitune.pla: 0030: cmdsys.jitcount = val -; utilsrc/apple/jitune.pla: 0031: arg = argNext(arg) -; utilsrc/apple/jitune.pla: 0032: if ^arg -; utilsrc/apple/jitune.pla: 0033: val = atoi(arg) -; utilsrc/apple/jitune.pla: 0034: if val > 255 -; utilsrc/apple/jitune.pla: 0035: val = 255 -; utilsrc/apple/jitune.pla: 0036: fin - !BYTE $6A ; LAW _D032+0 -_F010 !WORD _D032+0 - !BYTE $78 ; SAB _X000+17 -_F011 !WORD 0+17 - !BYTE $6A ; LAW _D031+0 -_F012 !WORD _D031+0 - !BYTE $54 ; CALL _X030 -_F013 !WORD 0 - !BYTE $7A ; SAW _D031+0 -_F014 !WORD _D031+0 - !BYTE $6A ; LAW _D031+0 -_F015 !WORD _D031+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D031+0 -_F016 !WORD _D031+0 - !BYTE $54 ; CALL _C000 -_F017 !WORD _C000 - !BYTE $7E ; DAW _D032+0 -_F018 !WORD _D032+0 - !BYTE $2A,$FF ; CB 255 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $2A,$FF ; CB 255 - !BYTE $7A ; SAW _D032+0 -_F019 !WORD _D032+0 -_B015 -_B016 -; utilsrc/apple/jitune.pla: 0037: cmdsys.jitsize = val -; utilsrc/apple/jitune.pla: 0038: fin - !BYTE $6A ; LAW _D032+0 -_F020 !WORD _D032+0 - !BYTE $78 ; SAB _X000+18 -_F021 !WORD 0+18 -_B013 -_B014 -; utilsrc/apple/jitune.pla: 0039: else - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; utilsrc/apple/jitune.pla: 0040: puts("Usage: JITUNE WARMUP [CALLCOUNT [MAXSIZE]]\n") - !BYTE $2E ; CS - !BYTE $2B - !BYTE $55,$73,$61,$67,$65,$3A,$20,$4A - !BYTE $49,$54,$55,$4E,$45,$20,$57,$41 - !BYTE $52,$4D,$55,$50,$20,$5B,$43,$41 - !BYTE $4C,$4C,$43,$4F,$55,$4E,$54,$20 - !BYTE $5B,$4D,$41,$58,$53,$49,$5A,$45 - !BYTE $5D,$5D,$0D - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -; utilsrc/apple/jitune.pla: 0041: fin -_B010 -; utilsrc/apple/jitune.pla: 0042: fin -_B006 -_B007 -; utilsrc/apple/jitune.pla: 0043: puts("JIT Call Count: "); puti(cmdsys.jitcount); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4A,$49,$54,$20,$43,$61,$6C,$6C - !BYTE $20,$43,$6F,$75,$6E,$74,$3A,$20 - !BYTE $54 ; CALL _X004 -_F023 !WORD 0 -; utilsrc/apple/jitune.pla: 0044: puts("JIT Max Size: "); puti(cmdsys.jitsize); putln - !BYTE $68 ; LAB _X000+17 -_F024 !WORD 0+17 - !BYTE $54 ; CALL _X005 -_F025 !WORD 0 - !BYTE $54 ; CALL _X003 -_F026 !WORD 0 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4A,$49,$54,$20,$4D,$61,$78,$20 - !BYTE $53,$69,$7A,$65,$3A,$20,$20,$20 - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 -; utilsrc/apple/jitune.pla: 0045: done - !BYTE $68 ; LAB _X000+18 -_F028 !WORD 0+18 - !BYTE $54 ; CALL _X005 -_F029 !WORD 0 - !BYTE $54 ; CALL _X003 -_F030 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/mon.a b/src/utilsrc/apple/mon.a deleted file mode 100644 index 64d0869..0000000 --- a/src/utilsrc/apple/mon.a +++ /dev/null @@ -1,237 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/mon.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/mon.pla: 0001: -; utilsrc/apple/mon.pla: 0002: byte bye = $20, $00, $BF, $65 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D028 ; bye = $20, $00, $BF, $65 - !BYTE $20 - !BYTE $00 - !BYTE $BF - !BYTE $65 -; utilsrc/apple/mon.pla: 0003: word paramsptr -_D029 !FILL 2 ; paramsptr -; utilsrc/apple/mon.pla: 0004: byte[7] params = 4 -_D030 ; params = 4 - !BYTE $04 - !FILL $06 -; utilsrc/apple/mon.pla: 0005: -; utilsrc/apple/mon.pla: 0006: // -; utilsrc/apple/mon.pla: 0007: // Set 'BYE' params -; utilsrc/apple/mon.pla: 0008: // -; utilsrc/apple/mon.pla: 0009: paramsptr = @params - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT -; utilsrc/apple/mon.pla: 0010: // -; utilsrc/apple/mon.pla: 0011: // Set up CTRL-Y to point to 'BYE' routine -; utilsrc/apple/mon.pla: 0012: // -; utilsrc/apple/mon.pla: 0013: ^$3F8 = $4C -; utilsrc/apple/mon.pla: 0014: *$3F9 = @bye -; utilsrc/apple/mon.pla: 0015: // -; utilsrc/apple/mon.pla: 0016: // Call into monitor -; utilsrc/apple/mon.pla: 0017: // -; utilsrc/apple/mon.pla: 0018: call(-151, 0, 0, 0, 0) -; utilsrc/apple/mon.pla: 0019: done - !BYTE $26 ; LA _D030+0 -_F000 !WORD _D030+0 - !BYTE $7A ; SAW _D029+0 -_F001 !WORD _D029+0 - !BYTE $2A,$4C ; CB 76 - !BYTE $78,$F8,$03 ; SAB 1016 - !BYTE $26 ; LA _D028+0 -_F002 !WORD _D028+0 - !BYTE $7A,$F9,$03 ; SAW 1017 - !BYTE $5E,$69 ; CFFB -151 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X010 -_F003 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 10 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CALL - !BYTE $C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 10 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/newdir.a b/src/utilsrc/apple/newdir.a deleted file mode 100644 index 75f7a34..0000000 --- a/src/utilsrc/apple/newdir.a +++ /dev/null @@ -1,518 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/newdir.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/newdir.pla: 0001: -; utilsrc/apple/newdir.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/newdir.pla: 0002: -; utilsrc/apple/newdir.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; utilsrc/apple/newdir.pla: 0003: -; utilsrc/apple/newdir.pla: 0004: -; utilsrc/apple/newdir.pla: 0005: var arg - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D033 !FILL 2 ; arg -; utilsrc/apple/newdir.pla: 0006: char[64] filename -_D034 !FILL 64 ; filename -; utilsrc/apple/newdir.pla: 0007: res[t_fileinfo] fileinfo -_D035 !FILL 15 ; fileinfo -; utilsrc/apple/newdir.pla: 0008: // -; utilsrc/apple/newdir.pla: 0009: // Check arguments and file types -; utilsrc/apple/newdir.pla: 0010: // -; utilsrc/apple/newdir.pla: 0011: arg = argNext(argFirst) -_SUBSEG ; BYTECODE STARTS -_INIT -; utilsrc/apple/newdir.pla: 0012: if ^arg -; utilsrc/apple/newdir.pla: 0013: strcpy(@filename, arg) -; utilsrc/apple/newdir.pla: 0014: if fileio:getfileinfo(@filename, @fileinfo) == FILE_ERR_OK -; utilsrc/apple/newdir.pla: 0015: puts("File exists: "); puts(@filename); putln - !BYTE $54 ; CALL _X029 -_F000 !WORD 0 - !BYTE $54 ; CALL _X030 -_F001 !WORD 0 - !BYTE $7A ; SAW _D033+0 -_F002 !WORD _D033+0 - !BYTE $6A ; LAW _D033+0 -_F003 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $26 ; LA _D034+0 -_F004 !WORD _D034+0 - !BYTE $6A ; LAW _D033+0 -_F005 !WORD _D033+0 - !BYTE $54 ; CALL _X019 -_F006 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D034+0 -_F007 !WORD _D034+0 - !BYTE $26 ; LA _D035+0 -_F008 !WORD _D035+0 - !BYTE $6A ; LAW _X031+4 -_F009 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B003 - !WORD _B003-* - !BYTE $2E ; CS - !BYTE $0D - !BYTE $46,$69,$6C,$65,$20,$65,$78,$69 - !BYTE $73,$74,$73,$3A,$20 - !BYTE $54 ; CALL _X004 -_F010 !WORD 0 -; utilsrc/apple/newdir.pla: 0016: else - !BYTE $26 ; LA _D034+0 -_F011 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F012 !WORD 0 - !BYTE $54 ; CALL _X003 -_F013 !WORD 0 - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; utilsrc/apple/newdir.pla: 0017: if fileio:create(@filename, $0F, $0000) <> FILE_ERR_OK -; utilsrc/apple/newdir.pla: 0018: puts("Unable to create directory: "); puts(@filename); putln - !BYTE $26 ; LA _D034+0 -_F014 !WORD _D034+0 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+22 -_F015 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$63,$72,$65,$61,$74,$65 - !BYTE $20,$64,$69,$72,$65,$63,$74,$6F - !BYTE $72,$79,$3A,$20 - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -; utilsrc/apple/newdir.pla: 0019: fin - !BYTE $26 ; LA _D034+0 -_F017 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 - !BYTE $54 ; CALL _X003 -_F019 !WORD 0 -_B005 -_B006 -; utilsrc/apple/newdir.pla: 0020: fin -_B004 -; utilsrc/apple/newdir.pla: 0021: return - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/newdir.pla: 0022: fin -_B001 -_B002 -; utilsrc/apple/newdir.pla: 0023: puts("Usage: +NEWDIR PATH\n") - !BYTE $2E ; CS - !BYTE $14 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $4E,$45,$57,$44,$49,$52,$20,$50 - !BYTE $41,$54,$48,$0D - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -; utilsrc/apple/newdir.pla: 0024: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/ren.a b/src/utilsrc/apple/ren.a deleted file mode 100644 index e4a62fc..0000000 --- a/src/utilsrc/apple/ren.a +++ /dev/null @@ -1,591 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/ren.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/ren.pla: 0001: -; utilsrc/apple/ren.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/ren.pla: 0002: -; utilsrc/apple/ren.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; utilsrc/apple/ren.pla: 0003: -; utilsrc/apple/ren.pla: 0004: -; utilsrc/apple/ren.pla: 0005: var arg - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D033 !FILL 2 ; arg -; utilsrc/apple/ren.pla: 0006: char[64] oldfilename, newfilename -_D034 !FILL 64 ; oldfilename, newfilename -_D035 !FILL 64 ; newfilename -; utilsrc/apple/ren.pla: 0007: res[t_fileinfo] fileinfo -_D036 !FILL 15 ; fileinfo -; utilsrc/apple/ren.pla: 0008: // -; utilsrc/apple/ren.pla: 0009: // Check arguments and file types -; utilsrc/apple/ren.pla: 0010: // -; utilsrc/apple/ren.pla: 0011: arg = argNext(argFirst) -_SUBSEG ; BYTECODE STARTS -_INIT -; utilsrc/apple/ren.pla: 0012: if ^arg -; utilsrc/apple/ren.pla: 0013: strcpy(@oldfilename, arg) -; utilsrc/apple/ren.pla: 0014: if fileio:getfileinfo(@oldfilename, @fileinfo) <> FILE_ERR_OK -; utilsrc/apple/ren.pla: 0015: // -; utilsrc/apple/ren.pla: 0016: // File not found -; utilsrc/apple/ren.pla: 0017: // -; utilsrc/apple/ren.pla: 0018: puts("File not found: "); puts(@oldfilename); putln - !BYTE $54 ; CALL _X029 -_F000 !WORD 0 - !BYTE $54 ; CALL _X030 -_F001 !WORD 0 - !BYTE $7A ; SAW _D033+0 -_F002 !WORD _D033+0 - !BYTE $6A ; LAW _D033+0 -_F003 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $26 ; LA _D034+0 -_F004 !WORD _D034+0 - !BYTE $6A ; LAW _D033+0 -_F005 !WORD _D033+0 - !BYTE $54 ; CALL _X019 -_F006 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D034+0 -_F007 !WORD _D034+0 - !BYTE $26 ; LA _D036+0 -_F008 !WORD _D036+0 - !BYTE $6A ; LAW _X031+4 -_F009 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $46,$69,$6C,$65,$20,$6E,$6F,$74 - !BYTE $20,$66,$6F,$75,$6E,$64,$3A,$20 - !BYTE $54 ; CALL _X004 -_F010 !WORD 0 -; utilsrc/apple/ren.pla: 0019: return - !BYTE $26 ; LA _D034+0 -_F011 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F012 !WORD 0 - !BYTE $54 ; CALL _X003 -_F013 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/ren.pla: 0020: fin -_B003 -_B004 -; utilsrc/apple/ren.pla: 0021: arg = argNext(arg) -; utilsrc/apple/ren.pla: 0022: if ^arg -; utilsrc/apple/ren.pla: 0023: strcpy(@newfilename, arg) -; utilsrc/apple/ren.pla: 0024: // -; utilsrc/apple/ren.pla: 0025: // Rename file -; utilsrc/apple/ren.pla: 0026: // -; utilsrc/apple/ren.pla: 0027: if fileio:rename(@oldfilename, @newfilename) <> FILE_ERR_OK -; utilsrc/apple/ren.pla: 0028: puts("Unable to rename: "); puts(@oldfilename); puts(" --> "); puts(@newfilename); putln - !BYTE $6A ; LAW _D033+0 -_F014 !WORD _D033+0 - !BYTE $54 ; CALL _X030 -_F015 !WORD 0 - !BYTE $7A ; SAW _D033+0 -_F016 !WORD _D033+0 - !BYTE $6A ; LAW _D033+0 -_F017 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $26 ; LA _D035+0 -_F018 !WORD _D035+0 - !BYTE $6A ; LAW _D033+0 -_F019 !WORD _D033+0 - !BYTE $54 ; CALL _X019 -_F020 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D034+0 -_F021 !WORD _D034+0 - !BYTE $26 ; LA _D035+0 -_F022 !WORD _D035+0 - !BYTE $6A ; LAW _X031+26 -_F023 !WORD 0+26 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $2E ; CS - !BYTE $12 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$72,$65,$6E,$61,$6D,$65 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 - !BYTE $26 ; LA _D034+0 -_F025 !WORD _D034+0 - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$2D,$2D,$3E,$20 - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 -; utilsrc/apple/ren.pla: 0029: fin - !BYTE $26 ; LA _D035+0 -_F028 !WORD _D035+0 - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 - !BYTE $54 ; CALL _X003 -_F030 !WORD 0 -_B007 -_B008 -; utilsrc/apple/ren.pla: 0030: return - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/ren.pla: 0031: fin -_B005 -_B006 -; utilsrc/apple/ren.pla: 0032: fin -_B001 -_B002 -; utilsrc/apple/ren.pla: 0033: puts("Usage: +REN OLDNAME NEWNAME\n") - !BYTE $2E ; CS - !BYTE $1C - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $52,$45,$4E,$20,$4F,$4C,$44,$4E - !BYTE $41,$4D,$45,$20,$4E,$45,$57,$4E - !BYTE $41,$4D,$45,$0D - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 -; utilsrc/apple/ren.pla: 0034: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/sos.a b/src/utilsrc/apple/sos.a deleted file mode 100644 index b5acb5a..0000000 --- a/src/utilsrc/apple/sos.a +++ /dev/null @@ -1,930 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/sos.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/sos.pla: 0001: -; utilsrc/apple/sos.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/sos.pla: 0002: -; utilsrc/apple/sos.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; utilsrc/apple/sos.pla: 0003: -; utilsrc/apple/sos.pla: 0004: -; utilsrc/apple/sos.pla: 0005: word arg, ref, interp - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D033 !FILL 2 ; arg, ref, interp -_D034 !FILL 2 ; ref, interp -_D035 !FILL 2 ; interp -; utilsrc/apple/sos.pla: 0006: -; utilsrc/apple/sos.pla: 0007: asm equates -_A000 ; equates() -; utilsrc/apple/sos.pla: 0008: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; utilsrc/apple/sos.pla: 0009: end -; utilsrc/apple/sos.pla: 0010: // -; utilsrc/apple/sos.pla: 0011: // Exec SOS.INTERP image -; utilsrc/apple/sos.pla: 0012: // -; utilsrc/apple/sos.pla: 0013: asm sosexec(addr)#0 -_A001 ; sosexec() -; utilsrc/apple/sos.pla: 0014: LDA ESTKL,X ; PULL ADDRESSES FROM INTERP HEADER - LDA ESTKL,X ; PULL ADDRESSES FROM INTERP HEADER -; utilsrc/apple/sos.pla: 0015: STA SRCL - STA SRCL -; utilsrc/apple/sos.pla: 0016: LDA ESTKH,X - LDA ESTKH,X -; utilsrc/apple/sos.pla: 0017: STA SRCH - STA SRCH -; utilsrc/apple/sos.pla: 0018: LDY #$0A - LDY #$0A -; utilsrc/apple/sos.pla: 0019: LDA (SRC),Y - LDA (SRC),Y -; utilsrc/apple/sos.pla: 0020: INY - INY -; utilsrc/apple/sos.pla: 0021: STA DSTL - STA DSTL -; utilsrc/apple/sos.pla: 0022: PHA - PHA -; utilsrc/apple/sos.pla: 0023: LDA (SRC),Y - LDA (SRC),Y -; utilsrc/apple/sos.pla: 0024: INY - INY -; utilsrc/apple/sos.pla: 0025: STA DSTH - STA DSTH -; utilsrc/apple/sos.pla: 0026: PHA - PHA -; utilsrc/apple/sos.pla: 0027: LDA (SRC),Y - LDA (SRC),Y -; utilsrc/apple/sos.pla: 0028: INY - INY -; utilsrc/apple/sos.pla: 0029: STA TMPL - STA TMPL -; utilsrc/apple/sos.pla: 0030: LDA (SRC),Y - LDA (SRC),Y -; utilsrc/apple/sos.pla: 0031: STA TMPH - STA TMPH -; utilsrc/apple/sos.pla: 0032: TYA ; SKIP INTERP HEADER FOR SRC - TYA ; SKIP INTERP HEADER FOR SRC -; utilsrc/apple/sos.pla: 0033: SEC - SEC -; utilsrc/apple/sos.pla: 0034: ADC SRCL - ADC SRCL -; utilsrc/apple/sos.pla: 0035: STA SRCL - STA SRCL -; utilsrc/apple/sos.pla: 0036: BCC + - BCC + -; utilsrc/apple/sos.pla: 0037: INC SRCH - INC SRCH -; utilsrc/apple/sos.pla: 0038: +; LDA SRCL -+; LDA SRCL -+; LDA SRCL -; utilsrc/apple/sos.pla: 0039: CMP DSTL - CMP DSTL -; utilsrc/apple/sos.pla: 0040: LDA SRCH - LDA SRCH -; utilsrc/apple/sos.pla: 0041: SBC DSTH - SBC DSTH -; utilsrc/apple/sos.pla: 0042: BCC REVCPY - BCC REVCPY -; utilsrc/apple/sos.pla: 0043: ; -; utilsrc/apple/sos.pla: 0044: ; FORWARD COPY -; FORWARD COPY -; utilsrc/apple/sos.pla: 0045: ; -; utilsrc/apple/sos.pla: 0046: LDY TMPL - LDY TMPL -; utilsrc/apple/sos.pla: 0047: BEQ FORCPYLP - BEQ FORCPYLP -; utilsrc/apple/sos.pla: 0048: INC TMPH - INC TMPH -; utilsrc/apple/sos.pla: 0049: LDY #$00 - LDY #$00 -; utilsrc/apple/sos.pla: 0050: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; utilsrc/apple/sos.pla: 0051: STA (DST),Y - STA (DST),Y -; utilsrc/apple/sos.pla: 0052: INY - INY -; utilsrc/apple/sos.pla: 0053: BNE + - BNE + -; utilsrc/apple/sos.pla: 0054: INC DSTH - INC DSTH -; utilsrc/apple/sos.pla: 0055: INC SRCH - INC SRCH -; utilsrc/apple/sos.pla: 0056: + DEC TMPL -+ DEC TMPL -; utilsrc/apple/sos.pla: 0057: BNE FORCPYLP - BNE FORCPYLP -; utilsrc/apple/sos.pla: 0058: DEC TMPH - DEC TMPH -; utilsrc/apple/sos.pla: 0059: BNE FORCPYLP - BNE FORCPYLP -; utilsrc/apple/sos.pla: 0060: BEQ CPYMEX - BEQ CPYMEX -; utilsrc/apple/sos.pla: 0061: ; -; utilsrc/apple/sos.pla: 0062: ; REVERSE COPY -; REVERSE COPY -; utilsrc/apple/sos.pla: 0063: ; -; utilsrc/apple/sos.pla: 0064: REVCPY ;CLC -REVCPY ;CLC -; utilsrc/apple/sos.pla: 0065: LDA TMPL - LDA TMPL -; utilsrc/apple/sos.pla: 0066: ADC DSTL - ADC DSTL -; utilsrc/apple/sos.pla: 0067: STA DSTL - STA DSTL -; utilsrc/apple/sos.pla: 0068: LDA TMPH - LDA TMPH -; utilsrc/apple/sos.pla: 0069: ADC DSTH - ADC DSTH -; utilsrc/apple/sos.pla: 0070: STA DSTH - STA DSTH -; utilsrc/apple/sos.pla: 0071: CLC - CLC -; utilsrc/apple/sos.pla: 0072: LDA TMPL - LDA TMPL -; utilsrc/apple/sos.pla: 0073: ADC SRCL - ADC SRCL -; utilsrc/apple/sos.pla: 0074: STA SRCL - STA SRCL -; utilsrc/apple/sos.pla: 0075: LDA TMPH - LDA TMPH -; utilsrc/apple/sos.pla: 0076: ADC SRCH - ADC SRCH -; utilsrc/apple/sos.pla: 0077: STA SRCH - STA SRCH -; utilsrc/apple/sos.pla: 0078: DEC DSTH - DEC DSTH -; utilsrc/apple/sos.pla: 0079: DEC SRCH - DEC SRCH -; utilsrc/apple/sos.pla: 0080: LDY #$FF - LDY #$FF -; utilsrc/apple/sos.pla: 0081: LDA TMPL - LDA TMPL -; utilsrc/apple/sos.pla: 0082: BEQ REVCPYLP - BEQ REVCPYLP -; utilsrc/apple/sos.pla: 0083: INC TMPH - INC TMPH -; utilsrc/apple/sos.pla: 0084: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; utilsrc/apple/sos.pla: 0085: STA (DST),Y - STA (DST),Y -; utilsrc/apple/sos.pla: 0086: DEY - DEY -; utilsrc/apple/sos.pla: 0087: CPY #$FF - CPY #$FF -; utilsrc/apple/sos.pla: 0088: BNE + - BNE + -; utilsrc/apple/sos.pla: 0089: DEC DSTH - DEC DSTH -; utilsrc/apple/sos.pla: 0090: DEC SRCH - DEC SRCH -; utilsrc/apple/sos.pla: 0091: + DEC TMPL -+ DEC TMPL -; utilsrc/apple/sos.pla: 0092: BNE REVCPYLP - BNE REVCPYLP -; utilsrc/apple/sos.pla: 0093: DEC TMPH - DEC TMPH -; utilsrc/apple/sos.pla: 0094: BNE REVCPYLP - BNE REVCPYLP -; utilsrc/apple/sos.pla: 0095: CPYMEX PLA -CPYMEX PLA -; utilsrc/apple/sos.pla: 0096: STA DSTH - STA DSTH -; utilsrc/apple/sos.pla: 0097: PLA - PLA -; utilsrc/apple/sos.pla: 0098: STA DSTL - STA DSTL -; utilsrc/apple/sos.pla: 0099: JMP (DST) ; JUMP TO INTERP - JMP (DST) ; JUMP TO INTERP -; utilsrc/apple/sos.pla: 0100: -; utilsrc/apple/sos.pla: 0101: end -; utilsrc/apple/sos.pla: 0102: def seg_release(segnum)#1 -_SUBSEG ; BYTECODE STARTS - ; segnum -> [0] -_C000 ; seg_release() -; utilsrc/apple/sos.pla: 0103: byte params[2] - ; params -> [2] -; utilsrc/apple/sos.pla: 0104: -; utilsrc/apple/sos.pla: 0105: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; utilsrc/apple/sos.pla: 0106: params.1 = segnum -; utilsrc/apple/sos.pla: 0107: perr = syscall($45, @params) -; utilsrc/apple/sos.pla: 0108: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$45 ; CB 69 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F000 !WORD 0 - !BYTE $7C ; DAB _X032+0 -_F001 !WORD 0+0 - !BYTE $5A,$04 ; LEAVE 4 -; utilsrc/apple/sos.pla: 0109: end -; utilsrc/apple/sos.pla: 0110: def strcmp(str1, str2) - ; str1 -> [0] - ; str2 -> [2] -_C001 ; strcmp() -; utilsrc/apple/sos.pla: 0111: byte i - ; i -> [4] -; utilsrc/apple/sos.pla: 0112: if (^str1 == ^str2) - !BYTE $58,$05,$02 ; ENTER 5,2 -; utilsrc/apple/sos.pla: 0113: for i = ^str1 downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B001 - !WORD _B001-* - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B003 - !WORD _B003-* -_B004 - !BYTE $6C,$04 ; DLB [4] -; utilsrc/apple/sos.pla: 0114: if ^(str1 + i) <> ^(str2 + i) -; utilsrc/apple/sos.pla: 0115: return FALSE - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B006 - !WORD _B006-* - !BYTE $32 ; DROP2 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; utilsrc/apple/sos.pla: 0116: fin -_B006 -_B007 -; utilsrc/apple/sos.pla: 0117: next -_B005 - !BYTE $A8 ; DECBRGE _B004 - !WORD _B004-* -_B003 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; utilsrc/apple/sos.pla: 0118: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$05 ; LEAVE 5 -; utilsrc/apple/sos.pla: 0119: fin -_B001 -_B002 -; utilsrc/apple/sos.pla: 0120: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -; utilsrc/apple/sos.pla: 0121: end -; utilsrc/apple/sos.pla: 0122: if MACHID <> $F2 -_INIT -; utilsrc/apple/sos.pla: 0123: puts("Apple /// SOS required.\n") - !BYTE $68 ; LAB _X001+0 -_F002 !WORD 0+0 - !BYTE $2A,$F2 ; CB 242 - !BYTE $22 ; BREQ _B008 - !WORD _B008-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $41,$70,$70,$6C,$65,$20,$2F,$2F - !BYTE $2F,$20,$53,$4F,$53,$20,$72,$65 - !BYTE $71,$75,$69,$72,$65,$64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F003 !WORD 0 -; utilsrc/apple/sos.pla: 0124: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; utilsrc/apple/sos.pla: 0125: fin -_B008 -_B009 -; utilsrc/apple/sos.pla: 0126: arg = argNext(argFirst) -; utilsrc/apple/sos.pla: 0127: if ^arg -; utilsrc/apple/sos.pla: 0128: ref = fileio:open(arg) -; utilsrc/apple/sos.pla: 0129: if ref -; utilsrc/apple/sos.pla: 0130: arg = argNext(arg) -; utilsrc/apple/sos.pla: 0131: if ^arg -; utilsrc/apple/sos.pla: 0132: fileio:setpfx(arg) -; utilsrc/apple/sos.pla: 0133: puts(arg); puts("/:\n") - !BYTE $54 ; CALL _X029 -_F004 !WORD 0 - !BYTE $54 ; CALL _X030 -_F005 !WORD 0 - !BYTE $7A ; SAW _D033+0 -_F006 !WORD _D033+0 - !BYTE $6A ; LAW _D033+0 -_F007 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $6A ; LAW _D033+0 -_F008 !WORD _D033+0 - !BYTE $6A ; LAW _X031+14 -_F009 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D034+0 -_F010 !WORD _D034+0 - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D033+0 -_F011 !WORD _D033+0 - !BYTE $54 ; CALL _X030 -_F012 !WORD 0 - !BYTE $7A ; SAW _D033+0 -_F013 !WORD _D033+0 - !BYTE $6A ; LAW _D033+0 -_F014 !WORD _D033+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $6A ; LAW _D033+0 -_F015 !WORD _D033+0 - !BYTE $6A ; LAW _X031+2 -_F016 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D033+0 -_F017 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $2F,$3A,$0D - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 -; utilsrc/apple/sos.pla: 0134: fin -_B014 -_B015 -; utilsrc/apple/sos.pla: 0135: interp = heapmark()+1 -; utilsrc/apple/sos.pla: 0136: fileio:read(ref, interp, heapavail()) -; utilsrc/apple/sos.pla: 0137: fileio:close(ref) -; utilsrc/apple/sos.pla: 0138: ^(interp - 1) = 8 -; utilsrc/apple/sos.pla: 0139: if strcmp(interp - 1, "SOS NTRP") - !BYTE $54 ; CALL _X012 -_F020 !WORD 0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D035+0 -_F021 !WORD _D035+0 - !BYTE $6A ; LAW _D034+0 -_F022 !WORD _D034+0 - !BYTE $6A ; LAW _D035+0 -_F023 !WORD _D035+0 - !BYTE $54 ; CALL _X016 -_F024 !WORD 0 - !BYTE $6A ; LAW _X031+18 -_F025 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D034+0 -_F026 !WORD _D034+0 - !BYTE $6A ; LAW _X031+16 -_F027 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D035+0 -_F028 !WORD _D035+0 - !BYTE $8E ; DECR - !BYTE $70 ; SB - !BYTE $6A ; LAW _D035+0 -_F029 !WORD _D035+0 - !BYTE $8E ; DECR - !BYTE $2E ; CS - !BYTE $08 - !BYTE $53,$4F,$53,$20,$4E,$54,$52,$50 - !BYTE $54 ; CALL _C001 -_F030 !WORD _C001 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* -; utilsrc/apple/sos.pla: 0140: //puts("INTERP opt hdr: $"); puth(interp=>$08); putln -; utilsrc/apple/sos.pla: 0141: //puts("INTERP address: $"); puth(interp=>$0A); putln -; utilsrc/apple/sos.pla: 0142: //puts("INTERP size: $"); puth(interp=>$0C); putln -; utilsrc/apple/sos.pla: 0143: fileio:close(0) // Close all files -; utilsrc/apple/sos.pla: 0144: seg_release(0) // Free all segments -; utilsrc/apple/sos.pla: 0145: sosexec(interp) -; utilsrc/apple/sos.pla: 0146: else - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+16 -_F031 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F032 !WORD _C000 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D035+0 -_F033 !WORD _D035+0 - !BYTE $54 ; CALL _A001 -_F034 !WORD _A001 - !BYTE $50 ; BRNCH _B017 - !WORD _B017-* -_B016 -; utilsrc/apple/sos.pla: 0147: puts("Not a SOS.INTERP file.\n") - !BYTE $2E ; CS - !BYTE $17 - !BYTE $4E,$6F,$74,$20,$61,$20,$53,$4F - !BYTE $53,$2E,$49,$4E,$54,$45,$52,$50 - !BYTE $20,$66,$69,$6C,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F035 !WORD 0 -; utilsrc/apple/sos.pla: 0148: fin -_B017 -; utilsrc/apple/sos.pla: 0149: else - !BYTE $50 ; BRNCH _B013 - !WORD _B013-* -_B012 -; utilsrc/apple/sos.pla: 0150: puts("File not found.\n") - !BYTE $2E ; CS - !BYTE $10 - !BYTE $46,$69,$6C,$65,$20,$6E,$6F,$74 - !BYTE $20,$66,$6F,$75,$6E,$64,$2E,$0D - !BYTE $54 ; CALL _X004 -_F036 !WORD 0 -; utilsrc/apple/sos.pla: 0151: fin -_B013 -; utilsrc/apple/sos.pla: 0152: else - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B010 -; utilsrc/apple/sos.pla: 0153: puts("Usage: +SOS [PREFIX]\n") - !BYTE $2E ; CS - !BYTE $22 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $53,$4F,$53,$20,$3C,$53,$4F,$53 - !BYTE $2E,$49,$4E,$54,$45,$52,$50,$3E - !BYTE $20,$5B,$50,$52,$45,$46,$49,$58 - !BYTE $5D,$0D - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 -; utilsrc/apple/sos.pla: 0154: fin -_B011 -; utilsrc/apple/sos.pla: 0155: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 1 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: MACHID - !BYTE $CD,$C1,$C3,$C8,$C9,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 1 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/type.a b/src/utilsrc/apple/type.a deleted file mode 100644 index bc5bd7a..0000000 --- a/src/utilsrc/apple/type.a +++ /dev/null @@ -1,916 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/type.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/type.pla: 0001: -; utilsrc/apple/type.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/type.pla: 0002: -; utilsrc/apple/type.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; utilsrc/apple/type.pla: 0003: -; utilsrc/apple/type.pla: 0004: -; utilsrc/apple/type.pla: 0005: char[64] filename - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D033 !FILL 64 ; filename -; utilsrc/apple/type.pla: 0006: res[t_fileinfo] fileinfo -_D034 !FILL 15 ; fileinfo -; utilsrc/apple/type.pla: 0007: var arg, type, aux -_D035 !FILL 2 ; arg, type, aux -_D036 !FILL 2 ; type, aux -_D037 !FILL 2 ; aux -; utilsrc/apple/type.pla: 0008: // -; utilsrc/apple/type.pla: 0009: // Convert byte to two hex chars -; utilsrc/apple/type.pla: 0010: // -; utilsrc/apple/type.pla: 0011: //def putb(b)#0 -; utilsrc/apple/type.pla: 0012: // char h -; utilsrc/apple/type.pla: 0013: // -; utilsrc/apple/type.pla: 0014: // h = ((b >> 4) & $0F) + '0' -; utilsrc/apple/type.pla: 0015: // if h > '9' -; utilsrc/apple/type.pla: 0016: // h = h + 7 -; utilsrc/apple/type.pla: 0017: // fin -; utilsrc/apple/type.pla: 0018: // putc(h) -; utilsrc/apple/type.pla: 0019: // h = (b & $0F) + '0' -; utilsrc/apple/type.pla: 0020: // if h > '9' -; utilsrc/apple/type.pla: 0021: // h = h + 7 -; utilsrc/apple/type.pla: 0022: // fin -; utilsrc/apple/type.pla: 0023: // putc(h) -; utilsrc/apple/type.pla: 0024: //end -; utilsrc/apple/type.pla: 0025: def htoi(hexptr) -_SUBSEG ; BYTECODE STARTS - ; hexptr -> [0] -_C000 ; htoi() -; utilsrc/apple/type.pla: 0026: var val, i, n - ; val -> [2] - ; i -> [4] - ; n -> [6] -; utilsrc/apple/type.pla: 0027: -; utilsrc/apple/type.pla: 0028: val = 0 - !BYTE $58,$08,$01 ; ENTER 8,1 -; utilsrc/apple/type.pla: 0029: for i = 1 to ^hexptr - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6E,$04 ; DLW [4] -; utilsrc/apple/type.pla: 0030: n = toupper(^(hexptr + i)) - '0' -; utilsrc/apple/type.pla: 0031: if n > 9 -; utilsrc/apple/type.pla: 0032: n = n - 7 -; utilsrc/apple/type.pla: 0033: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F000 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $6E,$06 ; DLW [6] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $66,$06 ; LLW [6] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $76,$06 ; SLW [6] -_B004 -_B005 -; utilsrc/apple/type.pla: 0034: if n > 15 or n < 0 -; utilsrc/apple/type.pla: 0035: return val - !BYTE $66,$06 ; LLW [6] - !BYTE $1E ; CN 15 - !BYTE $44 ; ISGT - !BYTE $AE ; BROR _B006 - !WORD _B006-* - !BYTE $66,$06 ; LLW [6] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B006 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $32 ; DROP2 - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$08 ; LEAVE 8 -; utilsrc/apple/type.pla: 0036: fin -_B007 -_B008 -; utilsrc/apple/type.pla: 0037: val = (val << 4) + n -; utilsrc/apple/type.pla: 0038: next - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$02 ; SLW [2] -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; utilsrc/apple/type.pla: 0039: return val - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$08 ; LEAVE 8 -; utilsrc/apple/type.pla: 0040: end -; utilsrc/apple/type.pla: 0041: // -; utilsrc/apple/type.pla: 0042: // Check arguments and file types -; utilsrc/apple/type.pla: 0043: // -; utilsrc/apple/type.pla: 0044: arg = argNext(argFirst) -_INIT -; utilsrc/apple/type.pla: 0045: if ^arg -; utilsrc/apple/type.pla: 0046: strcpy(@filename, arg) -; utilsrc/apple/type.pla: 0047: // -; utilsrc/apple/type.pla: 0048: // Check if file exists -; utilsrc/apple/type.pla: 0049: // -; utilsrc/apple/type.pla: 0050: if fileio:getfileinfo(@filename, @fileinfo) == FILE_ERR_OK -; utilsrc/apple/type.pla: 0051: // -; utilsrc/apple/type.pla: 0052: // Check if re-typing a directory -; utilsrc/apple/type.pla: 0053: // -; utilsrc/apple/type.pla: 0054: if fileinfo.file_type <> $0F -; utilsrc/apple/type.pla: 0055: // -; utilsrc/apple/type.pla: 0056: // Check for optional overrides -; utilsrc/apple/type.pla: 0057: // -; utilsrc/apple/type.pla: 0058: arg = argNext(arg) -; utilsrc/apple/type.pla: 0059: if ^arg -; utilsrc/apple/type.pla: 0060: type = htoi(arg) -; utilsrc/apple/type.pla: 0061: if type > 255 -; utilsrc/apple/type.pla: 0062: puts("TYPE value out of range\n") - !BYTE $54 ; CALL _X029 -_F001 !WORD 0 - !BYTE $54 ; CALL _X030 -_F002 !WORD 0 - !BYTE $7A ; SAW _D035+0 -_F003 !WORD _D035+0 - !BYTE $6A ; LAW _D035+0 -_F004 !WORD _D035+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $26 ; LA _D033+0 -_F005 !WORD _D033+0 - !BYTE $6A ; LAW _D035+0 -_F006 !WORD _D035+0 - !BYTE $54 ; CALL _X019 -_F007 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D033+0 -_F008 !WORD _D033+0 - !BYTE $26 ; LA _D034+0 -_F009 !WORD _D034+0 - !BYTE $6A ; LAW _X031+4 -_F010 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B011 - !WORD _B011-* - !BYTE $68 ; LAB _D034+1 -_F011 !WORD _D034+1 - !BYTE $1E ; CN 15 - !BYTE $22 ; BREQ _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D035+0 -_F012 !WORD _D035+0 - !BYTE $54 ; CALL _X030 -_F013 !WORD 0 - !BYTE $7A ; SAW _D035+0 -_F014 !WORD _D035+0 - !BYTE $6A ; LAW _D035+0 -_F015 !WORD _D035+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $6A ; LAW _D035+0 -_F016 !WORD _D035+0 - !BYTE $54 ; CALL _C000 -_F017 !WORD _C000 - !BYTE $7E ; DAW _D036+0 -_F018 !WORD _D036+0 - !BYTE $2A,$FF ; CB 255 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $54,$59,$50,$45,$20,$76,$61,$6C - !BYTE $75,$65,$20,$6F,$75,$74,$20,$6F - !BYTE $66,$20,$72,$61,$6E,$67,$65,$0D - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 -; utilsrc/apple/type.pla: 0063: return - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/type.pla: 0064: fin -_B017 -_B018 -; utilsrc/apple/type.pla: 0065: // -; utilsrc/apple/type.pla: 0066: // Can't change something into directory -; utilsrc/apple/type.pla: 0067: // -; utilsrc/apple/type.pla: 0068: if type <> $0F -; utilsrc/apple/type.pla: 0069: fileinfo.file_type = type -; utilsrc/apple/type.pla: 0070: arg = argNext(arg) -; utilsrc/apple/type.pla: 0071: if ^arg -; utilsrc/apple/type.pla: 0072: aux = htoi(arg) -; utilsrc/apple/type.pla: 0073: fileinfo:aux_type = aux -; utilsrc/apple/type.pla: 0074: fin - !BYTE $6A ; LAW _D036+0 -_F020 !WORD _D036+0 - !BYTE $1E ; CN 15 - !BYTE $22 ; BREQ _B019 - !WORD _B019-* - !BYTE $6A ; LAW _D036+0 -_F021 !WORD _D036+0 - !BYTE $78 ; SAB _D034+1 -_F022 !WORD _D034+1 - !BYTE $6A ; LAW _D035+0 -_F023 !WORD _D035+0 - !BYTE $54 ; CALL _X030 -_F024 !WORD 0 - !BYTE $7A ; SAW _D035+0 -_F025 !WORD _D035+0 - !BYTE $6A ; LAW _D035+0 -_F026 !WORD _D035+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $6A ; LAW _D035+0 -_F027 !WORD _D035+0 - !BYTE $54 ; CALL _C000 -_F028 !WORD _C000 - !BYTE $7E ; DAW _D037+0 -_F029 !WORD _D037+0 - !BYTE $7A ; SAW _D034+2 -_F030 !WORD _D034+2 -_B021 -_B022 -; utilsrc/apple/type.pla: 0075: // -; utilsrc/apple/type.pla: 0076: // Update file type and aux values -; utilsrc/apple/type.pla: 0077: // -; utilsrc/apple/type.pla: 0078: if fileio:setfileinfo(@filename, @fileinfo) == FILE_ERR_OK -; utilsrc/apple/type.pla: 0079: if fileio:getfileinfo(@filename, @fileinfo) <> FILE_ERR_OK -; utilsrc/apple/type.pla: 0080: puts("Unable to reload file info: "); puts(@filename) - !BYTE $26 ; LA _D033+0 -_F031 !WORD _D033+0 - !BYTE $26 ; LA _D034+0 -_F032 !WORD _D034+0 - !BYTE $6A ; LAW _X031+6 -_F033 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* - !BYTE $26 ; LA _D033+0 -_F034 !WORD _D033+0 - !BYTE $26 ; LA _D034+0 -_F035 !WORD _D034+0 - !BYTE $6A ; LAW _X031+4 -_F036 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$72,$65,$6C,$6F,$61,$64 - !BYTE $20,$66,$69,$6C,$65,$20,$69,$6E - !BYTE $66,$6F,$3A,$20 - !BYTE $54 ; CALL _X004 -_F037 !WORD 0 -; utilsrc/apple/type.pla: 0081: fin - !BYTE $26 ; LA _D033+0 -_F038 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F039 !WORD 0 -_B025 -_B026 -; utilsrc/apple/type.pla: 0082: else - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -_B023 -; utilsrc/apple/type.pla: 0083: puts("Unable to change TYPE & AUX values: "); puts(@filename) - !BYTE $2E ; CS - !BYTE $24 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$63,$68,$61,$6E,$67,$65 - !BYTE $20,$54,$59,$50,$45,$20,$26,$20 - !BYTE $41,$55,$58,$20,$76,$61,$6C,$75 - !BYTE $65,$73,$3A,$20 - !BYTE $54 ; CALL _X004 -_F040 !WORD 0 -; utilsrc/apple/type.pla: 0084: return - !BYTE $26 ; LA _D033+0 -_F041 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/type.pla: 0085: fin -_B024 -; utilsrc/apple/type.pla: 0086: fin -_B019 -_B020 -; utilsrc/apple/type.pla: 0087: fin -_B015 -_B016 -; utilsrc/apple/type.pla: 0088: else - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B013 -; utilsrc/apple/type.pla: 0089: puts("Unable to get file info: "); puts(@filename); putln - !BYTE $2E ; CS - !BYTE $19 - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$67,$65,$74,$20,$66,$69 - !BYTE $6C,$65,$20,$69,$6E,$66,$6F,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F043 !WORD 0 -; utilsrc/apple/type.pla: 0090: fin - !BYTE $26 ; LA _D033+0 -_F044 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F045 !WORD 0 - !BYTE $54 ; CALL _X003 -_F046 !WORD 0 -_B014 -; utilsrc/apple/type.pla: 0091: fin -_B011 -_B012 -; utilsrc/apple/type.pla: 0092: puts(@filename); putc(':') -; utilsrc/apple/type.pla: 0093: putc('$'); putb(fileinfo.file_type); putc(' ') -; utilsrc/apple/type.pla: 0094: putc('$'); puth(fileinfo:aux_type); putln -; utilsrc/apple/type.pla: 0095: return - !BYTE $26 ; LA _D033+0 -_F047 !WORD _D033+0 - !BYTE $54 ; CALL _X004 -_F048 !WORD 0 - !BYTE $2A,$3A ; CB 58 - !BYTE $54 ; CALL _X002 -_F049 !WORD 0 - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F050 !WORD 0 - !BYTE $68 ; LAB _D034+1 -_F051 !WORD _D034+1 - !BYTE $54 ; CALL _X008 -_F052 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F053 !WORD 0 - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F054 !WORD 0 - !BYTE $6A ; LAW _D034+2 -_F055 !WORD _D034+2 - !BYTE $54 ; CALL _X009 -_F056 !WORD 0 - !BYTE $54 ; CALL _X003 -_F057 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/apple/type.pla: 0096: fin -_B009 -_B010 -; utilsrc/apple/type.pla: 0097: puts("Usage: +TYPE FILE [HEXTYPE [HEXAUX]]\n") - !BYTE $2E ; CS - !BYTE $25 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $54,$59,$50,$45,$20,$46,$49,$4C - !BYTE $45,$20,$5B,$48,$45,$58,$54,$59 - !BYTE $50,$45,$20,$5B,$48,$45,$58,$41 - !BYTE $55,$58,$5D,$5D,$0D - !BYTE $54 ; CALL _X004 -_F058 !WORD 0 -; utilsrc/apple/type.pla: 0098: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 2 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/apple/zipchip.a b/src/utilsrc/apple/zipchip.a deleted file mode 100644 index 3f8ee71..0000000 --- a/src/utilsrc/apple/zipchip.a +++ /dev/null @@ -1,559 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/apple/zipchip.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/apple/zipchip.pla: 0001: -; utilsrc/apple/zipchip.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/apple/zipchip.pla: 0002: -; utilsrc/apple/zipchip.pla: 0003: // -; utilsrc/apple/zipchip.pla: 0004: // ZIP Chip control -; utilsrc/apple/zipchip.pla: 0005: // -; utilsrc/apple/zipchip.pla: 0006: var arg, status, slots, clock, state, cache - !BYTE $00 ; END OF MODULE DEPENDENCIES -_D031 !FILL 2 ; arg, status, slots, clock, state, cache -_D032 !FILL 2 ; status, slots, clock, state, cache -_D033 !FILL 2 ; slots, clock, state, cache -_D034 !FILL 2 ; clock, state, cache -_D035 !FILL 2 ; state, cache -_D036 !FILL 2 ; cache -; utilsrc/apple/zipchip.pla: 0007: -; utilsrc/apple/zipchip.pla: 0008: byte _unlock[] -_D037 ; _unlock[] -; utilsrc/apple/zipchip.pla: 0009: byte = $A9, $5A // LDA #$5A - !BYTE $A9 - !BYTE $5A -; utilsrc/apple/zipchip.pla: 0010: byte = $8D, $5A, $C0 // STA $C05A - !BYTE $8D - !BYTE $5A - !BYTE $C0 -; utilsrc/apple/zipchip.pla: 0011: byte = $8D, $5A, $C0 // STA $C05A - !BYTE $8D - !BYTE $5A - !BYTE $C0 -; utilsrc/apple/zipchip.pla: 0012: byte = $8D, $5A, $C0 // STA $C05A - !BYTE $8D - !BYTE $5A - !BYTE $C0 -; utilsrc/apple/zipchip.pla: 0013: byte = $8D, $5A, $C0 // STA $C05A - !BYTE $8D - !BYTE $5A - !BYTE $C0 -; utilsrc/apple/zipchip.pla: 0014: byte = $60 // RTS - !BYTE $60 -; utilsrc/apple/zipchip.pla: 0015: -; utilsrc/apple/zipchip.pla: 0016: def unlock#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; unlock() -; utilsrc/apple/zipchip.pla: 0017: (@_unlock)()#0 // Unlock regs (has to be machine code) -; utilsrc/apple/zipchip.pla: 0018: end - !BYTE $54 ; CALL _D037 -_F000 !WORD _D037 - !BYTE $5C ; RET -; utilsrc/apple/zipchip.pla: 0019: def lock#0 -_C001 ; lock() -; utilsrc/apple/zipchip.pla: 0020: ^$C05A = $A5 // Lock regs -; utilsrc/apple/zipchip.pla: 0021: end - !BYTE $2A,$A5 ; CB 165 - !BYTE $78,$5A,$C0 ; SAB 49242 - !BYTE $5C ; RET -; utilsrc/apple/zipchip.pla: 0022: -; utilsrc/apple/zipchip.pla: 0023: arg = argNext(argFirst) -_INIT -; utilsrc/apple/zipchip.pla: 0024: if ^arg -; utilsrc/apple/zipchip.pla: 0025: when toupper(arg->[1]) - !BYTE $54 ; CALL _X029 -_F001 !WORD 0 - !BYTE $54 ; CALL _X030 -_F002 !WORD 0 - !BYTE $7A ; SAW _D031+0 -_F003 !WORD _D031+0 - !BYTE $6A ; LAW _D031+0 -_F004 !WORD _D031+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $6A ; LAW _D031+0 -_F005 !WORD _D031+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F006 !WORD 0 - !BYTE $52 ; SEL - !WORD _B004-* -; utilsrc/apple/zipchip.pla: 0026: is 'S' // Slow to 1 MHz -_B005 -; utilsrc/apple/zipchip.pla: 0027: unlock -; utilsrc/apple/zipchip.pla: 0028: ^$C05A = $00 -; utilsrc/apple/zipchip.pla: 0029: lock -; utilsrc/apple/zipchip.pla: 0030: puts("Slow speed\n") - !BYTE $54 ; CALL _C000 -_F007 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $78,$5A,$C0 ; SAB 49242 - !BYTE $54 ; CALL _C001 -_F008 !WORD _C001 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $53,$6C,$6F,$77,$20,$73,$70,$65 - !BYTE $65,$64,$0D - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 -; utilsrc/apple/zipchip.pla: 0031: break - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -; utilsrc/apple/zipchip.pla: 0032: is 'F' // Enable acceleration -_B006 -; utilsrc/apple/zipchip.pla: 0033: unlock -; utilsrc/apple/zipchip.pla: 0034: ^$C05B = $FF -; utilsrc/apple/zipchip.pla: 0035: lock -; utilsrc/apple/zipchip.pla: 0036: puts("Fast speed\n") - !BYTE $54 ; CALL _C000 -_F010 !WORD _C000 - !BYTE $2A,$FF ; CB 255 - !BYTE $78,$5B,$C0 ; SAB 49243 - !BYTE $54 ; CALL _C001 -_F011 !WORD _C001 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $46,$61,$73,$74,$20,$73,$70,$65 - !BYTE $65,$64,$0D - !BYTE $54 ; CALL _X004 -_F012 !WORD 0 -; utilsrc/apple/zipchip.pla: 0037: break - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -; utilsrc/apple/zipchip.pla: 0038: wend - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B004 - !BYTE $02 ; CASEBLOCK - !WORD $0046 - !WORD _B006-* - !WORD $0053 - !WORD _B005-* -_B003 -; utilsrc/apple/zipchip.pla: 0039: fin -_B001 -_B002 -; utilsrc/apple/zipchip.pla: 0040: unlock -; utilsrc/apple/zipchip.pla: 0041: status = ^$C05B -; utilsrc/apple/zipchip.pla: 0042: slots = ^$C05C -; utilsrc/apple/zipchip.pla: 0043: clock = ^$C05D -; utilsrc/apple/zipchip.pla: 0044: state = ^$C05E -; utilsrc/apple/zipchip.pla: 0045: cache = ^$C05F -; utilsrc/apple/zipchip.pla: 0046: lock -; utilsrc/apple/zipchip.pla: 0047: ^$C05F // AN3 off -; utilsrc/apple/zipchip.pla: 0048: puts("Status: $"); puth(status); putln - !BYTE $54 ; CALL _C000 -_F013 !WORD _C000 - !BYTE $68,$5B,$C0 ; LAB 49243 - !BYTE $7A ; SAW _D032+0 -_F014 !WORD _D032+0 - !BYTE $68,$5C,$C0 ; LAB 49244 - !BYTE $7A ; SAW _D033+0 -_F015 !WORD _D033+0 - !BYTE $68,$5D,$C0 ; LAB 49245 - !BYTE $7A ; SAW _D034+0 -_F016 !WORD _D034+0 - !BYTE $68,$5E,$C0 ; LAB 49246 - !BYTE $7A ; SAW _D035+0 -_F017 !WORD _D035+0 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $7A ; SAW _D036+0 -_F018 !WORD _D036+0 - !BYTE $54 ; CALL _C001 -_F019 !WORD _C001 - !BYTE $68,$5F,$C0 ; LAB 49247 - !BYTE $30 ; DROP - !BYTE $2E ; CS - !BYTE $09 - !BYTE $53,$74,$61,$74,$75,$73,$3A,$20 - !BYTE $24 - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -; utilsrc/apple/zipchip.pla: 0049: puts("Slots: $"); puth(slots); putln - !BYTE $6A ; LAW _D032+0 -_F021 !WORD _D032+0 - !BYTE $54 ; CALL _X009 -_F022 !WORD 0 - !BYTE $54 ; CALL _X003 -_F023 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $53,$6C,$6F,$74,$73,$3A,$20,$20 - !BYTE $24 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -; utilsrc/apple/zipchip.pla: 0050: puts("Clock: $"); puth(clock); putln - !BYTE $6A ; LAW _D033+0 -_F025 !WORD _D033+0 - !BYTE $54 ; CALL _X009 -_F026 !WORD 0 - !BYTE $54 ; CALL _X003 -_F027 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $43,$6C,$6F,$63,$6B,$3A,$20,$20 - !BYTE $24 - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -; utilsrc/apple/zipchip.pla: 0051: puts("State: $"); puth(state); putln - !BYTE $6A ; LAW _D034+0 -_F029 !WORD _D034+0 - !BYTE $54 ; CALL _X009 -_F030 !WORD 0 - !BYTE $54 ; CALL _X003 -_F031 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $53,$74,$61,$74,$65,$3A,$20,$20 - !BYTE $24 - !BYTE $54 ; CALL _X004 -_F032 !WORD 0 -; utilsrc/apple/zipchip.pla: 0052: puts("Cache: $"); puth(cache); putln - !BYTE $6A ; LAW _D035+0 -_F033 !WORD _D035+0 - !BYTE $54 ; CALL _X009 -_F034 !WORD 0 - !BYTE $54 ; CALL _X003 -_F035 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $43,$61,$63,$68,$65,$3A,$20,$20 - !BYTE $24 - !BYTE $54 ; CALL _X004 -_F036 !WORD 0 -; utilsrc/apple/zipchip.pla: 0053: done - !BYTE $6A ; LAW _D036+0 -_F037 !WORD _D036+0 - !BYTE $54 ; CALL _X009 -_F038 !WORD 0 - !BYTE $54 ; CALL _X003 -_F039 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/vmsrc/apple/a1cmd.a b/src/vmsrc/apple/a1cmd.a deleted file mode 100644 index f6f6dcc..0000000 --- a/src/vmsrc/apple/a1cmd.a +++ /dev/null @@ -1,3426 +0,0 @@ -; ACME COMPATIBLE OUTPUT - JMP _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/a1cmd.pla: 0001: const RELADDR = $1000 - ; RELADDR = 4096 -; vmsrc/apple/a1cmd.pla: 0002: const inbuff = $01FF - ; inbuff = 511 -; vmsrc/apple/a1cmd.pla: 0003: const freemem = $0006 - ; freemem = 6 -; vmsrc/apple/a1cmd.pla: 0004: // -; vmsrc/apple/a1cmd.pla: 0005: // System flags: memory allocator screen holes. -; vmsrc/apple/a1cmd.pla: 0006: // -; vmsrc/apple/a1cmd.pla: 0007: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/a1cmd.pla: 0008: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/a1cmd.pla: 0009: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/a1cmd.pla: 0010: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/a1cmd.pla: 0011: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/a1cmd.pla: 0012: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/a1cmd.pla: 0013: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/a1cmd.pla: 0014: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/a1cmd.pla: 0015: // -; vmsrc/apple/a1cmd.pla: 0016: // Module don't free memory -; vmsrc/apple/a1cmd.pla: 0017: // -; vmsrc/apple/a1cmd.pla: 0018: const modflagkeep = $1000 - ; modflagkeep = 4096 -; vmsrc/apple/a1cmd.pla: 0019: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/a1cmd.pla: 0020: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/a1cmd.pla: 0021: // -; vmsrc/apple/a1cmd.pla: 0022: // CFFA1 addresses. -; vmsrc/apple/a1cmd.pla: 0023: // -; vmsrc/apple/a1cmd.pla: 0024: const CFFADest = $00 - ; CFFADest = 0 -; vmsrc/apple/a1cmd.pla: 0025: const CFFAFileName = $02 - ; CFFAFileName = 2 -; vmsrc/apple/a1cmd.pla: 0026: const CFFAOldName = $04 - ; CFFAOldName = 4 -; vmsrc/apple/a1cmd.pla: 0027: const CFFAFileType = $06 - ; CFFAFileType = 6 -; vmsrc/apple/a1cmd.pla: 0028: const CFFAAuxType = $07 - ; CFFAAuxType = 7 -; vmsrc/apple/a1cmd.pla: 0029: const CFFAFileSize = $09 - ; CFFAFileSize = 9 -; vmsrc/apple/a1cmd.pla: 0030: const CFFAEntryPtr = $0B - ; CFFAEntryPtr = 11 -; vmsrc/apple/a1cmd.pla: 0031: // -; vmsrc/apple/a1cmd.pla: 0032: // Pedefined functions. -; vmsrc/apple/a1cmd.pla: 0033: // -; vmsrc/apple/a1cmd.pla: 0034: predef syscall(cmd,null)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/a1cmd.pla: 0035: predef crout()#0, cout(c)#0, prstr(s)#0, print(i)#0, prbyte(b)#0, prword(w)#0 -; vmsrc/apple/a1cmd.pla: 0036: predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/a1cmd.pla: 0037: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/a1cmd.pla: 0038: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 -; vmsrc/apple/a1cmd.pla: 0039: predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1 -; vmsrc/apple/a1cmd.pla: 0040: predef sext(a)#1, divmod(a,b)#2, execmod(modfile)#1, syslookuptbl(a)#1 -; vmsrc/apple/a1cmd.pla: 0041: // -; vmsrc/apple/a1cmd.pla: 0042: // Exported CMDSYS table -; vmsrc/apple/a1cmd.pla: 0043: // -; vmsrc/apple/a1cmd.pla: 0044: word version = $0220 // 02.20 -_D028 ; version = $0220 // 02.20 - !WORD $0220 -; vmsrc/apple/a1cmd.pla: 0045: word syspath -_D029 !FILL 2 ; syspath -; vmsrc/apple/a1cmd.pla: 0046: word syscmdln -_D030 !FILL 2 ; syscmdln -; vmsrc/apple/a1cmd.pla: 0047: word = @execmod -_F000 !WORD _P026 -; vmsrc/apple/a1cmd.pla: 0048: word = 0 - !WORD $0000 -; vmsrc/apple/a1cmd.pla: 0049: word heap -_D031 !FILL 2 ; heap -; vmsrc/apple/a1cmd.pla: 0050: word symtbl, lastsym -_D032 !FILL 2 ; symtbl, lastsym -_D033 !FILL 2 ; lastsym -; vmsrc/apple/a1cmd.pla: 0051: byte perr, refauto -_D034 !FILL 1 ; perr, refauto -_D035 !FILL 1 ; refauto -; vmsrc/apple/a1cmd.pla: 0052: word = @syslookuptbl -_F001 !WORD _P027 -; vmsrc/apple/a1cmd.pla: 0053: word systemflags = 0 -_D036 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/a1cmd.pla: 0054: // -; vmsrc/apple/a1cmd.pla: 0055: // String pool. -; vmsrc/apple/a1cmd.pla: 0056: // -; vmsrc/apple/a1cmd.pla: 0057: byte autorun[] = "AUTORUN" -_D037 ; autorun[] = "AUTORUN" - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E -; vmsrc/apple/a1cmd.pla: 0058: byte verstr[] = "\nPLEAIDES APPLE1 VM V2.20 " -_D038 ; verstr[] = "\nPLEAIDES APPLE1 VM V2.20 " - !BYTE $1A - !BYTE $0D,$50,$4C,$45,$41,$49,$44,$45 - !BYTE $53,$20,$41,$50,$50,$4C,$45,$31 - !BYTE $20,$56,$4D,$20,$56,$32,$2E,$32 - !BYTE $30,$20 -; vmsrc/apple/a1cmd.pla: 0059: byte freestr[] = "MEM FREE:$" -_D039 ; freestr[] = "MEM FREE:$" - !BYTE $0A - !BYTE $4D,$45,$4D,$20,$46,$52,$45,$45 - !BYTE $3A,$24 -; vmsrc/apple/a1cmd.pla: 0060: byte errorstr[] = "ERR:$" -_D040 ; errorstr[] = "ERR:$" - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 -; vmsrc/apple/a1cmd.pla: 0061: byte prompt[] = "PLASMA" -_D041 ; prompt[] = "PLASMA" - !BYTE $06 - !BYTE $50,$4C,$41,$53,$4D,$41 -; vmsrc/apple/a1cmd.pla: 0062: byte okstr[] = "OK" -_D042 ; okstr[] = "OK" - !BYTE $02 - !BYTE $4F,$4B -; vmsrc/apple/a1cmd.pla: 0063: byte huhstr[] = "?\n" -_D043 ; huhstr[] = "?\n" - !BYTE $02 - !BYTE $3F,$0D -; vmsrc/apple/a1cmd.pla: 0064: byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D044 ; hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' - !BYTE $30 - !BYTE $31 - !BYTE $32 - !BYTE $33 - !BYTE $34 - !BYTE $35 - !BYTE $36 - !BYTE $37 - !BYTE $38 - !BYTE $39 - !BYTE $41 - !BYTE $42 - !BYTE $43 - !BYTE $44 - !BYTE $45 - !BYTE $46 -; vmsrc/apple/a1cmd.pla: 0065: // -; vmsrc/apple/a1cmd.pla: 0066: // Exported Machine ID. -; vmsrc/apple/a1cmd.pla: 0067: // -; vmsrc/apple/a1cmd.pla: 0068: byte machid = $08 // Apple 1 (NA in ProDOS Tech Ref) -_D045 ; machid = $08 // Apple 1 (NA in ProDOS Tech Ref) - !BYTE $08 -; vmsrc/apple/a1cmd.pla: 0069: // -; vmsrc/apple/a1cmd.pla: 0070: // Command line pointer -; vmsrc/apple/a1cmd.pla: 0071: // -; vmsrc/apple/a1cmd.pla: 0072: word cmdptr = @hexchar // make it point to a zero -_D046 ; cmdptr = @hexchar // make it point to a zero -_F002 !WORD _D044 -; vmsrc/apple/a1cmd.pla: 0073: // -; vmsrc/apple/a1cmd.pla: 0074: // Standard Library exported functions. -; vmsrc/apple/a1cmd.pla: 0075: // -; vmsrc/apple/a1cmd.pla: 0076: byte syslibstr[] = "CMDSYS" -_D047 ; syslibstr[] = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/a1cmd.pla: 0077: byte machidstr[] = "MACHID" -_D048 ; machidstr[] = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/a1cmd.pla: 0078: byte putcstr[] = "PUTC" -_D049 ; putcstr[] = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/a1cmd.pla: 0079: byte putlnstr[] = "PUTLN" -_D050 ; putlnstr[] = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/a1cmd.pla: 0080: byte putsstr[] = "PUTS" -_D051 ; putsstr[] = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/a1cmd.pla: 0081: byte putistr[] = "PUTI" -_D052 ; putistr[] = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/a1cmd.pla: 0082: byte putbstr[] = "PUTB" -_D053 ; putbstr[] = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/a1cmd.pla: 0083: byte putwstr[] = "PUTH" -_D054 ; putwstr[] = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/a1cmd.pla: 0084: byte getcstr[] = "GETC" -_D055 ; getcstr[] = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/a1cmd.pla: 0085: byte getsstr[] = "GETS" -_D056 ; getsstr[] = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/a1cmd.pla: 0086: byte toupstr[] = "TOUPPER" -_D057 ; toupstr[] = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/a1cmd.pla: 0087: byte strcpystr[] = "STRCPY" -_D058 ; strcpystr[] = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/a1cmd.pla: 0088: byte strcatstr[] = "STRCAT" -_D059 ; strcatstr[] = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/a1cmd.pla: 0089: byte sysstr[] = "SYSCALL" -_D060 ; sysstr[] = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/a1cmd.pla: 0090: byte callstr[] = "CALL" -_D061 ; callstr[] = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/a1cmd.pla: 0091: byte hpmarkstr[] = "HEAPMARK" -_D062 ; hpmarkstr[] = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/a1cmd.pla: 0092: byte hpalignstr[] = "HEAPALLOCALIGN" -_D063 ; hpalignstr[] = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/a1cmd.pla: 0093: byte hpallocstr[] = "HEAPALLOC" -_D064 ; hpallocstr[] = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/a1cmd.pla: 0094: byte hprelstr[] = "HEAPRELEASE" -_D065 ; hprelstr[] = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/a1cmd.pla: 0095: byte hpavlstr[] = "HEAPAVAIL" -_D066 ; hpavlstr[] = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/a1cmd.pla: 0096: byte memsetstr[] = "MEMSET" -_D067 ; memsetstr[] = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/a1cmd.pla: 0097: byte memcpystr[] = "MEMCPY" -_D068 ; memcpystr[] = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/a1cmd.pla: 0098: byte uisgtstr[] = "ISUGT" -_D069 ; uisgtstr[] = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/a1cmd.pla: 0099: byte uisgestr[] = "ISUGE" -_D070 ; uisgestr[] = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/a1cmd.pla: 0100: byte uisltstr[] = "ISULT" -_D071 ; uisltstr[] = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/a1cmd.pla: 0101: byte uislestr[] = "ISULE" -_D072 ; uislestr[] = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/a1cmd.pla: 0102: byte sextstr[] = "SEXT" -_D073 ; sextstr[] = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/a1cmd.pla: 0103: byte divmodstr[] = "DIVMOD" -_D074 ; divmodstr[] = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/a1cmd.pla: 0104: word exports[] = @syslibstr, @version -_D075 ; exports[] = @syslibstr, @version -_F003 !WORD _D047 -_F004 !WORD _D028 -; vmsrc/apple/a1cmd.pla: 0105: word = @sysstr, @syscall -_F005 !WORD _D060 -_F006 !WORD _P000 -; vmsrc/apple/a1cmd.pla: 0106: word = @callstr, @call -_F007 !WORD _D061 -_F008 !WORD _P001 -; vmsrc/apple/a1cmd.pla: 0107: word = @putcstr, @cout -_F009 !WORD _D049 -_F010 !WORD _P003 -; vmsrc/apple/a1cmd.pla: 0108: word = @putlnstr, @crout -_F011 !WORD _D050 -_F012 !WORD _P002 -; vmsrc/apple/a1cmd.pla: 0109: word = @putsstr, @prstr -_F013 !WORD _D051 -_F014 !WORD _P004 -; vmsrc/apple/a1cmd.pla: 0110: word = @putistr, @print -_F015 !WORD _D052 -_F016 !WORD _P005 -; vmsrc/apple/a1cmd.pla: 0111: word = @putbstr, @prbyte -_F017 !WORD _D053 -_F018 !WORD _P006 -; vmsrc/apple/a1cmd.pla: 0112: word = @putwstr, @prword -_F019 !WORD _D054 -_F020 !WORD _P007 -; vmsrc/apple/a1cmd.pla: 0113: word = @getcstr, @cin -_F021 !WORD _D055 -_F022 !WORD _P008 -; vmsrc/apple/a1cmd.pla: 0114: word = @getsstr, @rdstr -_F023 !WORD _D056 -_F024 !WORD _P009 -; vmsrc/apple/a1cmd.pla: 0115: word = @toupstr, @toupper -_F025 !WORD _D057 -_F026 !WORD _P010 -; vmsrc/apple/a1cmd.pla: 0116: word = @hpmarkstr, @markheap -_F027 !WORD _D062 -_F028 !WORD _P013 -; vmsrc/apple/a1cmd.pla: 0117: word = @hpallocstr,@allocheap -_F029 !WORD _D064 -_F030 !WORD _P014 -; vmsrc/apple/a1cmd.pla: 0118: word = @hpalignstr,@allocalignheap -_F031 !WORD _D063 -_F032 !WORD _P015 -; vmsrc/apple/a1cmd.pla: 0119: word = @hprelstr, @releaseheap -_F033 !WORD _D065 -_F034 !WORD _P016 -; vmsrc/apple/a1cmd.pla: 0120: word = @hpavlstr, @availheap -_F035 !WORD _D066 -_F036 !WORD _P017 -; vmsrc/apple/a1cmd.pla: 0121: word = @memsetstr, @memset -_F037 !WORD _D067 -_F038 !WORD _P018 -; vmsrc/apple/a1cmd.pla: 0122: word = @memcpystr, @memcpy -_F039 !WORD _D068 -_F040 !WORD _P019 -; vmsrc/apple/a1cmd.pla: 0123: word = @strcpystr, @strcpy -_F041 !WORD _D058 -_F042 !WORD _P011 -; vmsrc/apple/a1cmd.pla: 0124: word = @strcatstr, @strcat -_F043 !WORD _D059 -_F044 !WORD _P012 -; vmsrc/apple/a1cmd.pla: 0125: word = @uisgtstr, @uword_isgt -_F045 !WORD _D069 -_F046 !WORD _P020 -; vmsrc/apple/a1cmd.pla: 0126: word = @uisgestr, @uword_isge -_F047 !WORD _D070 -_F048 !WORD _P021 -; vmsrc/apple/a1cmd.pla: 0127: word = @uisltstr, @uword_islt -_F049 !WORD _D071 -_F050 !WORD _P022 -; vmsrc/apple/a1cmd.pla: 0128: word = @uislestr, @uword_isle -_F051 !WORD _D072 -_F052 !WORD _P023 -; vmsrc/apple/a1cmd.pla: 0129: word = @sextstr, @sext -_F053 !WORD _D073 -_F054 !WORD _P024 -; vmsrc/apple/a1cmd.pla: 0130: word = @divmodstr, @divmod -_F055 !WORD _D074 -_F056 !WORD _P025 -; vmsrc/apple/a1cmd.pla: 0131: word = @machidstr, @machid -_F057 !WORD _D048 -_F058 !WORD _D045 -; vmsrc/apple/a1cmd.pla: 0132: word = 0 - !WORD $0000 -; vmsrc/apple/a1cmd.pla: 0133: word syslibsym = @exports -_D076 ; syslibsym = @exports -_F059 !WORD _D075 -; vmsrc/apple/a1cmd.pla: 0134: // -; vmsrc/apple/a1cmd.pla: 0135: // Utility functions -; vmsrc/apple/a1cmd.pla: 0136: // -; vmsrc/apple/a1cmd.pla: 0137: // -; vmsrc/apple/a1cmd.pla: 0138: // CALL CFFA1 API ENTRYPOINT -; vmsrc/apple/a1cmd.pla: 0139: // SYSCALL(CMD, 0) -; vmsrc/apple/a1cmd.pla: 0140: // -; vmsrc/apple/a1cmd.pla: 0141: asm syscall(cmd, null)#1 -_P000 ; syscall(cmd, null)#1() -_A000 ; syscall() -; vmsrc/apple/a1cmd.pla: 0142: INX - INX -; vmsrc/apple/a1cmd.pla: 0143: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0144: STX ESP - STX ESP -; vmsrc/apple/a1cmd.pla: 0145: TAX - TAX -; vmsrc/apple/a1cmd.pla: 0146: JSR $900C - JSR $900C -; vmsrc/apple/a1cmd.pla: 0147: LDX ESP - LDX ESP -; vmsrc/apple/a1cmd.pla: 0148: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0149: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0150: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0151: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0152: end -; vmsrc/apple/a1cmd.pla: 0153: // -; vmsrc/apple/a1cmd.pla: 0154: // CALL 6502 ROUTINE -; vmsrc/apple/a1cmd.pla: 0155: // CALL(ADDR, AREG, XREG, YREG, STATUS) -; vmsrc/apple/a1cmd.pla: 0156: // -; vmsrc/apple/a1cmd.pla: 0157: asm call(addr,areg,xreg,yreg,sstatus)#1 -_P001 ; call(addr,areg,xreg,yreg,sstatus)#1() -_A001 ; call() -; vmsrc/apple/a1cmd.pla: 0158: PHP - PHP -; vmsrc/apple/a1cmd.pla: 0159: LDA ESTKL+4,X - LDA ESTKL+4,X -; vmsrc/apple/a1cmd.pla: 0160: STA CALL6502+1 - STA CALL6502+1 -; vmsrc/apple/a1cmd.pla: 0161: LDA ESTKH+4,X - LDA ESTKH+4,X -; vmsrc/apple/a1cmd.pla: 0162: STA CALL6502+2 - STA CALL6502+2 -; vmsrc/apple/a1cmd.pla: 0163: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0164: PHA - PHA -; vmsrc/apple/a1cmd.pla: 0165: LDY ESTKL+1,X - LDY ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0166: LDA ESTKL+3,X - LDA ESTKL+3,X -; vmsrc/apple/a1cmd.pla: 0167: PHA - PHA -; vmsrc/apple/a1cmd.pla: 0168: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0169: INX - INX -; vmsrc/apple/a1cmd.pla: 0170: INX - INX -; vmsrc/apple/a1cmd.pla: 0171: INX - INX -; vmsrc/apple/a1cmd.pla: 0172: INX - INX -; vmsrc/apple/a1cmd.pla: 0173: STX ESP - STX ESP -; vmsrc/apple/a1cmd.pla: 0174: TAX - TAX -; vmsrc/apple/a1cmd.pla: 0175: PLA - PLA -; vmsrc/apple/a1cmd.pla: 0176: PLP - PLP -; vmsrc/apple/a1cmd.pla: 0177: CALL6502 JSR $FFFF -CALL6502 JSR $FFFF -; vmsrc/apple/a1cmd.pla: 0178: PHP - PHP -; vmsrc/apple/a1cmd.pla: 0179: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/a1cmd.pla: 0180: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/a1cmd.pla: 0181: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/a1cmd.pla: 0182: PLA - PLA -; vmsrc/apple/a1cmd.pla: 0183: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/a1cmd.pla: 0184: LDX ESP - LDX ESP -; vmsrc/apple/a1cmd.pla: 0185: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/a1cmd.pla: 0187: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0188: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0189: PLP - PLP -; vmsrc/apple/a1cmd.pla: 0190: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0191: REGVALS !FILL 4 -REGVALS !FILL 4 -; vmsrc/apple/a1cmd.pla: 0192: end -; vmsrc/apple/a1cmd.pla: 0193: // -; vmsrc/apple/a1cmd.pla: 0194: // QUIT TO MONITOR -; vmsrc/apple/a1cmd.pla: 0195: // -; vmsrc/apple/a1cmd.pla: 0196: asm quit()#0 -_A002 ; quit() -; vmsrc/apple/a1cmd.pla: 0197: JMP $9000 - JMP $9000 -; vmsrc/apple/a1cmd.pla: 0198: end -; vmsrc/apple/a1cmd.pla: 0199: // -; vmsrc/apple/a1cmd.pla: 0200: // SET MEMORY TO VALUE -; vmsrc/apple/a1cmd.pla: 0201: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/a1cmd.pla: 0202: // With optimizations from Peter Ferrie -; vmsrc/apple/a1cmd.pla: 0203: // -; vmsrc/apple/a1cmd.pla: 0204: asm memset(addr,value,size)#0 -_P018 ; memset(addr,value,size)#0() -_A003 ; memset() -; vmsrc/apple/a1cmd.pla: 0205: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0206: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0207: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0208: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0209: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/a1cmd.pla: 0210: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0211: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0212: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0213: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0214: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/a1cmd.pla: 0215: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/a1cmd.pla: 0216: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0217: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0218: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/a1cmd.pla: 0219: BEQ ++ - BEQ ++ -; vmsrc/apple/a1cmd.pla: 0220: - INY -- INY -; vmsrc/apple/a1cmd.pla: 0221: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0222: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/a1cmd.pla: 0223: SEC - SEC -; vmsrc/apple/a1cmd.pla: 0224: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0225: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/a1cmd.pla: 0226: + INC DSTH -+ INC DSTH -; vmsrc/apple/a1cmd.pla: 0227: BNE -- - BNE -- -; vmsrc/apple/a1cmd.pla: 0228: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0229: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0230: SETMEX INX -SETMEX INX -; vmsrc/apple/a1cmd.pla: 0231: INX - INX -; vmsrc/apple/a1cmd.pla: 0232: INX - INX -; vmsrc/apple/a1cmd.pla: 0233: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0234: end -; vmsrc/apple/a1cmd.pla: 0235: // -; vmsrc/apple/a1cmd.pla: 0236: // COPY MEMORY -; vmsrc/apple/a1cmd.pla: 0237: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/a1cmd.pla: 0238: // -; vmsrc/apple/a1cmd.pla: 0239: asm memcpy(dst,src,size)#0 -_P019 ; memcpy(dst,src,size)#0() -_A004 ; memcpy() -; vmsrc/apple/a1cmd.pla: 0240: INX - INX -; vmsrc/apple/a1cmd.pla: 0241: INX - INX -; vmsrc/apple/a1cmd.pla: 0242: INX - INX -; vmsrc/apple/a1cmd.pla: 0243: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0244: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0245: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/a1cmd.pla: 0246: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/a1cmd.pla: 0247: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/a1cmd.pla: 0248: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/a1cmd.pla: 0249: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/a1cmd.pla: 0250: BCC REVCPY - BCC REVCPY -; vmsrc/apple/a1cmd.pla: 0251: ; -; vmsrc/apple/a1cmd.pla: 0252: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/a1cmd.pla: 0253: ; -; vmsrc/apple/a1cmd.pla: 0254: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/a1cmd.pla: 0255: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0256: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/a1cmd.pla: 0257: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0258: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/a1cmd.pla: 0259: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0260: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/a1cmd.pla: 0261: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0262: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0263: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/a1cmd.pla: 0264: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0265: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0266: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0267: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0268: INY - INY -; vmsrc/apple/a1cmd.pla: 0269: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0270: INC DSTH - INC DSTH -; vmsrc/apple/a1cmd.pla: 0271: INC SRCH - INC SRCH -; vmsrc/apple/a1cmd.pla: 0272: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0273: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/a1cmd.pla: 0274: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0275: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/a1cmd.pla: 0276: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0277: ; -; vmsrc/apple/a1cmd.pla: 0278: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/a1cmd.pla: 0279: ; -; vmsrc/apple/a1cmd.pla: 0280: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/a1cmd.pla: 0281: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0282: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/a1cmd.pla: 0283: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0284: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0285: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/a1cmd.pla: 0286: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0287: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0288: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0289: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/a1cmd.pla: 0290: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0291: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0292: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/a1cmd.pla: 0293: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0294: DEC DSTH - DEC DSTH -; vmsrc/apple/a1cmd.pla: 0295: DEC SRCH - DEC SRCH -; vmsrc/apple/a1cmd.pla: 0296: LDY #$FF - LDY #$FF -; vmsrc/apple/a1cmd.pla: 0297: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0298: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/a1cmd.pla: 0299: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0300: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0301: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0302: DEY - DEY -; vmsrc/apple/a1cmd.pla: 0303: CPY #$FF - CPY #$FF -; vmsrc/apple/a1cmd.pla: 0304: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0305: DEC DSTH - DEC DSTH -; vmsrc/apple/a1cmd.pla: 0306: DEC SRCH - DEC SRCH -; vmsrc/apple/a1cmd.pla: 0307: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/a1cmd.pla: 0308: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/a1cmd.pla: 0309: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/a1cmd.pla: 0310: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/a1cmd.pla: 0311: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/a1cmd.pla: 0312: end -; vmsrc/apple/a1cmd.pla: 0313: // -; vmsrc/apple/a1cmd.pla: 0314: // Unsigned word comparisons. -; vmsrc/apple/a1cmd.pla: 0315: // -; vmsrc/apple/a1cmd.pla: 0316: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A005 ; uword_isge() -; vmsrc/apple/a1cmd.pla: 0317: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0318: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/a1cmd.pla: 0319: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0320: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0321: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0322: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0323: EOR #$FF - EOR #$FF -; vmsrc/apple/a1cmd.pla: 0324: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0325: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0326: INX - INX -; vmsrc/apple/a1cmd.pla: 0327: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0328: end -; vmsrc/apple/a1cmd.pla: 0329: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A006 ; uword_isle() -; vmsrc/apple/a1cmd.pla: 0330: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0331: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0332: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0333: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0334: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0335: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0336: EOR #$FF - EOR #$FF -; vmsrc/apple/a1cmd.pla: 0337: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0338: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0339: INX - INX -; vmsrc/apple/a1cmd.pla: 0340: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0341: end -; vmsrc/apple/a1cmd.pla: 0342: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A007 ; uword_isgt() -; vmsrc/apple/a1cmd.pla: 0343: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0344: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0345: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0346: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0347: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0348: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0349: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0350: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0351: INX - INX -; vmsrc/apple/a1cmd.pla: 0352: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0353: end -; vmsrc/apple/a1cmd.pla: 0354: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A008 ; uword_islt() -; vmsrc/apple/a1cmd.pla: 0355: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0356: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/a1cmd.pla: 0357: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0358: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/a1cmd.pla: 0359: LDA #$FF - LDA #$FF -; vmsrc/apple/a1cmd.pla: 0360: ADC #$00 - ADC #$00 -; vmsrc/apple/a1cmd.pla: 0361: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0362: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0363: INX - INX -; vmsrc/apple/a1cmd.pla: 0364: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0365: end -; vmsrc/apple/a1cmd.pla: 0366: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A009 ; divmod() -; vmsrc/apple/a1cmd.pla: 0367: JSR INTERP ; CALL DINTERP - JSR INTERP ; CALL DINTERP -; vmsrc/apple/a1cmd.pla: 0368: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/a1cmd.pla: 0369: end -; vmsrc/apple/a1cmd.pla: 0370: asm sext(a)#1 -_P024 ; sext(a)#1() -_A010 ; sext() -; vmsrc/apple/a1cmd.pla: 0371: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0372: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0373: BPL + - BPL + -; vmsrc/apple/a1cmd.pla: 0374: DEY - DEY -; vmsrc/apple/a1cmd.pla: 0375: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0376: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0377: end -; vmsrc/apple/a1cmd.pla: 0378: // -; vmsrc/apple/a1cmd.pla: 0379: // Addresses of internal routines. -; vmsrc/apple/a1cmd.pla: 0380: // -; vmsrc/apple/a1cmd.pla: 0381: asm interp()#1 -_A011 ; interp() -; vmsrc/apple/a1cmd.pla: 0382: DEX - DEX -; vmsrc/apple/a1cmd.pla: 0383: LDA #IINTERP - LDA #>IINTERP -; vmsrc/apple/a1cmd.pla: 0386: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0387: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0388: end -; vmsrc/apple/a1cmd.pla: 0389: // -; vmsrc/apple/a1cmd.pla: 0390: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/a1cmd.pla: 0391: // More efficient than C or Pascal strings. -; vmsrc/apple/a1cmd.pla: 0392: // -; vmsrc/apple/a1cmd.pla: 0393: //def dcitos(dci, str) -; vmsrc/apple/a1cmd.pla: 0394: // byte len, c -; vmsrc/apple/a1cmd.pla: 0395: // len = 0 -; vmsrc/apple/a1cmd.pla: 0396: // repeat -; vmsrc/apple/a1cmd.pla: 0397: // c = (dci).[len] -; vmsrc/apple/a1cmd.pla: 0398: // len = len + 1 -; vmsrc/apple/a1cmd.pla: 0399: // (str).[len] = c & $7F -; vmsrc/apple/a1cmd.pla: 0400: // until !(c & $80) -; vmsrc/apple/a1cmd.pla: 0401: // ^str = len -; vmsrc/apple/a1cmd.pla: 0402: // return len -; vmsrc/apple/a1cmd.pla: 0403: //end -; vmsrc/apple/a1cmd.pla: 0404: asm dcitos(dci, str)#1 -_A012 ; dcitos() -; vmsrc/apple/a1cmd.pla: 0405: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0406: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0407: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0408: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0409: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0410: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0411: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0412: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0413: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0414: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0415: CMP #$80 - CMP #$80 -; vmsrc/apple/a1cmd.pla: 0416: AND #$7F - AND #$7F -; vmsrc/apple/a1cmd.pla: 0417: INY - INY -; vmsrc/apple/a1cmd.pla: 0418: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0419: BCS - - BCS - -; vmsrc/apple/a1cmd.pla: 0420: TYA - TYA -; vmsrc/apple/a1cmd.pla: 0421: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0422: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0423: INX - INX -; vmsrc/apple/a1cmd.pla: 0424: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0425: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0426: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0427: end -; vmsrc/apple/a1cmd.pla: 0428: //def stodci(str, dci) -; vmsrc/apple/a1cmd.pla: 0429: // byte len, c -; vmsrc/apple/a1cmd.pla: 0430: // len = ^str -; vmsrc/apple/a1cmd.pla: 0431: // if len == 0 -; vmsrc/apple/a1cmd.pla: 0432: // return -; vmsrc/apple/a1cmd.pla: 0433: // fin -; vmsrc/apple/a1cmd.pla: 0434: // c = toupper((str).[len]) & $7F -; vmsrc/apple/a1cmd.pla: 0435: // len = len - 1 -; vmsrc/apple/a1cmd.pla: 0436: // (dci).[len] = c -; vmsrc/apple/a1cmd.pla: 0437: // while len -; vmsrc/apple/a1cmd.pla: 0438: // c = toupper((str).[len]) | $80 -; vmsrc/apple/a1cmd.pla: 0439: // len = len - 1 -; vmsrc/apple/a1cmd.pla: 0440: // (dci).[len] = c -; vmsrc/apple/a1cmd.pla: 0441: // loop -; vmsrc/apple/a1cmd.pla: 0442: // return ^str -; vmsrc/apple/a1cmd.pla: 0443: //end -; vmsrc/apple/a1cmd.pla: 0444: asm stodci(str, dci)#1 -_A013 ; stodci() -; vmsrc/apple/a1cmd.pla: 0445: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0446: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0447: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0448: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0449: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0450: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0451: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0452: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0453: INX - INX -; vmsrc/apple/a1cmd.pla: 0454: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0455: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0456: BEQ ++ - BEQ ++ -; vmsrc/apple/a1cmd.pla: 0457: TAY - TAY -; vmsrc/apple/a1cmd.pla: 0458: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0459: JSR TOUPR - JSR TOUPR -; vmsrc/apple/a1cmd.pla: 0460: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0461: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0462: JSR TOUPR - JSR TOUPR -; vmsrc/apple/a1cmd.pla: 0463: ORA #$80 - ORA #$80 -; vmsrc/apple/a1cmd.pla: 0464: + DEY -+ DEY -; vmsrc/apple/a1cmd.pla: 0465: STA (DST),Y - STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0466: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0467: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0468: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0469: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0470: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0471: end -; vmsrc/apple/a1cmd.pla: 0472: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A014 ; toupper() -; vmsrc/apple/a1cmd.pla: 0473: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0474: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/a1cmd.pla: 0475: CMP #'a' - CMP #'a' -; vmsrc/apple/a1cmd.pla: 0476: BCC + - BCC + -; vmsrc/apple/a1cmd.pla: 0477: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/a1cmd.pla: 0478: BCS + - BCS + -; vmsrc/apple/a1cmd.pla: 0479: SBC #$1F - SBC #$1F -; vmsrc/apple/a1cmd.pla: 0480: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0481: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0482: end -; vmsrc/apple/a1cmd.pla: 0483: // -; vmsrc/apple/a1cmd.pla: 0484: // Module symbols are entered into the symbol table -; vmsrc/apple/a1cmd.pla: 0485: // pre-pended with a '#' to differentiate them -; vmsrc/apple/a1cmd.pla: 0486: // from normal symbols. -; vmsrc/apple/a1cmd.pla: 0487: // -; vmsrc/apple/a1cmd.pla: 0488: // -; vmsrc/apple/a1cmd.pla: 0489: // Lookup routines. -; vmsrc/apple/a1cmd.pla: 0490: // -; vmsrc/apple/a1cmd.pla: 0491: //def lookuptbl(dci, tbl) -; vmsrc/apple/a1cmd.pla: 0492: // word match -; vmsrc/apple/a1cmd.pla: 0493: // while ^tbl -; vmsrc/apple/a1cmd.pla: 0494: // match = dci -; vmsrc/apple/a1cmd.pla: 0495: // while ^tbl == ^match -; vmsrc/apple/a1cmd.pla: 0496: // if !(^tbl & $80) -; vmsrc/apple/a1cmd.pla: 0497: // return (tbl):1 -; vmsrc/apple/a1cmd.pla: 0498: // fin -; vmsrc/apple/a1cmd.pla: 0499: // tbl = tbl + 1 -; vmsrc/apple/a1cmd.pla: 0500: // match = match + 1 -; vmsrc/apple/a1cmd.pla: 0501: // loop -; vmsrc/apple/a1cmd.pla: 0502: // while (^tbl & $80) -; vmsrc/apple/a1cmd.pla: 0503: // tbl = tbl + 1 -; vmsrc/apple/a1cmd.pla: 0504: // loop -; vmsrc/apple/a1cmd.pla: 0505: // tbl = tbl + 3 -; vmsrc/apple/a1cmd.pla: 0506: // loop -; vmsrc/apple/a1cmd.pla: 0507: // return 0 -; vmsrc/apple/a1cmd.pla: 0508: asm lookuptbl(dci, tbl)#1 -_A015 ; lookuptbl() -; vmsrc/apple/a1cmd.pla: 0509: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0510: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0511: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0512: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0513: INX - INX -; vmsrc/apple/a1cmd.pla: 0514: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0515: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0516: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0517: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0518: -- LDY #$00 --- LDY #$00 -; vmsrc/apple/a1cmd.pla: 0519: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0520: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0521: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/a1cmd.pla: 0522: BNE ++ - BNE ++ -; vmsrc/apple/a1cmd.pla: 0523: INY - INY -; vmsrc/apple/a1cmd.pla: 0524: ASL - ASL -; vmsrc/apple/a1cmd.pla: 0525: BCS - - BCS - -; vmsrc/apple/a1cmd.pla: 0526: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0527: STA ESTKL,X ; MATCH - STA ESTKL,X ; MATCH -; vmsrc/apple/a1cmd.pla: 0528: INY - INY -; vmsrc/apple/a1cmd.pla: 0529: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0530: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0531: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0532: + STA ESTKL,X ; NO MATCH -+ STA ESTKL,X ; NO MATCH -; vmsrc/apple/a1cmd.pla: 0533: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0534: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0535: ++ -++ -; vmsrc/apple/a1cmd.pla: 0536: - LDA (DST),Y ; NEXT ENTRY -- LDA (DST),Y ; NEXT ENTRY -; vmsrc/apple/a1cmd.pla: 0537: BPL + - BPL + -; vmsrc/apple/a1cmd.pla: 0538: INY - INY -; vmsrc/apple/a1cmd.pla: 0539: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0540: + TYA -+ TYA -; vmsrc/apple/a1cmd.pla: 0541: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0542: ADC #$03 - ADC #$03 -; vmsrc/apple/a1cmd.pla: 0543: ADC DSTL - ADC DSTL -; vmsrc/apple/a1cmd.pla: 0544: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0545: BCC -- - BCC -- -; vmsrc/apple/a1cmd.pla: 0546: INC DSTH - INC DSTH -; vmsrc/apple/a1cmd.pla: 0547: BNE -- - BNE -- -; vmsrc/apple/a1cmd.pla: 0548: end -; vmsrc/apple/a1cmd.pla: 0549: // def lookupidx(esd, index) -; vmsrc/apple/a1cmd.pla: 0550: // word sym -; vmsrc/apple/a1cmd.pla: 0551: // while ^esd -; vmsrc/apple/a1cmd.pla: 0552: // sym = esd -; vmsrc/apple/a1cmd.pla: 0553: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/a1cmd.pla: 0554: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/a1cmd.pla: 0555: // return sym -; vmsrc/apple/a1cmd.pla: 0556: // fin -; vmsrc/apple/a1cmd.pla: 0557: // esd = esd + 3 -; vmsrc/apple/a1cmd.pla: 0558: // loop -; vmsrc/apple/a1cmd.pla: 0559: //end -; vmsrc/apple/a1cmd.pla: 0560: asm lookupidx(esd, index)#1 -_A016 ; lookupidx() -; vmsrc/apple/a1cmd.pla: 0561: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0562: STA TMPL - STA TMPL -; vmsrc/apple/a1cmd.pla: 0563: INX - INX -; vmsrc/apple/a1cmd.pla: 0564: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0565: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0566: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0567: -- STA SRCL --- STA SRCL -; vmsrc/apple/a1cmd.pla: 0568: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0569: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0570: BPL + - BPL + -; vmsrc/apple/a1cmd.pla: 0571: INY - INY -; vmsrc/apple/a1cmd.pla: 0572: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0573: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/a1cmd.pla: 0574: INY - INY -; vmsrc/apple/a1cmd.pla: 0575: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0576: INY - INY -; vmsrc/apple/a1cmd.pla: 0577: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/a1cmd.pla: 0578: BEQ + - BEQ + -; vmsrc/apple/a1cmd.pla: 0579: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0580: CMP TMPL - CMP TMPL -; vmsrc/apple/a1cmd.pla: 0581: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/a1cmd.pla: 0582: + INY -+ INY -; vmsrc/apple/a1cmd.pla: 0583: TYA - TYA -; vmsrc/apple/a1cmd.pla: 0584: SEC - SEC -; vmsrc/apple/a1cmd.pla: 0585: ADC SRCL - ADC SRCL -; vmsrc/apple/a1cmd.pla: 0586: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/a1cmd.pla: 0587: BCC -- - BCC -- -; vmsrc/apple/a1cmd.pla: 0588: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/a1cmd.pla: 0589: BNE --- - BNE --- -; vmsrc/apple/a1cmd.pla: 0590: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/a1cmd.pla: 0591: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0592: +++ RTS -+++ RTS -; vmsrc/apple/a1cmd.pla: 0593: end -; vmsrc/apple/a1cmd.pla: 0594: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/a1cmd.pla: 0595: // while deftbl->0 == $20 -; vmsrc/apple/a1cmd.pla: 0596: // if deftbl=>3 == addr -; vmsrc/apple/a1cmd.pla: 0597: // return deftbl -; vmsrc/apple/a1cmd.pla: 0598: // fin -; vmsrc/apple/a1cmd.pla: 0599: // deftbl = deftbl + 5 -; vmsrc/apple/a1cmd.pla: 0600: // loop -; vmsrc/apple/a1cmd.pla: 0601: // return 0 -; vmsrc/apple/a1cmd.pla: 0602: //end -; vmsrc/apple/a1cmd.pla: 0603: asm lookupdef(addr, deftbl)#1 -_A017 ; lookupdef() -; vmsrc/apple/a1cmd.pla: 0604: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0605: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0606: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0607: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0608: INX - INX -; vmsrc/apple/a1cmd.pla: 0609: - LDY #$00 -- LDY #$00 -; vmsrc/apple/a1cmd.pla: 0610: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0611: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/a1cmd.pla: 0612: BNE ++ - BNE ++ -; vmsrc/apple/a1cmd.pla: 0613: LDY #$03 - LDY #$03 -; vmsrc/apple/a1cmd.pla: 0614: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0615: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/a1cmd.pla: 0616: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0617: INY - INY -; vmsrc/apple/a1cmd.pla: 0618: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0619: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/a1cmd.pla: 0620: BNE + - BNE + -; vmsrc/apple/a1cmd.pla: 0621: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/a1cmd.pla: 0622: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0623: LDA SRCH - LDA SRCH -; vmsrc/apple/a1cmd.pla: 0624: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0625: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0626: + LDA #$05 -+ LDA #$05 -; vmsrc/apple/a1cmd.pla: 0627: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0628: ADC SRCL - ADC SRCL -; vmsrc/apple/a1cmd.pla: 0629: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0630: BCC - - BCC - -; vmsrc/apple/a1cmd.pla: 0631: INC SRCH - INC SRCH -; vmsrc/apple/a1cmd.pla: 0632: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0633: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/a1cmd.pla: 0634: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/a1cmd.pla: 0635: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0636: end -; vmsrc/apple/a1cmd.pla: 0637: // -; vmsrc/apple/a1cmd.pla: 0638: // Reloc internal data -; vmsrc/apple/a1cmd.pla: 0639: // -; vmsrc/apple/a1cmd.pla: 0640: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/a1cmd.pla: 0641: // word addr, fixup -; vmsrc/apple/a1cmd.pla: 0642: // while ^rld -; vmsrc/apple/a1cmd.pla: 0643: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/a1cmd.pla: 0644: // return rld, addr, fixup -; vmsrc/apple/a1cmd.pla: 0645: // fin -; vmsrc/apple/a1cmd.pla: 0646: // addr = rld=>1 + modfix -; vmsrc/apple/a1cmd.pla: 0647: // fixup = *addr + modofst -; vmsrc/apple/a1cmd.pla: 0648: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/a1cmd.pla: 0649: // return rld, addr, fixup -; vmsrc/apple/a1cmd.pla: 0650: // fin -; vmsrc/apple/a1cmd.pla: 0651: // *addr = fixup -; vmsrc/apple/a1cmd.pla: 0652: // rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 0653: // loop -; vmsrc/apple/a1cmd.pla: 0654: // return rld, addr, fixup -; vmsrc/apple/a1cmd.pla: 0655: //end -; vmsrc/apple/a1cmd.pla: 0656: asm reloc(modfix, modofst, bytecode, rld)#3 -_A018 ; reloc() -; vmsrc/apple/a1cmd.pla: 0657: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0658: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0659: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0660: STA SRCH - STA SRCH -; vmsrc/apple/a1cmd.pla: 0661: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0662: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0663: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/a1cmd.pla: 0664: INY - INY -; vmsrc/apple/a1cmd.pla: 0665: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0666: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0667: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/a1cmd.pla: 0668: STA DSTL - STA DSTL -; vmsrc/apple/a1cmd.pla: 0669: INY - INY -; vmsrc/apple/a1cmd.pla: 0670: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0671: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/a1cmd.pla: 0672: STA DSTH - STA DSTH -; vmsrc/apple/a1cmd.pla: 0673: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0674: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0675: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/a1cmd.pla: 0676: BNE RLDEX - BNE RLDEX -; vmsrc/apple/a1cmd.pla: 0677: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/a1cmd.pla: 0678: BMI FIX16 - BMI FIX16 -; vmsrc/apple/a1cmd.pla: 0679: AND #$40 - AND #$40 -; vmsrc/apple/a1cmd.pla: 0680: BNE FIXMSB - BNE FIXMSB -; vmsrc/apple/a1cmd.pla: 0681: FIXLSB LDA (DST),Y -FIXLSB LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0682: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0683: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0684: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0685: BCC FIX8 - BCC FIX8 -; vmsrc/apple/a1cmd.pla: 0686: FIXMSB LDY #$03 -FIXMSB LDY #$03 -; vmsrc/apple/a1cmd.pla: 0687: LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) - LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) -; vmsrc/apple/a1cmd.pla: 0688: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0689: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0690: LDY #$00 - LDY #$00 -; vmsrc/apple/a1cmd.pla: 0691: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0692: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0693: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0694: BCC FIX8 - BCC FIX8 -; vmsrc/apple/a1cmd.pla: 0695: FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/a1cmd.pla: 0696: CLC - CLC -; vmsrc/apple/a1cmd.pla: 0697: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0698: STA TMPL - STA TMPL -; vmsrc/apple/a1cmd.pla: 0699: INY - INY -; vmsrc/apple/a1cmd.pla: 0700: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/a1cmd.pla: 0701: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0702: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/a1cmd.pla: 0703: BCC + - BCC + -; vmsrc/apple/a1cmd.pla: 0704: STA TMPH - STA TMPH -; vmsrc/apple/a1cmd.pla: 0705: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/a1cmd.pla: 0706: LDA TMPL - LDA TMPL -; vmsrc/apple/a1cmd.pla: 0707: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0708: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/a1cmd.pla: 0709: LDA TMPH - LDA TMPH -; vmsrc/apple/a1cmd.pla: 0710: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/a1cmd.pla: 0711: DEY - DEY -; vmsrc/apple/a1cmd.pla: 0712: LDA TMPL - LDA TMPL -; vmsrc/apple/a1cmd.pla: 0713: FIX8 STA (DST),Y -FIX8 STA (DST),Y -; vmsrc/apple/a1cmd.pla: 0714: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/a1cmd.pla: 0715: ; CLC -; CLC -; vmsrc/apple/a1cmd.pla: 0716: ADC #$04 - ADC #$04 -; vmsrc/apple/a1cmd.pla: 0717: STA SRCL - STA SRCL -; vmsrc/apple/a1cmd.pla: 0718: BCC - - BCC - -; vmsrc/apple/a1cmd.pla: 0719: INC SRCH - INC SRCH -; vmsrc/apple/a1cmd.pla: 0720: BNE - - BNE - -; vmsrc/apple/a1cmd.pla: 0721: RLDEX INX -RLDEX INX -; vmsrc/apple/a1cmd.pla: 0722: LDA TMPL - LDA TMPL -; vmsrc/apple/a1cmd.pla: 0723: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0724: LDA TMPH - LDA TMPH -; vmsrc/apple/a1cmd.pla: 0725: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0726: LDA DSTL - LDA DSTL -; vmsrc/apple/a1cmd.pla: 0727: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/a1cmd.pla: 0728: LDA DSTH - LDA DSTH -; vmsrc/apple/a1cmd.pla: 0729: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/a1cmd.pla: 0730: LDA SRCL - LDA SRCL -; vmsrc/apple/a1cmd.pla: 0731: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/a1cmd.pla: 0732: LDA SRCH - LDA SRCH -; vmsrc/apple/a1cmd.pla: 0733: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/a1cmd.pla: 0734: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0735: end -; vmsrc/apple/a1cmd.pla: 0736: // -; vmsrc/apple/a1cmd.pla: 0737: // CONSOLE I/O -; vmsrc/apple/a1cmd.pla: 0738: // -; vmsrc/apple/a1cmd.pla: 0739: asm cout(c)#0 -_P003 ; cout(c)#0() -_A019 ; cout() -; vmsrc/apple/a1cmd.pla: 0740: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0741: JSR TOUPR - JSR TOUPR -; vmsrc/apple/a1cmd.pla: 0742: INX - INX -; vmsrc/apple/a1cmd.pla: 0743: ORA #$80 - ORA #$80 -; vmsrc/apple/a1cmd.pla: 0744: JMP $FFEF - JMP $FFEF -; vmsrc/apple/a1cmd.pla: 0745: ; JMP $FDED -; JMP $FDED -; vmsrc/apple/a1cmd.pla: 0746: end -; vmsrc/apple/a1cmd.pla: 0747: asm cin()#1 -_P008 ; cin()#1() -_A020 ; cin() -; vmsrc/apple/a1cmd.pla: 0748: - LDA $D011 -- LDA $D011 -; vmsrc/apple/a1cmd.pla: 0749: ;- LDA $C000 -;- LDA $C000 -; vmsrc/apple/a1cmd.pla: 0750: BPL - - BPL - -; vmsrc/apple/a1cmd.pla: 0751: LDA $D010 - LDA $D010 -; vmsrc/apple/a1cmd.pla: 0752: ; STA $C010 -; STA $C010 -; vmsrc/apple/a1cmd.pla: 0753: AND #$7F - AND #$7F -; vmsrc/apple/a1cmd.pla: 0754: DEX - DEX -; vmsrc/apple/a1cmd.pla: 0755: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/a1cmd.pla: 0756: LDA #$00 - LDA #$00 -; vmsrc/apple/a1cmd.pla: 0757: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/a1cmd.pla: 0758: RTS - RTS -; vmsrc/apple/a1cmd.pla: 0759: end -; vmsrc/apple/a1cmd.pla: 0760: def crout()#0 -_P002 ; crout()#0() -_C000 ; crout() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0761: cout($0D) -; vmsrc/apple/a1cmd.pla: 0762: end - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _A019 -_F060 !WORD _A019 - !BYTE $5C ; RET -; vmsrc/apple/a1cmd.pla: 0763: def prstr(str)#0 - ; str -> [0] -_P004 ; prstr(str)#0() -_C001 ; prstr() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0764: byte i - ; i -> [2] -; vmsrc/apple/a1cmd.pla: 0765: for i = 1 to ^str - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6C,$02 ; DLB [2] -; vmsrc/apple/a1cmd.pla: 0766: cout(^(str + i)) -; vmsrc/apple/a1cmd.pla: 0767: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A019 -_F061 !WORD _A019 -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/a1cmd.pla: 0768: end - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 0769: def print(i)#0 - ; i -> [0] -_P005 ; print(i)#0() -_C002 ; print() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0770: if i < 0; cout('-'); i = -i; fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B004 - !WORD _B004-* - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _A019 -_F062 !WORD _A019 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B004 -_B005 -; vmsrc/apple/a1cmd.pla: 0771: if i >= 10; print(i / 10); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _C002 -_F063 !WORD _C002 -_B006 -_B007 -; vmsrc/apple/a1cmd.pla: 0772: cout(i % 10 + '0') -; vmsrc/apple/a1cmd.pla: 0773: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A019 -_F064 !WORD _A019 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0774: def rdstr(prompt)#1 - ; prompt -> [0] -_P009 ; rdstr(prompt)#1() -_C003 ; rdstr() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0775: byte ch, maxlen - ; ch -> [2] - ; maxlen -> [3] -; vmsrc/apple/a1cmd.pla: 0776: maxlen = 0 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/a1cmd.pla: 0777: ^inbuff = 0 -; vmsrc/apple/a1cmd.pla: 0778: cout(prompt) -; vmsrc/apple/a1cmd.pla: 0779: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A019 -_F065 !WORD _A019 -_B009 -; vmsrc/apple/a1cmd.pla: 0780: ch = cin -; vmsrc/apple/a1cmd.pla: 0781: when ch - !BYTE $54 ; CALL _A020 -_F066 !WORD _A020 - !BYTE $6C,$02 ; DLB [2] - !BYTE $52 ; SEL - !WORD _B012-* -; vmsrc/apple/a1cmd.pla: 0782: is $15 // right arrow -_B013 -; vmsrc/apple/a1cmd.pla: 0783: if ^inbuff < maxlen -; vmsrc/apple/a1cmd.pla: 0784: ^inbuff++ - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $64,$03 ; LLB [3] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $8C ; INCR -; vmsrc/apple/a1cmd.pla: 0785: ch = ^(inbuff + ^inbuff)] -; vmsrc/apple/a1cmd.pla: 0786: cout(ch) -; vmsrc/apple/a1cmd.pla: 0787: fin - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $B4,$FF,$01 ; ADDAB 511 - !BYTE $60 ; LB - !BYTE $6C,$02 ; DLB [2] - !BYTE $54 ; CALL _A019 -_F067 !WORD _A019 -_B014 -_B015 -; vmsrc/apple/a1cmd.pla: 0788: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0789: is $08 // left arrow -_B016 -; vmsrc/apple/a1cmd.pla: 0790: if ^inbuff -; vmsrc/apple/a1cmd.pla: 0791: cout('\\') -; vmsrc/apple/a1cmd.pla: 0792: cout(^(inbuff + ^inbuff)) -; vmsrc/apple/a1cmd.pla: 0793: cout($08); cout($08); cout($08) // backspace if supported -; vmsrc/apple/a1cmd.pla: 0794: prstr(" ") - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _A019 -_F068 !WORD _A019 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $B4,$FF,$01 ; ADDAB 511 - !BYTE $60 ; LB - !BYTE $54 ; CALL _A019 -_F069 !WORD _A019 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _A019 -_F070 !WORD _A019 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _A019 -_F071 !WORD _A019 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _A019 -_F072 !WORD _A019 - !BYTE $2E ; CS - !BYTE $03 - !BYTE $20,$20,$20 - !BYTE $54 ; CALL _C001 -_F073 !WORD _C001 -; vmsrc/apple/a1cmd.pla: 0795: cout($08); cout($08); cout($08) -; vmsrc/apple/a1cmd.pla: 0796: inbuff.0-- - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _A019 -_F074 !WORD _A019 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _A019 -_F075 !WORD _A019 - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _A019 -_F076 !WORD _A019 - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 0797: fin - !BYTE $78,$FF,$01 ; SAB 511 -_B017 -_B018 -; vmsrc/apple/a1cmd.pla: 0798: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0799: is $04 // ctrl-d -_B019 -; vmsrc/apple/a1cmd.pla: 0800: if inbuff.0 -; vmsrc/apple/a1cmd.pla: 0801: cout('#') -; vmsrc/apple/a1cmd.pla: 0802: cout(^(inbuff + ^inbuff)) -; vmsrc/apple/a1cmd.pla: 0803: memcpy(inbuff + ^inbuff, inbuff + ^inbuff + 1, maxlen - ^inbuff) -; vmsrc/apple/a1cmd.pla: 0804: maxlen-- - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $2A,$23 ; CB 35 - !BYTE $54 ; CALL _A019 -_F077 !WORD _A019 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $B4,$FF,$01 ; ADDAB 511 - !BYTE $60 ; LB - !BYTE $54 ; CALL _A019 -_F078 !WORD _A019 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $B4,$FF,$01 ; ADDAB 511 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $B4,$FF,$01 ; ADDAB 511 - !BYTE $8C ; INCR - !BYTE $64,$03 ; LLB [3] - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _A004 -_F079 !WORD _A004 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 0805: ^inbuff-- - !BYTE $74,$03 ; SLB [3] - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 0806: fin - !BYTE $78,$FF,$01 ; SAB 511 -_B020 -_B021 -; vmsrc/apple/a1cmd.pla: 0807: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0808: is $0C // ctrl-l -_B022 -; vmsrc/apple/a1cmd.pla: 0809: crout -; vmsrc/apple/a1cmd.pla: 0810: prstr(inbuff) -; vmsrc/apple/a1cmd.pla: 0811: break - !BYTE $54 ; CALL _C000 -_F080 !WORD _C000 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C001 -_F081 !WORD _C001 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0812: is $0D // return -_B023 -; vmsrc/apple/a1cmd.pla: 0813: break - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0814: is $18 // ctrl-x -_B024 -; vmsrc/apple/a1cmd.pla: 0815: crout -; vmsrc/apple/a1cmd.pla: 0816: ^inbuff = 0 -; vmsrc/apple/a1cmd.pla: 0817: break - !BYTE $54 ; CALL _C000 -_F082 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0818: is $9B // escape -_B025 -; vmsrc/apple/a1cmd.pla: 0819: ^inbuff = 0 -; vmsrc/apple/a1cmd.pla: 0820: ch = $0D -; vmsrc/apple/a1cmd.pla: 0821: break - !BYTE $00 ; CN 0 - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $1A ; CN 13 - !BYTE $74,$02 ; SLB [2] - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -; vmsrc/apple/a1cmd.pla: 0822: otherwise -_B012 - !BYTE $07 ; CASEBLOCK - !WORD $0004 - !WORD _B019-* - !WORD $0008 - !WORD _B016-* - !WORD $000C - !WORD _B022-* - !WORD $000D - !WORD _B023-* - !WORD $0015 - !WORD _B013-* - !WORD $0018 - !WORD _B024-* - !WORD $009B - !WORD _B025-* -; vmsrc/apple/a1cmd.pla: 0823: if ch >= ' ' -; vmsrc/apple/a1cmd.pla: 0824: cout(ch) -; vmsrc/apple/a1cmd.pla: 0825: ^inbuff++ - !BYTE $64,$02 ; LLB [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _A019 -_F083 !WORD _A019 - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $8C ; INCR -; vmsrc/apple/a1cmd.pla: 0826: ^(inbuff + ^inbuff) = ch -; vmsrc/apple/a1cmd.pla: 0827: if ^inbuff > maxlen -; vmsrc/apple/a1cmd.pla: 0828: maxlen = ^inbuff -; vmsrc/apple/a1cmd.pla: 0829: fin - !BYTE $78,$FF,$01 ; SAB 511 - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $B4,$FF,$01 ; ADDAB 511 - !BYTE $70 ; SB - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $64,$03 ; LLB [3] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $74,$03 ; SLB [3] -_B028 -_B029 -; vmsrc/apple/a1cmd.pla: 0830: fin -_B026 -_B027 -; vmsrc/apple/a1cmd.pla: 0831: wend -_B011 -; vmsrc/apple/a1cmd.pla: 0832: until ch == $0D or ^inbuff == $7F -_B010 - !BYTE $64,$02 ; LLB [2] - !BYTE $1A ; CN 13 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B030 - !WORD _B030-* - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $2A,$7F ; CB 127 - !BYTE $40 ; ISEQ -_B030 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* -_B008 -; vmsrc/apple/a1cmd.pla: 0833: cout($0D) -; vmsrc/apple/a1cmd.pla: 0834: return inbuff - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _A019 -_F084 !WORD _A019 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0835: end -; vmsrc/apple/a1cmd.pla: 0836: def prbyte(v)#0 - ; v -> [0] -_P006 ; prbyte(v)#0() -_C004 ; prbyte() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0837: cout(hexchar[(v >> 4) & $0F]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0838: cout(hexchar[v & $0F]) -; vmsrc/apple/a1cmd.pla: 0839: end - !BYTE $26 ; LA _D044+0 -_F085 !WORD _D044+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _A019 -_F086 !WORD _A019 - !BYTE $26 ; LA _D044+0 -_F087 !WORD _D044+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _A019 -_F088 !WORD _A019 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0840: def prword(v)#0 - ; v -> [0] -_P007 ; prword(v)#0() -_C005 ; prword() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0841: prbyte(v >> 8) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0842: prbyte(v) -; vmsrc/apple/a1cmd.pla: 0843: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C004 -_F089 !WORD _C004 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C004 -_F090 !WORD _C004 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0844: // -; vmsrc/apple/a1cmd.pla: 0845: // String routines. -; vmsrc/apple/a1cmd.pla: 0846: // -; vmsrc/apple/a1cmd.pla: 0847: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P011 ; strcpy(dst, src)#1() -_C006 ; strcpy() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0848: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/a1cmd.pla: 0849: ^dst = ^src -; vmsrc/apple/a1cmd.pla: 0850: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F091 !WORD _A004 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0851: end -; vmsrc/apple/a1cmd.pla: 0852: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P012 ; strcat(dst, src)#1() -_C007 ; strcat() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0853: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/a1cmd.pla: 0854: ^dst = ^dst + ^src -; vmsrc/apple/a1cmd.pla: 0855: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F092 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0856: end -; vmsrc/apple/a1cmd.pla: 0857: // -; vmsrc/apple/a1cmd.pla: 0858: // CFFA1 routines -; vmsrc/apple/a1cmd.pla: 0859: // FILE I/O -; vmsrc/apple/a1cmd.pla: 0860: // -; vmsrc/apple/a1cmd.pla: 0861: def finddirentry(filename)#1 - ; filename -> [0] -_C008 ; finddirentry() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0862: *CFFAFileName = filename - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0863: perr = syscall($14, 0) -; vmsrc/apple/a1cmd.pla: 0864: return *CFFAEntryPtr - !BYTE $66,$00 ; LLW [0] - !BYTE $7A,$02,$00 ; SAW 2 - !BYTE $2A,$14 ; CB 20 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A000 -_F093 !WORD _A000 - !BYTE $78 ; SAB _D034+0 -_F094 !WORD _D034+0 - !BYTE $6A,$0B,$00 ; LAW 11 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0865: end -; vmsrc/apple/a1cmd.pla: 0866: def readfile(filename, buffer)#1 - ; filename -> [0] - ; buffer -> [2] -_C009 ; readfile() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0867: *CFFADest = buffer - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/a1cmd.pla: 0868: *CFFAFileName = filename -; vmsrc/apple/a1cmd.pla: 0869: perr = syscall($22, 0) -; vmsrc/apple/a1cmd.pla: 0870: return perr - !BYTE $66,$02 ; LLW [2] - !BYTE $7A,$00,$00 ; SAW 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A,$02,$00 ; SAW 2 - !BYTE $2A,$22 ; CB 34 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A000 -_F095 !WORD _A000 - !BYTE $7C ; DAB _D034+0 -_F096 !WORD _D034+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0871: end -; vmsrc/apple/a1cmd.pla: 0872: // -; vmsrc/apple/a1cmd.pla: 0873: // Heap routines. -; vmsrc/apple/a1cmd.pla: 0874: // -; vmsrc/apple/a1cmd.pla: 0875: def availheap()#1 -_P017 ; availheap()#1() -_C010 ; availheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0876: byte fp - ; fp -> [0] -; vmsrc/apple/a1cmd.pla: 0877: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D031+0 -_F097 !WORD _D031+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/a1cmd.pla: 0878: end -; vmsrc/apple/a1cmd.pla: 0879: def allocheap(size)#1 - ; size -> [0] -_P014 ; allocheap(size)#1() -_C011 ; allocheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0880: word addr - ; addr -> [2] -; vmsrc/apple/a1cmd.pla: 0881: addr = heap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/a1cmd.pla: 0882: heap = heap + size -; vmsrc/apple/a1cmd.pla: 0883: if uword_isge(heap, @addr) -; vmsrc/apple/a1cmd.pla: 0884: return 0 - !BYTE $6A ; LAW _D031+0 -_F098 !WORD _D031+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D031+0 -_F099 !WORD _D031+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D031+0 -_F100 !WORD _D031+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A005 -_F101 !WORD _A005 - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0885: fin -_B031 -_B032 -; vmsrc/apple/a1cmd.pla: 0886: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0887: end -; vmsrc/apple/a1cmd.pla: 0888: def allocalignheap(size, pow2, freeaddr)#1 - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P015 ; allocalignheap(size, pow2, freeaddr)#1() -_C012 ; allocalignheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0889: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/a1cmd.pla: 0890: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/a1cmd.pla: 0891: *freeaddr = heap -; vmsrc/apple/a1cmd.pla: 0892: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $6A ; LAW _D031+0 -_F102 !WORD _D031+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B033 -_B034 -; vmsrc/apple/a1cmd.pla: 0893: align = (1 << pow2) - 1 -; vmsrc/apple/a1cmd.pla: 0894: addr = (heap | align) + 1 -; vmsrc/apple/a1cmd.pla: 0895: heap = addr + size -; vmsrc/apple/a1cmd.pla: 0896: if uword_isge(heap, @addr) -; vmsrc/apple/a1cmd.pla: 0897: return 0 - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $9A ; SHL - !BYTE $8E ; DECR - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D031+0 -_F103 !WORD _D031+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $96 ; OR - !BYTE $8C ; INCR - !BYTE $6E,$08 ; DLW [8] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D031+0 -_F104 !WORD _D031+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A005 -_F105 !WORD _A005 - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/a1cmd.pla: 0898: fin -_B035 -_B036 -; vmsrc/apple/a1cmd.pla: 0899: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/a1cmd.pla: 0900: end -; vmsrc/apple/a1cmd.pla: 0901: def markheap()#1 -_P013 ; markheap()#1() -_C013 ; markheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0902: return heap - !BYTE $6A ; LAW _D031+0 -_F106 !WORD _D031+0 - !BYTE $5C ; RET -; vmsrc/apple/a1cmd.pla: 0903: end -; vmsrc/apple/a1cmd.pla: 0904: def releaseheap(newheap)#1 - ; newheap -> [0] -_P016 ; releaseheap(newheap)#1() -_C014 ; releaseheap() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0905: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/a1cmd.pla: 0906: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D031+0 -_F107 !WORD _D031+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D031+0 -_F108 !WORD _D031+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0907: end -; vmsrc/apple/a1cmd.pla: 0908: // -; vmsrc/apple/a1cmd.pla: 0909: // Symbol table routines. -; vmsrc/apple/a1cmd.pla: 0910: // -; vmsrc/apple/a1cmd.pla: 0911: def syslookuptbl(dci)#1 - ; dci -> [0] -_P027 ; syslookuptbl(dci)#1() -_C015 ; syslookuptbl() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0912: return lookuptbl(dci, symtbl) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D032+0 -_F109 !WORD _D032+0 - !BYTE $54 ; CALL _A015 -_F110 !WORD _A015 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 0913: end -; vmsrc/apple/a1cmd.pla: 0914: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C016 ; addsym() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0915: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -_B037 -; vmsrc/apple/a1cmd.pla: 0916: ^lastsym = ^sym -; vmsrc/apple/a1cmd.pla: 0917: lastsym = lastsym + 1 -; vmsrc/apple/a1cmd.pla: 0918: sym = sym + 1 -; vmsrc/apple/a1cmd.pla: 0919: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D033+0 -_F111 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D033+0 -_F112 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D033+0 -_F113 !WORD _D033+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B039 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B037 - !WORD _B037-* -_B038 -; vmsrc/apple/a1cmd.pla: 0920: lastsym->0 = ^sym -; vmsrc/apple/a1cmd.pla: 0921: lastsym=>1 = addr -; vmsrc/apple/a1cmd.pla: 0922: lastsym = lastsym + 3 -; vmsrc/apple/a1cmd.pla: 0923: ^lastsym = 0 -; vmsrc/apple/a1cmd.pla: 0924: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D033+0 -_F114 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D033+0 -_F115 !WORD _D033+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D033+0 -_F116 !WORD _D033+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D033+0 -_F117 !WORD _D033+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D033+0 -_F118 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/a1cmd.pla: 0925: // -; vmsrc/apple/a1cmd.pla: 0926: // Module routines. -; vmsrc/apple/a1cmd.pla: 0927: // -; vmsrc/apple/a1cmd.pla: 0928: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C017 ; lookupextern() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0929: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/a1cmd.pla: 0930: byte str[33] - ; str -> [8] -; vmsrc/apple/a1cmd.pla: 0931: while ^esd - !BYTE $58,$29,$02 ; ENTER 41,2 - !BYTE $50 ; BRNCH _B042 - !WORD _B042-* -_B040 -; vmsrc/apple/a1cmd.pla: 0932: sym = esd -; vmsrc/apple/a1cmd.pla: 0933: esd = sym + dcitos(sym, @str) -; vmsrc/apple/a1cmd.pla: 0934: if esd->0 & $10 and esd->1 == index -; vmsrc/apple/a1cmd.pla: 0935: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/a1cmd.pla: 0936: if !addr -; vmsrc/apple/a1cmd.pla: 0937: perr = $81 -; vmsrc/apple/a1cmd.pla: 0938: cout('?') -; vmsrc/apple/a1cmd.pla: 0939: prstr(@str) -; vmsrc/apple/a1cmd.pla: 0940: crout -; vmsrc/apple/a1cmd.pla: 0941: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6E,$04 ; DLW [4] - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F119 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $6E,$00 ; DLW [0] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $AC ; BRAND _B043 - !WORD _B043-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $40 ; ISEQ -_B043 - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D032+0 -_F120 !WORD _D032+0 - !BYTE $54 ; CALL _A015 -_F121 !WORD _A015 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D034+0 -_F122 !WORD _D034+0 - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A019 -_F123 !WORD _A019 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C001 -_F124 !WORD _C001 - !BYTE $54 ; CALL _C000 -_F125 !WORD _C000 -_B046 -_B047 -; vmsrc/apple/a1cmd.pla: 0942: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/a1cmd.pla: 0943: fin -_B044 -_B045 -; vmsrc/apple/a1cmd.pla: 0944: esd = esd + 3 -; vmsrc/apple/a1cmd.pla: 0945: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$00 ; SLW [0] -_B042 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B040 - !WORD _B040-* -_B041 -; vmsrc/apple/a1cmd.pla: 0946: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/a1cmd.pla: 0947: end -; vmsrc/apple/a1cmd.pla: 0948: def adddef(addr, deflast)#1 - ; addr -> [0] - ; deflast -> [2] -_C018 ; adddef() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0949: word defentry - ; defentry -> [4] -; vmsrc/apple/a1cmd.pla: 0950: defentry = *deflast - !BYTE $58,$06,$02 ; ENTER 6,2 -; vmsrc/apple/a1cmd.pla: 0951: *deflast = defentry + 5 -; vmsrc/apple/a1cmd.pla: 0952: defentry->0 = $20 -; vmsrc/apple/a1cmd.pla: 0953: defentry=>1 = interp -; vmsrc/apple/a1cmd.pla: 0954: defentry=>3 = addr -; vmsrc/apple/a1cmd.pla: 0955: defentry->5 = 0 // null out next entry -; vmsrc/apple/a1cmd.pla: 0956: return defentry - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $54 ; CALL _A011 -_F126 !WORD _A011 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/a1cmd.pla: 0957: end -; vmsrc/apple/a1cmd.pla: 0958: def loadmod(mod)#1 - ; mod -> [0] -_C019 ; loadmod() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 0959: word rdlen, modsize, bytecode, defofst, defcnt, init, fixup - ; rdlen -> [2] - ; modsize -> [4] - ; bytecode -> [6] - ; defofst -> [8] - ; defcnt -> [10] - ; init -> [12] - ; fixup -> [14] -; vmsrc/apple/a1cmd.pla: 0960: word addr, modaddr, modfix, modofst, modend - ; addr -> [16] - ; modaddr -> [18] - ; modfix -> [20] - ; modofst -> [22] - ; modend -> [24] -; vmsrc/apple/a1cmd.pla: 0961: word deftbl, deflast - ; deftbl -> [26] - ; deflast -> [28] -; vmsrc/apple/a1cmd.pla: 0962: word moddep, rld, esd, sym - ; moddep -> [30] - ; rld -> [32] - ; esd -> [34] - ; sym -> [36] -; vmsrc/apple/a1cmd.pla: 0963: byte type, str[17], filename[17] - ; type -> [38] - ; str -> [39] - ; filename -> [56] -; vmsrc/apple/a1cmd.pla: 0964: byte header[128] - ; header -> [73] -; vmsrc/apple/a1cmd.pla: 0965: // -; vmsrc/apple/a1cmd.pla: 0966: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/a1cmd.pla: 0967: // -; vmsrc/apple/a1cmd.pla: 0968: dcitos(mod, @filename) - !BYTE $58,$C9,$01 ; ENTER 201,1 -; vmsrc/apple/a1cmd.pla: 0969: rdlen = finddirentry(@filename)=>$15 -; vmsrc/apple/a1cmd.pla: 0970: if perr -; vmsrc/apple/a1cmd.pla: 0971: return -perr - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$38 ; LLA [56] - !BYTE $54 ; CALL _A012 -_F127 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $28,$38 ; LLA [56] - !BYTE $54 ; CALL _C008 -_F128 !WORD _C008 - !BYTE $38,$15 ; ADDI 21 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $68 ; LAB _D034+0 -_F129 !WORD _D034+0 - !BYTE $4C ; BRFLS _B048 - !WORD _B048-* - !BYTE $68 ; LAB _D034+0 -_F130 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 0972: fin -_B048 -_B049 -; vmsrc/apple/a1cmd.pla: 0973: if rdlen > 0 -; vmsrc/apple/a1cmd.pla: 0974: readfile(@filename, heap) -; vmsrc/apple/a1cmd.pla: 0975: memcpy(@header, heap, 128) -; vmsrc/apple/a1cmd.pla: 0976: modsize = header:0 -; vmsrc/apple/a1cmd.pla: 0977: moddep = @header.1 -; vmsrc/apple/a1cmd.pla: 0978: defofst = modsize + RELADDR -; vmsrc/apple/a1cmd.pla: 0979: init = 0 -; vmsrc/apple/a1cmd.pla: 0980: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/a1cmd.pla: 0981: // -; vmsrc/apple/a1cmd.pla: 0982: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/a1cmd.pla: 0983: // -; vmsrc/apple/a1cmd.pla: 0984: defofst = header:6 -; vmsrc/apple/a1cmd.pla: 0985: defcnt = header:8 -; vmsrc/apple/a1cmd.pla: 0986: init = header:10 -; vmsrc/apple/a1cmd.pla: 0987: moddep = @header.12 -; vmsrc/apple/a1cmd.pla: 0988: // -; vmsrc/apple/a1cmd.pla: 0989: // Load module dependencies. -; vmsrc/apple/a1cmd.pla: 0990: // -; vmsrc/apple/a1cmd.pla: 0991: while ^moddep - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* - !BYTE $28,$38 ; LLA [56] - !BYTE $6A ; LAW _D031+0 -_F131 !WORD _D031+0 - !BYTE $54 ; CALL _C009 -_F132 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $28,$49 ; LLA [73] - !BYTE $6A ; LAW _D031+0 -_F133 !WORD _D031+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _A004 -_F134 !WORD _A004 - !BYTE $66,$49 ; LLW [73] - !BYTE $76,$04 ; SLW [4] - !BYTE $28,$4A ; LLA [74] - !BYTE $76,$1E ; SLW [30] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B052 - !WORD _B052-* - !BYTE $66,$4B ; LLW [75] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $40 ; ISEQ -_B052 - !BYTE $4C ; BRFLS _B053 - !WORD _B053-* - !BYTE $66,$4F ; LLW [79] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$51 ; LLW [81] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$53 ; LLW [83] - !BYTE $76,$0C ; SLW [12] - !BYTE $28,$55 ; LLA [85] - !BYTE $76,$1E ; SLW [30] - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -_B055 -; vmsrc/apple/a1cmd.pla: 0992: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/a1cmd.pla: 0993: if loadmod(moddep) < 0 -; vmsrc/apple/a1cmd.pla: 0994: return -perr - !BYTE $66,$1E ; LLW [30] - !BYTE $6A ; LAW _D032+0 -_F135 !WORD _D032+0 - !BYTE $54 ; CALL _A015 -_F136 !WORD _A015 - !BYTE $4E ; BRTRU _B058 - !WORD _B058-* - !BYTE $66,$1E ; LLW [30] - !BYTE $54 ; CALL _C019 -_F137 !WORD _C019 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $68 ; LAB _D034+0 -_F138 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 0995: fin -_B060 -_B061 -; vmsrc/apple/a1cmd.pla: 0996: fin -_B058 -_B059 -; vmsrc/apple/a1cmd.pla: 0997: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/a1cmd.pla: 0998: loop - !BYTE $66,$1E ; LLW [30] - !BYTE $34 ; DUP - !BYTE $28,$27 ; LLA [39] - !BYTE $54 ; CALL _A012 -_F139 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $76,$1E ; SLW [30] -_B057 - !BYTE $66,$1E ; LLW [30] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B055 - !WORD _B055-* -_B056 -; vmsrc/apple/a1cmd.pla: 0999: // -; vmsrc/apple/a1cmd.pla: 1000: // Init def table. -; vmsrc/apple/a1cmd.pla: 1001: // -; vmsrc/apple/a1cmd.pla: 1002: deftbl = allocheap(defcnt * 5 + 1) -; vmsrc/apple/a1cmd.pla: 1003: deflast = deftbl -; vmsrc/apple/a1cmd.pla: 1004: ^deflast = 0 -; vmsrc/apple/a1cmd.pla: 1005: // -; vmsrc/apple/a1cmd.pla: 1006: // Re-read file -; vmsrc/apple/a1cmd.pla: 1007: // -; vmsrc/apple/a1cmd.pla: 1008: readfile(@filename, heap) -; vmsrc/apple/a1cmd.pla: 1009: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $0A ; CN 5 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C011 -_F140 !WORD _C011 - !BYTE $6E,$1A ; DLW [26] - !BYTE $76,$1C ; SLW [28] - !BYTE $00 ; CN 0 - !BYTE $66,$1C ; LLW [28] - !BYTE $70 ; SB - !BYTE $28,$38 ; LLA [56] - !BYTE $6A ; LAW _D031+0 -_F141 !WORD _D031+0 - !BYTE $54 ; CALL _C009 -_F142 !WORD _C009 - !BYTE $30 ; DROP -_B053 -_B054 -; vmsrc/apple/a1cmd.pla: 1010: // -; vmsrc/apple/a1cmd.pla: 1011: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/a1cmd.pla: 1012: // -; vmsrc/apple/a1cmd.pla: 1013: moddep = moddep + 1 - @header + heap -; vmsrc/apple/a1cmd.pla: 1014: modfix = moddep - (heap + 2) // Adjust to skip header -; vmsrc/apple/a1cmd.pla: 1015: modsize = modsize - modfix -; vmsrc/apple/a1cmd.pla: 1016: rdlen = rdlen - modfix - 2 -; vmsrc/apple/a1cmd.pla: 1017: modaddr = allocheap(modsize) -; vmsrc/apple/a1cmd.pla: 1018: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/a1cmd.pla: 1019: // -; vmsrc/apple/a1cmd.pla: 1020: // Add module to symbol table. -; vmsrc/apple/a1cmd.pla: 1021: // -; vmsrc/apple/a1cmd.pla: 1022: addsym(mod, modaddr) -; vmsrc/apple/a1cmd.pla: 1023: // -; vmsrc/apple/a1cmd.pla: 1024: // Apply all fixups and symbol import/export. -; vmsrc/apple/a1cmd.pla: 1025: // -; vmsrc/apple/a1cmd.pla: 1026: modfix = modaddr - modfix -; vmsrc/apple/a1cmd.pla: 1027: modofst = modfix - RELADDR -; vmsrc/apple/a1cmd.pla: 1028: modend = modaddr + modsize -; vmsrc/apple/a1cmd.pla: 1029: bytecode = defofst + modofst -; vmsrc/apple/a1cmd.pla: 1030: defofst = bytecode - defofst -; vmsrc/apple/a1cmd.pla: 1031: rld = modend // Re-Locatable Directory -; vmsrc/apple/a1cmd.pla: 1032: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/a1cmd.pla: 1033: while ^esd // Scan to end of ESD - !BYTE $66,$1E ; LLW [30] - !BYTE $8C ; INCR - !BYTE $28,$49 ; LLA [73] - !BYTE $84 ; SUB - !BYTE $B6 ; ADDAW _D031+0 -_F143 !WORD _D031+0 - !BYTE $6E,$1E ; DLW [30] - !BYTE $6A ; LAW _D031+0 -_F144 !WORD _D031+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $84 ; SUB - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$14 ; LLW [20] - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$14 ; LLW [20] - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C011 -_F145 !WORD _C011 - !BYTE $6E,$12 ; DLW [18] - !BYTE $66,$1E ; LLW [30] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F146 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C016 -_F147 !WORD _C016 - !BYTE $66,$12 ; LLW [18] - !BYTE $66,$14 ; LLW [20] - !BYTE $84 ; SUB - !BYTE $6E,$14 ; DLW [20] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$12 ; LLW [18] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $6E,$06 ; DLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$18 ; LLW [24] - !BYTE $6E,$20 ; DLW [32] - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B064 - !WORD _B064-* -_B062 -; vmsrc/apple/a1cmd.pla: 1034: esd = esd + 4 -; vmsrc/apple/a1cmd.pla: 1035: loop - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$22 ; SLW [34] -_B064 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B062 - !WORD _B062-* -_B063 -; vmsrc/apple/a1cmd.pla: 1036: esd = esd + 1 -; vmsrc/apple/a1cmd.pla: 1037: // -; vmsrc/apple/a1cmd.pla: 1038: // Run through the DeFinition Dictionary. -; vmsrc/apple/a1cmd.pla: 1039: // -; vmsrc/apple/a1cmd.pla: 1040: while ^rld == $02 - !BYTE $66,$22 ; LLW [34] - !BYTE $8C ; INCR - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B065 -; vmsrc/apple/a1cmd.pla: 1041: // -; vmsrc/apple/a1cmd.pla: 1042: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/a1cmd.pla: 1043: // -; vmsrc/apple/a1cmd.pla: 1044: adddef(rld=>1 + defofst, @deflast) -; vmsrc/apple/a1cmd.pla: 1045: rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 1046: loop - !BYTE $66,$20 ; LLW [32] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _C018 -_F148 !WORD _C018 - !BYTE $30 ; DROP - !BYTE $66,$20 ; LLW [32] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$20 ; SLW [32] -_B067 - !BYTE $66,$20 ; LLW [32] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B065 - !WORD _B065-* -_B066 -; vmsrc/apple/a1cmd.pla: 1047: // -; vmsrc/apple/a1cmd.pla: 1048: // Run through the Re-Location Dictionary. -; vmsrc/apple/a1cmd.pla: 1049: // -; vmsrc/apple/a1cmd.pla: 1050: while ^rld - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B068 -; vmsrc/apple/a1cmd.pla: 1051: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/a1cmd.pla: 1052: if ^rld -; vmsrc/apple/a1cmd.pla: 1053: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup, deftbl) -; vmsrc/apple/a1cmd.pla: 1054: rld = rld + 4 -; vmsrc/apple/a1cmd.pla: 1055: fin - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A018 -_F149 !WORD _A018 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$10 ; SLW [16] - !BYTE $6E,$20 ; DLW [32] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $66,$20 ; LLW [32] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$10 ; LLW [16] - !BYTE $62 ; LW - !BYTE $66,$22 ; LLW [34] - !BYTE $66,$20 ; LLW [32] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C017 -_F150 !WORD _C017 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B073 - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _A017 -_F151 !WORD _A017 -_B074 - !BYTE $66,$10 ; LLW [16] - !BYTE $72 ; SW - !BYTE $66,$20 ; LLW [32] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$20 ; SLW [32] -_B071 -_B072 -; vmsrc/apple/a1cmd.pla: 1056: loop -_B070 - !BYTE $66,$20 ; LLW [32] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* -_B069 -; vmsrc/apple/a1cmd.pla: 1057: // -; vmsrc/apple/a1cmd.pla: 1058: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/a1cmd.pla: 1059: // -; vmsrc/apple/a1cmd.pla: 1060: while ^esd - !BYTE $50 ; BRNCH _B077 - !WORD _B077-* -_B075 -; vmsrc/apple/a1cmd.pla: 1061: sym = esd -; vmsrc/apple/a1cmd.pla: 1062: esd = esd + dcitos(esd, @str) -; vmsrc/apple/a1cmd.pla: 1063: if ^esd & $08 -; vmsrc/apple/a1cmd.pla: 1064: // -; vmsrc/apple/a1cmd.pla: 1065: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/a1cmd.pla: 1066: // -; vmsrc/apple/a1cmd.pla: 1067: addr = esd=>1 + modofst -; vmsrc/apple/a1cmd.pla: 1068: if uword_isge(addr, bytecode) -; vmsrc/apple/a1cmd.pla: 1069: // -; vmsrc/apple/a1cmd.pla: 1070: // Use the def directory address for bytecode. -; vmsrc/apple/a1cmd.pla: 1071: // -; vmsrc/apple/a1cmd.pla: 1072: addr = lookupdef(addr, deftbl) -; vmsrc/apple/a1cmd.pla: 1073: fin - !BYTE $66,$22 ; LLW [34] - !BYTE $76,$24 ; SLW [36] - !BYTE $66,$22 ; LLW [34] - !BYTE $34 ; DUP - !BYTE $28,$27 ; LLA [39] - !BYTE $54 ; CALL _A012 -_F152 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $6E,$22 ; DLW [34] - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $66,$22 ; LLW [34] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$16 ; ADDLW [22] - !BYTE $6E,$10 ; DLW [16] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A005 -_F153 !WORD _A005 - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $66,$10 ; LLW [16] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _A017 -_F154 !WORD _A017 - !BYTE $76,$10 ; SLW [16] -_B080 -_B081 -; vmsrc/apple/a1cmd.pla: 1074: addsym(sym, addr) -; vmsrc/apple/a1cmd.pla: 1075: fin - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C016 -_F155 !WORD _C016 -_B078 -_B079 -; vmsrc/apple/a1cmd.pla: 1076: esd = esd + 3 -; vmsrc/apple/a1cmd.pla: 1077: loop - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$22 ; SLW [34] -_B077 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B075 - !WORD _B075-* -_B076 -; vmsrc/apple/a1cmd.pla: 1078: fin -_B050 -_B051 -; vmsrc/apple/a1cmd.pla: 1079: if perr -; vmsrc/apple/a1cmd.pla: 1080: return -perr - !BYTE $68 ; LAB _D034+0 -_F156 !WORD _D034+0 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $68 ; LAB _D034+0 -_F157 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 1081: fin -_B082 -_B083 -; vmsrc/apple/a1cmd.pla: 1082: // -; vmsrc/apple/a1cmd.pla: 1083: // Free up the end-of-module in main memory. -; vmsrc/apple/a1cmd.pla: 1084: // -; vmsrc/apple/a1cmd.pla: 1085: releaseheap(modend) -; vmsrc/apple/a1cmd.pla: 1086: // -; vmsrc/apple/a1cmd.pla: 1087: // Call init routine if it exists. -; vmsrc/apple/a1cmd.pla: 1088: // -; vmsrc/apple/a1cmd.pla: 1089: fixup = modkeep -; vmsrc/apple/a1cmd.pla: 1090: if init -; vmsrc/apple/a1cmd.pla: 1091: init = init + defofst -; vmsrc/apple/a1cmd.pla: 1092: fixup = adddef(init, @deflast)() -; vmsrc/apple/a1cmd.pla: 1093: if fixup < 0 -; vmsrc/apple/a1cmd.pla: 1094: perr = -fixup -; vmsrc/apple/a1cmd.pla: 1095: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C014 -_F158 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $6E,$0C ; DLW [12] - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _C018 -_F159 !WORD _C018 - !BYTE $56 ; ICAL - !BYTE $6E,$0E ; DLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $78 ; SAB _D034+0 -_F160 !WORD _D034+0 -_B086 -_B087 -; vmsrc/apple/a1cmd.pla: 1096: if !(systemflags & modinitkeep) -; vmsrc/apple/a1cmd.pla: 1097: releaseheap(init) -; vmsrc/apple/a1cmd.pla: 1098: fin - !BYTE $6A ; LAW _D036+0 -_F161 !WORD _D036+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B088 - !WORD _B088-* - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C014 -_F162 !WORD _C014 - !BYTE $30 ; DROP -_B088 -_B089 -; vmsrc/apple/a1cmd.pla: 1099: fin -_B084 -_B085 -; vmsrc/apple/a1cmd.pla: 1100: return fixup | (systemflags & modkeep) - !BYTE $66,$0E ; LLW [14] - !BYTE $6A ; LAW _D036+0 -_F163 !WORD _D036+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $94 ; AND - !BYTE $96 ; OR - !BYTE $5A,$C9 ; LEAVE 201 -; vmsrc/apple/a1cmd.pla: 1101: end -; vmsrc/apple/a1cmd.pla: 1102: // -; vmsrc/apple/a1cmd.pla: 1103: // Command mode -; vmsrc/apple/a1cmd.pla: 1104: // -; vmsrc/apple/a1cmd.pla: 1105: def stripchars(strptr)#1 - ; strptr -> [0] -_C020 ; stripchars() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1106: while ^strptr and ^(strptr + 1) <> ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B090 -; vmsrc/apple/a1cmd.pla: 1107: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/a1cmd.pla: 1108: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F164 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1109: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B092 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B093 - !WORD _B093-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $42 ; ISNE -_B093 - !BYTE $4E ; BRTRU _B090 - !WORD _B090-* -_B091 -; vmsrc/apple/a1cmd.pla: 1110: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 1111: end -; vmsrc/apple/a1cmd.pla: 1112: def stripspaces(strptr)#0 - ; strptr -> [0] -_C021 ; stripspaces() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1113: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B094 -; vmsrc/apple/a1cmd.pla: 1114: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1115: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B096 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B097 - !WORD _B097-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B097 - !BYTE $4E ; BRTRU _B094 - !WORD _B094-* -_B095 -; vmsrc/apple/a1cmd.pla: 1116: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -_B098 -; vmsrc/apple/a1cmd.pla: 1117: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/a1cmd.pla: 1118: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F165 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1119: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B100 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B101 - !WORD _B101-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B101 - !BYTE $4E ; BRTRU _B098 - !WORD _B098-* -_B099 -; vmsrc/apple/a1cmd.pla: 1120: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/a1cmd.pla: 1121: def striptrail(strptr)#0 - ; strptr -> [0] -_C022 ; striptrail() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1122: byte i - ; i -> [2] -; vmsrc/apple/a1cmd.pla: 1123: -; vmsrc/apple/a1cmd.pla: 1124: for i = 1 to ^strptr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B102 - !WORD _B102-* -_B103 - !BYTE $6C,$02 ; DLB [2] -; vmsrc/apple/a1cmd.pla: 1125: if (strptr)[i] == ' ' -; vmsrc/apple/a1cmd.pla: 1126: ^strptr = i - 1 -; vmsrc/apple/a1cmd.pla: 1127: return - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B105 - !WORD _B105-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $32 ; DROP2 - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 1128: fin -_B105 -_B106 -; vmsrc/apple/a1cmd.pla: 1129: next -_B104 - !BYTE $A4 ; INCBRLE _B103 - !WORD _B103-* -_B102 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/a1cmd.pla: 1130: end - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 1131: def parsecmd(strptr)#1 - ; strptr -> [0] -_C023 ; parsecmd() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1132: byte cmd - ; cmd -> [2] -; vmsrc/apple/a1cmd.pla: 1133: -; vmsrc/apple/a1cmd.pla: 1134: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/a1cmd.pla: 1135: stripspaces(strptr) -; vmsrc/apple/a1cmd.pla: 1136: if ^strptr -; vmsrc/apple/a1cmd.pla: 1137: cmd = ^(strptr + 1) -; vmsrc/apple/a1cmd.pla: 1138: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/a1cmd.pla: 1139: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C021 -_F166 !WORD _C021 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F167 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/a1cmd.pla: 1140: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B107 -_B108 -; vmsrc/apple/a1cmd.pla: 1141: stripspaces(strptr) -; vmsrc/apple/a1cmd.pla: 1142: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C021 -_F168 !WORD _C021 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/a1cmd.pla: 1143: end -; vmsrc/apple/a1cmd.pla: 1144: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C024 ; execmod() - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1145: byte moddci[63] - ; moddci -> [2] -; vmsrc/apple/a1cmd.pla: 1146: word keep, saveheap, savesym, saveflags - ; keep -> [65] - ; saveheap -> [67] - ; savesym -> [69] - ; saveflags -> [71] -; vmsrc/apple/a1cmd.pla: 1147: -; vmsrc/apple/a1cmd.pla: 1148: perr = 1 - !BYTE $58,$49,$01 ; ENTER 73,1 -; vmsrc/apple/a1cmd.pla: 1149: if stodci(modfile, @moddci) -; vmsrc/apple/a1cmd.pla: 1150: saveheap = heap -; vmsrc/apple/a1cmd.pla: 1151: savesym = lastsym -; vmsrc/apple/a1cmd.pla: 1152: saveflags = systemflags -; vmsrc/apple/a1cmd.pla: 1153: keep = loadmod(@moddci) -; vmsrc/apple/a1cmd.pla: 1154: if keep < modkeep -; vmsrc/apple/a1cmd.pla: 1155: if not (keep & modflagkeep) -; vmsrc/apple/a1cmd.pla: 1156: systemflags = saveflags -; vmsrc/apple/a1cmd.pla: 1157: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D034+0 -_F169 !WORD _D034+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A013 -_F170 !WORD _A013 - !BYTE $4C ; BRFLS _B109 - !WORD _B109-* - !BYTE $6A ; LAW _D031+0 -_F171 !WORD _D031+0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _D033+0 -_F172 !WORD _D033+0 - !BYTE $76,$45 ; SLW [69] - !BYTE $6A ; LAW _D036+0 -_F173 !WORD _D036+0 - !BYTE $76,$47 ; SLW [71] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C019 -_F174 !WORD _C019 - !BYTE $6E,$41 ; DLW [65] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B111 - !WORD _B111-* - !BYTE $66,$41 ; LLW [65] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B113 - !WORD _B113-* - !BYTE $66,$47 ; LLW [71] - !BYTE $7A ; SAW _D036+0 -_F175 !WORD _D036+0 -_B113 -_B114 -; vmsrc/apple/a1cmd.pla: 1158: heap = saveheap -; vmsrc/apple/a1cmd.pla: 1159: lastsym = savesym -; vmsrc/apple/a1cmd.pla: 1160: ^lastsym = 0 -; vmsrc/apple/a1cmd.pla: 1161: fin - !BYTE $66,$43 ; LLW [67] - !BYTE $7A ; SAW _D031+0 -_F176 !WORD _D031+0 - !BYTE $66,$45 ; LLW [69] - !BYTE $7A ; SAW _D033+0 -_F177 !WORD _D033+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D033+0 -_F178 !WORD _D033+0 - !BYTE $70 ; SB -_B111 -_B112 -; vmsrc/apple/a1cmd.pla: 1162: fin -_B109 -_B110 -; vmsrc/apple/a1cmd.pla: 1163: return -perr - !BYTE $68 ; LAB _D034+0 -_F179 !WORD _D034+0 - !BYTE $90 ; NEG - !BYTE $5A,$49 ; LEAVE 73 -; vmsrc/apple/a1cmd.pla: 1164: end -; vmsrc/apple/a1cmd.pla: 1165: // -; vmsrc/apple/a1cmd.pla: 1166: // Get heap start. -; vmsrc/apple/a1cmd.pla: 1167: // -; vmsrc/apple/a1cmd.pla: 1168: heap = *freemem -_INIT - JSR INTERP -; vmsrc/apple/a1cmd.pla: 1169: // -; vmsrc/apple/a1cmd.pla: 1170: // Print PLASMA version -; vmsrc/apple/a1cmd.pla: 1171: // -; vmsrc/apple/a1cmd.pla: 1172: prstr(@verstr); prbyte(version.1); cout('.'); prbyte(version.0); crout -; vmsrc/apple/a1cmd.pla: 1173: // -; vmsrc/apple/a1cmd.pla: 1174: // Init symbol table. -; vmsrc/apple/a1cmd.pla: 1175: // -; vmsrc/apple/a1cmd.pla: 1176: symtbl = allocheap($200) -; vmsrc/apple/a1cmd.pla: 1177: lastsym = symtbl -; vmsrc/apple/a1cmd.pla: 1178: ^lastsym = 0 -; vmsrc/apple/a1cmd.pla: 1179: while *syslibsym - !BYTE $6A,$06,$00 ; LAW 6 - !BYTE $7A ; SAW _D031+0 -_F180 !WORD _D031+0 - !BYTE $26 ; LA _D038+0 -_F181 !WORD _D038+0 - !BYTE $54 ; CALL _C001 -_F182 !WORD _C001 - !BYTE $68 ; LAB _D028+1 -_F183 !WORD _D028+1 - !BYTE $54 ; CALL _C004 -_F184 !WORD _C004 - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _A019 -_F185 !WORD _A019 - !BYTE $68 ; LAB _D028+0 -_F186 !WORD _D028+0 - !BYTE $54 ; CALL _C004 -_F187 !WORD _C004 - !BYTE $54 ; CALL _C000 -_F188 !WORD _C000 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C011 -_F189 !WORD _C011 - !BYTE $7E ; DAW _D032+0 -_F190 !WORD _D032+0 - !BYTE $7A ; SAW _D033+0 -_F191 !WORD _D033+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D033+0 -_F192 !WORD _D033+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B117 - !WORD _B117-* -_B115 -; vmsrc/apple/a1cmd.pla: 1180: stodci(syslibsym=>0, heap) -; vmsrc/apple/a1cmd.pla: 1181: addsym(heap, syslibsym=>2) -; vmsrc/apple/a1cmd.pla: 1182: syslibsym = syslibsym + 4 -; vmsrc/apple/a1cmd.pla: 1183: loop - !BYTE $6A ; LAW _D076+0 -_F193 !WORD _D076+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D031+0 -_F194 !WORD _D031+0 - !BYTE $54 ; CALL _A013 -_F195 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D031+0 -_F196 !WORD _D031+0 - !BYTE $6A ; LAW _D076+0 -_F197 !WORD _D076+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C016 -_F198 !WORD _C016 - !BYTE $6A ; LAW _D076+0 -_F199 !WORD _D076+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D076+0 -_F200 !WORD _D076+0 -_B117 - !BYTE $6A ; LAW _D076+0 -_F201 !WORD _D076+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B115 - !WORD _B115-* -_B116 -; vmsrc/apple/a1cmd.pla: 1184: // -; vmsrc/apple/a1cmd.pla: 1185: // Try to load autorun. -; vmsrc/apple/a1cmd.pla: 1186: // -; vmsrc/apple/a1cmd.pla: 1187: cmdptr = heap -; vmsrc/apple/a1cmd.pla: 1188: memset(cmdptr, 0, 128) -; vmsrc/apple/a1cmd.pla: 1189: readfile(@autorun, cmdptr + 1) -; vmsrc/apple/a1cmd.pla: 1190: while ^(cmdptr + ^cmdptr + 1) >= ' ' - !BYTE $6A ; LAW _D031+0 -_F202 !WORD _D031+0 - !BYTE $7E ; DAW _D046+0 -_F203 !WORD _D046+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _A003 -_F204 !WORD _A003 - !BYTE $26 ; LA _D037+0 -_F205 !WORD _D037+0 - !BYTE $6A ; LAW _D046+0 -_F206 !WORD _D046+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C009 -_F207 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B118 -; vmsrc/apple/a1cmd.pla: 1191: ^cmdptr++ - !BYTE $6A ; LAW _D046+0 -_F208 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR -; vmsrc/apple/a1cmd.pla: 1192: loop - !BYTE $6A ; LAW _D046+0 -_F209 !WORD _D046+0 - !BYTE $70 ; SB -_B120 - !BYTE $6A ; LAW _D046+0 -_F210 !WORD _D046+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B118 - !WORD _B118-* -_B119 -; vmsrc/apple/a1cmd.pla: 1193: perr = 0 -; vmsrc/apple/a1cmd.pla: 1194: // -; vmsrc/apple/a1cmd.pla: 1195: // Print some startup info. -; vmsrc/apple/a1cmd.pla: 1196: // -; vmsrc/apple/a1cmd.pla: 1197: if not ^cmdptr -; vmsrc/apple/a1cmd.pla: 1198: prstr(@freestr) -; vmsrc/apple/a1cmd.pla: 1199: prword(availheap) -; vmsrc/apple/a1cmd.pla: 1200: crout -; vmsrc/apple/a1cmd.pla: 1201: fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F211 !WORD _D034+0 - !BYTE $6A ; LAW _D046+0 -_F212 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B121 - !WORD _B121-* - !BYTE $26 ; LA _D039+0 -_F213 !WORD _D039+0 - !BYTE $54 ; CALL _C001 -_F214 !WORD _C001 - !BYTE $54 ; CALL _C010 -_F215 !WORD _C010 - !BYTE $54 ; CALL _C005 -_F216 !WORD _C005 - !BYTE $54 ; CALL _C000 -_F217 !WORD _C000 -_B121 -_B122 -; vmsrc/apple/a1cmd.pla: 1202: // -; vmsrc/apple/a1cmd.pla: 1203: // Handle commands. -; vmsrc/apple/a1cmd.pla: 1204: // -; vmsrc/apple/a1cmd.pla: 1205: while 1 - !BYTE $50 ; BRNCH _B125 - !WORD _B125-* -_B123 -; vmsrc/apple/a1cmd.pla: 1206: if ^cmdptr -; vmsrc/apple/a1cmd.pla: 1207: when toupper(parsecmd(cmdptr)) - !BYTE $6A ; LAW _D046+0 -_F218 !WORD _D046+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B126 - !WORD _B126-* - !BYTE $6A ; LAW _D046+0 -_F219 !WORD _D046+0 - !BYTE $54 ; CALL _C023 -_F220 !WORD _C023 - !BYTE $54 ; CALL _A014 -_F221 !WORD _A014 - !BYTE $52 ; SEL - !WORD _B129-* -; vmsrc/apple/a1cmd.pla: 1208: is 'Q' -_B130 -; vmsrc/apple/a1cmd.pla: 1209: quit -; vmsrc/apple/a1cmd.pla: 1210: break - !BYTE $54 ; CALL _A002 -_F222 !WORD _A002 - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; vmsrc/apple/a1cmd.pla: 1211: is 'M' -_B131 -; vmsrc/apple/a1cmd.pla: 1212: syscall($02, 0) -; vmsrc/apple/a1cmd.pla: 1213: break - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A000 -_F223 !WORD _A000 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; vmsrc/apple/a1cmd.pla: 1214: is '+' -_B132 -; vmsrc/apple/a1cmd.pla: 1215: execmod(cmdptr) -; vmsrc/apple/a1cmd.pla: 1216: break - !BYTE $6A ; LAW _D046+0 -_F224 !WORD _D046+0 - !BYTE $54 ; CALL _C024 -_F225 !WORD _C024 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; vmsrc/apple/a1cmd.pla: 1217: otherwise -_B129 - !BYTE $03 ; CASEBLOCK - !WORD $002B - !WORD _B132-* - !WORD $004D - !WORD _B131-* - !WORD $0051 - !WORD _B130-* -; vmsrc/apple/a1cmd.pla: 1218: prstr(@huhstr) -; vmsrc/apple/a1cmd.pla: 1219: wend - !BYTE $26 ; LA _D043+0 -_F226 !WORD _D043+0 - !BYTE $54 ; CALL _C001 -_F227 !WORD _C001 -_B128 -; vmsrc/apple/a1cmd.pla: 1220: if perr -; vmsrc/apple/a1cmd.pla: 1221: prstr(@errorstr) -; vmsrc/apple/a1cmd.pla: 1222: prbyte(perr) -; vmsrc/apple/a1cmd.pla: 1223: perr = 0 -; vmsrc/apple/a1cmd.pla: 1224: else - !BYTE $68 ; LAB _D034+0 -_F228 !WORD _D034+0 - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $26 ; LA _D040+0 -_F229 !WORD _D040+0 - !BYTE $54 ; CALL _C001 -_F230 !WORD _C001 - !BYTE $68 ; LAB _D034+0 -_F231 !WORD _D034+0 - !BYTE $54 ; CALL _C004 -_F232 !WORD _C004 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F233 !WORD _D034+0 - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B133 -; vmsrc/apple/a1cmd.pla: 1225: prstr(@okstr) -; vmsrc/apple/a1cmd.pla: 1226: fin - !BYTE $26 ; LA _D042+0 -_F234 !WORD _D042+0 - !BYTE $54 ; CALL _C001 -_F235 !WORD _C001 -_B134 -; vmsrc/apple/a1cmd.pla: 1227: crout() -; vmsrc/apple/a1cmd.pla: 1228: fin - !BYTE $54 ; CALL _C000 -_F236 !WORD _C000 -_B126 -_B127 -; vmsrc/apple/a1cmd.pla: 1229: prstr(@prompt) -; vmsrc/apple/a1cmd.pla: 1230: cmdptr = rdstr($BA) -; vmsrc/apple/a1cmd.pla: 1231: loop - !BYTE $26 ; LA _D041+0 -_F237 !WORD _D041+0 - !BYTE $54 ; CALL _C001 -_F238 !WORD _C001 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _C003 -_F239 !WORD _C003 - !BYTE $7A ; SAW _D046+0 -_F240 !WORD _D046+0 -_B125 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B124 -; vmsrc/apple/a1cmd.pla: 1232: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/apple/cmd.a b/src/vmsrc/apple/cmd.a deleted file mode 100644 index 7feab4b..0000000 --- a/src/vmsrc/apple/cmd.a +++ /dev/null @@ -1,4078 +0,0 @@ -; ACME COMPATIBLE OUTPUT - JMP _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/cmd.pla: 0001: -; vmsrc/apple/cmd.pla: 0002: const MACHID = $BF98 - ; MACHID = 49048 -; vmsrc/apple/cmd.pla: 0003: const RELADDR = $1000 - ; RELADDR = 4096 -; vmsrc/apple/cmd.pla: 0004: const iobuffer = $0800 - ; iobuffer = 2048 -; vmsrc/apple/cmd.pla: 0005: const symtbl = $DA00 - ; symtbl = 55808 -; vmsrc/apple/cmd.pla: 0006: const getlnbuf = $01FF - ; getlnbuf = 511 -; vmsrc/apple/cmd.pla: 0007: const CSW = $36 - ; CSW = 54 -; vmsrc/apple/cmd.pla: 0008: const KSW = $38 - ; KSW = 56 -; vmsrc/apple/cmd.pla: 0009: // -; vmsrc/apple/cmd.pla: 0010: // System flags: memory allocator screen holes. -; vmsrc/apple/cmd.pla: 0011: // -; vmsrc/apple/cmd.pla: 0012: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/cmd.pla: 0013: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/cmd.pla: 0014: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/cmd.pla: 0015: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/cmd.pla: 0016: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/cmd.pla: 0017: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/cmd.pla: 0018: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/cmd.pla: 0019: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/cmd.pla: 0020: // -; vmsrc/apple/cmd.pla: 0021: // Module don't free memory -; vmsrc/apple/cmd.pla: 0022: // -; vmsrc/apple/cmd.pla: 0023: const modflagkeep = $1000 - ; modflagkeep = 4096 -; vmsrc/apple/cmd.pla: 0024: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/cmd.pla: 0025: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/cmd.pla: 0026: // -; vmsrc/apple/cmd.pla: 0027: // 80 column flag -; vmsrc/apple/cmd.pla: 0028: // -; vmsrc/apple/cmd.pla: 0029: const vid80col = $0800 - ; vid80col = 2048 -; vmsrc/apple/cmd.pla: 0030: // -; vmsrc/apple/cmd.pla: 0031: // Machine ID values -; vmsrc/apple/cmd.pla: 0032: // -; vmsrc/apple/cmd.pla: 0033: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; vmsrc/apple/cmd.pla: 0034: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; vmsrc/apple/cmd.pla: 0035: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; vmsrc/apple/cmd.pla: 0036: const MACHID_64K = $20 - ; MACHID_64K = 32 -; vmsrc/apple/cmd.pla: 0037: const MACHID_128K = $30 - ; MACHID_128K = 48 -; vmsrc/apple/cmd.pla: 0038: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; vmsrc/apple/cmd.pla: 0039: const MACHID_II = $00 - ; MACHID_II = 0 -; vmsrc/apple/cmd.pla: 0040: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; vmsrc/apple/cmd.pla: 0041: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; vmsrc/apple/cmd.pla: 0042: const MACHID_III = $C0 - ; MACHID_III = 192 -; vmsrc/apple/cmd.pla: 0043: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; vmsrc/apple/cmd.pla: 0044: const MACHID_I = $08 - ; MACHID_I = 8 -; vmsrc/apple/cmd.pla: 0045: // -; vmsrc/apple/cmd.pla: 0046: // Prefix commands -; vmsrc/apple/cmd.pla: 0047: // -; vmsrc/apple/cmd.pla: 0048: const GET_PFX = $C7 - ; GET_PFX = 199 -; vmsrc/apple/cmd.pla: 0049: const SET_PFX = $C6 - ; SET_PFX = 198 -; vmsrc/apple/cmd.pla: 0050: // -; vmsrc/apple/cmd.pla: 0051: // Pedefined functions. -; vmsrc/apple/cmd.pla: 0052: // -; vmsrc/apple/cmd.pla: 0053: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/cmd.pla: 0054: predef crout()#0, cout(c)#0, prstr(s)#0, prbyte(b)#0, prword(w)#0, print(i)#0, cin()#1, rdstr(p)#1, toupper(c)#1 -; vmsrc/apple/cmd.pla: 0055: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#1, releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/cmd.pla: 0056: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/cmd.pla: 0057: predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1, sext(a)#1, divmod(a,b)#2 -; vmsrc/apple/cmd.pla: 0058: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1 -; vmsrc/apple/cmd.pla: 0059: predef lookuptbl(dci)#1, execsys(sysfile)#0 -; vmsrc/apple/cmd.pla: 0060: // -; vmsrc/apple/cmd.pla: 0061: // Exported CMDSYS table -; vmsrc/apple/cmd.pla: 0062: // -; vmsrc/apple/cmd.pla: 0063: word version = $0221 // 02.21 -_D032 ; version = $0221 // 02.21 - !WORD $0221 -; vmsrc/apple/cmd.pla: 0064: word syspath -_D033 !FILL 2 ; syspath -; vmsrc/apple/cmd.pla: 0065: word syscmdln -_D034 !FILL 2 ; syscmdln -; vmsrc/apple/cmd.pla: 0066: word = @execmod, @open, @close, @read, 0 -_F000 !WORD _P026 -_F001 !WORD _P027 -_F002 !WORD _P028 -_F003 !WORD _P029 - !WORD $0000 -; vmsrc/apple/cmd.pla: 0067: byte perr -_D035 !FILL 1 ; perr -; vmsrc/apple/cmd.pla: 0068: byte jitcount = 0 -_D036 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/cmd.pla: 0069: byte jitsize = 0 -_D037 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/cmd.pla: 0070: word = @execsys // Different between Apple II and /// -_F004 !WORD _P031 -; vmsrc/apple/cmd.pla: 0071: word = @lookuptbl -_F005 !WORD _P030 -; vmsrc/apple/cmd.pla: 0072: word systemflags = 0 -_D038 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/cmd.pla: 0073: // -; vmsrc/apple/cmd.pla: 0074: // Working input buffer overlayed with strings table -; vmsrc/apple/cmd.pla: 0075: // -; vmsrc/apple/cmd.pla: 0076: byte cmdln = "" -_D039 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/cmd.pla: 0077: // -; vmsrc/apple/cmd.pla: 0078: // Name for auto-run file (must follow cmdln) -; vmsrc/apple/cmd.pla: 0079: // -; vmsrc/apple/cmd.pla: 0080: byte autorun = "AUTORUN" -_D040 ; autorun = "AUTORUN" - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E -; vmsrc/apple/cmd.pla: 0081: // -; vmsrc/apple/cmd.pla: 0082: // Standard Library exported functions. -; vmsrc/apple/cmd.pla: 0083: // -; vmsrc/apple/cmd.pla: 0084: byte sysmodstr = "CMDSYS" -_D041 ; sysmodstr = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/cmd.pla: 0085: byte putsstr = "PUTS" -_D042 ; putsstr = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/cmd.pla: 0086: byte putistr = "PUTI" -_D043 ; putistr = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/cmd.pla: 0087: byte putcstr = "PUTC" -_D044 ; putcstr = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/cmd.pla: 0088: byte putlnstr = "PUTLN" -_D045 ; putlnstr = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/cmd.pla: 0089: byte putbstr = "PUTB" -_D046 ; putbstr = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/cmd.pla: 0090: byte putwstr = "PUTH" -_D047 ; putwstr = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/cmd.pla: 0091: byte getcstr = "GETC" -_D048 ; getcstr = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/cmd.pla: 0092: byte getsstr = "GETS" -_D049 ; getsstr = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/cmd.pla: 0093: byte toupstr = "TOUPPER" -_D050 ; toupstr = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/cmd.pla: 0094: byte strcpystr = "STRCPY" -_D051 ; strcpystr = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/cmd.pla: 0095: byte strcatstr = "STRCAT" -_D052 ; strcatstr = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/cmd.pla: 0096: byte hpmarkstr = "HEAPMARK" -_D053 ; hpmarkstr = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/cmd.pla: 0097: byte hpalignstr = "HEAPALLOCALIGN" -_D054 ; hpalignstr = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/cmd.pla: 0098: byte hpallocstr = "HEAPALLOC" -_D055 ; hpallocstr = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/cmd.pla: 0099: byte hprelstr = "HEAPRELEASE" -_D056 ; hprelstr = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/cmd.pla: 0100: byte hpavlstr = "HEAPAVAIL" -_D057 ; hpavlstr = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/cmd.pla: 0101: word memsetstr = "MEMSET" -_D058 ; memsetstr = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/cmd.pla: 0102: byte memcpystr = "MEMCPY" -_D059 ; memcpystr = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/cmd.pla: 0103: byte uisgtstr = "ISUGT" -_D060 ; uisgtstr = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/cmd.pla: 0104: byte uisgestr = "ISUGE" -_D061 ; uisgestr = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/cmd.pla: 0105: byte uisltstr = "ISULT" -_D062 ; uisltstr = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/cmd.pla: 0106: byte uislestr = "ISULE" -_D063 ; uislestr = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/cmd.pla: 0107: byte sextstr = "SEXT" -_D064 ; sextstr = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/cmd.pla: 0108: byte divmodstr = "DIVMOD" -_D065 ; divmodstr = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/cmd.pla: 0109: byte machidstr = "MACHID" -_D066 ; machidstr = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/cmd.pla: 0110: byte sysstr = "SYSCALL" -_D067 ; sysstr = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/cmd.pla: 0111: byte callstr = "CALL" -_D068 ; callstr = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/cmd.pla: 0112: word exports = @sysmodstr, @version -_D069 ; exports = @sysmodstr, @version -_F006 !WORD _D041 -_F007 !WORD _D032 -; vmsrc/apple/cmd.pla: 0113: word = @sysstr, @syscall -_F008 !WORD _D067 -_F009 !WORD _P000 -; vmsrc/apple/cmd.pla: 0114: word = @callstr, @call -_F010 !WORD _D068 -_F011 !WORD _P001 -; vmsrc/apple/cmd.pla: 0115: word = @putcstr, @cout -_F012 !WORD _D044 -_F013 !WORD _P003 -; vmsrc/apple/cmd.pla: 0116: word = @putlnstr, @crout -_F014 !WORD _D045 -_F015 !WORD _P002 -; vmsrc/apple/cmd.pla: 0117: word = @putsstr, @prstr -_F016 !WORD _D042 -_F017 !WORD _P004 -; vmsrc/apple/cmd.pla: 0118: word = @putbstr, @prbyte -_F018 !WORD _D046 -_F019 !WORD _P005 -; vmsrc/apple/cmd.pla: 0119: word = @putwstr, @prword -_F020 !WORD _D047 -_F021 !WORD _P006 -; vmsrc/apple/cmd.pla: 0120: word = @putistr, @print -_F022 !WORD _D043 -_F023 !WORD _P007 -; vmsrc/apple/cmd.pla: 0121: word = @getcstr, @cin -_F024 !WORD _D048 -_F025 !WORD _P008 -; vmsrc/apple/cmd.pla: 0122: word = @getsstr, @rdstr -_F026 !WORD _D049 -_F027 !WORD _P009 -; vmsrc/apple/cmd.pla: 0123: word = @toupstr, @toupper -_F028 !WORD _D050 -_F029 !WORD _P010 -; vmsrc/apple/cmd.pla: 0124: word = @hpmarkstr, @markheap -_F030 !WORD _D053 -_F031 !WORD _P011 -; vmsrc/apple/cmd.pla: 0125: byte sysmods[] // overlay with exported strings -_D070 ; sysmods[] // overlay with exported strings -; vmsrc/apple/cmd.pla: 0126: word = @hpallocstr,@allocheap -_F032 !WORD _D055 -_F033 !WORD _P012 -; vmsrc/apple/cmd.pla: 0127: word = @hpalignstr,@allocalignheap -_F034 !WORD _D054 -_F035 !WORD _P013 -; vmsrc/apple/cmd.pla: 0128: word = @hprelstr, @releaseheap -_F036 !WORD _D056 -_F037 !WORD _P014 -; vmsrc/apple/cmd.pla: 0129: word = @hpavlstr, @availheap -_F038 !WORD _D057 -_F039 !WORD _P015 -; vmsrc/apple/cmd.pla: 0130: word = @memsetstr, @memset -_F040 !WORD _D058 -_F041 !WORD _P016 -; vmsrc/apple/cmd.pla: 0131: word = @memcpystr, @memcpy -_F042 !WORD _D059 -_F043 !WORD _P017 -; vmsrc/apple/cmd.pla: 0132: word = @uisgtstr, @uword_isgt -_F044 !WORD _D060 -_F045 !WORD _P020 -; vmsrc/apple/cmd.pla: 0133: word = @uisgestr, @uword_isge -_F046 !WORD _D061 -_F047 !WORD _P021 -; vmsrc/apple/cmd.pla: 0134: word = @uisltstr, @uword_islt -_F048 !WORD _D062 -_F049 !WORD _P022 -; vmsrc/apple/cmd.pla: 0135: word = @uislestr, @uword_isle -_F050 !WORD _D063 -_F051 !WORD _P023 -; vmsrc/apple/cmd.pla: 0136: word = @strcpystr, @strcpy -_F052 !WORD _D051 -_F053 !WORD _P018 -; vmsrc/apple/cmd.pla: 0137: word = @strcatstr, @strcat -_F054 !WORD _D052 -_F055 !WORD _P019 -; vmsrc/apple/cmd.pla: 0138: word = @sextstr, @sext -_F056 !WORD _D064 -_F057 !WORD _P024 -; vmsrc/apple/cmd.pla: 0139: word = @divmodstr, @divmod -_F058 !WORD _D065 -_F059 !WORD _P025 -; vmsrc/apple/cmd.pla: 0140: word = @machidstr, MACHID -_F060 !WORD _D066 - !WORD $BF98 -; vmsrc/apple/cmd.pla: 0141: word = 0 - !WORD $0000 -; vmsrc/apple/cmd.pla: 0142: word sysmodsym = @exports -_D071 ; sysmodsym = @exports -_F061 !WORD _D069 -; vmsrc/apple/cmd.pla: 0143: // -; vmsrc/apple/cmd.pla: 0144: // System variable. -; vmsrc/apple/cmd.pla: 0145: // -; vmsrc/apple/cmd.pla: 0146: word heap -_D072 !FILL 2 ; heap -; vmsrc/apple/cmd.pla: 0147: word lastsym = symtbl -_D073 ; lastsym = symtbl - !WORD $DA00 -; vmsrc/apple/cmd.pla: 0148: // -; vmsrc/apple/cmd.pla: 0149: // Utility functions -; vmsrc/apple/cmd.pla: 0150: // -; vmsrc/apple/cmd.pla: 0151: //asm equates included from cmdstub.s -; vmsrc/apple/cmd.pla: 0152: // -; vmsrc/apple/cmd.pla: 0153: // CALL PRODOS -; vmsrc/apple/cmd.pla: 0154: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/cmd.pla: 0155: // -; vmsrc/apple/cmd.pla: 0156: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/cmd.pla: 0157: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0158: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/cmd.pla: 0159: STA PARAMS - STA PARAMS -; vmsrc/apple/cmd.pla: 0160: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/cmd.pla: 0161: INX - INX -; vmsrc/apple/cmd.pla: 0162: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0163: STA CMD - STA CMD -; vmsrc/apple/cmd.pla: 0164: JSR $BF00 - JSR $BF00 -; vmsrc/apple/cmd.pla: 0165: CMD: !BYTE 00 -CMD: !BYTE 00 -; vmsrc/apple/cmd.pla: 0166: PARAMS: !WORD 0000 -PARAMS: !WORD 0000 -; vmsrc/apple/cmd.pla: 0167: ; LDY #$00 -; LDY #$00 -; vmsrc/apple/cmd.pla: 0168: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0169: ; STY ESTKH,X -; STY ESTKH,X -; vmsrc/apple/cmd.pla: 0170: RTS - RTS -; vmsrc/apple/cmd.pla: 0171: end -; vmsrc/apple/cmd.pla: 0172: // -; vmsrc/apple/cmd.pla: 0173: // CALL 6502 ROUTINE -; vmsrc/apple/cmd.pla: 0174: // CALL(ADDR, AREG, XREG, YREG, STATUS) -; vmsrc/apple/cmd.pla: 0175: // -; vmsrc/apple/cmd.pla: 0176: asm call(addr,areg,xreg,yreg,status)#1 -_P001 ; call(addr,areg,xreg,yreg,status)#1() -_A001 ; call() -; vmsrc/apple/cmd.pla: 0177: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/cmd.pla: 0178: PHP - PHP -; vmsrc/apple/cmd.pla: 0179: LDA ESTKL+4,X - LDA ESTKL+4,X -; vmsrc/apple/cmd.pla: 0180: STA TMPL - STA TMPL -; vmsrc/apple/cmd.pla: 0181: LDA ESTKH+4,X - LDA ESTKH+4,X -; vmsrc/apple/cmd.pla: 0182: STA TMPH - STA TMPH -; vmsrc/apple/cmd.pla: 0183: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0184: PHA - PHA -; vmsrc/apple/cmd.pla: 0185: LDY ESTKL+1,X - LDY ESTKL+1,X -; vmsrc/apple/cmd.pla: 0186: LDA ESTKL+3,X - LDA ESTKL+3,X -; vmsrc/apple/cmd.pla: 0187: PHA - PHA -; vmsrc/apple/cmd.pla: 0188: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmd.pla: 0189: INX - INX -; vmsrc/apple/cmd.pla: 0190: INX - INX -; vmsrc/apple/cmd.pla: 0191: INX - INX -; vmsrc/apple/cmd.pla: 0192: INX - INX -; vmsrc/apple/cmd.pla: 0193: STX ESP - STX ESP -; vmsrc/apple/cmd.pla: 0194: TAX - TAX -; vmsrc/apple/cmd.pla: 0195: PLA - PLA -; vmsrc/apple/cmd.pla: 0196: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0197: PLP - PLP -; vmsrc/apple/cmd.pla: 0198: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/cmd.pla: 0199: PHP - PHP -; vmsrc/apple/cmd.pla: 0200: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0201: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/cmd.pla: 0202: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/cmd.pla: 0203: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/cmd.pla: 0204: PLA - PLA -; vmsrc/apple/cmd.pla: 0205: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/cmd.pla: 0206: LDX ESP - LDX ESP -; vmsrc/apple/cmd.pla: 0207: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/cmd.pla: 0209: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0210: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0211: PLP - PLP -; vmsrc/apple/cmd.pla: 0212: RTS - RTS -; vmsrc/apple/cmd.pla: 0213: end -; vmsrc/apple/cmd.pla: 0214: // -; vmsrc/apple/cmd.pla: 0215: // CALL LOADED SYSTEM PROGRAM -; vmsrc/apple/cmd.pla: 0216: // -; vmsrc/apple/cmd.pla: 0217: asm exec()#0 -_A002 ; exec() -; vmsrc/apple/cmd.pla: 0218: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0219: JMP $2000 - JMP $2000 -; vmsrc/apple/cmd.pla: 0220: end -; vmsrc/apple/cmd.pla: 0221: // -; vmsrc/apple/cmd.pla: 0222: // SET MEMORY TO VALUE -; vmsrc/apple/cmd.pla: 0223: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/cmd.pla: 0224: // With optimizations from Peter Ferrie -; vmsrc/apple/cmd.pla: 0225: // -; vmsrc/apple/cmd.pla: 0226: asm memset(addr,value,size)#0 -_P016 ; memset(addr,value,size)#0() -_A003 ; memset() -; vmsrc/apple/cmd.pla: 0227: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmd.pla: 0228: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0229: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/cmd.pla: 0230: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0231: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/cmd.pla: 0232: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0233: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/cmd.pla: 0234: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0235: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0236: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/cmd.pla: 0237: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/cmd.pla: 0238: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0239: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/cmd.pla: 0240: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/cmd.pla: 0241: BEQ ++ - BEQ ++ -; vmsrc/apple/cmd.pla: 0242: - INY -- INY -; vmsrc/apple/cmd.pla: 0243: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0244: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/cmd.pla: 0245: SEC - SEC -; vmsrc/apple/cmd.pla: 0246: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0247: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/cmd.pla: 0248: + INC DSTH -+ INC DSTH -; vmsrc/apple/cmd.pla: 0249: BNE -- - BNE -- -; vmsrc/apple/cmd.pla: 0250: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/cmd.pla: 0251: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0252: SETMEX INX -SETMEX INX -; vmsrc/apple/cmd.pla: 0253: INX - INX -; vmsrc/apple/cmd.pla: 0254: INX - INX -; vmsrc/apple/cmd.pla: 0255: RTS - RTS -; vmsrc/apple/cmd.pla: 0256: end -; vmsrc/apple/cmd.pla: 0257: // -; vmsrc/apple/cmd.pla: 0258: // COPY MEMORY -; vmsrc/apple/cmd.pla: 0259: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/cmd.pla: 0260: // -; vmsrc/apple/cmd.pla: 0261: asm memcpy(dst,src,size)#0 -_P017 ; memcpy(dst,src,size)#0() -_A004 ; memcpy() -; vmsrc/apple/cmd.pla: 0262: INX - INX -; vmsrc/apple/cmd.pla: 0263: INX - INX -; vmsrc/apple/cmd.pla: 0264: INX - INX -; vmsrc/apple/cmd.pla: 0265: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0266: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/cmd.pla: 0267: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/cmd.pla: 0268: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmd.pla: 0269: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/cmd.pla: 0270: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmd.pla: 0271: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/cmd.pla: 0272: BCC REVCPY - BCC REVCPY -; vmsrc/apple/cmd.pla: 0273: ; -; vmsrc/apple/cmd.pla: 0274: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/cmd.pla: 0275: ; -; vmsrc/apple/cmd.pla: 0276: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/cmd.pla: 0277: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0278: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/cmd.pla: 0279: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0280: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmd.pla: 0281: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0282: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmd.pla: 0283: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0284: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/cmd.pla: 0285: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/cmd.pla: 0286: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0287: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0288: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0289: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0290: INY - INY -; vmsrc/apple/cmd.pla: 0291: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0292: INC DSTH - INC DSTH -; vmsrc/apple/cmd.pla: 0293: INC SRCH - INC SRCH -; vmsrc/apple/cmd.pla: 0294: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmd.pla: 0295: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmd.pla: 0296: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0297: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmd.pla: 0298: RTS - RTS -; vmsrc/apple/cmd.pla: 0299: ; -; vmsrc/apple/cmd.pla: 0300: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/cmd.pla: 0301: ; -; vmsrc/apple/cmd.pla: 0302: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/cmd.pla: 0303: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0304: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/cmd.pla: 0305: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0306: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmd.pla: 0307: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/cmd.pla: 0308: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0309: CLC - CLC -; vmsrc/apple/cmd.pla: 0310: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0311: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/cmd.pla: 0312: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0313: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmd.pla: 0314: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/cmd.pla: 0315: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0316: DEC DSTH - DEC DSTH -; vmsrc/apple/cmd.pla: 0317: DEC SRCH - DEC SRCH -; vmsrc/apple/cmd.pla: 0318: LDY #$FF - LDY #$FF -; vmsrc/apple/cmd.pla: 0319: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmd.pla: 0320: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/cmd.pla: 0321: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0322: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0323: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0324: DEY - DEY -; vmsrc/apple/cmd.pla: 0325: CPY #$FF - CPY #$FF -; vmsrc/apple/cmd.pla: 0326: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0327: DEC DSTH - DEC DSTH -; vmsrc/apple/cmd.pla: 0328: DEC SRCH - DEC SRCH -; vmsrc/apple/cmd.pla: 0329: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmd.pla: 0330: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmd.pla: 0331: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmd.pla: 0332: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmd.pla: 0333: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/cmd.pla: 0334: end -; vmsrc/apple/cmd.pla: 0335: asm crout()#0 -_P002 ; crout()#0() -_A005 ; crout() -; vmsrc/apple/cmd.pla: 0336: LDA #$8D - LDA #$8D -; vmsrc/apple/cmd.pla: 0337: BNE ++ - BNE ++ -; vmsrc/apple/cmd.pla: 0338: end -; vmsrc/apple/cmd.pla: 0339: // -; vmsrc/apple/cmd.pla: 0340: // CHAR OUT -; vmsrc/apple/cmd.pla: 0341: // COUT(CHAR) -; vmsrc/apple/cmd.pla: 0342: // -; vmsrc/apple/cmd.pla: 0343: asm cout(c)#0 -_P003 ; cout(c)#0() -_A006 ; cout() -; vmsrc/apple/cmd.pla: 0344: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0345: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmd.pla: 0346: BMI + - BMI + -; vmsrc/apple/cmd.pla: 0347: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0348: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmd.pla: 0349: INX - INX -; vmsrc/apple/cmd.pla: 0350: ++ BIT ROMEN -++ BIT ROMEN -; vmsrc/apple/cmd.pla: 0351: JSR $FDED - JSR $FDED -; vmsrc/apple/cmd.pla: 0352: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0353: RTS - RTS -; vmsrc/apple/cmd.pla: 0354: end -; vmsrc/apple/cmd.pla: 0355: // -; vmsrc/apple/cmd.pla: 0356: // CHAR IN -; vmsrc/apple/cmd.pla: 0357: // RDKEY() -; vmsrc/apple/cmd.pla: 0358: // -; vmsrc/apple/cmd.pla: 0359: asm cin()#1 -_P008 ; cin()#1() -_A007 ; cin() -; vmsrc/apple/cmd.pla: 0360: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0361: JSR $FD0C - JSR $FD0C -; vmsrc/apple/cmd.pla: 0362: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0363: DEX - DEX -; vmsrc/apple/cmd.pla: 0364: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0365: AND #$7F - AND #$7F -; vmsrc/apple/cmd.pla: 0366: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0367: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0368: RTS - RTS -; vmsrc/apple/cmd.pla: 0369: end -; vmsrc/apple/cmd.pla: 0370: // -; vmsrc/apple/cmd.pla: 0371: // PRINT STRING -; vmsrc/apple/cmd.pla: 0372: // PRSTR(STR) -; vmsrc/apple/cmd.pla: 0373: // -; vmsrc/apple/cmd.pla: 0374: asm prstr(s)#0 -_P004 ; prstr(s)#0() -_A008 ; prstr() -; vmsrc/apple/cmd.pla: 0375: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0376: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0377: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0378: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0379: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0380: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0381: BEQ ++ - BEQ ++ -; vmsrc/apple/cmd.pla: 0382: STA TMP - STA TMP -; vmsrc/apple/cmd.pla: 0383: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0384: - INY -- INY -; vmsrc/apple/cmd.pla: 0385: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0386: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmd.pla: 0387: BMI + - BMI + -; vmsrc/apple/cmd.pla: 0388: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0389: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmd.pla: 0390: JSR $FDED - JSR $FDED -; vmsrc/apple/cmd.pla: 0391: CPY TMP - CPY TMP -; vmsrc/apple/cmd.pla: 0392: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0393: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0394: ++ INX -++ INX -; vmsrc/apple/cmd.pla: 0395: RTS - RTS -; vmsrc/apple/cmd.pla: 0396: end -; vmsrc/apple/cmd.pla: 0397: // -; vmsrc/apple/cmd.pla: 0398: // PRINT WORD -; vmsrc/apple/cmd.pla: 0399: // -; vmsrc/apple/cmd.pla: 0400: asm prword(w)#0 -_P006 ; prword(w)#0() -_A009 ; prword() -; vmsrc/apple/cmd.pla: 0401: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0402: JSR + - JSR + -; vmsrc/apple/cmd.pla: 0403: DEX - DEX -; vmsrc/apple/cmd.pla: 0404: ; FALL THROUGH TO PRBYTE - ; FALL THROUGH TO PRBYTE -; vmsrc/apple/cmd.pla: 0405: end -; vmsrc/apple/cmd.pla: 0406: // -; vmsrc/apple/cmd.pla: 0407: // PRINT BYTE -; vmsrc/apple/cmd.pla: 0408: // -; vmsrc/apple/cmd.pla: 0409: asm prbyte(b)#0 -_P005 ; prbyte(b)#0() -_A010 ; prbyte() -; vmsrc/apple/cmd.pla: 0410: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0411: + STX ESP -+ STX ESP -; vmsrc/apple/cmd.pla: 0412: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0413: JSR $FDDA - JSR $FDDA -; vmsrc/apple/cmd.pla: 0414: LDX ESP - LDX ESP -; vmsrc/apple/cmd.pla: 0415: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0416: INX - INX -; vmsrc/apple/cmd.pla: 0417: RTS - RTS -; vmsrc/apple/cmd.pla: 0418: end -; vmsrc/apple/cmd.pla: 0419: // -; vmsrc/apple/cmd.pla: 0420: // READ STRING -; vmsrc/apple/cmd.pla: 0421: // STR = RDSTR(PROMPTCHAR) -; vmsrc/apple/cmd.pla: 0422: // -; vmsrc/apple/cmd.pla: 0423: asm rdstr(p)#1 -_P009 ; rdstr(p)#1() -_A011 ; rdstr() -; vmsrc/apple/cmd.pla: 0424: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0425: STA $33 - STA $33 -; vmsrc/apple/cmd.pla: 0426: STX ESP - STX ESP -; vmsrc/apple/cmd.pla: 0427: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmd.pla: 0428: JSR $FD6A - JSR $FD6A -; vmsrc/apple/cmd.pla: 0429: STX $01FF - STX $01FF -; vmsrc/apple/cmd.pla: 0430: - LDA $01FF,X -- LDA $01FF,X -; vmsrc/apple/cmd.pla: 0431: AND #$7F - AND #$7F -; vmsrc/apple/cmd.pla: 0432: STA $01FF,X - STA $01FF,X -; vmsrc/apple/cmd.pla: 0433: DEX - DEX -; vmsrc/apple/cmd.pla: 0434: BPL - - BPL - -; vmsrc/apple/cmd.pla: 0435: TXA - TXA -; vmsrc/apple/cmd.pla: 0436: LDX ESP - LDX ESP -; vmsrc/apple/cmd.pla: 0437: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0438: LDA #$01 - LDA #$01 -; vmsrc/apple/cmd.pla: 0439: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0440: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmd.pla: 0441: RTS - RTS -; vmsrc/apple/cmd.pla: 0442: end -; vmsrc/apple/cmd.pla: 0443: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A012 ; uword_isge() -; vmsrc/apple/cmd.pla: 0444: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0445: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmd.pla: 0446: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0447: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmd.pla: 0448: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0449: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0450: EOR #$FF - EOR #$FF -; vmsrc/apple/cmd.pla: 0451: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0452: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0453: INX - INX -; vmsrc/apple/cmd.pla: 0454: RTS - RTS -; vmsrc/apple/cmd.pla: 0455: end -; vmsrc/apple/cmd.pla: 0456: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A013 ; uword_isle() -; vmsrc/apple/cmd.pla: 0457: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0458: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmd.pla: 0459: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0460: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmd.pla: 0461: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0462: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0463: EOR #$FF - EOR #$FF -; vmsrc/apple/cmd.pla: 0464: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0465: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0466: INX - INX -; vmsrc/apple/cmd.pla: 0467: RTS - RTS -; vmsrc/apple/cmd.pla: 0468: end -; vmsrc/apple/cmd.pla: 0469: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A014 ; uword_isgt() -; vmsrc/apple/cmd.pla: 0470: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0471: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmd.pla: 0472: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0473: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmd.pla: 0474: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0475: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0476: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0477: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0478: INX - INX -; vmsrc/apple/cmd.pla: 0479: RTS - RTS -; vmsrc/apple/cmd.pla: 0480: end -; vmsrc/apple/cmd.pla: 0481: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A015 ; uword_islt() -; vmsrc/apple/cmd.pla: 0482: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0483: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmd.pla: 0484: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0485: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmd.pla: 0486: LDA #$FF - LDA #$FF -; vmsrc/apple/cmd.pla: 0487: ADC #$00 - ADC #$00 -; vmsrc/apple/cmd.pla: 0488: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0489: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0490: INX - INX -; vmsrc/apple/cmd.pla: 0491: RTS - RTS -; vmsrc/apple/cmd.pla: 0492: end -; vmsrc/apple/cmd.pla: 0493: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A016 ; divmod() -; vmsrc/apple/cmd.pla: 0494: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/cmd.pla: 0495: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/cmd.pla: 0496: end -; vmsrc/apple/cmd.pla: 0497: asm sext(a)#1 -_P024 ; sext(a)#1() -_A017 ; sext() -; vmsrc/apple/cmd.pla: 0498: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0499: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0500: BPL + - BPL + -; vmsrc/apple/cmd.pla: 0501: DEY - DEY -; vmsrc/apple/cmd.pla: 0502: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/cmd.pla: 0503: RTS - RTS -; vmsrc/apple/cmd.pla: 0504: end -; vmsrc/apple/cmd.pla: 0505: // -; vmsrc/apple/cmd.pla: 0506: // Utility routines. -; vmsrc/apple/cmd.pla: 0507: // -; vmsrc/apple/cmd.pla: 0508: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/cmd.pla: 0509: // More efficient than C or Pascal strings. -; vmsrc/apple/cmd.pla: 0510: // -; vmsrc/apple/cmd.pla: 0511: //def dcitos(dci, str) -; vmsrc/apple/cmd.pla: 0512: // byte len, c -; vmsrc/apple/cmd.pla: 0513: // len = 0 -; vmsrc/apple/cmd.pla: 0514: // repeat -; vmsrc/apple/cmd.pla: 0515: // c = (dci).[len] -; vmsrc/apple/cmd.pla: 0516: // len = len + 1 -; vmsrc/apple/cmd.pla: 0517: // (str).[len] = c & $7F -; vmsrc/apple/cmd.pla: 0518: // until !(c & $80) -; vmsrc/apple/cmd.pla: 0519: // ^str = len -; vmsrc/apple/cmd.pla: 0520: // return len -; vmsrc/apple/cmd.pla: 0521: //end -; vmsrc/apple/cmd.pla: 0522: asm dcitos(dci, str)#1 -_A018 ; dcitos() -; vmsrc/apple/cmd.pla: 0523: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0524: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0525: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0526: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0527: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0528: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0529: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0530: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0531: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0532: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0533: CMP #$80 - CMP #$80 -; vmsrc/apple/cmd.pla: 0534: AND #$7F - AND #$7F -; vmsrc/apple/cmd.pla: 0535: INY - INY -; vmsrc/apple/cmd.pla: 0536: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0537: BCS - - BCS - -; vmsrc/apple/cmd.pla: 0538: TYA - TYA -; vmsrc/apple/cmd.pla: 0539: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0540: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0541: INX - INX -; vmsrc/apple/cmd.pla: 0542: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0543: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0544: RTS - RTS -; vmsrc/apple/cmd.pla: 0545: end -; vmsrc/apple/cmd.pla: 0546: //def stodci(str, dci) -; vmsrc/apple/cmd.pla: 0547: // byte len, c -; vmsrc/apple/cmd.pla: 0548: // len = ^str -; vmsrc/apple/cmd.pla: 0549: // if len == 0 -; vmsrc/apple/cmd.pla: 0550: // return -; vmsrc/apple/cmd.pla: 0551: // fin -; vmsrc/apple/cmd.pla: 0552: // c = toupper((str).[len]) & $7F -; vmsrc/apple/cmd.pla: 0553: // len = len - 1 -; vmsrc/apple/cmd.pla: 0554: // (dci).[len] = c -; vmsrc/apple/cmd.pla: 0555: // while len -; vmsrc/apple/cmd.pla: 0556: // c = toupper((str).[len]) | $80 -; vmsrc/apple/cmd.pla: 0557: // len = len - 1 -; vmsrc/apple/cmd.pla: 0558: // (dci).[len] = c -; vmsrc/apple/cmd.pla: 0559: // loop -; vmsrc/apple/cmd.pla: 0560: // return ^str -; vmsrc/apple/cmd.pla: 0561: //end -; vmsrc/apple/cmd.pla: 0562: asm stodci(str,dci)#1 -_A019 ; stodci() -; vmsrc/apple/cmd.pla: 0563: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0564: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0565: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0566: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0567: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0568: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0569: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0570: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0571: INX - INX -; vmsrc/apple/cmd.pla: 0572: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0573: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0574: BEQ ++ - BEQ ++ -; vmsrc/apple/cmd.pla: 0575: TAY - TAY -; vmsrc/apple/cmd.pla: 0576: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0577: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0578: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0579: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0580: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmd.pla: 0581: ORA #$80 - ORA #$80 -; vmsrc/apple/cmd.pla: 0582: + DEY -+ DEY -; vmsrc/apple/cmd.pla: 0583: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmd.pla: 0584: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0585: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0586: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/cmd.pla: 0587: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0588: RTS - RTS -; vmsrc/apple/cmd.pla: 0589: end -; vmsrc/apple/cmd.pla: 0590: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A020 ; toupper() -; vmsrc/apple/cmd.pla: 0591: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0592: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/cmd.pla: 0593: CMP #'a' - CMP #'a' -; vmsrc/apple/cmd.pla: 0594: BCC + - BCC + -; vmsrc/apple/cmd.pla: 0595: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/cmd.pla: 0596: BCS + - BCS + -; vmsrc/apple/cmd.pla: 0597: SBC #$1F - SBC #$1F -; vmsrc/apple/cmd.pla: 0598: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/cmd.pla: 0599: RTS - RTS -; vmsrc/apple/cmd.pla: 0600: end -; vmsrc/apple/cmd.pla: 0601: // -; vmsrc/apple/cmd.pla: 0602: // Lookup routines. -; vmsrc/apple/cmd.pla: 0603: // -; vmsrc/apple/cmd.pla: 0604: //def lookuptbl(dci) -; vmsrc/apple/cmd.pla: 0605: // word match, tbl -; vmsrc/apple/cmd.pla: 0606: // sym = symtbl -; vmsrc/apple/cmd.pla: 0607: // while ^sym -; vmsrc/apple/cmd.pla: 0608: // match = dci -; vmsrc/apple/cmd.pla: 0609: // while ^sym == ^match -; vmsrc/apple/cmd.pla: 0610: // if !(^sym & $80) -; vmsrc/apple/cmd.pla: 0611: // return (tbl):1 -; vmsrc/apple/cmd.pla: 0612: // fin -; vmsrc/apple/cmd.pla: 0613: // tbl++ -; vmsrc/apple/cmd.pla: 0614: // match++ -; vmsrc/apple/cmd.pla: 0615: // loop -; vmsrc/apple/cmd.pla: 0616: // while (^sym & $80) -; vmsrc/apple/cmd.pla: 0617: // sym = sym + 1 -; vmsrc/apple/cmd.pla: 0618: // loop -; vmsrc/apple/cmd.pla: 0619: // sym = sym + 3 -; vmsrc/apple/cmd.pla: 0620: // loop -; vmsrc/apple/cmd.pla: 0621: // return 0 -; vmsrc/apple/cmd.pla: 0622: asm lookuptbl(dci)#1 -_P030 ; lookuptbl(dci)#1() -_A021 ; lookuptbl() -; vmsrc/apple/cmd.pla: 0623: LDA #$00 ; SYMBOL TABLE AT $DA00 - LDA #$00 ; SYMBOL TABLE AT $DA00 -; vmsrc/apple/cmd.pla: 0624: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0625: LDA #$DA - LDA #$DA -; vmsrc/apple/cmd.pla: 0626: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0627: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0628: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0629: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0630: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0631: -- LDY #$00 --- LDY #$00 -; vmsrc/apple/cmd.pla: 0632: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/cmd.pla: 0633: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0634: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/cmd.pla: 0635: BNE ++ - BNE ++ -; vmsrc/apple/cmd.pla: 0636: INY - INY -; vmsrc/apple/cmd.pla: 0637: ASL - ASL -; vmsrc/apple/cmd.pla: 0638: BCS - - BCS - -; vmsrc/apple/cmd.pla: 0639: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0640: STA ESTKL,X ; MATCH - STA ESTKL,X ; MATCH -; vmsrc/apple/cmd.pla: 0641: INY - INY -; vmsrc/apple/cmd.pla: 0642: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0643: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0644: RTS - RTS -; vmsrc/apple/cmd.pla: 0645: + STA ESTKL,X ; NO MATCH -+ STA ESTKL,X ; NO MATCH -; vmsrc/apple/cmd.pla: 0646: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0647: RTS - RTS -; vmsrc/apple/cmd.pla: 0648: ++ -++ -; vmsrc/apple/cmd.pla: 0649: - LDA (DST),Y ; NEXT ENTRY -- LDA (DST),Y ; NEXT ENTRY -; vmsrc/apple/cmd.pla: 0650: BPL + - BPL + -; vmsrc/apple/cmd.pla: 0651: INY - INY -; vmsrc/apple/cmd.pla: 0652: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0653: + TYA -+ TYA -; vmsrc/apple/cmd.pla: 0654: CLC - CLC -; vmsrc/apple/cmd.pla: 0655: ADC #$03 - ADC #$03 -; vmsrc/apple/cmd.pla: 0656: ADC DSTL - ADC DSTL -; vmsrc/apple/cmd.pla: 0657: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0658: BCC -- - BCC -- -; vmsrc/apple/cmd.pla: 0659: INC DSTH - INC DSTH -; vmsrc/apple/cmd.pla: 0660: BNE -- - BNE -- -; vmsrc/apple/cmd.pla: 0661: end -; vmsrc/apple/cmd.pla: 0662: // def lookupidx(esd, index) -; vmsrc/apple/cmd.pla: 0663: // word sym -; vmsrc/apple/cmd.pla: 0664: // while ^esd -; vmsrc/apple/cmd.pla: 0665: // sym = esd -; vmsrc/apple/cmd.pla: 0666: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/cmd.pla: 0667: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/cmd.pla: 0668: // return sym -; vmsrc/apple/cmd.pla: 0669: // fin -; vmsrc/apple/cmd.pla: 0670: // esd = esd + 3 -; vmsrc/apple/cmd.pla: 0671: // loop -; vmsrc/apple/cmd.pla: 0672: //end -; vmsrc/apple/cmd.pla: 0673: asm lookupidx(esd, index)#1 -_A022 ; lookupidx() -; vmsrc/apple/cmd.pla: 0674: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0675: STA TMPL - STA TMPL -; vmsrc/apple/cmd.pla: 0676: INX - INX -; vmsrc/apple/cmd.pla: 0677: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0678: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0679: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0680: -- STA SRCL --- STA SRCL -; vmsrc/apple/cmd.pla: 0681: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0682: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0683: BPL + - BPL + -; vmsrc/apple/cmd.pla: 0684: INY - INY -; vmsrc/apple/cmd.pla: 0685: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0686: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/cmd.pla: 0687: INY - INY -; vmsrc/apple/cmd.pla: 0688: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0689: INY - INY -; vmsrc/apple/cmd.pla: 0690: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/cmd.pla: 0691: BEQ + - BEQ + -; vmsrc/apple/cmd.pla: 0692: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0693: CMP TMPL - CMP TMPL -; vmsrc/apple/cmd.pla: 0694: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/cmd.pla: 0695: + INY -+ INY -; vmsrc/apple/cmd.pla: 0696: TYA - TYA -; vmsrc/apple/cmd.pla: 0697: SEC - SEC -; vmsrc/apple/cmd.pla: 0698: ADC SRCL - ADC SRCL -; vmsrc/apple/cmd.pla: 0699: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/cmd.pla: 0700: BCC -- - BCC -- -; vmsrc/apple/cmd.pla: 0701: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/cmd.pla: 0702: BNE --- - BNE --- -; vmsrc/apple/cmd.pla: 0703: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/cmd.pla: 0704: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0705: +++ RTS -+++ RTS -; vmsrc/apple/cmd.pla: 0706: end -; vmsrc/apple/cmd.pla: 0707: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/cmd.pla: 0708: // while deftbl->0 == $20 -; vmsrc/apple/cmd.pla: 0709: // if deftbl=>3 == addr -; vmsrc/apple/cmd.pla: 0710: // return deftbl -; vmsrc/apple/cmd.pla: 0711: // fin -; vmsrc/apple/cmd.pla: 0712: // deftbl = deftbl + 5 -; vmsrc/apple/cmd.pla: 0713: // loop -; vmsrc/apple/cmd.pla: 0714: // return 0 -; vmsrc/apple/cmd.pla: 0715: //end -; vmsrc/apple/cmd.pla: 0716: asm lookupdef(addr, deftbl)#1 -_A023 ; lookupdef() -; vmsrc/apple/cmd.pla: 0717: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0718: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0719: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0720: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0721: INX - INX -; vmsrc/apple/cmd.pla: 0722: - LDY #$00 -- LDY #$00 -; vmsrc/apple/cmd.pla: 0723: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0724: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/cmd.pla: 0725: BNE ++ - BNE ++ -; vmsrc/apple/cmd.pla: 0726: LDY #$03 - LDY #$03 -; vmsrc/apple/cmd.pla: 0727: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0728: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmd.pla: 0729: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0730: INY - INY -; vmsrc/apple/cmd.pla: 0731: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0732: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/cmd.pla: 0733: BNE + - BNE + -; vmsrc/apple/cmd.pla: 0734: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/cmd.pla: 0735: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0736: LDA SRCH - LDA SRCH -; vmsrc/apple/cmd.pla: 0737: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0738: RTS - RTS -; vmsrc/apple/cmd.pla: 0739: + LDA #$05 -+ LDA #$05 -; vmsrc/apple/cmd.pla: 0740: CLC - CLC -; vmsrc/apple/cmd.pla: 0741: ADC SRCL - ADC SRCL -; vmsrc/apple/cmd.pla: 0742: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0743: BCC - - BCC - -; vmsrc/apple/cmd.pla: 0744: INC SRCH - INC SRCH -; vmsrc/apple/cmd.pla: 0745: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0746: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/cmd.pla: 0747: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmd.pla: 0748: RTS - RTS -; vmsrc/apple/cmd.pla: 0749: end -; vmsrc/apple/cmd.pla: 0750: // -; vmsrc/apple/cmd.pla: 0751: // Reloc internal data -; vmsrc/apple/cmd.pla: 0752: // -; vmsrc/apple/cmd.pla: 0753: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/cmd.pla: 0754: // word addr, fixup -; vmsrc/apple/cmd.pla: 0755: // while ^rld -; vmsrc/apple/cmd.pla: 0756: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/cmd.pla: 0757: // return rld, addr, fixup -; vmsrc/apple/cmd.pla: 0758: // fin -; vmsrc/apple/cmd.pla: 0759: // addr = rld=>1 + modfix -; vmsrc/apple/cmd.pla: 0760: // fixup = *addr + modofst -; vmsrc/apple/cmd.pla: 0761: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/cmd.pla: 0762: // return rld, addr, fixup -; vmsrc/apple/cmd.pla: 0763: // fin -; vmsrc/apple/cmd.pla: 0764: // *addr = fixup -; vmsrc/apple/cmd.pla: 0765: // rld = rld + 4 -; vmsrc/apple/cmd.pla: 0766: // loop -; vmsrc/apple/cmd.pla: 0767: // return rld, addr, fixup -; vmsrc/apple/cmd.pla: 0768: //end -; vmsrc/apple/cmd.pla: 0769: asm reloc(modfix, modofst, bytecode, rld)#3 -_A024 ; reloc() -; vmsrc/apple/cmd.pla: 0770: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmd.pla: 0771: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0772: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmd.pla: 0773: STA SRCH - STA SRCH -; vmsrc/apple/cmd.pla: 0774: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0775: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0776: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/cmd.pla: 0777: INY - INY -; vmsrc/apple/cmd.pla: 0778: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0779: CLC - CLC -; vmsrc/apple/cmd.pla: 0780: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/cmd.pla: 0781: STA DSTL - STA DSTL -; vmsrc/apple/cmd.pla: 0782: INY - INY -; vmsrc/apple/cmd.pla: 0783: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0784: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/cmd.pla: 0785: STA DSTH - STA DSTH -; vmsrc/apple/cmd.pla: 0786: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0787: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0788: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/cmd.pla: 0789: BNE RLDEX - BNE RLDEX -; vmsrc/apple/cmd.pla: 0790: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmd.pla: 0791: BMI FIX16 - BMI FIX16 -; vmsrc/apple/cmd.pla: 0792: AND #$40 - AND #$40 -; vmsrc/apple/cmd.pla: 0793: BNE FIXMSB - BNE FIXMSB -; vmsrc/apple/cmd.pla: 0794: FIXLSB LDA (DST),Y -FIXLSB LDA (DST),Y -; vmsrc/apple/cmd.pla: 0795: CLC - CLC -; vmsrc/apple/cmd.pla: 0796: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmd.pla: 0797: CLC - CLC -; vmsrc/apple/cmd.pla: 0798: BCC FIX8 - BCC FIX8 -; vmsrc/apple/cmd.pla: 0799: FIXMSB LDY #$03 -FIXMSB LDY #$03 -; vmsrc/apple/cmd.pla: 0800: LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) - LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) -; vmsrc/apple/cmd.pla: 0801: CLC - CLC -; vmsrc/apple/cmd.pla: 0802: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmd.pla: 0803: LDY #$00 - LDY #$00 -; vmsrc/apple/cmd.pla: 0804: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0805: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/cmd.pla: 0806: CLC - CLC -; vmsrc/apple/cmd.pla: 0807: BCC FIX8 - BCC FIX8 -; vmsrc/apple/cmd.pla: 0808: FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/cmd.pla: 0809: CLC - CLC -; vmsrc/apple/cmd.pla: 0810: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmd.pla: 0811: STA TMPL - STA TMPL -; vmsrc/apple/cmd.pla: 0812: INY - INY -; vmsrc/apple/cmd.pla: 0813: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmd.pla: 0814: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/cmd.pla: 0815: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/cmd.pla: 0816: BCC + - BCC + -; vmsrc/apple/cmd.pla: 0817: STA TMPH - STA TMPH -; vmsrc/apple/cmd.pla: 0818: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/cmd.pla: 0819: LDA TMPL - LDA TMPL -; vmsrc/apple/cmd.pla: 0820: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmd.pla: 0821: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/cmd.pla: 0822: LDA TMPH - LDA TMPH -; vmsrc/apple/cmd.pla: 0823: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/cmd.pla: 0824: DEY - DEY -; vmsrc/apple/cmd.pla: 0825: LDA TMPL - LDA TMPL -; vmsrc/apple/cmd.pla: 0826: FIX8 STA (DST),Y -FIX8 STA (DST),Y -; vmsrc/apple/cmd.pla: 0827: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/cmd.pla: 0828: ; CLC -; CLC -; vmsrc/apple/cmd.pla: 0829: ADC #$04 - ADC #$04 -; vmsrc/apple/cmd.pla: 0830: STA SRCL - STA SRCL -; vmsrc/apple/cmd.pla: 0831: BCC - - BCC - -; vmsrc/apple/cmd.pla: 0832: INC SRCH - INC SRCH -; vmsrc/apple/cmd.pla: 0833: BNE - - BNE - -; vmsrc/apple/cmd.pla: 0834: RLDEX INX -RLDEX INX -; vmsrc/apple/cmd.pla: 0835: LDA TMPL - LDA TMPL -; vmsrc/apple/cmd.pla: 0836: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmd.pla: 0837: LDA TMPH - LDA TMPH -; vmsrc/apple/cmd.pla: 0838: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmd.pla: 0839: LDA DSTL - LDA DSTL -; vmsrc/apple/cmd.pla: 0840: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmd.pla: 0841: LDA DSTH - LDA DSTH -; vmsrc/apple/cmd.pla: 0842: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmd.pla: 0843: LDA SRCL - LDA SRCL -; vmsrc/apple/cmd.pla: 0844: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/cmd.pla: 0845: LDA SRCH - LDA SRCH -; vmsrc/apple/cmd.pla: 0846: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/cmd.pla: 0847: RTS - RTS -; vmsrc/apple/cmd.pla: 0848: end -; vmsrc/apple/cmd.pla: 0849: // -; vmsrc/apple/cmd.pla: 0850: // Cheap and dirty print integer -; vmsrc/apple/cmd.pla: 0851: // -; vmsrc/apple/cmd.pla: 0852: def print(i)#0 - ; i -> [0] -_P007 ; print(i)#0() -_C000 ; print() - JSR INTERP -; vmsrc/apple/cmd.pla: 0853: if i < 0; cout('-'); i = -i; fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _A006 -_F062 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; vmsrc/apple/cmd.pla: 0854: if i >= 10; print(i / 10); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _C000 -_F063 !WORD _C000 -_B003 -_B004 -; vmsrc/apple/cmd.pla: 0855: cout(i % 10 + '0') -; vmsrc/apple/cmd.pla: 0856: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A006 -_F064 !WORD _A006 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 0857: // -; vmsrc/apple/cmd.pla: 0858: // ProDOS routines -; vmsrc/apple/cmd.pla: 0859: // -; vmsrc/apple/cmd.pla: 0860: def pfxop(path, op)#1 - ; path -> [0] - ; op -> [2] -_C001 ; pfxop() - JSR INTERP -; vmsrc/apple/cmd.pla: 0861: byte params[3] - ; params -> [4] -; vmsrc/apple/cmd.pla: 0862: -; vmsrc/apple/cmd.pla: 0863: params.0 = 1 - !BYTE $58,$07,$02 ; ENTER 7,2 -; vmsrc/apple/cmd.pla: 0864: params:1 = path -; vmsrc/apple/cmd.pla: 0865: perr = syscall(op, @params) -; vmsrc/apple/cmd.pla: 0866: return path - !BYTE $02 ; CN 1 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A000 -_F065 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F066 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmd.pla: 0867: end -; vmsrc/apple/cmd.pla: 0868: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C002 ; open() - JSR INTERP -; vmsrc/apple/cmd.pla: 0869: byte params[6] - ; params -> [2] -; vmsrc/apple/cmd.pla: 0870: -; vmsrc/apple/cmd.pla: 0871: params.0 = 3 - !BYTE $58,$08,$01 ; ENTER 8,1 -; vmsrc/apple/cmd.pla: 0872: params:1 = path -; vmsrc/apple/cmd.pla: 0873: params:3 = iobuffer -; vmsrc/apple/cmd.pla: 0874: params.5 = 0 -; vmsrc/apple/cmd.pla: 0875: perr = syscall($C8, @params) -; vmsrc/apple/cmd.pla: 0876: return params.5 - !BYTE $06 ; CN 3 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $76,$05 ; SLW [5] - !BYTE $00 ; CN 0 - !BYTE $74,$07 ; SLB [7] - !BYTE $2A,$C8 ; CB 200 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F067 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F068 !WORD _D035+0 - !BYTE $64,$07 ; LLB [7] - !BYTE $5A,$08 ; LEAVE 8 -; vmsrc/apple/cmd.pla: 0877: end -; vmsrc/apple/cmd.pla: 0878: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C003 ; close() - JSR INTERP -; vmsrc/apple/cmd.pla: 0879: byte params[2] - ; params -> [2] -; vmsrc/apple/cmd.pla: 0880: -; vmsrc/apple/cmd.pla: 0881: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/cmd.pla: 0882: params.1 = refnum -; vmsrc/apple/cmd.pla: 0883: perr = syscall($CC, @params) -; vmsrc/apple/cmd.pla: 0884: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$CC ; CB 204 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F069 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F070 !WORD _D035+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmd.pla: 0885: end -; vmsrc/apple/cmd.pla: 0886: def read(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P029 ; read(refnum, buff, len)#1() -_C004 ; read() - JSR INTERP -; vmsrc/apple/cmd.pla: 0887: byte params[8] - ; params -> [6] -; vmsrc/apple/cmd.pla: 0888: -; vmsrc/apple/cmd.pla: 0889: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/cmd.pla: 0890: params.1 = refnum -; vmsrc/apple/cmd.pla: 0891: params:2 = buff -; vmsrc/apple/cmd.pla: 0892: params:4 = len -; vmsrc/apple/cmd.pla: 0893: params:6 = 0 -; vmsrc/apple/cmd.pla: 0894: perr = syscall($CA, @params) -; vmsrc/apple/cmd.pla: 0895: return params:6 - !BYTE $08 ; CN 4 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$CA ; CB 202 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F071 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F072 !WORD _D035+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/cmd.pla: 0896: end -; vmsrc/apple/cmd.pla: 0897: // -; vmsrc/apple/cmd.pla: 0898: // Heap routines. -; vmsrc/apple/cmd.pla: 0899: // -; vmsrc/apple/cmd.pla: 0900: def availheap()#1 -_P015 ; availheap()#1() -_C005 ; availheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0901: byte fp - ; fp -> [0] -; vmsrc/apple/cmd.pla: 0902: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D072+0 -_F073 !WORD _D072+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmd.pla: 0903: end -; vmsrc/apple/cmd.pla: 0904: def allocheap(size)#1 - ; size -> [0] -_P012 ; allocheap(size)#1() -_C006 ; allocheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0905: word oldheap, addr - ; oldheap -> [2] - ; addr -> [4] -; vmsrc/apple/cmd.pla: 0906: oldheap = heap - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/cmd.pla: 0907: addr = heap -; vmsrc/apple/cmd.pla: 0908: heap = heap + size -; vmsrc/apple/cmd.pla: 0909: if systemflags & reshgr1 -; vmsrc/apple/cmd.pla: 0910: if uword_islt(addr, $4000) and uword_isgt(heap, $2000) -; vmsrc/apple/cmd.pla: 0911: addr = $4000 -; vmsrc/apple/cmd.pla: 0912: heap = addr + size -; vmsrc/apple/cmd.pla: 0913: fin - !BYTE $6A ; LAW _D072+0 -_F074 !WORD _D072+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D072+0 -_F075 !WORD _D072+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D072+0 -_F076 !WORD _D072+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D072+0 -_F077 !WORD _D072+0 - !BYTE $6A ; LAW _D038+0 -_F078 !WORD _D038+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A015 -_F079 !WORD _A015 - !BYTE $AC ; BRAND _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D072+0 -_F080 !WORD _D072+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _A014 -_F081 !WORD _A014 -_B007 - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $6E,$04 ; DLW [4] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D072+0 -_F082 !WORD _D072+0 -_B008 -_B009 -; vmsrc/apple/cmd.pla: 0914: fin -_B005 -_B006 -; vmsrc/apple/cmd.pla: 0915: if systemflags & reshgr2 -; vmsrc/apple/cmd.pla: 0916: if uword_islt(addr, $6000) and uword_isgt(heap, $4000) -; vmsrc/apple/cmd.pla: 0917: addr = $6000 -; vmsrc/apple/cmd.pla: 0918: heap = addr + size -; vmsrc/apple/cmd.pla: 0919: fin - !BYTE $6A ; LAW _D038+0 -_F083 !WORD _D038+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $54 ; CALL _A015 -_F084 !WORD _A015 - !BYTE $AC ; BRAND _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D072+0 -_F085 !WORD _D072+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A014 -_F086 !WORD _A014 -_B012 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $6E,$04 ; DLW [4] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D072+0 -_F087 !WORD _D072+0 -_B013 -_B014 -; vmsrc/apple/cmd.pla: 0920: fin -_B010 -_B011 -; vmsrc/apple/cmd.pla: 0921: if uword_isge(heap, @addr) -; vmsrc/apple/cmd.pla: 0922: heap = oldheap -; vmsrc/apple/cmd.pla: 0923: return 0 - !BYTE $6A ; LAW _D072+0 -_F088 !WORD _D072+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A012 -_F089 !WORD _A012 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D072+0 -_F090 !WORD _D072+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmd.pla: 0924: fin -_B015 -_B016 -; vmsrc/apple/cmd.pla: 0925: return addr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmd.pla: 0926: end -; vmsrc/apple/cmd.pla: 0927: def allocalignheap(size, pow2, freeaddr) - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P013 ; allocalignheap(size, pow2, freeaddr)() -_C007 ; allocalignheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0928: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/cmd.pla: 0929: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/cmd.pla: 0930: *freeaddr = heap -; vmsrc/apple/cmd.pla: 0931: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $6A ; LAW _D072+0 -_F091 !WORD _D072+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B017 -_B018 -; vmsrc/apple/cmd.pla: 0932: align = (1 << pow2) - 1 -; vmsrc/apple/cmd.pla: 0933: addr = (heap | align) + 1 -; vmsrc/apple/cmd.pla: 0934: heap = addr + size -; vmsrc/apple/cmd.pla: 0935: if uword_isge(heap, @addr) -; vmsrc/apple/cmd.pla: 0936: return 0 - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $9A ; SHL - !BYTE $8E ; DECR - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D072+0 -_F092 !WORD _D072+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $96 ; OR - !BYTE $8C ; INCR - !BYTE $6E,$08 ; DLW [8] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D072+0 -_F093 !WORD _D072+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F094 !WORD _A012 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmd.pla: 0937: fin -_B019 -_B020 -; vmsrc/apple/cmd.pla: 0938: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmd.pla: 0939: end -; vmsrc/apple/cmd.pla: 0940: def markheap()#1 -_P011 ; markheap()#1() -_C008 ; markheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0941: return heap - !BYTE $6A ; LAW _D072+0 -_F095 !WORD _D072+0 - !BYTE $5C ; RET -; vmsrc/apple/cmd.pla: 0942: end -; vmsrc/apple/cmd.pla: 0943: def releaseheap(newheap)#1 - ; newheap -> [0] -_P014 ; releaseheap(newheap)#1() -_C009 ; releaseheap() - JSR INTERP -; vmsrc/apple/cmd.pla: 0944: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/cmd.pla: 0945: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D072+0 -_F096 !WORD _D072+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D072+0 -_F097 !WORD _D072+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 0946: end -; vmsrc/apple/cmd.pla: 0947: // -; vmsrc/apple/cmd.pla: 0948: // Symbol table routines. -; vmsrc/apple/cmd.pla: 0949: // -; vmsrc/apple/cmd.pla: 0950: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C010 ; addsym() - JSR INTERP -; vmsrc/apple/cmd.pla: 0951: ^$C083 // Read/Write enable RAMCARD BANK 2 - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmd.pla: 0952: ^$C083 -; vmsrc/apple/cmd.pla: 0953: while ^sym & $80 - !BYTE $68,$83,$C0 ; LAB 49283 - !BYTE $30 ; DROP - !BYTE $68,$83,$C0 ; LAB 49283 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B023 - !WORD _B023-* -_B021 -; vmsrc/apple/cmd.pla: 0954: ^lastsym = ^sym -; vmsrc/apple/cmd.pla: 0955: lastsym++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D073+0 -_F098 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D073+0 -_F099 !WORD _D073+0 - !BYTE $8C ; INCR -; vmsrc/apple/cmd.pla: 0956: sym++ - !BYTE $7A ; SAW _D073+0 -_F100 !WORD _D073+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; vmsrc/apple/cmd.pla: 0957: loop - !BYTE $76,$00 ; SLW [0] -_B023 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B021 - !WORD _B021-* -_B022 -; vmsrc/apple/cmd.pla: 0958: lastsym->0 = ^sym -; vmsrc/apple/cmd.pla: 0959: lastsym=>1 = addr -; vmsrc/apple/cmd.pla: 0960: lastsym = lastsym + 3 -; vmsrc/apple/cmd.pla: 0961: ^lastsym = 0 -; vmsrc/apple/cmd.pla: 0962: ^$C080 // Read only RAMCARD BANK 2 -; vmsrc/apple/cmd.pla: 0963: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D073+0 -_F101 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D073+0 -_F102 !WORD _D073+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D073+0 -_F103 !WORD _D073+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D073+0 -_F104 !WORD _D073+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D073+0 -_F105 !WORD _D073+0 - !BYTE $70 ; SB - !BYTE $68,$80,$C0 ; LAB 49280 - !BYTE $30 ; DROP - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmd.pla: 0964: // -; vmsrc/apple/cmd.pla: 0965: // String routines. -; vmsrc/apple/cmd.pla: 0966: // -; vmsrc/apple/cmd.pla: 0967: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P018 ; strcpy(dst, src)#1() -_C011 ; strcpy() - JSR INTERP -; vmsrc/apple/cmd.pla: 0968: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmd.pla: 0969: ^dst = ^src -; vmsrc/apple/cmd.pla: 0970: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F106 !WORD _A004 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmd.pla: 0971: end -; vmsrc/apple/cmd.pla: 0972: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P019 ; strcat(dst, src)#1() -_C012 ; strcat() - JSR INTERP -; vmsrc/apple/cmd.pla: 0973: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmd.pla: 0974: ^dst = ^dst + ^src -; vmsrc/apple/cmd.pla: 0975: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F107 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmd.pla: 0976: end -; vmsrc/apple/cmd.pla: 0977: // -; vmsrc/apple/cmd.pla: 0978: // Module routines. -; vmsrc/apple/cmd.pla: 0979: // -; vmsrc/apple/cmd.pla: 0980: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C013 ; lookupextern() - JSR INTERP -; vmsrc/apple/cmd.pla: 0981: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/cmd.pla: 0982: byte str[33] - ; str -> [8] -; vmsrc/apple/cmd.pla: 0983: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/cmd.pla: 0984: if sym -; vmsrc/apple/cmd.pla: 0985: addr = lookuptbl(sym) -; vmsrc/apple/cmd.pla: 0986: if !addr -; vmsrc/apple/cmd.pla: 0987: perr = $81 -; vmsrc/apple/cmd.pla: 0988: dcitos(sym, @str) -; vmsrc/apple/cmd.pla: 0989: cout('?'); prstr(@str); crout -; vmsrc/apple/cmd.pla: 0990: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A022 -_F108 !WORD _A022 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A021 -_F109 !WORD _A021 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B026 - !WORD _B026-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D035+0 -_F110 !WORD _D035+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A018 -_F111 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F112 !WORD _A006 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A008 -_F113 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F114 !WORD _A005 -_B026 -_B027 -; vmsrc/apple/cmd.pla: 0991: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmd.pla: 0992: fin -_B024 -_B025 -; vmsrc/apple/cmd.pla: 0993: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmd.pla: 0994: end -; vmsrc/apple/cmd.pla: 0995: def adddef(addr, deflast)#1 - ; addr -> [0] - ; deflast -> [2] -_C014 ; adddef() - JSR INTERP -; vmsrc/apple/cmd.pla: 0996: word defentry - ; defentry -> [4] -; vmsrc/apple/cmd.pla: 0997: defentry = *deflast - !BYTE $58,$06,$02 ; ENTER 6,2 -; vmsrc/apple/cmd.pla: 0998: *deflast = defentry + 5 -; vmsrc/apple/cmd.pla: 0999: defentry->0 = $20 -; vmsrc/apple/cmd.pla: 1000: defentry=>1 = $03D6 -; vmsrc/apple/cmd.pla: 1001: defentry=>3 = addr -; vmsrc/apple/cmd.pla: 1002: defentry->5 = 0 // NULL out next entry -; vmsrc/apple/cmd.pla: 1003: return defentry - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $2C,$D6,$03 ; CW 982 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmd.pla: 1004: end -; vmsrc/apple/cmd.pla: 1005: def loadmod(mod)#1 - ; mod -> [0] -_C015 ; loadmod() - JSR INTERP -; vmsrc/apple/cmd.pla: 1006: word rdlen, modsize, bytecode, defofst, defcnt, init, initcode[], fixup - ; rdlen -> [2] - ; modsize -> [4] - ; bytecode -> [6] - ; defofst -> [8] - ; defcnt -> [10] - ; init -> [12] - ; initcode -> [14] - ; fixup -> [14] -; vmsrc/apple/cmd.pla: 1007: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [16] - ; defaddr -> [18] - ; modaddr -> [20] - ; modfix -> [22] - ; modofst -> [24] - ; modend -> [26] -; vmsrc/apple/cmd.pla: 1008: word deftbl, deflast - ; deftbl -> [28] - ; deflast -> [30] -; vmsrc/apple/cmd.pla: 1009: word moddep, rld, esd, sym - ; moddep -> [32] - ; rld -> [34] - ; esd -> [36] - ; sym -> [38] -; vmsrc/apple/cmd.pla: 1010: byte refnum, filename[64], str[] - ; refnum -> [40] - ; filename -> [41] - ; str -> [105] -; vmsrc/apple/cmd.pla: 1011: byte header[128] - ; header -> [105] -; vmsrc/apple/cmd.pla: 1012: // -; vmsrc/apple/cmd.pla: 1013: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/cmd.pla: 1014: // -; vmsrc/apple/cmd.pla: 1015: dcitos(mod, @filename) - !BYTE $58,$E9,$01 ; ENTER 233,1 -; vmsrc/apple/cmd.pla: 1016: refnum = open(@filename) -; vmsrc/apple/cmd.pla: 1017: if !refnum and filename < 16 -; vmsrc/apple/cmd.pla: 1018: // -; vmsrc/apple/cmd.pla: 1019: // Try system path -; vmsrc/apple/cmd.pla: 1020: // -; vmsrc/apple/cmd.pla: 1021: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/cmd.pla: 1022: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$29 ; LLA [41] - !BYTE $54 ; CALL _A018 -_F115 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $28,$29 ; LLA [41] - !BYTE $54 ; CALL _C002 -_F116 !WORD _C002 - !BYTE $6C,$28 ; DLB [40] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $64,$29 ; LLB [41] - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT -_B028 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $28,$29 ; LLA [41] - !BYTE $28,$69 ; LLA [105] - !BYTE $26 ; LA _D070+0 -_F117 !WORD _D070+0 - !BYTE $54 ; CALL _C011 -_F118 !WORD _C011 - !BYTE $28,$29 ; LLA [41] - !BYTE $54 ; CALL _C012 -_F119 !WORD _C012 - !BYTE $54 ; CALL _C011 -_F120 !WORD _C011 - !BYTE $54 ; CALL _C002 -_F121 !WORD _C002 - !BYTE $74,$28 ; SLB [40] -_B029 -_B030 -; vmsrc/apple/cmd.pla: 1023: if refnum -; vmsrc/apple/cmd.pla: 1024: header.0 = $0A -; vmsrc/apple/cmd.pla: 1025: header:1 = @filename -; vmsrc/apple/cmd.pla: 1026: if not syscall($C4, @header) and header.4 <> $FE // Make sure it's a REL module -; vmsrc/apple/cmd.pla: 1027: close(refnum) -; vmsrc/apple/cmd.pla: 1028: perr = $4A // Incompatible type -; vmsrc/apple/cmd.pla: 1029: return -perr - !BYTE $64,$28 ; LLB [40] - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $14 ; CN 10 - !BYTE $74,$69 ; SLB [105] - !BYTE $28,$29 ; LLA [41] - !BYTE $76,$6A ; SLW [106] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$69 ; LLA [105] - !BYTE $54 ; CALL _A000 -_F122 !WORD _A000 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $64,$6D ; LLB [109] - !BYTE $2A,$FE ; CB 254 - !BYTE $42 ; ISNE -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F123 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D035+0 -_F124 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E9 ; LEAVE 233 -; vmsrc/apple/cmd.pla: 1030: fin -_B034 -_B035 -; vmsrc/apple/cmd.pla: 1031: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmd.pla: 1032: modsize = header:0 -; vmsrc/apple/cmd.pla: 1033: moddep = @header.1 -; vmsrc/apple/cmd.pla: 1034: defofst = modsize + RELADDR -; vmsrc/apple/cmd.pla: 1035: init = 0 -; vmsrc/apple/cmd.pla: 1036: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/cmd.pla: 1037: // -; vmsrc/apple/cmd.pla: 1038: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/cmd.pla: 1039: // -; vmsrc/apple/cmd.pla: 1040: systemflags = header:4 | systemflags -; vmsrc/apple/cmd.pla: 1041: defofst = header:6 -; vmsrc/apple/cmd.pla: 1042: defcnt = header:8 -; vmsrc/apple/cmd.pla: 1043: init = header:10 -; vmsrc/apple/cmd.pla: 1044: moddep = @header.12 -; vmsrc/apple/cmd.pla: 1045: // -; vmsrc/apple/cmd.pla: 1046: // Load module dependencies. -; vmsrc/apple/cmd.pla: 1047: // -; vmsrc/apple/cmd.pla: 1048: while ^moddep - !BYTE $64,$28 ; LLB [40] - !BYTE $28,$69 ; LLA [105] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F125 !WORD _C004 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$69 ; LLW [105] - !BYTE $76,$04 ; SLW [4] - !BYTE $28,$6A ; LLA [106] - !BYTE $76,$20 ; SLW [32] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B036 - !WORD _B036-* - !BYTE $66,$6B ; LLW [107] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $40 ; ISEQ -_B036 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $66,$6D ; LLW [109] - !BYTE $6A ; LAW _D038+0 -_F126 !WORD _D038+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D038+0 -_F127 !WORD _D038+0 - !BYTE $66,$6F ; LLW [111] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$71 ; LLW [113] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$73 ; LLW [115] - !BYTE $76,$0C ; SLW [12] - !BYTE $28,$75 ; LLA [117] - !BYTE $76,$20 ; SLW [32] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B039 -; vmsrc/apple/cmd.pla: 1049: if !lookuptbl(moddep) -; vmsrc/apple/cmd.pla: 1050: close(refnum) -; vmsrc/apple/cmd.pla: 1051: refnum = 0 -; vmsrc/apple/cmd.pla: 1052: if loadmod(moddep) < 0 -; vmsrc/apple/cmd.pla: 1053: return -perr - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A021 -_F128 !WORD _A021 - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F129 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$28 ; SLB [40] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C015 -_F130 !WORD _C015 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $68 ; LAB _D035+0 -_F131 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E9 ; LEAVE 233 -; vmsrc/apple/cmd.pla: 1054: fin -_B044 -_B045 -; vmsrc/apple/cmd.pla: 1055: fin -_B042 -_B043 -; vmsrc/apple/cmd.pla: 1056: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/cmd.pla: 1057: loop - !BYTE $66,$20 ; LLW [32] - !BYTE $34 ; DUP - !BYTE $28,$69 ; LLA [105] - !BYTE $54 ; CALL _A018 -_F132 !WORD _A018 - !BYTE $82 ; ADD - !BYTE $76,$20 ; SLW [32] -_B041 - !BYTE $66,$20 ; LLW [32] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B039 - !WORD _B039-* -_B040 -; vmsrc/apple/cmd.pla: 1058: // -; vmsrc/apple/cmd.pla: 1059: // Init def table. -; vmsrc/apple/cmd.pla: 1060: // -; vmsrc/apple/cmd.pla: 1061: deftbl = allocheap(defcnt * 5 + 1) -; vmsrc/apple/cmd.pla: 1062: deflast = deftbl -; vmsrc/apple/cmd.pla: 1063: ^deflast = 0 -; vmsrc/apple/cmd.pla: 1064: if !refnum -; vmsrc/apple/cmd.pla: 1065: // -; vmsrc/apple/cmd.pla: 1066: // Reset read pointer. -; vmsrc/apple/cmd.pla: 1067: // -; vmsrc/apple/cmd.pla: 1068: refnum = open(@filename) -; vmsrc/apple/cmd.pla: 1069: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmd.pla: 1070: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $0A ; CN 5 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C006 -_F133 !WORD _C006 - !BYTE $6E,$1C ; DLW [28] - !BYTE $76,$1E ; SLW [30] - !BYTE $00 ; CN 0 - !BYTE $66,$1E ; LLW [30] - !BYTE $70 ; SB - !BYTE $64,$28 ; LLB [40] - !BYTE $4E ; BRTRU _B046 - !WORD _B046-* - !BYTE $28,$29 ; LLA [41] - !BYTE $54 ; CALL _C002 -_F134 !WORD _C002 - !BYTE $6C,$28 ; DLB [40] - !BYTE $28,$69 ; LLA [105] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F135 !WORD _C004 - !BYTE $76,$02 ; SLW [2] -_B046 -_B047 -; vmsrc/apple/cmd.pla: 1071: fin -_B037 -_B038 -; vmsrc/apple/cmd.pla: 1072: // -; vmsrc/apple/cmd.pla: 1073: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/cmd.pla: 1074: // -; vmsrc/apple/cmd.pla: 1075: moddep = moddep + 1 -; vmsrc/apple/cmd.pla: 1076: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/cmd.pla: 1077: modsize = modsize - modfix -; vmsrc/apple/cmd.pla: 1078: rdlen = rdlen - modfix - 2 -; vmsrc/apple/cmd.pla: 1079: modaddr = allocheap(modsize) -; vmsrc/apple/cmd.pla: 1080: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/cmd.pla: 1081: // -; vmsrc/apple/cmd.pla: 1082: // Read in remainder of module into memory for fixups. -; vmsrc/apple/cmd.pla: 1083: // -; vmsrc/apple/cmd.pla: 1084: addr = modaddr -; vmsrc/apple/cmd.pla: 1085: repeat - !BYTE $66,$20 ; LLW [32] - !BYTE $8C ; INCR - !BYTE $6E,$20 ; DLW [32] - !BYTE $28,$6B ; LLA [107] - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$16 ; LLW [22] - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$16 ; LLW [22] - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C006 -_F136 !WORD _C006 - !BYTE $6E,$14 ; DLW [20] - !BYTE $66,$20 ; LLW [32] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F137 !WORD _A004 - !BYTE $66,$14 ; LLW [20] - !BYTE $76,$10 ; SLW [16] -_B049 -; vmsrc/apple/cmd.pla: 1086: addr = addr + rdlen -; vmsrc/apple/cmd.pla: 1087: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/cmd.pla: 1088: until rdlen <= 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $76,$10 ; SLW [16] - !BYTE $64,$28 ; LLB [40] - !BYTE $66,$10 ; LLW [16] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C004 -_F138 !WORD _C004 - !BYTE $76,$02 ; SLW [2] -_B050 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* -_B048 -; vmsrc/apple/cmd.pla: 1089: close(refnum) -; vmsrc/apple/cmd.pla: 1090: // -; vmsrc/apple/cmd.pla: 1091: // Add module to symbol table. -; vmsrc/apple/cmd.pla: 1092: // -; vmsrc/apple/cmd.pla: 1093: addsym(mod, modaddr) -; vmsrc/apple/cmd.pla: 1094: // -; vmsrc/apple/cmd.pla: 1095: // Apply all fixups and symbol import/export. -; vmsrc/apple/cmd.pla: 1096: // -; vmsrc/apple/cmd.pla: 1097: modfix = modaddr - modfix -; vmsrc/apple/cmd.pla: 1098: modofst = modfix - RELADDR -; vmsrc/apple/cmd.pla: 1099: modend = modaddr + modsize -; vmsrc/apple/cmd.pla: 1100: bytecode = defofst + modofst -; vmsrc/apple/cmd.pla: 1101: defofst = bytecode - defofst -; vmsrc/apple/cmd.pla: 1102: rld = modend // Re-Locatable Directory -; vmsrc/apple/cmd.pla: 1103: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/cmd.pla: 1104: while ^esd // Scan to end of ESD - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F139 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C010 -_F140 !WORD _C010 - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$16 ; LLW [22] - !BYTE $84 ; SUB - !BYTE $6E,$16 ; DLW [22] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $6E,$06 ; DLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$1A ; LLW [26] - !BYTE $6E,$22 ; DLW [34] - !BYTE $76,$24 ; SLW [36] - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B051 -; vmsrc/apple/cmd.pla: 1105: esd = esd + 4 -; vmsrc/apple/cmd.pla: 1106: loop - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$24 ; SLW [36] -_B053 - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B051 - !WORD _B051-* -_B052 -; vmsrc/apple/cmd.pla: 1107: esd = esd + 1 -; vmsrc/apple/cmd.pla: 1108: // -; vmsrc/apple/cmd.pla: 1109: // Run through the DeFinition Dictionary. -; vmsrc/apple/cmd.pla: 1110: // -; vmsrc/apple/cmd.pla: 1111: while ^rld == $02 - !BYTE $66,$24 ; LLW [36] - !BYTE $8C ; INCR - !BYTE $76,$24 ; SLW [36] - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B054 -; vmsrc/apple/cmd.pla: 1112: // -; vmsrc/apple/cmd.pla: 1113: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/cmd.pla: 1114: // -; vmsrc/apple/cmd.pla: 1115: adddef(rld=>1 + defofst, @deflast) -; vmsrc/apple/cmd.pla: 1116: rld = rld + 4 -; vmsrc/apple/cmd.pla: 1117: loop - !BYTE $66,$22 ; LLW [34] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $28,$1E ; LLA [30] - !BYTE $54 ; CALL _C014 -_F141 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$22 ; SLW [34] -_B056 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B054 - !WORD _B054-* -_B055 -; vmsrc/apple/cmd.pla: 1118: // -; vmsrc/apple/cmd.pla: 1119: // Run through the Re-Location Dictionary. -; vmsrc/apple/cmd.pla: 1120: // -; vmsrc/apple/cmd.pla: 1121: while ^rld - !BYTE $50 ; BRNCH _B059 - !WORD _B059-* -_B057 -; vmsrc/apple/cmd.pla: 1122: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/cmd.pla: 1123: if ^rld -; vmsrc/apple/cmd.pla: 1124: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup, deftbl) -; vmsrc/apple/cmd.pla: 1125: rld = rld + 4 -; vmsrc/apple/cmd.pla: 1126: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$22 ; LLW [34] - !BYTE $54 ; CALL _A024 -_F142 !WORD _A024 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$10 ; SLW [16] - !BYTE $6E,$22 ; DLW [34] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $66,$10 ; LLW [16] - !BYTE $62 ; LW - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C013 -_F143 !WORD _C013 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B063 - !WORD _B063-* -_B062 - !BYTE $66,$0E ; LLW [14] - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _A023 -_F144 !WORD _A023 -_B063 - !BYTE $66,$10 ; LLW [16] - !BYTE $72 ; SW - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$22 ; SLW [34] -_B060 -_B061 -; vmsrc/apple/cmd.pla: 1127: loop -_B059 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B057 - !WORD _B057-* -_B058 -; vmsrc/apple/cmd.pla: 1128: // -; vmsrc/apple/cmd.pla: 1129: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/cmd.pla: 1130: // -; vmsrc/apple/cmd.pla: 1131: while ^esd - !BYTE $50 ; BRNCH _B066 - !WORD _B066-* -_B064 -; vmsrc/apple/cmd.pla: 1132: sym = esd -; vmsrc/apple/cmd.pla: 1133: esd = esd + dcitos(esd, @str) -; vmsrc/apple/cmd.pla: 1134: if ^esd & $08 -; vmsrc/apple/cmd.pla: 1135: // -; vmsrc/apple/cmd.pla: 1136: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/cmd.pla: 1137: // -; vmsrc/apple/cmd.pla: 1138: addr = esd=>1 + modofst -; vmsrc/apple/cmd.pla: 1139: if uword_isge(addr, bytecode) -; vmsrc/apple/cmd.pla: 1140: // -; vmsrc/apple/cmd.pla: 1141: // Use the def directory address for bytecode. -; vmsrc/apple/cmd.pla: 1142: // -; vmsrc/apple/cmd.pla: 1143: addr = lookupdef(addr, deftbl) -; vmsrc/apple/cmd.pla: 1144: fin - !BYTE $66,$24 ; LLW [36] - !BYTE $76,$26 ; SLW [38] - !BYTE $66,$24 ; LLW [36] - !BYTE $34 ; DUP - !BYTE $28,$69 ; LLA [105] - !BYTE $54 ; CALL _A018 -_F145 !WORD _A018 - !BYTE $82 ; ADD - !BYTE $6E,$24 ; DLW [36] - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B067 - !WORD _B067-* - !BYTE $66,$24 ; LLW [36] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $6E,$10 ; DLW [16] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A012 -_F146 !WORD _A012 - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $66,$10 ; LLW [16] - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _A023 -_F147 !WORD _A023 - !BYTE $76,$10 ; SLW [16] -_B069 -_B070 -; vmsrc/apple/cmd.pla: 1145: addsym(sym, addr) -; vmsrc/apple/cmd.pla: 1146: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C010 -_F148 !WORD _C010 -_B067 -_B068 -; vmsrc/apple/cmd.pla: 1147: esd = esd + 3 -; vmsrc/apple/cmd.pla: 1148: loop - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$24 ; SLW [36] -_B066 - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B064 - !WORD _B064-* -_B065 -; vmsrc/apple/cmd.pla: 1149: else - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 -; vmsrc/apple/cmd.pla: 1150: perr = $46 -; vmsrc/apple/cmd.pla: 1151: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $78 ; SAB _D035+0 -_F149 !WORD _D035+0 -_B032 -; vmsrc/apple/cmd.pla: 1152: if perr -; vmsrc/apple/cmd.pla: 1153: return -perr - !BYTE $68 ; LAB _D035+0 -_F150 !WORD _D035+0 - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $68 ; LAB _D035+0 -_F151 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E9 ; LEAVE 233 -; vmsrc/apple/cmd.pla: 1154: fin -_B071 -_B072 -; vmsrc/apple/cmd.pla: 1155: // -; vmsrc/apple/cmd.pla: 1156: // Free up rld+esd in main memory. -; vmsrc/apple/cmd.pla: 1157: // -; vmsrc/apple/cmd.pla: 1158: releaseheap(modend) -; vmsrc/apple/cmd.pla: 1159: // -; vmsrc/apple/cmd.pla: 1160: // Call init routine if it exists. -; vmsrc/apple/cmd.pla: 1161: // -; vmsrc/apple/cmd.pla: 1162: initcode = modkeep -; vmsrc/apple/cmd.pla: 1163: if init -; vmsrc/apple/cmd.pla: 1164: init = init + defofst -; vmsrc/apple/cmd.pla: 1165: initcode = adddef(init, @deflast)() -; vmsrc/apple/cmd.pla: 1166: if initcode < modinitkeep -; vmsrc/apple/cmd.pla: 1167: // -; vmsrc/apple/cmd.pla: 1168: // Free init routine unless initkeep -; vmsrc/apple/cmd.pla: 1169: // -; vmsrc/apple/cmd.pla: 1170: releaseheap(init) -; vmsrc/apple/cmd.pla: 1171: if initcode < 0 -; vmsrc/apple/cmd.pla: 1172: perr = -initcode -; vmsrc/apple/cmd.pla: 1173: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C009 -_F152 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $6E,$0C ; DLW [12] - !BYTE $28,$1E ; LLA [30] - !BYTE $54 ; CALL _C014 -_F153 !WORD _C014 - !BYTE $56 ; ICAL - !BYTE $6E,$0E ; DLW [14] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C009 -_F154 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $66,$0E ; LLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $78 ; SAB _D035+0 -_F155 !WORD _D035+0 -_B077 -_B078 -; vmsrc/apple/cmd.pla: 1174: else - !BYTE $50 ; BRNCH _B076 - !WORD _B076-* -_B075 -; vmsrc/apple/cmd.pla: 1175: initcode = initcode & ~modinitkeep -; vmsrc/apple/cmd.pla: 1176: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $2C,$FF,$BF ; CW -16385 - !BYTE $94 ; AND - !BYTE $76,$0E ; SLW [14] -_B076 -; vmsrc/apple/cmd.pla: 1177: fin -_B073 -_B074 -; vmsrc/apple/cmd.pla: 1178: return initcode - !BYTE $66,$0E ; LLW [14] - !BYTE $5A,$E9 ; LEAVE 233 -; vmsrc/apple/cmd.pla: 1179: end -; vmsrc/apple/cmd.pla: 1180: // -; vmsrc/apple/cmd.pla: 1181: // Command mode -; vmsrc/apple/cmd.pla: 1182: // -; vmsrc/apple/cmd.pla: 1183: def volumes()#0 -_C016 ; volumes() - JSR INTERP -; vmsrc/apple/cmd.pla: 1184: byte params[4] - ; params -> [0] -; vmsrc/apple/cmd.pla: 1185: word strbuf - ; strbuf -> [4] -; vmsrc/apple/cmd.pla: 1186: byte i - ; i -> [6] -; vmsrc/apple/cmd.pla: 1187: -; vmsrc/apple/cmd.pla: 1188: params.0 = 2 - !BYTE $58,$07,$00 ; ENTER 7,0 -; vmsrc/apple/cmd.pla: 1189: params.1 = 0 -; vmsrc/apple/cmd.pla: 1190: params:2 = heap -; vmsrc/apple/cmd.pla: 1191: perr = syscall($C5, @params) -; vmsrc/apple/cmd.pla: 1192: strbuf = heap -; vmsrc/apple/cmd.pla: 1193: for i = 0 to 15 - !BYTE $04 ; CN 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D072+0 -_F156 !WORD _D072+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _A000 -_F157 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F158 !WORD _D035+0 - !BYTE $6A ; LAW _D072+0 -_F159 !WORD _D072+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B080 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/cmd.pla: 1194: ^strbuf = ^strbuf & $0F -; vmsrc/apple/cmd.pla: 1195: if ^strbuf -; vmsrc/apple/cmd.pla: 1196: cout('/'); prstr(strbuf); crout() -; vmsrc/apple/cmd.pla: 1197: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _A006 -_F160 !WORD _A006 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A008 -_F161 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F162 !WORD _A005 -_B082 -_B083 -; vmsrc/apple/cmd.pla: 1198: strbuf = strbuf + 16 -; vmsrc/apple/cmd.pla: 1199: next - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$04 ; SLW [4] -_B081 - !BYTE $A4 ; INCBRLE _B080 - !WORD _B080-* -_B079 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1200: end - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmd.pla: 1201: def catalog(path)#0 - ; path -> [0] -_C017 ; catalog() - JSR INTERP -; vmsrc/apple/cmd.pla: 1202: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmd.pla: 1203: byte firstblk - ; firstblk -> [3] -; vmsrc/apple/cmd.pla: 1204: byte entrylen, entriesblk - ; entrylen -> [4] - ; entriesblk -> [5] -; vmsrc/apple/cmd.pla: 1205: byte i, type, len - ; i -> [6] - ; type -> [7] - ; len -> [8] -; vmsrc/apple/cmd.pla: 1206: word entry - ; entry -> [9] -; vmsrc/apple/cmd.pla: 1207: -; vmsrc/apple/cmd.pla: 1208: refnum = open(path) - !BYTE $58,$0B,$01 ; ENTER 11,1 -; vmsrc/apple/cmd.pla: 1209: if perr -; vmsrc/apple/cmd.pla: 1210: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F163 !WORD _C002 - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D035+0 -_F164 !WORD _D035+0 - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmd.pla: 1211: fin -_B084 -_B085 -; vmsrc/apple/cmd.pla: 1212: firstblk = 1 -; vmsrc/apple/cmd.pla: 1213: while read(refnum, heap, 512) == 512 - !BYTE $02 ; CN 1 - !BYTE $74,$03 ; SLB [3] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -_B086 -; vmsrc/apple/cmd.pla: 1214: entry = heap + 4 -; vmsrc/apple/cmd.pla: 1215: if firstblk -; vmsrc/apple/cmd.pla: 1216: entrylen = heap->$23 -; vmsrc/apple/cmd.pla: 1217: entriesblk = heap->$24 - 1 -; vmsrc/apple/cmd.pla: 1218: entry = entry + entrylen -; vmsrc/apple/cmd.pla: 1219: fin - !BYTE $6A ; LAW _D072+0 -_F165 !WORD _D072+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$09 ; SLW [9] - !BYTE $64,$03 ; LLB [3] - !BYTE $4C ; BRFLS _B089 - !WORD _B089-* - !BYTE $6A ; LAW _D072+0 -_F166 !WORD _D072+0 - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D072+0 -_F167 !WORD _D072+0 - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B089 -_B090 -; vmsrc/apple/cmd.pla: 1220: for i = firstblk to entriesblk - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$03 ; LLB [3] - !BYTE $A0 ; BRGT _B091 - !WORD _B091-* -_B092 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/cmd.pla: 1221: if ^entry -; vmsrc/apple/cmd.pla: 1222: ^entry = ^entry & $0F -; vmsrc/apple/cmd.pla: 1223: prstr(entry) -; vmsrc/apple/cmd.pla: 1224: type = ' ' -; vmsrc/apple/cmd.pla: 1225: when entry->$10 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B094 - !WORD _B094-* - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$09 ; LLW [9] - !BYTE $70 ; SB - !BYTE $66,$09 ; LLW [9] - !BYTE $54 ; CALL _A008 -_F168 !WORD _A008 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$09 ; LLW [9] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B097-* -; vmsrc/apple/cmd.pla: 1226: is $0F // Is it a directory? -_B098 -; vmsrc/apple/cmd.pla: 1227: type = '/' -; vmsrc/apple/cmd.pla: 1228: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -; vmsrc/apple/cmd.pla: 1229: is $FF // SYSTEM file -_B099 -; vmsrc/apple/cmd.pla: 1230: type = '-' -; vmsrc/apple/cmd.pla: 1231: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -; vmsrc/apple/cmd.pla: 1232: is $FE // REL file -_B100 -; vmsrc/apple/cmd.pla: 1233: type = '+' -; vmsrc/apple/cmd.pla: 1234: wend - !BYTE $2A,$2B ; CB 43 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B097 - !BYTE $03 ; CASEBLOCK - !WORD $000F - !WORD _B098-* - !WORD $00FE - !WORD _B100-* - !WORD $00FF - !WORD _B099-* -_B096 -; vmsrc/apple/cmd.pla: 1235: cout(type) -; vmsrc/apple/cmd.pla: 1236: for len = ^entry to 18 - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A006 -_F169 !WORD _A006 - !BYTE $2A,$12 ; CB 18 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $A0 ; BRGT _B101 - !WORD _B101-* -_B102 - !BYTE $6C,$08 ; DLB [8] -; vmsrc/apple/cmd.pla: 1237: cout(' ') -; vmsrc/apple/cmd.pla: 1238: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _A006 -_F170 !WORD _A006 -_B103 - !BYTE $A4 ; INCBRLE _B102 - !WORD _B102-* -_B101 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1239: fin -_B094 -_B095 -; vmsrc/apple/cmd.pla: 1240: entry = entry + entrylen -; vmsrc/apple/cmd.pla: 1241: next - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B093 - !BYTE $A4 ; INCBRLE _B092 - !WORD _B092-* -_B091 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1242: firstblk = 0 -; vmsrc/apple/cmd.pla: 1243: loop - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] -_B088 - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _D072+0 -_F171 !WORD _D072+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C004 -_F172 !WORD _C004 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B086 - !WORD _B086-* -_B087 -; vmsrc/apple/cmd.pla: 1244: close(refnum) -; vmsrc/apple/cmd.pla: 1245: crout() -; vmsrc/apple/cmd.pla: 1246: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C003 -_F173 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A005 -_F174 !WORD _A005 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmd.pla: 1247: def stripchars(strptr)#1 - ; strptr -> [0] -_C018 ; stripchars() - JSR INTERP -; vmsrc/apple/cmd.pla: 1248: while ^strptr and ^(strptr + 1) > ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B106 - !WORD _B106-* -_B104 -; vmsrc/apple/cmd.pla: 1249: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmd.pla: 1250: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F175 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1251: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B106 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B107 - !WORD _B107-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT -_B107 - !BYTE $4E ; BRTRU _B104 - !WORD _B104-* -_B105 -; vmsrc/apple/cmd.pla: 1252: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 1253: end -; vmsrc/apple/cmd.pla: 1254: def stripspaces(strptr)#0 - ; strptr -> [0] -_C019 ; stripspaces() - JSR INTERP -; vmsrc/apple/cmd.pla: 1255: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -_B108 -; vmsrc/apple/cmd.pla: 1256: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1257: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B110 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B111 - !WORD _B111-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B111 - !BYTE $4E ; BRTRU _B108 - !WORD _B108-* -_B109 -; vmsrc/apple/cmd.pla: 1258: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B112 -; vmsrc/apple/cmd.pla: 1259: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmd.pla: 1260: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F176 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1261: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B114 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B115 - !WORD _B115-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B115 - !BYTE $4E ; BRTRU _B112 - !WORD _B112-* -_B113 -; vmsrc/apple/cmd.pla: 1262: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmd.pla: 1263: def striptrail(strptr)#1 - ; strptr -> [0] -_C020 ; striptrail() - JSR INTERP -; vmsrc/apple/cmd.pla: 1264: byte i - ; i -> [2] -; vmsrc/apple/cmd.pla: 1265: -; vmsrc/apple/cmd.pla: 1266: for i = 1 to ^strptr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B116 - !WORD _B116-* -_B117 - !BYTE $6C,$02 ; DLB [2] -; vmsrc/apple/cmd.pla: 1267: if ^(strptr + i) <= ' ' -; vmsrc/apple/cmd.pla: 1268: ^strptr = i - 1 -; vmsrc/apple/cmd.pla: 1269: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B116 - !WORD _B116-* -; vmsrc/apple/cmd.pla: 1270: fin -_B119 -_B120 -; vmsrc/apple/cmd.pla: 1271: next -_B118 - !BYTE $A4 ; INCBRLE _B117 - !WORD _B117-* -_B116 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1272: return strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmd.pla: 1273: end -; vmsrc/apple/cmd.pla: 1274: def parsecmd(strptr)#1 - ; strptr -> [0] -_C021 ; parsecmd() - JSR INTERP -; vmsrc/apple/cmd.pla: 1275: byte cmd - ; cmd -> [2] -; vmsrc/apple/cmd.pla: 1276: -; vmsrc/apple/cmd.pla: 1277: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/cmd.pla: 1278: stripspaces(strptr) -; vmsrc/apple/cmd.pla: 1279: if ^strptr -; vmsrc/apple/cmd.pla: 1280: cmd = ^(strptr + 1) -; vmsrc/apple/cmd.pla: 1281: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmd.pla: 1282: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C019 -_F177 !WORD _C019 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F178 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1283: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B121 -_B122 -; vmsrc/apple/cmd.pla: 1284: stripspaces(strptr) -; vmsrc/apple/cmd.pla: 1285: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C019 -_F179 !WORD _C019 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmd.pla: 1286: end -; vmsrc/apple/cmd.pla: 1287: def resetmemfiles#0 -_C022 ; resetmemfiles() - JSR INTERP -; vmsrc/apple/cmd.pla: 1288: byte terr - ; terr -> [0] -; vmsrc/apple/cmd.pla: 1289: -; vmsrc/apple/cmd.pla: 1290: terr = perr // Save perr - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/cmd.pla: 1291: // -; vmsrc/apple/cmd.pla: 1292: // Close all files -; vmsrc/apple/cmd.pla: 1293: // -; vmsrc/apple/cmd.pla: 1294: ^$BF94 = 0 -; vmsrc/apple/cmd.pla: 1295: close(0) -; vmsrc/apple/cmd.pla: 1296: // -; vmsrc/apple/cmd.pla: 1297: // Set memory bitmap -; vmsrc/apple/cmd.pla: 1298: // -; vmsrc/apple/cmd.pla: 1299: memset($BF58, 0, 24) -; vmsrc/apple/cmd.pla: 1300: ^$BF58 = $CF -; vmsrc/apple/cmd.pla: 1301: ^$BF6F = $01 -; vmsrc/apple/cmd.pla: 1302: perr = terr // Restore perr -; vmsrc/apple/cmd.pla: 1303: end - !BYTE $68 ; LAB _D035+0 -_F180 !WORD _D035+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $78,$94,$BF ; SAB 49044 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F181 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2C,$58,$BF ; CW 48984 - !BYTE $00 ; CN 0 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _A003 -_F182 !WORD _A003 - !BYTE $2A,$CF ; CB 207 - !BYTE $78,$58,$BF ; SAB 48984 - !BYTE $02 ; CN 1 - !BYTE $78,$6F,$BF ; SAB 49007 - !BYTE $64,$00 ; LLB [0] - !BYTE $78 ; SAB _D035+0 -_F183 !WORD _D035+0 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmd.pla: 1304: def execsys(sysfile)#0 - ; sysfile -> [0] -_P031 ; execsys(sysfile)#0() -_C023 ; execsys() - JSR INTERP -; vmsrc/apple/cmd.pla: 1305: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmd.pla: 1306: word len - ; len -> [3] -; vmsrc/apple/cmd.pla: 1307: -; vmsrc/apple/cmd.pla: 1308: if ^sysfile - !BYTE $58,$05,$01 ; ENTER 5,1 -; vmsrc/apple/cmd.pla: 1309: strcpy($280, sysfile) -; vmsrc/apple/cmd.pla: 1310: striptrail(sysfile) -; vmsrc/apple/cmd.pla: 1311: refnum = open(sysfile) -; vmsrc/apple/cmd.pla: 1312: if refnum -; vmsrc/apple/cmd.pla: 1313: len = read(refnum, $2000, $FFFF) -; vmsrc/apple/cmd.pla: 1314: resetmemfiles -; vmsrc/apple/cmd.pla: 1315: if len -; vmsrc/apple/cmd.pla: 1316: strcpy(sysfile, $280) -; vmsrc/apple/cmd.pla: 1317: if stripchars(sysfile) and ^$2000 == $4C and *$2003 == $EEEE -; vmsrc/apple/cmd.pla: 1318: stripspaces(sysfile) -; vmsrc/apple/cmd.pla: 1319: if ^$2005 >= ^sysfile + 1 -; vmsrc/apple/cmd.pla: 1320: strcpy($2006, sysfile) -; vmsrc/apple/cmd.pla: 1321: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C011 -_F184 !WORD _C011 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F185 !WORD _C020 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F186 !WORD _C002 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B125 - !WORD _B125-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _C004 -_F187 !WORD _C004 - !BYTE $76,$03 ; SLW [3] - !BYTE $54 ; CALL _C022 -_F188 !WORD _C022 - !BYTE $66,$03 ; LLW [3] - !BYTE $4C ; BRFLS _B127 - !WORD _B127-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $54 ; CALL _C011 -_F189 !WORD _C011 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C018 -_F190 !WORD _C018 - !BYTE $AC ; BRAND _B129 - !WORD _B129-* - !BYTE $68,$00,$20 ; LAB 8192 - !BYTE $2A,$4C ; CB 76 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B130 - !WORD _B130-* - !BYTE $6A,$03,$20 ; LAW 8195 - !BYTE $2C,$EE,$EE ; CW 61166 - !BYTE $40 ; ISEQ -_B130 -_B129 - !BYTE $4C ; BRFLS _B131 - !WORD _B131-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C019 -_F191 !WORD _C019 - !BYTE $68,$05,$20 ; LAB 8197 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $2C,$06,$20 ; CW 8198 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C011 -_F192 !WORD _C011 - !BYTE $30 ; DROP -_B133 -_B134 -; vmsrc/apple/cmd.pla: 1322: fin -_B131 -_B132 -; vmsrc/apple/cmd.pla: 1323: striptrail($280) -; vmsrc/apple/cmd.pla: 1324: exec() -; vmsrc/apple/cmd.pla: 1325: fin - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $54 ; CALL _C020 -_F193 !WORD _C020 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A002 -_F194 !WORD _A002 -_B127 -_B128 -; vmsrc/apple/cmd.pla: 1326: fin -_B125 -_B126 -; vmsrc/apple/cmd.pla: 1327: fin -_B123 -_B124 -; vmsrc/apple/cmd.pla: 1328: end - !BYTE $5A,$05 ; LEAVE 5 -; vmsrc/apple/cmd.pla: 1329: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C024 ; execmod() - JSR INTERP -; vmsrc/apple/cmd.pla: 1330: byte moddci[63] - ; moddci -> [2] -; vmsrc/apple/cmd.pla: 1331: word keep, saveheap, savesym, saveflags - ; keep -> [65] - ; saveheap -> [67] - ; savesym -> [69] - ; saveflags -> [71] -; vmsrc/apple/cmd.pla: 1332: -; vmsrc/apple/cmd.pla: 1333: perr = 1 - !BYTE $58,$49,$01 ; ENTER 73,1 -; vmsrc/apple/cmd.pla: 1334: if stodci(modfile, @moddci) -; vmsrc/apple/cmd.pla: 1335: saveheap = heap -; vmsrc/apple/cmd.pla: 1336: savesym = lastsym -; vmsrc/apple/cmd.pla: 1337: saveflags = systemflags -; vmsrc/apple/cmd.pla: 1338: keep = loadmod(@moddci) -; vmsrc/apple/cmd.pla: 1339: if keep < modkeep -; vmsrc/apple/cmd.pla: 1340: if not (keep & modflagkeep) -; vmsrc/apple/cmd.pla: 1341: systemflags = saveflags -; vmsrc/apple/cmd.pla: 1342: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D035+0 -_F195 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A019 -_F196 !WORD _A019 - !BYTE $4C ; BRFLS _B135 - !WORD _B135-* - !BYTE $6A ; LAW _D072+0 -_F197 !WORD _D072+0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _D073+0 -_F198 !WORD _D073+0 - !BYTE $76,$45 ; SLW [69] - !BYTE $6A ; LAW _D038+0 -_F199 !WORD _D038+0 - !BYTE $76,$47 ; SLW [71] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C015 -_F200 !WORD _C015 - !BYTE $6E,$41 ; DLW [65] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B137 - !WORD _B137-* - !BYTE $66,$41 ; LLW [65] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B139 - !WORD _B139-* - !BYTE $66,$47 ; LLW [71] - !BYTE $7A ; SAW _D038+0 -_F201 !WORD _D038+0 -_B139 -_B140 -; vmsrc/apple/cmd.pla: 1343: heap = saveheap -; vmsrc/apple/cmd.pla: 1344: lastsym = savesym -; vmsrc/apple/cmd.pla: 1345: ^$C083 // Read/Write enable RAMCARD BANK 2 -; vmsrc/apple/cmd.pla: 1346: ^$C083 -; vmsrc/apple/cmd.pla: 1347: ^lastsym = 0 -; vmsrc/apple/cmd.pla: 1348: fin - !BYTE $66,$43 ; LLW [67] - !BYTE $7A ; SAW _D072+0 -_F202 !WORD _D072+0 - !BYTE $66,$45 ; LLW [69] - !BYTE $7A ; SAW _D073+0 -_F203 !WORD _D073+0 - !BYTE $68,$83,$C0 ; LAB 49283 - !BYTE $30 ; DROP - !BYTE $68,$83,$C0 ; LAB 49283 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D073+0 -_F204 !WORD _D073+0 - !BYTE $70 ; SB -_B137 -_B138 -; vmsrc/apple/cmd.pla: 1349: fin -_B135 -_B136 -; vmsrc/apple/cmd.pla: 1350: return -perr - !BYTE $68 ; LAB _D035+0 -_F205 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$49 ; LEAVE 73 -; vmsrc/apple/cmd.pla: 1351: end -; vmsrc/apple/cmd.pla: 1352: // -; vmsrc/apple/cmd.pla: 1353: // Command line processor -; vmsrc/apple/cmd.pla: 1354: // -; vmsrc/apple/cmd.pla: 1355: def docmds#0 -_C025 ; docmds() - JSR INTERP -; vmsrc/apple/cmd.pla: 1356: word prefix - ; prefix -> [0] -; vmsrc/apple/cmd.pla: 1357: byte ref - ; ref -> [2] -; vmsrc/apple/cmd.pla: 1358: -; vmsrc/apple/cmd.pla: 1359: prefix = pfxop(heap, GET_PFX) - !BYTE $58,$03,$00 ; ENTER 3,0 -; vmsrc/apple/cmd.pla: 1360: strcpy(getlnbuf, @cmdln) -; vmsrc/apple/cmd.pla: 1361: repeat - !BYTE $6A ; LAW _D072+0 -_F206 !WORD _D072+0 - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F207 !WORD _C001 - !BYTE $76,$00 ; SLW [0] - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $26 ; LA _D039+0 -_F208 !WORD _D039+0 - !BYTE $54 ; CALL _C011 -_F209 !WORD _C011 - !BYTE $30 ; DROP -_B142 -; vmsrc/apple/cmd.pla: 1362: if ^getlnbuf -; vmsrc/apple/cmd.pla: 1363: strcpy(@cmdln, getlnbuf) -; vmsrc/apple/cmd.pla: 1364: when toupper(parsecmd(getlnbuf)) - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $26 ; LA _D039+0 -_F210 !WORD _D039+0 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C011 -_F211 !WORD _C011 - !BYTE $30 ; DROP - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C021 -_F212 !WORD _C021 - !BYTE $54 ; CALL _A020 -_F213 !WORD _A020 - !BYTE $52 ; SEL - !WORD _B147-* -; vmsrc/apple/cmd.pla: 1365: is 'C' -_B148 -; vmsrc/apple/cmd.pla: 1366: catalog(^getlnbuf ?? getlnbuf :: prefix) -; vmsrc/apple/cmd.pla: 1367: break - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B151 - !WORD _B151-* - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $50 ; BRNCH _B152 - !WORD _B152-* -_B151 - !BYTE $66,$00 ; LLW [0] -_B152 - !BYTE $54 ; CALL _C017 -_F214 !WORD _C017 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1368: is 'P' -_B153 -; vmsrc/apple/cmd.pla: 1369: pfxop(getlnbuf, SET_PFX) -; vmsrc/apple/cmd.pla: 1370: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F215 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1371: is '/' -_B154 -; vmsrc/apple/cmd.pla: 1372: repeat -_B156 -; vmsrc/apple/cmd.pla: 1373: ^prefix-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmd.pla: 1374: until ^(prefix + ^prefix) == '/' - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B157 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B156 - !WORD _B156-* -_B155 -; vmsrc/apple/cmd.pla: 1375: if ^prefix > 1 -; vmsrc/apple/cmd.pla: 1376: pfxop(prefix, SET_PFX) -; vmsrc/apple/cmd.pla: 1377: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B158 - !WORD _B158-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F216 !WORD _C001 - !BYTE $30 ; DROP -_B158 -_B159 -; vmsrc/apple/cmd.pla: 1378: break - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1379: is 'V' -_B160 -; vmsrc/apple/cmd.pla: 1380: volumes() -; vmsrc/apple/cmd.pla: 1381: break - !BYTE $54 ; CALL _C016 -_F217 !WORD _C016 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1382: is '.' -_B161 -; vmsrc/apple/cmd.pla: 1383: ref = open(getlnbuf) -; vmsrc/apple/cmd.pla: 1384: if ref -; vmsrc/apple/cmd.pla: 1385: cmdln = read(ref, @cmdln+1, 81) -; vmsrc/apple/cmd.pla: 1386: close(0) -; vmsrc/apple/cmd.pla: 1387: prstr(strcpy(getlnbuf, @cmdln)); crout -; vmsrc/apple/cmd.pla: 1388: continue - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C002 -_F218 !WORD _C002 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $64,$02 ; LLB [2] - !BYTE $26 ; LA _D039+1 -_F219 !WORD _D039+1 - !BYTE $2A,$51 ; CB 81 - !BYTE $54 ; CALL _C004 -_F220 !WORD _C004 - !BYTE $78 ; SAB _D039+0 -_F221 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F222 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $26 ; LA _D039+0 -_F223 !WORD _D039+0 - !BYTE $54 ; CALL _C011 -_F224 !WORD _C011 - !BYTE $54 ; CALL _A008 -_F225 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F226 !WORD _A005 - !BYTE $50 ; BRNCH _B143 - !WORD _B143-* -; vmsrc/apple/cmd.pla: 1389: fin -_B162 -_B163 -; vmsrc/apple/cmd.pla: 1390: break - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1391: is '-' -_B164 -; vmsrc/apple/cmd.pla: 1392: execsys(getlnbuf) -; vmsrc/apple/cmd.pla: 1393: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C023 -_F227 !WORD _C023 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1394: is '+' -_B165 -; vmsrc/apple/cmd.pla: 1395: // -; vmsrc/apple/cmd.pla: 1396: // Exec module -; vmsrc/apple/cmd.pla: 1397: // -; vmsrc/apple/cmd.pla: 1398: execmod(striptrail(getlnbuf)) -; vmsrc/apple/cmd.pla: 1399: // -; vmsrc/apple/cmd.pla: 1400: // Clean up -; vmsrc/apple/cmd.pla: 1401: // -; vmsrc/apple/cmd.pla: 1402: resetmemfiles -; vmsrc/apple/cmd.pla: 1403: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C020 -_F228 !WORD _C020 - !BYTE $54 ; CALL _C024 -_F229 !WORD _C024 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C022 -_F230 !WORD _C022 - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; vmsrc/apple/cmd.pla: 1404: otherwise -_B147 - !BYTE $07 ; CASEBLOCK - !WORD $002B - !WORD _B165-* - !WORD $002D - !WORD _B164-* - !WORD $002E - !WORD _B161-* - !WORD $002F - !WORD _B154-* - !WORD $0043 - !WORD _B148-* - !WORD $0050 - !WORD _B153-* - !WORD $0056 - !WORD _B160-* -; vmsrc/apple/cmd.pla: 1405: cout('?') -; vmsrc/apple/cmd.pla: 1406: wend - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F231 !WORD _A006 -_B146 -; vmsrc/apple/cmd.pla: 1407: if perr -; vmsrc/apple/cmd.pla: 1408: prstr("ERR:$") - !BYTE $68 ; LAB _D035+0 -_F232 !WORD _D035+0 - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _A008 -_F233 !WORD _A008 -; vmsrc/apple/cmd.pla: 1409: prbyte(perr) -; vmsrc/apple/cmd.pla: 1410: crout() -; vmsrc/apple/cmd.pla: 1411: fin - !BYTE $68 ; LAB _D035+0 -_F234 !WORD _D035+0 - !BYTE $54 ; CALL _A010 -_F235 !WORD _A010 - !BYTE $54 ; CALL _A005 -_F236 !WORD _A005 -_B166 -_B167 -; vmsrc/apple/cmd.pla: 1412: fin -_B144 -_B145 -; vmsrc/apple/cmd.pla: 1413: prefix = pfxop(heap, GET_PFX) -; vmsrc/apple/cmd.pla: 1414: prstr(prefix) -; vmsrc/apple/cmd.pla: 1415: rdstr($BA) -; vmsrc/apple/cmd.pla: 1416: until 0 - !BYTE $6A ; LAW _D072+0 -_F237 !WORD _D072+0 - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F238 !WORD _C001 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _A008 -_F239 !WORD _A008 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _A011 -_F240 !WORD _A011 - !BYTE $30 ; DROP -_B143 - !BYTE $50 ; BRNCH _B142 - !WORD _B142-* -_B141 -; vmsrc/apple/cmd.pla: 1417: end - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmd.pla: 1418: // -; vmsrc/apple/cmd.pla: 1419: // Dummy definition to get free heap -; vmsrc/apple/cmd.pla: 1420: // -; vmsrc/apple/cmd.pla: 1421: def lastdef#0 -_C026 ; lastdef() - JSR INTERP -; vmsrc/apple/cmd.pla: 1422: end - !BYTE $5C ; RET -; vmsrc/apple/cmd.pla: 1423: // -; vmsrc/apple/cmd.pla: 1424: // Get heap start. -; vmsrc/apple/cmd.pla: 1425: // -; vmsrc/apple/cmd.pla: 1426: heap = @lastdef -_INIT - JSR INTERP -; vmsrc/apple/cmd.pla: 1427: // -; vmsrc/apple/cmd.pla: 1428: // Print PLASMA version -; vmsrc/apple/cmd.pla: 1429: // -; vmsrc/apple/cmd.pla: 1430: if ^MACHID & MACHID_80COL -; vmsrc/apple/cmd.pla: 1431: when ^MACHID & MACHID_MODEL - !BYTE $26 ; LA _C026+0 -_F241 !WORD _C026+0 - !BYTE $7A ; SAW _D072+0 -_F242 !WORD _D072+0 - !BYTE $68,$98,$BF ; LAB 49048 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B168 - !WORD _B168-* - !BYTE $68,$98,$BF ; LAB 49048 - !BYTE $3C,$C8 ; ANDI 200 - !BYTE $52 ; SEL - !WORD _B171-* -; vmsrc/apple/cmd.pla: 1432: is MACHID_IIPLUS -_B172 -; vmsrc/apple/cmd.pla: 1433: is MACHID_II -_B173 -; vmsrc/apple/cmd.pla: 1434: ^$C059 -; vmsrc/apple/cmd.pla: 1435: wend - !BYTE $68,$59,$C0 ; LAB 49241 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B170 - !WORD _B170-* -_B171 - !BYTE $02 ; CASEBLOCK - !WORD $0000 - !WORD _B173-* - !WORD $0040 - !WORD _B172-* -_B170 -; vmsrc/apple/cmd.pla: 1436: systemflags = systemflags | vid80col | restxt1 -; vmsrc/apple/cmd.pla: 1437: *CSW = $C300 -; vmsrc/apple/cmd.pla: 1438: crout; cout(12) -; vmsrc/apple/cmd.pla: 1439: fin - !BYTE $6A ; LAW _D038+0 -_F243 !WORD _D038+0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $3E,$01 ; ORI 1 - !BYTE $7A ; SAW _D038+0 -_F244 !WORD _D038+0 - !BYTE $2C,$00,$C3 ; CW 49920 - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $54 ; CALL _A005 -_F245 !WORD _A005 - !BYTE $18 ; CN 12 - !BYTE $54 ; CALL _A006 -_F246 !WORD _A006 -_B168 -_B169 -; vmsrc/apple/cmd.pla: 1440: prstr("PLEIADES 64K VM v2.21\n") - !BYTE $2E ; CS - !BYTE $16 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$36,$34,$4B,$20,$56,$4D,$20 - !BYTE $76,$32,$2E,$32,$31,$0D - !BYTE $54 ; CALL _A008 -_F247 !WORD _A008 -; vmsrc/apple/cmd.pla: 1441: // -; vmsrc/apple/cmd.pla: 1442: // Init symbol table. -; vmsrc/apple/cmd.pla: 1443: // -; vmsrc/apple/cmd.pla: 1444: while *sysmodsym - !BYTE $50 ; BRNCH _B176 - !WORD _B176-* -_B174 -; vmsrc/apple/cmd.pla: 1445: stodci(sysmodsym=>0, heap) -; vmsrc/apple/cmd.pla: 1446: addsym(heap, sysmodsym=>2) -; vmsrc/apple/cmd.pla: 1447: sysmodsym = sysmodsym + 4 -; vmsrc/apple/cmd.pla: 1448: loop - !BYTE $6A ; LAW _D071+0 -_F248 !WORD _D071+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D072+0 -_F249 !WORD _D072+0 - !BYTE $54 ; CALL _A019 -_F250 !WORD _A019 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D072+0 -_F251 !WORD _D072+0 - !BYTE $6A ; LAW _D071+0 -_F252 !WORD _D071+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C010 -_F253 !WORD _C010 - !BYTE $6A ; LAW _D071+0 -_F254 !WORD _D071+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D071+0 -_F255 !WORD _D071+0 -_B176 - !BYTE $6A ; LAW _D071+0 -_F256 !WORD _D071+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B174 - !WORD _B174-* -_B175 -; vmsrc/apple/cmd.pla: 1449: // -; vmsrc/apple/cmd.pla: 1450: // Set system path -; vmsrc/apple/cmd.pla: 1451: // -; vmsrc/apple/cmd.pla: 1452: strcat(strcpy(@sysmods, $300), "SYS/") // This is the path to CMD - !BYTE $26 ; LA _D070+0 -_F257 !WORD _D070+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $54 ; CALL _C011 -_F258 !WORD _C011 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$59,$53,$2F - !BYTE $54 ; CALL _C012 -_F259 !WORD _C012 - !BYTE $30 ; DROP -; vmsrc/apple/cmd.pla: 1453: syspath = @sysmods // Update external interface table -; vmsrc/apple/cmd.pla: 1454: syscmdln = @cmdln -; vmsrc/apple/cmd.pla: 1455: // -; vmsrc/apple/cmd.pla: 1456: // Try to load autorun. -; vmsrc/apple/cmd.pla: 1457: // -; vmsrc/apple/cmd.pla: 1458: resetmemfiles -; vmsrc/apple/cmd.pla: 1459: autorun = open(@autorun) -; vmsrc/apple/cmd.pla: 1460: if autorun -; vmsrc/apple/cmd.pla: 1461: cmdln = read(autorun, @cmdln+1, 81) -; vmsrc/apple/cmd.pla: 1462: close(0) -; vmsrc/apple/cmd.pla: 1463: else - !BYTE $26 ; LA _D070+0 -_F260 !WORD _D070+0 - !BYTE $7A ; SAW _D033+0 -_F261 !WORD _D033+0 - !BYTE $26 ; LA _D039+0 -_F262 !WORD _D039+0 - !BYTE $7A ; SAW _D034+0 -_F263 !WORD _D034+0 - !BYTE $54 ; CALL _C022 -_F264 !WORD _C022 - !BYTE $26 ; LA _D040+0 -_F265 !WORD _D040+0 - !BYTE $54 ; CALL _C002 -_F266 !WORD _C002 - !BYTE $7C ; DAB _D040+0 -_F267 !WORD _D040+0 - !BYTE $4C ; BRFLS _B177 - !WORD _B177-* - !BYTE $68 ; LAB _D040+0 -_F268 !WORD _D040+0 - !BYTE $26 ; LA _D039+1 -_F269 !WORD _D039+1 - !BYTE $2A,$51 ; CB 81 - !BYTE $54 ; CALL _C004 -_F270 !WORD _C004 - !BYTE $78 ; SAB _D039+0 -_F271 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F272 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B178 - !WORD _B178-* -_B177 -; vmsrc/apple/cmd.pla: 1464: // -; vmsrc/apple/cmd.pla: 1465: // Print some startup info. -; vmsrc/apple/cmd.pla: 1466: // -; vmsrc/apple/cmd.pla: 1467: prstr("HEAP START:$"); prword(heap); crout - !BYTE $2E ; CS - !BYTE $0C - !BYTE $48,$45,$41,$50,$20,$53,$54,$41 - !BYTE $52,$54,$3A,$24 - !BYTE $54 ; CALL _A008 -_F273 !WORD _A008 -; vmsrc/apple/cmd.pla: 1468: prstr("MEM FREE:$"); prword(availheap); crout - !BYTE $6A ; LAW _D072+0 -_F274 !WORD _D072+0 - !BYTE $54 ; CALL _A009 -_F275 !WORD _A009 - !BYTE $54 ; CALL _A005 -_F276 !WORD _A005 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $4D,$45,$4D,$20,$46,$52,$45,$45 - !BYTE $3A,$24 - !BYTE $54 ; CALL _A008 -_F277 !WORD _A008 -; vmsrc/apple/cmd.pla: 1469: fin - !BYTE $54 ; CALL _C005 -_F278 !WORD _C005 - !BYTE $54 ; CALL _A009 -_F279 !WORD _A009 - !BYTE $54 ; CALL _A005 -_F280 !WORD _A005 -_B178 -; vmsrc/apple/cmd.pla: 1470: docmds -; vmsrc/apple/cmd.pla: 1471: done - !BYTE $54 ; CALL _C025 -_F281 !WORD _C025 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/apple/cmd.sym b/src/vmsrc/apple/cmd.sym deleted file mode 100644 index 5764899..0000000 --- a/src/vmsrc/apple/cmd.sym +++ /dev/null @@ -1,636 +0,0 @@ - _CMDEND = $1b45 ; unused - INTERP = $3d0 - _F009 = $cef ; unused - _F028 = $d15 ; unused - _F219 = $19b0 ; unused - _F238 = $1a2e ; unused - _B019 = $1276 ; ? - _B038 = $1490 ; unused - _F008 = $ced ; unused - _F029 = $d17 ; unused - _F218 = $19a6 ; unused - _F239 = $1a33 ; unused - _B018 = $1256 ; unused - _B039 = $1439 - _F049 = $d3f ; unused - _F068 = $1171 ; unused - _F259 = $1ada ; unused - _F278 = $1b38 ; unused - _B059 = $1577 ; ? - _B078 = $160d ; unused - SRCL = $6 - _F048 = $d3d ; unused - _F069 = $1189 ; unused - _F258 = $1ad1 ; unused - _F279 = $1b3b ; unused - _B058 = $157d ; unused - _B079 = $1664 ; unused - _F089 = $1234 ; unused - _B099 = $16d6 - FIXMSB = $10b0 ; ? - _F088 = $122f ; unused - _B098 = $16cf - SRCH = $7 - _F001 = $c0b ; unused - _F020 = $d05 ; unused - _F043 = $d33 ; unused - _F062 = $1119 ; unused - _F085 = $1219 ; unused - _F211 = $1948 ; unused - _F230 = $19e8 ; unused - _F253 = $1ab9 ; unused - _F272 = $1b08 ; unused - _B011 = $122e ; unused - _B030 = $13c2 ; unused - _B053 = $150f ; ? - _B072 = $15d5 ; unused - _B095 = $170b ; unused - LCBNK1 = $8 ; unused - _F000 = $c09 ; unused - _F021 = $d07 ; unused - _F042 = $d31 ; unused - _F063 = $112c ; unused - _F084 = $1213 ; unused - _F210 = $1942 ; unused - _F231 = $1a0d ; unused - _F252 = $1ab3 ; unused - _F273 = $1b1d ; unused - _B010 = $122e ; ? - _B031 = $15c4 ; ? - _B052 = $1515 ; unused - _B073 = $1618 ; ? - _B094 = $170b ; ? - LCBNK2 = $0 - _F003 = $c0f ; unused - _F022 = $d09 ; unused - _F041 = $d2f ; unused - _F060 = $d55 ; unused - _F087 = $122c ; unused - _F213 = $1952 ; unused - _F232 = $1a10 ; unused - _F251 = $1ab0 ; unused - _F270 = $1b01 ; unused - _B013 = $122e ; ? - _B051 = $1509 - _B070 = $15ae ; unused - _B097 = $16e4 ; ? - _B032 = $15c9 ; ? - _F002 = $c0d ; unused - _F023 = $d0b ; unused - _F040 = $d2d ; unused - _F061 = $d5b ; unused - _F086 = $121f ; unused - _F212 = $194f ; unused - _F233 = $1a1d ; unused - _F250 = $1aac ; unused - _F271 = $1b04 ; unused - _B012 = $1221 ; ? - _B033 = $13de ; ? - _B050 = $14ce ; unused - _B071 = $15d5 ; ? - _B096 = $16f1 ; ? - _F005 = $c18 ; unused - _F024 = $d0d ; unused - _F047 = $d3b ; unused - _F066 = $114e ; unused - _F081 = $11f6 ; unused - _F215 = $1971 ; unused - _F234 = $1a20 ; unused - _F257 = $1acb ; unused - _F276 = $1b26 ; unused - _B015 = $1241 ; ? - _B034 = $13ef ; ? - _B057 = $1539 - _B076 = $1618 ; ? - _B091 = $1714 ; ? - ESTK = $a0 - _F004 = $c16 ; unused - _F025 = $d0f ; unused - _F046 = $d39 ; unused - _F067 = $116e ; unused - _F080 = $11f0 ; unused - _F214 = $1966 ; unused - _F235 = $1a23 ; unused - _F256 = $1ac4 ; unused - _F277 = $1b35 ; unused - REVCPYLP = $e52 ; ? - _B014 = $122e ; unused - _B035 = $13ef ; unused - _B056 = $152f ; ? - _B077 = $160d ; ? - _B090 = $16a7 ; unused - _F007 = $ceb ; unused - _F026 = $d11 ; unused - _F045 = $d37 ; unused - _F064 = $1135 ; unused - _F083 = $1206 ; unused - _F217 = $199d ; unused - _F236 = $1a26 ; unused - _F255 = $1ac1 ; unused - _F274 = $1b20 ; unused - _B017 = $1256 ; ? - _B036 = $141a ; ? - _B055 = $1536 ; unused - _B074 = $1618 ; unused - _B093 = $1711 ; unused - _F006 = $ce9 ; unused - _F027 = $d13 ; unused - _F044 = $d35 ; unused - _F065 = $114b ; unused - _F082 = $1203 ; unused - _F216 = $1996 ; unused - _F237 = $1a29 ; unused - _F254 = $1abc ; unused - _F275 = $1b23 ; unused - _B016 = $1241 ; unused - _B037 = $1490 ; ? - _B054 = $151d - _B075 = $1610 ; ? - _B092 = $16ae - IFP = $e0 - IPY = $e4 - LCRWEN = $c083 ; unused - _C019 = $1768 - _C018 = $1736 - CMD = $d74 ; ? - CMDMOVE = $2f48 ; ? - _C011 = $12e1 - _C010 = $1294 - DSTL = $8 - _C013 = $1320 - _C012 = $12fd - _C015 = $138a - FORCPYLP = $e19 ; ? - _C014 = $135d - DSTH = $9 - _C017 = $1669 - _C016 = $161c - LCWTEN = $c081 ; unused - RLDEX = $10ef ; ? - _SYSFLAGS = $0 ; unused - _F109 = $1335 ; unused - _F128 = $143c ; unused - _B119 = $17d6 ; ? - _B138 = $191b ; unused - _F108 = $132b ; unused - _F129 = $1444 ; unused - _B118 = $17d6 ; unused - _B139 = $1904 ; ? - _D049 = $c50 - _D068 = $ce4 - _P019 = $12fd ; ? - _F149 = $15c7 ; unused - _F168 = $16c1 ; unused - _B159 = $1999 ; unused - _B178 = $1b40 ; ? - _D048 = $c4b - _D069 = $ce9 - _P018 = $12e1 ; ? - _F148 = $15b3 ; unused - _F169 = $16f4 ; unused - _B158 = $1999 ; ? - _F189 = $1882 ; unused - FIXLSB = $10a8 ; unused - _F188 = $1875 ; unused - _D043 = $c31 - _D062 = $cbd - _P013 = $1245 ; ? - _F101 = $12c4 ; unused - _F120 = $13bb ; unused - _F143 = $1561 ; unused - _F162 = $1659 ; unused - _F185 = $185c ; unused - _B111 = $1787 ; ? - _B130 = $189d ; ? - _B153 = $196b - _B172 = $1a5d - _D042 = $c2c - _D063 = $cc3 - _P012 = $11c4 ; ? - _F100 = $12b1 ; unused - _F121 = $13be ; unused - _F142 = $1542 ; unused - _F163 = $1672 ; unused - _F184 = $1856 ; unused - _B110 = $1778 ; ? - _B131 = $18b9 ; ? - _B152 = $1965 ; ? - _B173 = $1a5d - _P030 = $fc6 ; ? - _D041 = $c25 - _D060 = $cb1 - _P011 = $127a ; ? - _F103 = $12cf ; unused - _F122 = $13d3 ; unused - _F141 = $1526 ; unused - _F160 = $1651 ; unused - _F187 = $1870 ; unused - _B113 = $17b1 ; unused - _B132 = $18b9 ; unused - _B151 = $1963 ; ? - _B170 = $1a6d ; ? - _P031 = $1844 ; ? - _D040 = $c1d - _D061 = $cb7 - _P010 = $fb5 ; ? - _F102 = $12ca ; unused - _F123 = $13e4 ; unused - _F140 = $14e0 ; unused - _F161 = $1656 ; unused - _F186 = $1862 ; unused - _B112 = $178d - _B133 = $18b9 ; ? - _B171 = $1a64 ; ? - _D047 = $c46 - _D066 = $cd5 - _P017 = $dee ; ? - _F105 = $12d8 ; unused - _F124 = $13ea ; unused - _F147 = $15aa ; unused - _F166 = $1691 ; unused - _F181 = $1828 ; unused - _B115 = $17ae ; ? - _B134 = $18b9 ; unused - _B157 = $197e ; unused - _B176 = $1ac3 ; ? - _D046 = $c41 - _D067 = $cdc - _P016 = $dbb ; ? - _F104 = $12d4 ; unused - _F125 = $13f6 ; unused - _F146 = $15a0 ; unused - _F167 = $1699 ; unused - _F180 = $181e ; unused - _B114 = $17a1 ; ? - _B135 = $191b ; ? - _B156 = $1977 - _B177 = $1b0e ; ? - _D045 = $c3b - _D064 = $cc9 - _P015 = $11b6 ; ? - _F107 = $1310 ; unused - _F126 = $1420 ; unused - _F145 = $158a ; unused - _F164 = $1677 ; unused - _F183 = $1840 ; unused - _B117 = $17c0 - _B136 = $191b ; unused - _B155 = $1989 ; unused - _B174 = $1aa4 - _D044 = $c36 - _D065 = $cce - _P014 = $1281 ; ? - _F106 = $12f1 ; unused - _F127 = $1424 ; unused - _F144 = $156c ; unused - _F165 = $1685 ; unused - _F182 = $1832 ; unused - _B116 = $17d9 ; ? - _B137 = $191b ; ? - _B154 = $1977 - _B175 = $1aca ; unused - ESGUARD = $9e ; unused - JMPTMP = $e6 - PPL = $e2 ; unused - _A019 = $f83 - _A018 = $f5b - ROMEN = $c082 - PPH = $e3 ; unused - PP = $e2 - _A011 = $ed9 - _CMDBEGIN = $2003 - _A010 = $ec8 - PARAMS = $d75 ; ? - _A013 = $f14 ; unused - _A012 = $f00 - _A015 = $f3a - _A014 = $f28 - _A017 = $f51 ; unused - _A016 = $f4c ; unused - TOUPR = $fb7 ; ? - FIX8 = $10e1 ; ? - _F019 = $d03 ; unused - _F038 = $d29 ; unused - _F209 = $1938 ; unused - _F228 = $19e1 ; unused - _B009 = $1205 ; unused - _B028 = $13a8 ; ? - _F018 = $d01 ; unused - _F039 = $d2b ; unused - _F208 = $1935 ; unused - _F229 = $19e4 ; unused - _B008 = $1205 ; ? - _B029 = $13c2 ; ? - _F059 = $d53 ; unused - _F078 = $11dd ; unused - _F249 = $1aa9 ; unused - _F268 = $1af9 ; unused - _B049 = $14bc - _B068 = $15b5 ; unused - _F058 = $d51 ; unused - _F079 = $11ea ; unused - _F248 = $1aa5 ; unused - _F269 = $1afc ; unused - _B048 = $14d5 ; unused - _B069 = $15ae ; ? - _F099 = $12ad ; unused - _B089 = $16a7 ; ? - _F098 = $12a9 ; unused - _B088 = $171a ; ? - _F011 = $cf3 ; unused - _F030 = $d19 ; unused - _F053 = $d47 ; unused - _F072 = $11b0 ; unused - _F095 = $127e ; unused - _F201 = $1902 ; unused - _F220 = $19b5 ; unused - _F243 = $1a6e ; unused - _F262 = $1ae4 ; unused - _B001 = $1120 ; ? - _B020 = $1276 ; unused - _B043 = $145a ; unused - _B062 = $1567 ; ? - _B085 = $167e ; unused - _F010 = $cf1 ; unused - _F031 = $d1b ; unused - _F052 = $d45 ; unused - _F073 = $11bf ; unused - _F094 = $126e ; unused - _F200 = $18eb ; unused - _F221 = $19b8 ; unused - _F242 = $1a4b ; unused - _F263 = $1ae7 ; unused - _B021 = $12a5 - _B042 = $145a ; ? - _B063 = $156e ; ? - _B084 = $167e ; ? - _F013 = $cf7 ; unused - _F032 = $d1d ; unused - _F051 = $d43 ; unused - _F070 = $118c ; unused - _F097 = $128f ; unused - _F203 = $190c ; unused - _F222 = $19bc ; unused - _F241 = $1a48 ; unused - _F260 = $1ade ; unused - _B003 = $112e ; ? - _B022 = $12c0 ; unused - _B041 = $1465 ; ? - _B060 = $1577 ; ? - _B087 = $172b ; unused - _F012 = $cf5 ; unused - _F033 = $d1f ; unused - _F050 = $d41 ; unused - _F071 = $11ad ; unused - _F096 = $128a ; unused - _F202 = $1907 ; unused - _F223 = $19c3 ; unused - _F240 = $1a38 ; unused - _F261 = $1ae1 ; unused - _B002 = $1120 ; unused - _B023 = $12b8 ; ? - _B040 = $146b ; unused - _B061 = $1577 ; unused - _B086 = $1684 - _F015 = $cfb ; unused - _F034 = $d21 ; unused - _F057 = $d4f ; unused - _F076 = $11d5 ; unused - _F091 = $1251 ; unused - _F205 = $191c ; unused - _F224 = $19c6 ; unused - _F247 = $1a9f ; unused - _F266 = $1af0 ; unused - _F281 = $1b41 ; unused - _B005 = $1205 ; ? - _B024 = $135a ; ? - _B047 = $1490 ; unused - _B066 = $15bb ; ? - _B081 = $1661 ; unused - _F014 = $cf9 ; unused - _F035 = $d23 ; unused - _F056 = $d4d ; unused - _F077 = $11da ; unused - _F090 = $123c ; unused - _F204 = $1918 ; unused - _F225 = $19c9 ; unused - _F246 = $1a84 ; unused - _F267 = $1af3 ; unused - _F280 = $1b3e ; unused - CPYMEX = $e67 ; ? - _B004 = $112e ; unused - _B025 = $135a ; unused - _B046 = $1490 ; ? - _B067 = $15b5 ; ? - _B080 = $163e - _F017 = $cff ; unused - _F036 = $d25 ; unused - _F055 = $d4b ; unused - _F074 = $11cb ; unused - _F093 = $1269 ; unused - _F207 = $192d ; unused - _F226 = $19cc ; unused - _F245 = $1a80 ; unused - _F264 = $1aea ; unused - _B007 = $11f8 ; ? - _B026 = $1356 ; ? - _B045 = $145a ; unused - _B064 = $1580 - _B083 = $165b ; unused - _F016 = $cfd ; unused - _F037 = $d27 ; unused - _F054 = $d49 ; unused - _F075 = $11d0 ; unused - _F092 = $125e ; unused - _F206 = $1928 ; unused - _F227 = $19d8 ; unused - _F244 = $1a77 ; unused - _F265 = $1aed ; unused - _B006 = $1205 ; unused - _B027 = $1356 ; unused - _B044 = $145a ; ? - _B065 = $15c1 ; unused - _B082 = $165b ; ? - ESP = $e5 - REVCPY = $e2d ; ? - _C009 = $1281 - _C008 = $127a ; unused - ESTKSZ = $40 - _C001 = $1139 - _C020 = $17b3 - TMPH = $e8 - _C000 = $1109 - _C021 = $17e0 - _C003 = $1177 - _C022 = $1817 - _C002 = $1154 - _C023 = $1844 - _C005 = $11b6 - _C024 = $18c5 - TMPL = $e7 - _C004 = $1190 - _C025 = $1921 - SRC = $6 - _C007 = $1245 ; unused - _C026 = $1a40 - _INIT = $1a44 ; ? - _C006 = $11c4 - ESTKL = $c0 - ESTKH = $a0 - _D038 = $c1a - _F119 = $13b8 ; unused - _F138 = $14ca ; unused - _B109 = $178a ; unused - _B128 = $18c3 ; unused - _D039 = $c1c - _F118 = $13b3 ; unused - _F139 = $14d8 ; unused - _B108 = $1771 - _B129 = $189d ; ? - _P028 = $1177 ; ? - _D059 = $caa - _P009 = $ed9 ; ? - _F159 = $1638 ; unused - _F178 = $1805 ; unused - _B168 = $1a86 ; ? - _P029 = $1190 ; ? - _D058 = $ca3 - _P008 = $e83 ; ? - _F158 = $1635 ; unused - _F179 = $1811 ; unused - _B148 = $1957 - _B169 = $1a86 ; unused - _F199 = $18e4 ; unused - _F198 = $18df ; unused - IFPH = $e1 - _D053 = $c6b - _P003 = $e6c ; ? - _P022 = $f3a ; ? - _D072 = $d5d - _F111 = $1346 ; unused - _F130 = $144d ; unused - _F153 = $15ee ; unused - _F172 = $1723 ; unused - _F195 = $18cd ; unused - _B101 = $1708 ; ? - _B120 = $17d6 ; unused - _B162 = $19d1 ; ? - _B143 = $1a3b ; ? - _D052 = $c64 - _P002 = $e68 ; ? - _P023 = $f14 ; ? - _D073 = $d5f - _F110 = $133f ; unused - _F131 = $1455 ; unused - _F152 = $15d8 ; unused - _F173 = $172e ; unused - _F194 = $18c1 ; unused - _B100 = $16dd - _B121 = $180e ; ? - _B142 = $193b - _B163 = $19d1 ; unused - _D032 = $c03 - _D051 = $c5d - _P001 = $d7a ; ? - _P020 = $f28 ; ? - _D070 = $d1d - _F113 = $1351 ; unused - _F132 = $1460 ; unused - _F151 = $15d0 ; unused - _F170 = $1703 ; unused - _F197 = $18da ; unused - _B103 = $1705 ; unused - _B122 = $180e ; unused - _B160 = $199c - _B141 = $1a3e ; unused - _D033 = $c05 - _D050 = $c55 - _P000 = $d61 ; ? - _P021 = $f00 ; ? - _D071 = $d5b - _F112 = $134c ; unused - _F133 = $1471 ; unused - _F150 = $15ca ; unused - _F171 = $171d ; unused - _F196 = $18d4 ; unused - _B102 = $16fe - _B123 = $18c3 ; ? - _B140 = $1904 ; unused - _B161 = $19a2 - IFPL = $e0 - _D034 = $c07 - _P026 = $18c5 ; ? - _D057 = $c99 - _P007 = $1109 ; ? - _F115 = $1395 ; unused - _F134 = $1483 ; unused - _F157 = $1632 ; unused - _F176 = $1798 ; unused - _F191 = $18a3 ; unused - _B105 = $1763 ; unused - _B124 = $18c3 ; unused - _B147 = $19ed ; ? - _B166 = $1a28 ; ? - _P027 = $1154 ; ? - _D035 = $c13 - _D056 = $c8d - _P006 = $ec2 ; ? - _F114 = $1354 ; unused - _F135 = $148c ; unused - _F156 = $1629 ; unused - _F177 = $17ec ; unused - _F190 = $1888 ; unused - _B104 = $173f - _B125 = $18c3 ; ? - _B146 = $1a0f ; ? - _B167 = $1a28 ; unused - _D036 = $c14 ; unused - _D055 = $c83 - _P005 = $ec8 ; ? - _P024 = $f51 ; ? - _F117 = $13b0 ; unused - _F136 = $14ad ; unused - _F155 = $160b ; unused - _F174 = $1732 ; unused - _F193 = $18bd ; unused - _B107 = $1760 ; ? - _B126 = $18c3 ; unused - _B164 = $19d4 - _B145 = $1a28 ; unused - _D037 = $c15 ; unused - _D054 = $c74 - _P004 = $e96 ; ? - _P025 = $f4c ; ? - _F116 = $139b ; unused - _F137 = $14b6 ; unused - _F154 = $15fd ; unused - _F175 = $174a ; unused - _F192 = $18b6 ; unused - _B106 = $1753 ; ? - _B127 = $18c3 ; ? - _B144 = $1a28 ; ? - _B165 = $19dd - LCRDEN = $c080 - TMP = $e7 - VMZP = $e0 - DST = $8 - SETMEX = $dea ; ? - _A009 = $ec2 - _A008 = $e96 - FIX16 = $10c0 ; ? - _A001 = $d7a ; unused - _A020 = $fb5 - REGVALS = $6 - SETMLPH = $dd2 - _A000 = $d61 - _A021 = $fc6 - _A003 = $dbb - _A022 = $1008 - _A002 = $db5 - _A023 = $1040 - SETMLPL = $dcf - _A005 = $e68 - _A024 = $107b - _A004 = $dee - _A007 = $e83 ; unused - _A006 = $e6c diff --git a/src/vmsrc/apple/cmdjit.a b/src/vmsrc/apple/cmdjit.a deleted file mode 100644 index a4b49c9..0000000 --- a/src/vmsrc/apple/cmdjit.a +++ /dev/null @@ -1,4377 +0,0 @@ -; ACME COMPATIBLE OUTPUT - JMP _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/cmdjit.pla: 0001: const MACHID = $BF98 - ; MACHID = 49048 -; vmsrc/apple/cmdjit.pla: 0002: const iobuffer = $0800 - ; iobuffer = 2048 -; vmsrc/apple/cmdjit.pla: 0003: const RELADDR = $1000 - ; RELADDR = 4096 -; vmsrc/apple/cmdjit.pla: 0004: const symtbl = $A800 - ; symtbl = 43008 -; vmsrc/apple/cmdjit.pla: 0005: const freemem = $0006 - ; freemem = 6 -; vmsrc/apple/cmdjit.pla: 0006: const getlnbuf = $01FF - ; getlnbuf = 511 -; vmsrc/apple/cmdjit.pla: 0007: const CSW = $36 - ; CSW = 54 -; vmsrc/apple/cmdjit.pla: 0008: const KSW = $38 - ; KSW = 56 -; vmsrc/apple/cmdjit.pla: 0009: // -; vmsrc/apple/cmdjit.pla: 0010: // System flags: memory allocator screen holes. -; vmsrc/apple/cmdjit.pla: 0011: // -; vmsrc/apple/cmdjit.pla: 0012: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/cmdjit.pla: 0013: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/cmdjit.pla: 0014: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/cmdjit.pla: 0015: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/cmdjit.pla: 0016: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/cmdjit.pla: 0017: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/cmdjit.pla: 0018: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/cmdjit.pla: 0019: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/cmdjit.pla: 0020: const nojitc = $0100 - ; nojitc = 256 -; vmsrc/apple/cmdjit.pla: 0021: // -; vmsrc/apple/cmdjit.pla: 0022: // Module don't free memory -; vmsrc/apple/cmdjit.pla: 0023: // -; vmsrc/apple/cmdjit.pla: 0024: const modflagkeep = $1000 - ; modflagkeep = 4096 -; vmsrc/apple/cmdjit.pla: 0025: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/cmdjit.pla: 0026: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/cmdjit.pla: 0027: // -; vmsrc/apple/cmdjit.pla: 0028: // 80 column flag -; vmsrc/apple/cmdjit.pla: 0029: // -; vmsrc/apple/cmdjit.pla: 0030: const vid80col = $0800 - ; vid80col = 2048 -; vmsrc/apple/cmdjit.pla: 0031: // -; vmsrc/apple/cmdjit.pla: 0032: // Machine ID values -; vmsrc/apple/cmdjit.pla: 0033: // -; vmsrc/apple/cmdjit.pla: 0034: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; vmsrc/apple/cmdjit.pla: 0035: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; vmsrc/apple/cmdjit.pla: 0036: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; vmsrc/apple/cmdjit.pla: 0037: const MACHID_64K = $20 - ; MACHID_64K = 32 -; vmsrc/apple/cmdjit.pla: 0038: const MACHID_128K = $30 - ; MACHID_128K = 48 -; vmsrc/apple/cmdjit.pla: 0039: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; vmsrc/apple/cmdjit.pla: 0040: const MACHID_II = $00 - ; MACHID_II = 0 -; vmsrc/apple/cmdjit.pla: 0041: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; vmsrc/apple/cmdjit.pla: 0042: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; vmsrc/apple/cmdjit.pla: 0043: const MACHID_III = $C0 - ; MACHID_III = 192 -; vmsrc/apple/cmdjit.pla: 0044: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; vmsrc/apple/cmdjit.pla: 0045: const MACHID_I = $08 - ; MACHID_I = 8 -; vmsrc/apple/cmdjit.pla: 0046: // -; vmsrc/apple/cmdjit.pla: 0047: // Prefix commands -; vmsrc/apple/cmdjit.pla: 0048: // -; vmsrc/apple/cmdjit.pla: 0049: const GET_PFX = $C7 - ; GET_PFX = 199 -; vmsrc/apple/cmdjit.pla: 0050: const SET_PFX = $C6 - ; SET_PFX = 198 -; vmsrc/apple/cmdjit.pla: 0051: // -; vmsrc/apple/cmdjit.pla: 0052: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/cmdjit.pla: 0053: // -; vmsrc/apple/cmdjit.pla: 0054: struc t_defentry -; vmsrc/apple/cmdjit.pla: 0055: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/cmdjit.pla: 0056: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/cmdjit.pla: 0057: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/cmdjit.pla: 0058: byte callcount - ; callcount = 5 -; vmsrc/apple/cmdjit.pla: 0059: byte bytecodesize - ; bytecodesize = 6 -; vmsrc/apple/cmdjit.pla: 0060: end - ; t_defentry = 7 -; vmsrc/apple/cmdjit.pla: 0061: // -; vmsrc/apple/cmdjit.pla: 0062: // JIT compiler constants -; vmsrc/apple/cmdjit.pla: 0063: // -; vmsrc/apple/cmdjit.pla: 0064: const jitcbuf = $AF00 - ; jitcbuf = 44800 -; vmsrc/apple/cmdjit.pla: 0065: const jitcomp = $03E2 - ; jitcomp = 994 -; vmsrc/apple/cmdjit.pla: 0066: const jitcodeptr = $03E4 - ; jitcodeptr = 996 -; vmsrc/apple/cmdjit.pla: 0067: const jitmod = $02F0 - ; jitmod = 752 -; vmsrc/apple/cmdjit.pla: 0068: // -; vmsrc/apple/cmdjit.pla: 0069: // Pedefined functions. -; vmsrc/apple/cmdjit.pla: 0070: // -; vmsrc/apple/cmdjit.pla: 0071: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/cmdjit.pla: 0072: predef crout()#0, cout(c)#0, prstr(s)#0, prbyte(b)#0, prword(w)#0, print(i)#0, cin()#1, rdstr(p)#1, toupper(c)#1 -; vmsrc/apple/cmdjit.pla: 0073: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#1, releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/cmdjit.pla: 0074: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/cmdjit.pla: 0075: predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1, sext(a)#1, divmod(a,b)#2 -; vmsrc/apple/cmdjit.pla: 0076: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buf, len)#1 -; vmsrc/apple/cmdjit.pla: 0077: predef lookuptbl(dci)#1, execsys(sysfile)#0 -; vmsrc/apple/cmdjit.pla: 0078: // -; vmsrc/apple/cmdjit.pla: 0079: // Exported CMDSYS table -; vmsrc/apple/cmdjit.pla: 0080: // -; vmsrc/apple/cmdjit.pla: 0081: word version = $0221 // 02.21 -_D032 ; version = $0221 // 02.21 - !WORD $0221 -; vmsrc/apple/cmdjit.pla: 0082: word syspath -_D033 !FILL 2 ; syspath -; vmsrc/apple/cmdjit.pla: 0083: word syscmdln -_D034 !FILL 2 ; syscmdln -; vmsrc/apple/cmdjit.pla: 0084: word = @execmod, @open, @close, @read, 0 -_F000 !WORD _P026 -_F001 !WORD _P027 -_F002 !WORD _P028 -_F003 !WORD _P029 - !WORD $0000 -; vmsrc/apple/cmdjit.pla: 0085: byte perr -_D035 !FILL 1 ; perr -; vmsrc/apple/cmdjit.pla: 0086: byte jitcount = 0 -_D036 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/cmdjit.pla: 0087: byte jitsize = 0 -_D037 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/cmdjit.pla: 0088: word = @execsys // Different between Apple II and /// -_F004 !WORD _P031 -; vmsrc/apple/cmdjit.pla: 0089: word = @lookuptbl -_F005 !WORD _P030 -; vmsrc/apple/cmdjit.pla: 0090: word systemflags = 0 -_D038 ; systemflags = 0 - !WORD $0000 -; vmsrc/apple/cmdjit.pla: 0091: // -; vmsrc/apple/cmdjit.pla: 0092: // Working input buffer overlayed with strings table -; vmsrc/apple/cmdjit.pla: 0093: // -; vmsrc/apple/cmdjit.pla: 0094: byte cmdln = "" -_D039 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/cmdjit.pla: 0095: // -; vmsrc/apple/cmdjit.pla: 0096: // Name for auto-run file (must follow cmdln) -; vmsrc/apple/cmdjit.pla: 0097: // -; vmsrc/apple/cmdjit.pla: 0098: byte autorun = "AUTORUN" -_D040 ; autorun = "AUTORUN" - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E -; vmsrc/apple/cmdjit.pla: 0099: // -; vmsrc/apple/cmdjit.pla: 0100: // Standard Library exported functions. -; vmsrc/apple/cmdjit.pla: 0101: // -; vmsrc/apple/cmdjit.pla: 0102: byte sysmodstr = "CMDSYS" -_D041 ; sysmodstr = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/cmdjit.pla: 0103: byte putsstr = "PUTS" -_D042 ; putsstr = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/cmdjit.pla: 0104: byte putistr = "PUTI" -_D043 ; putistr = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/cmdjit.pla: 0105: byte putcstr = "PUTC" -_D044 ; putcstr = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/cmdjit.pla: 0106: byte putlnstr = "PUTLN" -_D045 ; putlnstr = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/cmdjit.pla: 0107: byte putbstr = "PUTB" -_D046 ; putbstr = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/cmdjit.pla: 0108: byte putwstr = "PUTH" -_D047 ; putwstr = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/cmdjit.pla: 0109: byte getcstr = "GETC" -_D048 ; getcstr = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/cmdjit.pla: 0110: byte getsstr = "GETS" -_D049 ; getsstr = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/cmdjit.pla: 0111: byte toupstr = "TOUPPER" -_D050 ; toupstr = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/cmdjit.pla: 0112: byte strcpystr = "STRCPY" -_D051 ; strcpystr = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/cmdjit.pla: 0113: byte strcatstr = "STRCAT" -_D052 ; strcatstr = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/cmdjit.pla: 0114: byte hpmarkstr = "HEAPMARK" -_D053 ; hpmarkstr = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/cmdjit.pla: 0115: byte hpalignstr = "HEAPALLOCALIGN" -_D054 ; hpalignstr = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/cmdjit.pla: 0116: byte hpallocstr = "HEAPALLOC" -_D055 ; hpallocstr = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/cmdjit.pla: 0117: byte hprelstr = "HEAPRELEASE" -_D056 ; hprelstr = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/cmdjit.pla: 0118: byte hpavlstr = "HEAPAVAIL" -_D057 ; hpavlstr = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/cmdjit.pla: 0119: word memsetstr = "MEMSET" -_D058 ; memsetstr = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/cmdjit.pla: 0120: byte memcpystr = "MEMCPY" -_D059 ; memcpystr = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/cmdjit.pla: 0121: byte uisgtstr = "ISUGT" -_D060 ; uisgtstr = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/cmdjit.pla: 0122: byte uisgestr = "ISUGE" -_D061 ; uisgestr = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/cmdjit.pla: 0123: byte uisltstr = "ISULT" -_D062 ; uisltstr = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/cmdjit.pla: 0124: byte uislestr = "ISULE" -_D063 ; uislestr = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/cmdjit.pla: 0125: byte sextstr = "SEXT" -_D064 ; sextstr = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/cmdjit.pla: 0126: byte divmodstr = "DIVMOD" -_D065 ; divmodstr = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/cmdjit.pla: 0127: byte machidstr = "MACHID" -_D066 ; machidstr = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/cmdjit.pla: 0128: byte sysstr = "SYSCALL" -_D067 ; sysstr = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/cmdjit.pla: 0129: byte callstr = "CALL" -_D068 ; callstr = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/cmdjit.pla: 0130: word exports = @sysmodstr, @version -_D069 ; exports = @sysmodstr, @version -_F006 !WORD _D041 -_F007 !WORD _D032 -; vmsrc/apple/cmdjit.pla: 0131: word = @sysstr, @syscall -_F008 !WORD _D067 -_F009 !WORD _P000 -; vmsrc/apple/cmdjit.pla: 0132: word = @callstr, @call -_F010 !WORD _D068 -_F011 !WORD _P001 -; vmsrc/apple/cmdjit.pla: 0133: word = @putcstr, @cout -_F012 !WORD _D044 -_F013 !WORD _P003 -; vmsrc/apple/cmdjit.pla: 0134: word = @putlnstr, @crout -_F014 !WORD _D045 -_F015 !WORD _P002 -; vmsrc/apple/cmdjit.pla: 0135: word = @putsstr, @prstr -_F016 !WORD _D042 -_F017 !WORD _P004 -; vmsrc/apple/cmdjit.pla: 0136: word = @putbstr, @prbyte -_F018 !WORD _D046 -_F019 !WORD _P005 -; vmsrc/apple/cmdjit.pla: 0137: word = @putwstr, @prword -_F020 !WORD _D047 -_F021 !WORD _P006 -; vmsrc/apple/cmdjit.pla: 0138: word = @putistr, @print -_F022 !WORD _D043 -_F023 !WORD _P007 -; vmsrc/apple/cmdjit.pla: 0139: word = @getcstr, @cin -_F024 !WORD _D048 -_F025 !WORD _P008 -; vmsrc/apple/cmdjit.pla: 0140: word = @getsstr, @rdstr -_F026 !WORD _D049 -_F027 !WORD _P009 -; vmsrc/apple/cmdjit.pla: 0141: word = @toupstr, @toupper -_F028 !WORD _D050 -_F029 !WORD _P010 -; vmsrc/apple/cmdjit.pla: 0142: word = @hpmarkstr, @markheap -_F030 !WORD _D053 -_F031 !WORD _P011 -; vmsrc/apple/cmdjit.pla: 0143: byte sysmods[] // overlay with exported strings -_D070 ; sysmods[] // overlay with exported strings -; vmsrc/apple/cmdjit.pla: 0144: word = @hpallocstr,@allocheap -_F032 !WORD _D055 -_F033 !WORD _P012 -; vmsrc/apple/cmdjit.pla: 0145: word = @hpalignstr,@allocalignheap -_F034 !WORD _D054 -_F035 !WORD _P013 -; vmsrc/apple/cmdjit.pla: 0146: word = @hprelstr, @releaseheap -_F036 !WORD _D056 -_F037 !WORD _P014 -; vmsrc/apple/cmdjit.pla: 0147: word = @hpavlstr, @availheap -_F038 !WORD _D057 -_F039 !WORD _P015 -; vmsrc/apple/cmdjit.pla: 0148: word = @memsetstr, @memset -_F040 !WORD _D058 -_F041 !WORD _P016 -; vmsrc/apple/cmdjit.pla: 0149: word = @memcpystr, @memcpy -_F042 !WORD _D059 -_F043 !WORD _P017 -; vmsrc/apple/cmdjit.pla: 0150: word = @uisgtstr, @uword_isgt -_F044 !WORD _D060 -_F045 !WORD _P020 -; vmsrc/apple/cmdjit.pla: 0151: word = @uisgestr, @uword_isge -_F046 !WORD _D061 -_F047 !WORD _P021 -; vmsrc/apple/cmdjit.pla: 0152: word = @uisltstr, @uword_islt -_F048 !WORD _D062 -_F049 !WORD _P022 -; vmsrc/apple/cmdjit.pla: 0153: word = @uislestr, @uword_isle -_F050 !WORD _D063 -_F051 !WORD _P023 -; vmsrc/apple/cmdjit.pla: 0154: word = @strcpystr, @strcpy -_F052 !WORD _D051 -_F053 !WORD _P018 -; vmsrc/apple/cmdjit.pla: 0155: word = @strcatstr, @strcat -_F054 !WORD _D052 -_F055 !WORD _P019 -; vmsrc/apple/cmdjit.pla: 0156: word = @sextstr, @sext -_F056 !WORD _D064 -_F057 !WORD _P024 -; vmsrc/apple/cmdjit.pla: 0157: word = @divmodstr, @divmod -_F058 !WORD _D065 -_F059 !WORD _P025 -; vmsrc/apple/cmdjit.pla: 0158: word = @machidstr, MACHID -_F060 !WORD _D066 - !WORD $BF98 -; vmsrc/apple/cmdjit.pla: 0159: word = 0 - !WORD $0000 -; vmsrc/apple/cmdjit.pla: 0160: word sysmodsym = @exports -_D071 ; sysmodsym = @exports -_F061 !WORD _D069 -; vmsrc/apple/cmdjit.pla: 0161: // -; vmsrc/apple/cmdjit.pla: 0162: // System variable. -; vmsrc/apple/cmdjit.pla: 0163: // -; vmsrc/apple/cmdjit.pla: 0164: word heap -_D072 !FILL 2 ; heap -; vmsrc/apple/cmdjit.pla: 0165: word xheap = $A000 // Set load address for JIT compiler -_D073 ; xheap = $A000 // Set load address for JIT compiler - !WORD $A000 -; vmsrc/apple/cmdjit.pla: 0166: word xheaptop = $C000 -_D074 ; xheaptop = $C000 - !WORD $C000 -; vmsrc/apple/cmdjit.pla: 0167: word lastsym = symtbl -_D075 ; lastsym = symtbl - !WORD $A800 -; vmsrc/apple/cmdjit.pla: 0168: // -; vmsrc/apple/cmdjit.pla: 0169: // Utility functions -; vmsrc/apple/cmdjit.pla: 0170: // -; vmsrc/apple/cmdjit.pla: 0171: //asm equates included from cmdstub.s -; vmsrc/apple/cmdjit.pla: 0172: // -; vmsrc/apple/cmdjit.pla: 0173: // CALL PRODOS -; vmsrc/apple/cmdjit.pla: 0174: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/cmdjit.pla: 0175: // -; vmsrc/apple/cmdjit.pla: 0176: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/cmdjit.pla: 0177: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0178: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0179: STA PARAMS - STA PARAMS -; vmsrc/apple/cmdjit.pla: 0180: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/cmdjit.pla: 0181: INX - INX -; vmsrc/apple/cmdjit.pla: 0182: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0183: STA CMD - STA CMD -; vmsrc/apple/cmdjit.pla: 0184: JSR $BF00 - JSR $BF00 -; vmsrc/apple/cmdjit.pla: 0185: CMD: !BYTE 00 -CMD: !BYTE 00 -; vmsrc/apple/cmdjit.pla: 0186: PARAMS: !WORD 0000 -PARAMS: !WORD 0000 -; vmsrc/apple/cmdjit.pla: 0187: ; LDY #$00 -; LDY #$00 -; vmsrc/apple/cmdjit.pla: 0188: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0189: ; STY ESTKH,X -; STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0190: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0191: end -; vmsrc/apple/cmdjit.pla: 0192: // -; vmsrc/apple/cmdjit.pla: 0193: // CALL 6502 ROUTINE -; vmsrc/apple/cmdjit.pla: 0194: // CALL(ADDR, AREG, XREG, YREG, STATUS) -; vmsrc/apple/cmdjit.pla: 0195: // -; vmsrc/apple/cmdjit.pla: 0196: asm call(addr,areg,xreg,yreg,status)#1 -_P001 ; call(addr,areg,xreg,yreg,status)#1() -_A001 ; call() -; vmsrc/apple/cmdjit.pla: 0197: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/cmdjit.pla: 0198: PHP - PHP -; vmsrc/apple/cmdjit.pla: 0199: LDA ESTKL+4,X - LDA ESTKL+4,X -; vmsrc/apple/cmdjit.pla: 0200: STA TMPL - STA TMPL -; vmsrc/apple/cmdjit.pla: 0201: LDA ESTKH+4,X - LDA ESTKH+4,X -; vmsrc/apple/cmdjit.pla: 0202: STA TMPH - STA TMPH -; vmsrc/apple/cmdjit.pla: 0203: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0204: PHA - PHA -; vmsrc/apple/cmdjit.pla: 0205: LDY ESTKL+1,X - LDY ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0206: LDA ESTKL+3,X - LDA ESTKL+3,X -; vmsrc/apple/cmdjit.pla: 0207: PHA - PHA -; vmsrc/apple/cmdjit.pla: 0208: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0209: INX - INX -; vmsrc/apple/cmdjit.pla: 0210: INX - INX -; vmsrc/apple/cmdjit.pla: 0211: INX - INX -; vmsrc/apple/cmdjit.pla: 0212: INX - INX -; vmsrc/apple/cmdjit.pla: 0213: STX ESP - STX ESP -; vmsrc/apple/cmdjit.pla: 0214: TAX - TAX -; vmsrc/apple/cmdjit.pla: 0215: PLA - PLA -; vmsrc/apple/cmdjit.pla: 0216: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0217: PLP - PLP -; vmsrc/apple/cmdjit.pla: 0218: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/cmdjit.pla: 0219: PHP - PHP -; vmsrc/apple/cmdjit.pla: 0220: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0221: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/cmdjit.pla: 0222: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/cmdjit.pla: 0223: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/cmdjit.pla: 0224: PLA - PLA -; vmsrc/apple/cmdjit.pla: 0225: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/cmdjit.pla: 0226: LDX ESP - LDX ESP -; vmsrc/apple/cmdjit.pla: 0227: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/cmdjit.pla: 0229: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0230: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0231: PLP - PLP -; vmsrc/apple/cmdjit.pla: 0232: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0233: end -; vmsrc/apple/cmdjit.pla: 0234: // -; vmsrc/apple/cmdjit.pla: 0235: // CALL LOADED SYSTEM PROGRAM -; vmsrc/apple/cmdjit.pla: 0236: // -; vmsrc/apple/cmdjit.pla: 0237: asm exec()#0 -_A002 ; exec() -; vmsrc/apple/cmdjit.pla: 0238: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0239: JMP $2000 - JMP $2000 -; vmsrc/apple/cmdjit.pla: 0240: end -; vmsrc/apple/cmdjit.pla: 0241: // -; vmsrc/apple/cmdjit.pla: 0242: // SET MEMORY TO VALUE -; vmsrc/apple/cmdjit.pla: 0243: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/cmdjit.pla: 0244: // With optimizations from Peter Ferrie -; vmsrc/apple/cmdjit.pla: 0245: // -; vmsrc/apple/cmdjit.pla: 0246: asm memset(addr,value,size)#0 -_P016 ; memset(addr,value,size)#0() -_A003 ; memset() -; vmsrc/apple/cmdjit.pla: 0247: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0248: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0249: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0250: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0251: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/cmdjit.pla: 0252: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0253: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0254: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0255: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0256: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/cmdjit.pla: 0257: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/cmdjit.pla: 0258: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0259: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0260: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/cmdjit.pla: 0261: BEQ ++ - BEQ ++ -; vmsrc/apple/cmdjit.pla: 0262: - INY -- INY -; vmsrc/apple/cmdjit.pla: 0263: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0264: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/cmdjit.pla: 0265: SEC - SEC -; vmsrc/apple/cmdjit.pla: 0266: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0267: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/cmdjit.pla: 0268: + INC DSTH -+ INC DSTH -; vmsrc/apple/cmdjit.pla: 0269: BNE -- - BNE -- -; vmsrc/apple/cmdjit.pla: 0270: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0271: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0272: SETMEX INX -SETMEX INX -; vmsrc/apple/cmdjit.pla: 0273: INX - INX -; vmsrc/apple/cmdjit.pla: 0274: INX - INX -; vmsrc/apple/cmdjit.pla: 0275: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0276: end -; vmsrc/apple/cmdjit.pla: 0277: // -; vmsrc/apple/cmdjit.pla: 0278: // COPY MEMORY -; vmsrc/apple/cmdjit.pla: 0279: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/cmdjit.pla: 0280: // -; vmsrc/apple/cmdjit.pla: 0281: asm memcpy(dst,src,size)#0 -_P017 ; memcpy(dst,src,size)#0() -_A004 ; memcpy() -; vmsrc/apple/cmdjit.pla: 0282: INX - INX -; vmsrc/apple/cmdjit.pla: 0283: INX - INX -; vmsrc/apple/cmdjit.pla: 0284: INX - INX -; vmsrc/apple/cmdjit.pla: 0285: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0286: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0287: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/cmdjit.pla: 0288: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmdjit.pla: 0289: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/cmdjit.pla: 0290: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmdjit.pla: 0291: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/cmdjit.pla: 0292: BCC REVCPY - BCC REVCPY -; vmsrc/apple/cmdjit.pla: 0293: ; -; vmsrc/apple/cmdjit.pla: 0294: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/cmdjit.pla: 0295: ; -; vmsrc/apple/cmdjit.pla: 0296: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/cmdjit.pla: 0297: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0298: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/cmdjit.pla: 0299: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0300: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/cmdjit.pla: 0301: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0302: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/cmdjit.pla: 0303: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0304: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0305: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/cmdjit.pla: 0306: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0307: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0308: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0309: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0310: INY - INY -; vmsrc/apple/cmdjit.pla: 0311: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0312: INC DSTH - INC DSTH -; vmsrc/apple/cmdjit.pla: 0313: INC SRCH - INC SRCH -; vmsrc/apple/cmdjit.pla: 0314: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0315: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmdjit.pla: 0316: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0317: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/cmdjit.pla: 0318: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0319: ; -; vmsrc/apple/cmdjit.pla: 0320: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/cmdjit.pla: 0321: ; -; vmsrc/apple/cmdjit.pla: 0322: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/cmdjit.pla: 0323: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0324: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/cmdjit.pla: 0325: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0326: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0327: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/cmdjit.pla: 0328: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0329: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0330: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0331: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/cmdjit.pla: 0332: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0333: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0334: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/cmdjit.pla: 0335: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0336: DEC DSTH - DEC DSTH -; vmsrc/apple/cmdjit.pla: 0337: DEC SRCH - DEC SRCH -; vmsrc/apple/cmdjit.pla: 0338: LDY #$FF - LDY #$FF -; vmsrc/apple/cmdjit.pla: 0339: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0340: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/cmdjit.pla: 0341: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0342: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0343: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0344: DEY - DEY -; vmsrc/apple/cmdjit.pla: 0345: CPY #$FF - CPY #$FF -; vmsrc/apple/cmdjit.pla: 0346: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0347: DEC DSTH - DEC DSTH -; vmsrc/apple/cmdjit.pla: 0348: DEC SRCH - DEC SRCH -; vmsrc/apple/cmdjit.pla: 0349: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/cmdjit.pla: 0350: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmdjit.pla: 0351: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/cmdjit.pla: 0352: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/cmdjit.pla: 0353: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/cmdjit.pla: 0354: end -; vmsrc/apple/cmdjit.pla: 0355: asm crout()#0 -_P002 ; crout()#0() -_A005 ; crout() -; vmsrc/apple/cmdjit.pla: 0356: LDA #$8D - LDA #$8D -; vmsrc/apple/cmdjit.pla: 0357: BNE ++ - BNE ++ -; vmsrc/apple/cmdjit.pla: 0358: end -; vmsrc/apple/cmdjit.pla: 0359: // -; vmsrc/apple/cmdjit.pla: 0360: // CHAR OUT -; vmsrc/apple/cmdjit.pla: 0361: // COUT(CHAR) -; vmsrc/apple/cmdjit.pla: 0362: // -; vmsrc/apple/cmdjit.pla: 0363: asm cout(c)#0 -_P003 ; cout(c)#0() -_A006 ; cout() -; vmsrc/apple/cmdjit.pla: 0364: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0365: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmdjit.pla: 0366: BMI + - BMI + -; vmsrc/apple/cmdjit.pla: 0367: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0368: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmdjit.pla: 0369: INX - INX -; vmsrc/apple/cmdjit.pla: 0370: ++ BIT ROMEN -++ BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0371: JSR $FDED - JSR $FDED -; vmsrc/apple/cmdjit.pla: 0372: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0373: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0374: end -; vmsrc/apple/cmdjit.pla: 0375: // -; vmsrc/apple/cmdjit.pla: 0376: // CHAR IN -; vmsrc/apple/cmdjit.pla: 0377: // RDKEY() -; vmsrc/apple/cmdjit.pla: 0378: // -; vmsrc/apple/cmdjit.pla: 0379: asm cin()#1 -_P008 ; cin()#1() -_A007 ; cin() -; vmsrc/apple/cmdjit.pla: 0380: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0381: JSR $FD0C - JSR $FD0C -; vmsrc/apple/cmdjit.pla: 0382: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0383: DEX - DEX -; vmsrc/apple/cmdjit.pla: 0384: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0385: AND #$7F - AND #$7F -; vmsrc/apple/cmdjit.pla: 0386: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0387: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0388: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0389: end -; vmsrc/apple/cmdjit.pla: 0390: // -; vmsrc/apple/cmdjit.pla: 0391: // PRINT STRING -; vmsrc/apple/cmdjit.pla: 0392: // PRSTR(STR) -; vmsrc/apple/cmdjit.pla: 0393: // -; vmsrc/apple/cmdjit.pla: 0394: asm prstr(s)#0 -_P004 ; prstr(s)#0() -_A008 ; prstr() -; vmsrc/apple/cmdjit.pla: 0395: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0396: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0397: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0398: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0399: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0400: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0401: BEQ ++ - BEQ ++ -; vmsrc/apple/cmdjit.pla: 0402: STA TMP - STA TMP -; vmsrc/apple/cmdjit.pla: 0403: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0404: - INY -- INY -; vmsrc/apple/cmdjit.pla: 0405: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0406: BIT $BF98 - BIT $BF98 -; vmsrc/apple/cmdjit.pla: 0407: BMI + - BMI + -; vmsrc/apple/cmdjit.pla: 0408: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0409: + ORA #$80 -+ ORA #$80 -; vmsrc/apple/cmdjit.pla: 0410: JSR $FDED - JSR $FDED -; vmsrc/apple/cmdjit.pla: 0411: CPY TMP - CPY TMP -; vmsrc/apple/cmdjit.pla: 0412: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0413: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0414: ++ INX -++ INX -; vmsrc/apple/cmdjit.pla: 0415: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0416: end -; vmsrc/apple/cmdjit.pla: 0417: // -; vmsrc/apple/cmdjit.pla: 0418: // PRINT WORD -; vmsrc/apple/cmdjit.pla: 0419: // -; vmsrc/apple/cmdjit.pla: 0420: asm prword(w)#0 -_P006 ; prword(w)#0() -_A009 ; prword() -; vmsrc/apple/cmdjit.pla: 0421: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0422: JSR + - JSR + -; vmsrc/apple/cmdjit.pla: 0423: DEX - DEX -; vmsrc/apple/cmdjit.pla: 0424: ; FALL THROUGH TO PRBYTE - ; FALL THROUGH TO PRBYTE -; vmsrc/apple/cmdjit.pla: 0425: end -; vmsrc/apple/cmdjit.pla: 0426: // -; vmsrc/apple/cmdjit.pla: 0427: // PRINT BYTE -; vmsrc/apple/cmdjit.pla: 0428: // -; vmsrc/apple/cmdjit.pla: 0429: asm prbyte(b)#0 -_P005 ; prbyte(b)#0() -_A010 ; prbyte() -; vmsrc/apple/cmdjit.pla: 0430: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0431: + STX ESP -+ STX ESP -; vmsrc/apple/cmdjit.pla: 0432: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0433: JSR $FDDA - JSR $FDDA -; vmsrc/apple/cmdjit.pla: 0434: LDX ESP - LDX ESP -; vmsrc/apple/cmdjit.pla: 0435: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0436: INX - INX -; vmsrc/apple/cmdjit.pla: 0437: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0438: end -; vmsrc/apple/cmdjit.pla: 0439: // -; vmsrc/apple/cmdjit.pla: 0440: // READ STRING -; vmsrc/apple/cmdjit.pla: 0441: // STR = RDSTR(PROMPTCHAR) -; vmsrc/apple/cmdjit.pla: 0442: // -; vmsrc/apple/cmdjit.pla: 0443: asm rdstr(p)#1 -_P009 ; rdstr(p)#1() -_A011 ; rdstr() -; vmsrc/apple/cmdjit.pla: 0444: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0445: STA $33 - STA $33 -; vmsrc/apple/cmdjit.pla: 0446: STX ESP - STX ESP -; vmsrc/apple/cmdjit.pla: 0447: BIT ROMEN - BIT ROMEN -; vmsrc/apple/cmdjit.pla: 0448: JSR $FD6A - JSR $FD6A -; vmsrc/apple/cmdjit.pla: 0449: STX $01FF - STX $01FF -; vmsrc/apple/cmdjit.pla: 0450: - LDA $01FF,X -- LDA $01FF,X -; vmsrc/apple/cmdjit.pla: 0451: AND #$7F - AND #$7F -; vmsrc/apple/cmdjit.pla: 0452: STA $01FF,X - STA $01FF,X -; vmsrc/apple/cmdjit.pla: 0453: DEX - DEX -; vmsrc/apple/cmdjit.pla: 0454: BPL - - BPL - -; vmsrc/apple/cmdjit.pla: 0455: TXA - TXA -; vmsrc/apple/cmdjit.pla: 0456: LDX ESP - LDX ESP -; vmsrc/apple/cmdjit.pla: 0457: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0458: LDA #$01 - LDA #$01 -; vmsrc/apple/cmdjit.pla: 0459: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0460: BIT LCRDEN+LCBNK2 - BIT LCRDEN+LCBNK2 -; vmsrc/apple/cmdjit.pla: 0461: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0462: end -; vmsrc/apple/cmdjit.pla: 0463: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A012 ; uword_isge() -; vmsrc/apple/cmdjit.pla: 0464: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0465: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmdjit.pla: 0466: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0467: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0468: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0469: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0470: EOR #$FF - EOR #$FF -; vmsrc/apple/cmdjit.pla: 0471: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0472: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0473: INX - INX -; vmsrc/apple/cmdjit.pla: 0474: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0475: end -; vmsrc/apple/cmdjit.pla: 0476: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A013 ; uword_isle() -; vmsrc/apple/cmdjit.pla: 0477: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0478: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0479: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0480: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0481: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0482: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0483: EOR #$FF - EOR #$FF -; vmsrc/apple/cmdjit.pla: 0484: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0485: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0486: INX - INX -; vmsrc/apple/cmdjit.pla: 0487: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0488: end -; vmsrc/apple/cmdjit.pla: 0489: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A014 ; uword_isgt() -; vmsrc/apple/cmdjit.pla: 0490: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0491: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0492: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0493: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0494: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0495: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0496: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0497: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0498: INX - INX -; vmsrc/apple/cmdjit.pla: 0499: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0500: end -; vmsrc/apple/cmdjit.pla: 0501: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A015 ; uword_islt() -; vmsrc/apple/cmdjit.pla: 0502: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0503: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmdjit.pla: 0504: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0505: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/cmdjit.pla: 0506: LDA #$FF - LDA #$FF -; vmsrc/apple/cmdjit.pla: 0507: ADC #$00 - ADC #$00 -; vmsrc/apple/cmdjit.pla: 0508: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0509: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0510: INX - INX -; vmsrc/apple/cmdjit.pla: 0511: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0512: end -; vmsrc/apple/cmdjit.pla: 0513: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A016 ; divmod() -; vmsrc/apple/cmdjit.pla: 0514: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/cmdjit.pla: 0515: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/cmdjit.pla: 0516: end -; vmsrc/apple/cmdjit.pla: 0517: asm sext(a)#1 -_P024 ; sext(a)#1() -_A017 ; sext() -; vmsrc/apple/cmdjit.pla: 0518: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0519: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0520: BPL + - BPL + -; vmsrc/apple/cmdjit.pla: 0521: DEY - DEY -; vmsrc/apple/cmdjit.pla: 0522: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0523: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0524: end -; vmsrc/apple/cmdjit.pla: 0525: // -; vmsrc/apple/cmdjit.pla: 0526: // Utility routines. -; vmsrc/apple/cmdjit.pla: 0527: // -; vmsrc/apple/cmdjit.pla: 0528: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/cmdjit.pla: 0529: // More efficient than C or Pascal strings. -; vmsrc/apple/cmdjit.pla: 0530: // -; vmsrc/apple/cmdjit.pla: 0531: //def dcitos(dci, str) -; vmsrc/apple/cmdjit.pla: 0532: // byte len, c -; vmsrc/apple/cmdjit.pla: 0533: // len = 0 -; vmsrc/apple/cmdjit.pla: 0534: // repeat -; vmsrc/apple/cmdjit.pla: 0535: // c = (dci).[len] -; vmsrc/apple/cmdjit.pla: 0536: // len = len + 1 -; vmsrc/apple/cmdjit.pla: 0537: // (str).[len] = c & $7F -; vmsrc/apple/cmdjit.pla: 0538: // until !(c & $80) -; vmsrc/apple/cmdjit.pla: 0539: // ^str = len -; vmsrc/apple/cmdjit.pla: 0540: // return len -; vmsrc/apple/cmdjit.pla: 0541: //end -; vmsrc/apple/cmdjit.pla: 0542: asm dcitos(dci, str)#1 -_A018 ; dcitos() -; vmsrc/apple/cmdjit.pla: 0543: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0544: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0545: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0546: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0547: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0548: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0549: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0550: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0551: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0552: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0553: CMP #$80 - CMP #$80 -; vmsrc/apple/cmdjit.pla: 0554: AND #$7F - AND #$7F -; vmsrc/apple/cmdjit.pla: 0555: INY - INY -; vmsrc/apple/cmdjit.pla: 0556: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0557: BCS - - BCS - -; vmsrc/apple/cmdjit.pla: 0558: TYA - TYA -; vmsrc/apple/cmdjit.pla: 0559: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0560: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0561: INX - INX -; vmsrc/apple/cmdjit.pla: 0562: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0563: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0564: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0565: end -; vmsrc/apple/cmdjit.pla: 0566: //def stodci(str, dci) -; vmsrc/apple/cmdjit.pla: 0567: // byte len, c -; vmsrc/apple/cmdjit.pla: 0568: // len = ^str -; vmsrc/apple/cmdjit.pla: 0569: // if len == 0 -; vmsrc/apple/cmdjit.pla: 0570: // return -; vmsrc/apple/cmdjit.pla: 0571: // fin -; vmsrc/apple/cmdjit.pla: 0572: // c = toupper((str).[len]) & $7F -; vmsrc/apple/cmdjit.pla: 0573: // len = len - 1 -; vmsrc/apple/cmdjit.pla: 0574: // (dci).[len] = c -; vmsrc/apple/cmdjit.pla: 0575: // while len -; vmsrc/apple/cmdjit.pla: 0576: // c = toupper((str).[len]) | $80 -; vmsrc/apple/cmdjit.pla: 0577: // len = len - 1 -; vmsrc/apple/cmdjit.pla: 0578: // (dci).[len] = c -; vmsrc/apple/cmdjit.pla: 0579: // loop -; vmsrc/apple/cmdjit.pla: 0580: // return ^str -; vmsrc/apple/cmdjit.pla: 0581: //end -; vmsrc/apple/cmdjit.pla: 0582: asm stodci(str,dci)#1 -_A019 ; stodci() -; vmsrc/apple/cmdjit.pla: 0583: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0584: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0585: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0586: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0587: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0588: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0589: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0590: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0591: INX - INX -; vmsrc/apple/cmdjit.pla: 0592: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0593: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0594: BEQ ++ - BEQ ++ -; vmsrc/apple/cmdjit.pla: 0595: TAY - TAY -; vmsrc/apple/cmdjit.pla: 0596: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0597: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0598: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0599: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0600: JSR TOUPR - JSR TOUPR -; vmsrc/apple/cmdjit.pla: 0601: ORA #$80 - ORA #$80 -; vmsrc/apple/cmdjit.pla: 0602: + DEY -+ DEY -; vmsrc/apple/cmdjit.pla: 0603: STA (DST),Y - STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0604: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0605: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0606: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0607: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0608: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0609: end -; vmsrc/apple/cmdjit.pla: 0610: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A020 ; toupper() -; vmsrc/apple/cmdjit.pla: 0611: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0612: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/cmdjit.pla: 0613: CMP #'a' - CMP #'a' -; vmsrc/apple/cmdjit.pla: 0614: BCC + - BCC + -; vmsrc/apple/cmdjit.pla: 0615: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/cmdjit.pla: 0616: BCS + - BCS + -; vmsrc/apple/cmdjit.pla: 0617: SBC #$1F - SBC #$1F -; vmsrc/apple/cmdjit.pla: 0618: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0619: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0620: end -; vmsrc/apple/cmdjit.pla: 0621: // -; vmsrc/apple/cmdjit.pla: 0622: // Lookup routines. -; vmsrc/apple/cmdjit.pla: 0623: // -; vmsrc/apple/cmdjit.pla: 0624: //def lookuptbl(dci) -; vmsrc/apple/cmdjit.pla: 0625: // word match, tbl -; vmsrc/apple/cmdjit.pla: 0626: // sym = symtbl -; vmsrc/apple/cmdjit.pla: 0627: // while ^sym -; vmsrc/apple/cmdjit.pla: 0628: // match = dci -; vmsrc/apple/cmdjit.pla: 0629: // while ^sym == ^match -; vmsrc/apple/cmdjit.pla: 0630: // if !(^sym & $80) -; vmsrc/apple/cmdjit.pla: 0631: // return (tbl):1 -; vmsrc/apple/cmdjit.pla: 0632: // fin -; vmsrc/apple/cmdjit.pla: 0633: // tbl++ -; vmsrc/apple/cmdjit.pla: 0634: // match++ -; vmsrc/apple/cmdjit.pla: 0635: // loop -; vmsrc/apple/cmdjit.pla: 0636: // while (^sym & $80) -; vmsrc/apple/cmdjit.pla: 0637: // sym = sym + 1 -; vmsrc/apple/cmdjit.pla: 0638: // loop -; vmsrc/apple/cmdjit.pla: 0639: // sym = sym + 3 -; vmsrc/apple/cmdjit.pla: 0640: // loop -; vmsrc/apple/cmdjit.pla: 0641: // return 0 -; vmsrc/apple/cmdjit.pla: 0642: asm lookuptbl(dci)#1 -_P030 ; lookuptbl(dci)#1() -_A021 ; lookuptbl() -; vmsrc/apple/cmdjit.pla: 0643: LDA #$00 ; SYMBOL TABLE - LDA #$00 ; SYMBOL TABLE -; vmsrc/apple/cmdjit.pla: 0644: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0645: LDA #$A8 - LDA #$A8 -; vmsrc/apple/cmdjit.pla: 0646: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0647: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0648: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0649: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0650: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0651: -- LDY #$00 --- LDY #$00 -; vmsrc/apple/cmdjit.pla: 0652: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0653: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0654: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/cmdjit.pla: 0655: BNE ++ - BNE ++ -; vmsrc/apple/cmdjit.pla: 0656: INY - INY -; vmsrc/apple/cmdjit.pla: 0657: ASL - ASL -; vmsrc/apple/cmdjit.pla: 0658: BCS - - BCS - -; vmsrc/apple/cmdjit.pla: 0659: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0660: STA ESTKL,X ; MATCH - STA ESTKL,X ; MATCH -; vmsrc/apple/cmdjit.pla: 0661: INY - INY -; vmsrc/apple/cmdjit.pla: 0662: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0663: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0664: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0665: + STA ESTKL,X ; NO MATCH -+ STA ESTKL,X ; NO MATCH -; vmsrc/apple/cmdjit.pla: 0666: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0667: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0668: ++ -++ -; vmsrc/apple/cmdjit.pla: 0669: - LDA (DST),Y ; NEXT ENTRY -- LDA (DST),Y ; NEXT ENTRY -; vmsrc/apple/cmdjit.pla: 0670: BPL + - BPL + -; vmsrc/apple/cmdjit.pla: 0671: INY - INY -; vmsrc/apple/cmdjit.pla: 0672: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0673: + TYA -+ TYA -; vmsrc/apple/cmdjit.pla: 0674: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0675: ADC #$03 - ADC #$03 -; vmsrc/apple/cmdjit.pla: 0676: ADC DSTL - ADC DSTL -; vmsrc/apple/cmdjit.pla: 0677: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0678: BCC -- - BCC -- -; vmsrc/apple/cmdjit.pla: 0679: INC DSTH - INC DSTH -; vmsrc/apple/cmdjit.pla: 0680: BNE -- - BNE -- -; vmsrc/apple/cmdjit.pla: 0681: end -; vmsrc/apple/cmdjit.pla: 0682: // def lookupidx(esd, index) -; vmsrc/apple/cmdjit.pla: 0683: // word sym -; vmsrc/apple/cmdjit.pla: 0684: // while ^esd -; vmsrc/apple/cmdjit.pla: 0685: // sym = esd -; vmsrc/apple/cmdjit.pla: 0686: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/cmdjit.pla: 0687: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/cmdjit.pla: 0688: // return sym -; vmsrc/apple/cmdjit.pla: 0689: // fin -; vmsrc/apple/cmdjit.pla: 0690: // esd = esd + 3 -; vmsrc/apple/cmdjit.pla: 0691: // loop -; vmsrc/apple/cmdjit.pla: 0692: //end -; vmsrc/apple/cmdjit.pla: 0693: asm lookupidx(esd, index)#1 -_A022 ; lookupidx() -; vmsrc/apple/cmdjit.pla: 0694: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0695: STA TMPL - STA TMPL -; vmsrc/apple/cmdjit.pla: 0696: INX - INX -; vmsrc/apple/cmdjit.pla: 0697: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0698: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0699: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0700: -- STA SRCL --- STA SRCL -; vmsrc/apple/cmdjit.pla: 0701: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0702: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0703: BPL + - BPL + -; vmsrc/apple/cmdjit.pla: 0704: INY - INY -; vmsrc/apple/cmdjit.pla: 0705: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0706: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/cmdjit.pla: 0707: INY - INY -; vmsrc/apple/cmdjit.pla: 0708: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0709: INY - INY -; vmsrc/apple/cmdjit.pla: 0710: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/cmdjit.pla: 0711: BEQ + - BEQ + -; vmsrc/apple/cmdjit.pla: 0712: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0713: CMP TMPL - CMP TMPL -; vmsrc/apple/cmdjit.pla: 0714: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/cmdjit.pla: 0715: + INY -+ INY -; vmsrc/apple/cmdjit.pla: 0716: TYA - TYA -; vmsrc/apple/cmdjit.pla: 0717: SEC - SEC -; vmsrc/apple/cmdjit.pla: 0718: ADC SRCL - ADC SRCL -; vmsrc/apple/cmdjit.pla: 0719: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/cmdjit.pla: 0720: BCC -- - BCC -- -; vmsrc/apple/cmdjit.pla: 0721: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/cmdjit.pla: 0722: BNE --- - BNE --- -; vmsrc/apple/cmdjit.pla: 0723: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/cmdjit.pla: 0724: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0725: +++ RTS -+++ RTS -; vmsrc/apple/cmdjit.pla: 0726: end -; vmsrc/apple/cmdjit.pla: 0727: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/cmdjit.pla: 0728: // while deftbl->interpjsr == $20 -; vmsrc/apple/cmdjit.pla: 0729: // if deftbl=>bytecodeaddr == addr -; vmsrc/apple/cmdjit.pla: 0730: // return deftbl -; vmsrc/apple/cmdjit.pla: 0731: // fin -; vmsrc/apple/cmdjit.pla: 0732: // deftbl = deftbl + t_defentry -; vmsrc/apple/cmdjit.pla: 0733: // loop -; vmsrc/apple/cmdjit.pla: 0734: // return 0 -; vmsrc/apple/cmdjit.pla: 0735: //end -; vmsrc/apple/cmdjit.pla: 0736: asm lookupdef(addr, deftbl)#1 -_A023 ; lookupdef() -; vmsrc/apple/cmdjit.pla: 0737: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0738: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0739: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0740: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0741: INX - INX -; vmsrc/apple/cmdjit.pla: 0742: - LDY #$00 -- LDY #$00 -; vmsrc/apple/cmdjit.pla: 0743: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0744: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/cmdjit.pla: 0745: BNE ++ - BNE ++ -; vmsrc/apple/cmdjit.pla: 0746: LDY #$03 - LDY #$03 -; vmsrc/apple/cmdjit.pla: 0747: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0748: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/cmdjit.pla: 0749: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0750: INY - INY -; vmsrc/apple/cmdjit.pla: 0751: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0752: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/cmdjit.pla: 0753: BNE + - BNE + -; vmsrc/apple/cmdjit.pla: 0754: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/cmdjit.pla: 0755: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0756: LDA SRCH - LDA SRCH -; vmsrc/apple/cmdjit.pla: 0757: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0758: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0759: + LDA #$07 ; NEXT ENTRY -+ LDA #$07 ; NEXT ENTRY -; vmsrc/apple/cmdjit.pla: 0760: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0761: ADC SRCL - ADC SRCL -; vmsrc/apple/cmdjit.pla: 0762: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0763: BCC - - BCC - -; vmsrc/apple/cmdjit.pla: 0764: INC SRCH - INC SRCH -; vmsrc/apple/cmdjit.pla: 0765: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0766: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/cmdjit.pla: 0767: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/cmdjit.pla: 0768: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0769: end -; vmsrc/apple/cmdjit.pla: 0770: // -; vmsrc/apple/cmdjit.pla: 0771: // Reloc internal data -; vmsrc/apple/cmdjit.pla: 0772: // -; vmsrc/apple/cmdjit.pla: 0773: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/cmdjit.pla: 0774: // word addr, fixup -; vmsrc/apple/cmdjit.pla: 0775: // while ^rld -; vmsrc/apple/cmdjit.pla: 0776: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/cmdjit.pla: 0777: // return rld, addr, fixup -; vmsrc/apple/cmdjit.pla: 0778: // fin -; vmsrc/apple/cmdjit.pla: 0779: // addr = rld=>1 + modfix -; vmsrc/apple/cmdjit.pla: 0780: // fixup = *addr + modofst -; vmsrc/apple/cmdjit.pla: 0781: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/cmdjit.pla: 0782: // return rld, addr, fixup -; vmsrc/apple/cmdjit.pla: 0783: // fin -; vmsrc/apple/cmdjit.pla: 0784: // *addr = fixup -; vmsrc/apple/cmdjit.pla: 0785: // rld = rld + 4 -; vmsrc/apple/cmdjit.pla: 0786: // loop -; vmsrc/apple/cmdjit.pla: 0787: // return rld, addr, fixup -; vmsrc/apple/cmdjit.pla: 0788: //end -; vmsrc/apple/cmdjit.pla: 0789: asm reloc(modfix, modofst, bytecode, rld)#3 -_A024 ; reloc() -; vmsrc/apple/cmdjit.pla: 0790: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0791: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0792: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0793: STA SRCH - STA SRCH -; vmsrc/apple/cmdjit.pla: 0794: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0795: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0796: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/cmdjit.pla: 0797: INY - INY -; vmsrc/apple/cmdjit.pla: 0798: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0799: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0800: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/cmdjit.pla: 0801: STA DSTL - STA DSTL -; vmsrc/apple/cmdjit.pla: 0802: INY - INY -; vmsrc/apple/cmdjit.pla: 0803: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0804: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/cmdjit.pla: 0805: STA DSTH - STA DSTH -; vmsrc/apple/cmdjit.pla: 0806: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0807: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0808: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/cmdjit.pla: 0809: BNE RLDEX - BNE RLDEX -; vmsrc/apple/cmdjit.pla: 0810: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/cmdjit.pla: 0811: BMI FIX16 - BMI FIX16 -; vmsrc/apple/cmdjit.pla: 0812: AND #$40 - AND #$40 -; vmsrc/apple/cmdjit.pla: 0813: BNE FIXMSB - BNE FIXMSB -; vmsrc/apple/cmdjit.pla: 0814: FIXLSB LDA (DST),Y -FIXLSB LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0815: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0816: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0817: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0818: BCC FIX8 - BCC FIX8 -; vmsrc/apple/cmdjit.pla: 0819: FIXMSB LDY #$03 -FIXMSB LDY #$03 -; vmsrc/apple/cmdjit.pla: 0820: LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) - LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) -; vmsrc/apple/cmdjit.pla: 0821: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0822: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0823: LDY #$00 - LDY #$00 -; vmsrc/apple/cmdjit.pla: 0824: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0825: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0826: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0827: BCC FIX8 - BCC FIX8 -; vmsrc/apple/cmdjit.pla: 0828: FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/cmdjit.pla: 0829: CLC - CLC -; vmsrc/apple/cmdjit.pla: 0830: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0831: STA TMPL - STA TMPL -; vmsrc/apple/cmdjit.pla: 0832: INY - INY -; vmsrc/apple/cmdjit.pla: 0833: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/cmdjit.pla: 0834: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0835: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/cmdjit.pla: 0836: BCC + - BCC + -; vmsrc/apple/cmdjit.pla: 0837: STA TMPH - STA TMPH -; vmsrc/apple/cmdjit.pla: 0838: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/cmdjit.pla: 0839: LDA TMPL - LDA TMPL -; vmsrc/apple/cmdjit.pla: 0840: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0841: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/cmdjit.pla: 0842: LDA TMPH - LDA TMPH -; vmsrc/apple/cmdjit.pla: 0843: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/cmdjit.pla: 0844: DEY - DEY -; vmsrc/apple/cmdjit.pla: 0845: LDA TMPL - LDA TMPL -; vmsrc/apple/cmdjit.pla: 0846: FIX8 STA (DST),Y -FIX8 STA (DST),Y -; vmsrc/apple/cmdjit.pla: 0847: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/cmdjit.pla: 0848: ; CLC -; CLC -; vmsrc/apple/cmdjit.pla: 0849: ADC #$04 - ADC #$04 -; vmsrc/apple/cmdjit.pla: 0850: STA SRCL - STA SRCL -; vmsrc/apple/cmdjit.pla: 0851: BCC - - BCC - -; vmsrc/apple/cmdjit.pla: 0852: INC SRCH - INC SRCH -; vmsrc/apple/cmdjit.pla: 0853: BNE - - BNE - -; vmsrc/apple/cmdjit.pla: 0854: RLDEX INX -RLDEX INX -; vmsrc/apple/cmdjit.pla: 0855: LDA TMPL - LDA TMPL -; vmsrc/apple/cmdjit.pla: 0856: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/cmdjit.pla: 0857: LDA TMPH - LDA TMPH -; vmsrc/apple/cmdjit.pla: 0858: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/cmdjit.pla: 0859: LDA DSTL - LDA DSTL -; vmsrc/apple/cmdjit.pla: 0860: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/cmdjit.pla: 0861: LDA DSTH - LDA DSTH -; vmsrc/apple/cmdjit.pla: 0862: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/cmdjit.pla: 0863: LDA SRCL - LDA SRCL -; vmsrc/apple/cmdjit.pla: 0864: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/cmdjit.pla: 0865: LDA SRCH - LDA SRCH -; vmsrc/apple/cmdjit.pla: 0866: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/cmdjit.pla: 0867: RTS - RTS -; vmsrc/apple/cmdjit.pla: 0868: end -; vmsrc/apple/cmdjit.pla: 0869: // -; vmsrc/apple/cmdjit.pla: 0870: // Cheap and dirty print integer -; vmsrc/apple/cmdjit.pla: 0871: // -; vmsrc/apple/cmdjit.pla: 0872: def print(i)#0 - ; i -> [0] -_P007 ; print(i)#0() -_C000 ; print() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0873: if i < 0; cout('-'); i = -i; fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _A006 -_F062 !WORD _A006 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B001 -_B002 -; vmsrc/apple/cmdjit.pla: 0874: if i >= 10; print(i / 10); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _C000 -_F063 !WORD _C000 -_B003 -_B004 -; vmsrc/apple/cmdjit.pla: 0875: cout(i % 10 + '0') -; vmsrc/apple/cmdjit.pla: 0876: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _A006 -_F064 !WORD _A006 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 0877: // -; vmsrc/apple/cmdjit.pla: 0878: // ProDOS routines -; vmsrc/apple/cmdjit.pla: 0879: // -; vmsrc/apple/cmdjit.pla: 0880: def pfxop(path, op)#1 - ; path -> [0] - ; op -> [2] -_C001 ; pfxop() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0881: byte params[3] - ; params -> [4] -; vmsrc/apple/cmdjit.pla: 0882: -; vmsrc/apple/cmdjit.pla: 0883: params.0 = 1 - !BYTE $58,$07,$02 ; ENTER 7,2 -; vmsrc/apple/cmdjit.pla: 0884: params:1 = path -; vmsrc/apple/cmdjit.pla: 0885: perr = syscall(op, @params) -; vmsrc/apple/cmdjit.pla: 0886: return path - !BYTE $02 ; CN 1 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A000 -_F065 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F066 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmdjit.pla: 0887: end -; vmsrc/apple/cmdjit.pla: 0888: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C002 ; open() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0889: byte params[6] - ; params -> [2] -; vmsrc/apple/cmdjit.pla: 0890: -; vmsrc/apple/cmdjit.pla: 0891: params.0 = 3 - !BYTE $58,$08,$01 ; ENTER 8,1 -; vmsrc/apple/cmdjit.pla: 0892: params:1 = path -; vmsrc/apple/cmdjit.pla: 0893: params:3 = iobuffer -; vmsrc/apple/cmdjit.pla: 0894: params.5 = 0 -; vmsrc/apple/cmdjit.pla: 0895: perr = syscall($C8, @params) -; vmsrc/apple/cmdjit.pla: 0896: return params.5 - !BYTE $06 ; CN 3 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $76,$05 ; SLW [5] - !BYTE $00 ; CN 0 - !BYTE $74,$07 ; SLB [7] - !BYTE $2A,$C8 ; CB 200 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F067 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F068 !WORD _D035+0 - !BYTE $64,$07 ; LLB [7] - !BYTE $5A,$08 ; LEAVE 8 -; vmsrc/apple/cmdjit.pla: 0897: end -; vmsrc/apple/cmdjit.pla: 0898: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C003 ; close() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0899: byte params[2] - ; params -> [2] -; vmsrc/apple/cmdjit.pla: 0900: -; vmsrc/apple/cmdjit.pla: 0901: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/cmdjit.pla: 0902: params.1 = refnum -; vmsrc/apple/cmdjit.pla: 0903: perr = syscall($CC, @params) -; vmsrc/apple/cmdjit.pla: 0904: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$CC ; CB 204 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F069 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F070 !WORD _D035+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0905: end -; vmsrc/apple/cmdjit.pla: 0906: def read(refnum, buf, len)#1 - ; refnum -> [0] - ; buf -> [2] - ; len -> [4] -_P029 ; read(refnum, buf, len)#1() -_C004 ; read() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0907: byte params[8] - ; params -> [6] -; vmsrc/apple/cmdjit.pla: 0908: -; vmsrc/apple/cmdjit.pla: 0909: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/cmdjit.pla: 0910: params.1 = refnum -; vmsrc/apple/cmdjit.pla: 0911: params:2 = buf -; vmsrc/apple/cmdjit.pla: 0912: params:4 = len -; vmsrc/apple/cmdjit.pla: 0913: params:6 = 0 -; vmsrc/apple/cmdjit.pla: 0914: perr = syscall($CA, @params) -; vmsrc/apple/cmdjit.pla: 0915: return params:6 - !BYTE $08 ; CN 4 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$CA ; CB 202 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F071 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F072 !WORD _D035+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/cmdjit.pla: 0916: end -; vmsrc/apple/cmdjit.pla: 0917: // -; vmsrc/apple/cmdjit.pla: 0918: // Heap routines. -; vmsrc/apple/cmdjit.pla: 0919: // -; vmsrc/apple/cmdjit.pla: 0920: def availheap()#1 -_P015 ; availheap()#1() -_C005 ; availheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0921: byte fp - ; fp -> [0] -; vmsrc/apple/cmdjit.pla: 0922: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D072+0 -_F073 !WORD _D072+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmdjit.pla: 0923: end -; vmsrc/apple/cmdjit.pla: 0924: def allocheap(size)#1 - ; size -> [0] -_P012 ; allocheap(size)#1() -_C006 ; allocheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0925: word oldheap, addr - ; oldheap -> [2] - ; addr -> [4] -; vmsrc/apple/cmdjit.pla: 0926: oldheap = heap - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/cmdjit.pla: 0927: addr = heap -; vmsrc/apple/cmdjit.pla: 0928: heap = heap + size -; vmsrc/apple/cmdjit.pla: 0929: if systemflags & reshgr1 -; vmsrc/apple/cmdjit.pla: 0930: if uword_islt(addr, $4000) and uword_isgt(heap, $2000) -; vmsrc/apple/cmdjit.pla: 0931: addr = $4000 -; vmsrc/apple/cmdjit.pla: 0932: heap = addr + size -; vmsrc/apple/cmdjit.pla: 0933: fin - !BYTE $6A ; LAW _D072+0 -_F074 !WORD _D072+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D072+0 -_F075 !WORD _D072+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D072+0 -_F076 !WORD _D072+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D072+0 -_F077 !WORD _D072+0 - !BYTE $6A ; LAW _D038+0 -_F078 !WORD _D038+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A015 -_F079 !WORD _A015 - !BYTE $AC ; BRAND _B007 - !WORD _B007-* - !BYTE $6A ; LAW _D072+0 -_F080 !WORD _D072+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _A014 -_F081 !WORD _A014 -_B007 - !BYTE $4C ; BRFLS _B008 - !WORD _B008-* - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $6E,$04 ; DLW [4] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D072+0 -_F082 !WORD _D072+0 -_B008 -_B009 -; vmsrc/apple/cmdjit.pla: 0934: fin -_B005 -_B006 -; vmsrc/apple/cmdjit.pla: 0935: if systemflags & reshgr2 -; vmsrc/apple/cmdjit.pla: 0936: if uword_islt(addr, $6000) and uword_isgt(heap, $4000) -; vmsrc/apple/cmdjit.pla: 0937: addr = $6000 -; vmsrc/apple/cmdjit.pla: 0938: heap = addr + size -; vmsrc/apple/cmdjit.pla: 0939: fin - !BYTE $6A ; LAW _D038+0 -_F083 !WORD _D038+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $54 ; CALL _A015 -_F084 !WORD _A015 - !BYTE $AC ; BRAND _B012 - !WORD _B012-* - !BYTE $6A ; LAW _D072+0 -_F085 !WORD _D072+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A014 -_F086 !WORD _A014 -_B012 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $6E,$04 ; DLW [4] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D072+0 -_F087 !WORD _D072+0 -_B013 -_B014 -; vmsrc/apple/cmdjit.pla: 0940: fin -_B010 -_B011 -; vmsrc/apple/cmdjit.pla: 0941: if uword_isge(heap, @addr) -; vmsrc/apple/cmdjit.pla: 0942: heap = oldheap -; vmsrc/apple/cmdjit.pla: 0943: return 0 - !BYTE $6A ; LAW _D072+0 -_F088 !WORD _D072+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _A012 -_F089 !WORD _A012 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D072+0 -_F090 !WORD _D072+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmdjit.pla: 0944: fin -_B015 -_B016 -; vmsrc/apple/cmdjit.pla: 0945: return addr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/cmdjit.pla: 0946: end -; vmsrc/apple/cmdjit.pla: 0947: def allocalignheap(size, pow2, freeaddr) - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P013 ; allocalignheap(size, pow2, freeaddr)() -_C007 ; allocalignheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0948: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/cmdjit.pla: 0949: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/cmdjit.pla: 0950: *freeaddr = heap -; vmsrc/apple/cmdjit.pla: 0951: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $6A ; LAW _D072+0 -_F091 !WORD _D072+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B017 -_B018 -; vmsrc/apple/cmdjit.pla: 0952: align = (1 << pow2) - 1 -; vmsrc/apple/cmdjit.pla: 0953: addr = (heap | align) + 1 -; vmsrc/apple/cmdjit.pla: 0954: heap = addr + size -; vmsrc/apple/cmdjit.pla: 0955: if uword_isge(heap, @addr) -; vmsrc/apple/cmdjit.pla: 0956: return 0 - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $9A ; SHL - !BYTE $8E ; DECR - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D072+0 -_F092 !WORD _D072+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $96 ; OR - !BYTE $8C ; INCR - !BYTE $6E,$08 ; DLW [8] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D072+0 -_F093 !WORD _D072+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F094 !WORD _A012 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmdjit.pla: 0957: fin -_B019 -_B020 -; vmsrc/apple/cmdjit.pla: 0958: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/cmdjit.pla: 0959: end -; vmsrc/apple/cmdjit.pla: 0960: def markheap()#1 -_P011 ; markheap()#1() -_C008 ; markheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0961: return heap - !BYTE $6A ; LAW _D072+0 -_F095 !WORD _D072+0 - !BYTE $5C ; RET -; vmsrc/apple/cmdjit.pla: 0962: end -; vmsrc/apple/cmdjit.pla: 0963: def releaseheap(newheap)#1 - ; newheap -> [0] -_P014 ; releaseheap(newheap)#1() -_C009 ; releaseheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0964: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/cmdjit.pla: 0965: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D072+0 -_F096 !WORD _D072+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D072+0 -_F097 !WORD _D072+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 0966: end -; vmsrc/apple/cmdjit.pla: 0967: def allocxheap(size)#1 - ; size -> [0] -_C010 ; allocxheap() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 0968: word xaddr - ; xaddr -> [2] -; vmsrc/apple/cmdjit.pla: 0969: xaddr = xheap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/cmdjit.pla: 0970: xheap = xheap + size -; vmsrc/apple/cmdjit.pla: 0971: if systemflags & resxtxt1 -; vmsrc/apple/cmdjit.pla: 0972: if uword_islt(xaddr, $0800) and uword_isgt(xheap, $0400) -; vmsrc/apple/cmdjit.pla: 0973: xaddr = $0800 -; vmsrc/apple/cmdjit.pla: 0974: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0975: fin - !BYTE $6A ; LAW _D073+0 -_F098 !WORD _D073+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D073+0 -_F099 !WORD _D073+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D073+0 -_F100 !WORD _D073+0 - !BYTE $6A ; LAW _D038+0 -_F101 !WORD _D038+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $54 ; CALL _A015 -_F102 !WORD _A015 - !BYTE $AC ; BRAND _B023 - !WORD _B023-* - !BYTE $6A ; LAW _D073+0 -_F103 !WORD _D073+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $54 ; CALL _A014 -_F104 !WORD _A014 -_B023 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $6E,$02 ; DLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D073+0 -_F105 !WORD _D073+0 -_B024 -_B025 -; vmsrc/apple/cmdjit.pla: 0976: fin -_B021 -_B022 -; vmsrc/apple/cmdjit.pla: 0977: if systemflags & resxtxt2 -; vmsrc/apple/cmdjit.pla: 0978: if uword_islt(xaddr, $0C00) and uword_isgt(xheap, $0800) -; vmsrc/apple/cmdjit.pla: 0979: xaddr = $0C00 -; vmsrc/apple/cmdjit.pla: 0980: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0981: fin - !BYTE $6A ; LAW _D038+0 -_F106 !WORD _D038+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _A015 -_F107 !WORD _A015 - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $6A ; LAW _D073+0 -_F108 !WORD _D073+0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $54 ; CALL _A014 -_F109 !WORD _A014 -_B028 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $6E,$02 ; DLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D073+0 -_F110 !WORD _D073+0 -_B029 -_B030 -; vmsrc/apple/cmdjit.pla: 0982: fin -_B026 -_B027 -; vmsrc/apple/cmdjit.pla: 0983: if systemflags & resxhgr1 -; vmsrc/apple/cmdjit.pla: 0984: if uword_islt(xaddr, $4000) and uword_isgt(xheap, $2000) -; vmsrc/apple/cmdjit.pla: 0985: xaddr = $4000 -; vmsrc/apple/cmdjit.pla: 0986: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0987: fin - !BYTE $6A ; LAW _D038+0 -_F111 !WORD _D038+0 - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A015 -_F112 !WORD _A015 - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $6A ; LAW _D073+0 -_F113 !WORD _D073+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $54 ; CALL _A014 -_F114 !WORD _A014 -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $6E,$02 ; DLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D073+0 -_F115 !WORD _D073+0 -_B034 -_B035 -; vmsrc/apple/cmdjit.pla: 0988: fin -_B031 -_B032 -; vmsrc/apple/cmdjit.pla: 0989: if systemflags & resxhgr2 -; vmsrc/apple/cmdjit.pla: 0990: if uword_islt(xaddr, $6000) and uword_isgt(xheap, $4000) -; vmsrc/apple/cmdjit.pla: 0991: xaddr = $6000 -; vmsrc/apple/cmdjit.pla: 0992: xheap = xaddr + size -; vmsrc/apple/cmdjit.pla: 0993: fin - !BYTE $6A ; LAW _D038+0 -_F116 !WORD _D038+0 - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B036 - !WORD _B036-* - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $54 ; CALL _A015 -_F117 !WORD _A015 - !BYTE $AC ; BRAND _B038 - !WORD _B038-* - !BYTE $6A ; LAW _D073+0 -_F118 !WORD _D073+0 - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $54 ; CALL _A014 -_F119 !WORD _A014 -_B038 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $6E,$02 ; DLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7A ; SAW _D073+0 -_F120 !WORD _D073+0 -_B039 -_B040 -; vmsrc/apple/cmdjit.pla: 0994: fin -_B036 -_B037 -; vmsrc/apple/cmdjit.pla: 0995: if uword_isge(xheap, xheaptop) -; vmsrc/apple/cmdjit.pla: 0996: return 0 - !BYTE $6A ; LAW _D073+0 -_F121 !WORD _D073+0 - !BYTE $6A ; LAW _D074+0 -_F122 !WORD _D074+0 - !BYTE $54 ; CALL _A012 -_F123 !WORD _A012 - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0997: fin -_B041 -_B042 -; vmsrc/apple/cmdjit.pla: 0998: return xaddr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 0999: end -; vmsrc/apple/cmdjit.pla: 1000: // -; vmsrc/apple/cmdjit.pla: 1001: // Symbol table routines. -; vmsrc/apple/cmdjit.pla: 1002: // -; vmsrc/apple/cmdjit.pla: 1003: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C011 ; addsym() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1004: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -_B043 -; vmsrc/apple/cmdjit.pla: 1005: ^lastsym = ^sym -; vmsrc/apple/cmdjit.pla: 1006: lastsym++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F124 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F125 !WORD _D075+0 - !BYTE $8C ; INCR -; vmsrc/apple/cmdjit.pla: 1007: sym++ - !BYTE $7A ; SAW _D075+0 -_F126 !WORD _D075+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; vmsrc/apple/cmdjit.pla: 1008: loop - !BYTE $76,$00 ; SLW [0] -_B045 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B043 - !WORD _B043-* -_B044 -; vmsrc/apple/cmdjit.pla: 1009: lastsym->0 = ^sym -; vmsrc/apple/cmdjit.pla: 1010: lastsym=>1 = addr -; vmsrc/apple/cmdjit.pla: 1011: lastsym = lastsym + 3 -; vmsrc/apple/cmdjit.pla: 1012: ^lastsym = 0 -; vmsrc/apple/cmdjit.pla: 1013: end - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F127 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D075+0 -_F128 !WORD _D075+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F129 !WORD _D075+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D075+0 -_F130 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D075+0 -_F131 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 1014: // -; vmsrc/apple/cmdjit.pla: 1015: // String routines. -; vmsrc/apple/cmdjit.pla: 1016: // -; vmsrc/apple/cmdjit.pla: 1017: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P018 ; strcpy(dst, src)#1() -_C012 ; strcpy() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1018: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmdjit.pla: 1019: ^dst = ^src -; vmsrc/apple/cmdjit.pla: 1020: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F132 !WORD _A004 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 1021: end -; vmsrc/apple/cmdjit.pla: 1022: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P019 ; strcat(dst, src)#1() -_C013 ; strcat() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1023: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/cmdjit.pla: 1024: ^dst = ^dst + ^src -; vmsrc/apple/cmdjit.pla: 1025: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F133 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/cmdjit.pla: 1026: end -; vmsrc/apple/cmdjit.pla: 1027: // -; vmsrc/apple/cmdjit.pla: 1028: // Module routines. -; vmsrc/apple/cmdjit.pla: 1029: // -; vmsrc/apple/cmdjit.pla: 1030: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C014 ; lookupextern() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1031: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/cmdjit.pla: 1032: byte str[33] - ; str -> [8] -; vmsrc/apple/cmdjit.pla: 1033: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/cmdjit.pla: 1034: if sym -; vmsrc/apple/cmdjit.pla: 1035: addr = lookuptbl(sym) -; vmsrc/apple/cmdjit.pla: 1036: if !addr -; vmsrc/apple/cmdjit.pla: 1037: perr = $81 -; vmsrc/apple/cmdjit.pla: 1038: dcitos(sym, @str) -; vmsrc/apple/cmdjit.pla: 1039: cout('?'); prstr(@str); crout -; vmsrc/apple/cmdjit.pla: 1040: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A022 -_F134 !WORD _A022 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A021 -_F135 !WORD _A021 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B048 - !WORD _B048-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D035+0 -_F136 !WORD _D035+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A018 -_F137 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F138 !WORD _A006 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A008 -_F139 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F140 !WORD _A005 -_B048 -_B049 -; vmsrc/apple/cmdjit.pla: 1041: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmdjit.pla: 1042: fin -_B046 -_B047 -; vmsrc/apple/cmdjit.pla: 1043: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/cmdjit.pla: 1044: end -; vmsrc/apple/cmdjit.pla: 1045: // -; vmsrc/apple/cmdjit.pla: 1046: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/cmdjit.pla: 1047: // -; vmsrc/apple/cmdjit.pla: 1048: def adddef(isfirst, addr, deflast)#1 - ; isfirst -> [0] - ; addr -> [2] - ; deflast -> [4] -_C015 ; adddef() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1049: word preventry, defentry, defsize - ; preventry -> [6] - ; defentry -> [8] - ; defsize -> [10] -; vmsrc/apple/cmdjit.pla: 1050: -; vmsrc/apple/cmdjit.pla: 1051: defentry = *deflast - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/cmdjit.pla: 1052: *deflast = defentry + t_defentry -; vmsrc/apple/cmdjit.pla: 1053: if not isfirst -; vmsrc/apple/cmdjit.pla: 1054: preventry = defentry - t_defentry -; vmsrc/apple/cmdjit.pla: 1055: defsize = addr - preventry=>bytecodeaddr -; vmsrc/apple/cmdjit.pla: 1056: if defsize <= jitsize -; vmsrc/apple/cmdjit.pla: 1057: preventry=>interpaddr = $03D6 // JSR $03D6 (JIT INTERP) -; vmsrc/apple/cmdjit.pla: 1058: preventry->callcount = jitcount // Set JIT countdown -; vmsrc/apple/cmdjit.pla: 1059: preventry->bytecodesize = defsize // Set size -; vmsrc/apple/cmdjit.pla: 1060: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B050 - !WORD _B050-* - !BYTE $66,$08 ; LLW [8] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $6E,$0A ; DLW [10] - !BYTE $68 ; LAB _D037+0 -_F141 !WORD _D037+0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $2C,$D6,$03 ; CW 982 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $68 ; LAB _D036+0 -_F142 !WORD _D036+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB -_B052 -_B053 -; vmsrc/apple/cmdjit.pla: 1061: fin -_B050 -_B051 -; vmsrc/apple/cmdjit.pla: 1062: defentry->interpjsr = $20 -; vmsrc/apple/cmdjit.pla: 1063: defentry=>interpaddr = $03DC // JSR $03DC (BYTECODE INTERP) -; vmsrc/apple/cmdjit.pla: 1064: defentry=>bytecodeaddr = addr -; vmsrc/apple/cmdjit.pla: 1065: defentry->t_defentry = 0 // NULL out next entry -; vmsrc/apple/cmdjit.pla: 1066: return defentry - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $2C,$DC,$03 ; CW 988 - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0C ; LEAVE 12 -; vmsrc/apple/cmdjit.pla: 1067: end -; vmsrc/apple/cmdjit.pla: 1068: def loadmod(mod)#1 - ; mod -> [0] -_C016 ; loadmod() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1069: word rdlen[], bytecode, modsize, codefix, defofst, defcnt, init, initcode[], fixup - ; rdlen -> [2] - ; bytecode -> [2] - ; modsize -> [4] - ; codefix -> [6] - ; defofst -> [8] - ; defcnt -> [10] - ; init -> [12] - ; initcode -> [14] - ; fixup -> [14] -; vmsrc/apple/cmdjit.pla: 1070: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [16] - ; defaddr -> [18] - ; modaddr -> [20] - ; modfix -> [22] - ; modofst -> [24] - ; modend -> [26] -; vmsrc/apple/cmdjit.pla: 1071: word deftbl, deflast - ; deftbl -> [28] - ; deflast -> [30] -; vmsrc/apple/cmdjit.pla: 1072: word moddep, rld, esd, sym - ; moddep -> [32] - ; rld -> [34] - ; esd -> [36] - ; sym -> [38] -; vmsrc/apple/cmdjit.pla: 1073: byte refnum[], deffirst, skipjit, filename[64], str[] - ; refnum -> [40] - ; deffirst -> [40] - ; skipjit -> [41] - ; filename -> [42] - ; str -> [106] -; vmsrc/apple/cmdjit.pla: 1074: byte header[128] - ; header -> [106] -; vmsrc/apple/cmdjit.pla: 1075: // -; vmsrc/apple/cmdjit.pla: 1076: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/cmdjit.pla: 1077: // -; vmsrc/apple/cmdjit.pla: 1078: dcitos(mod, @filename) - !BYTE $58,$EA,$01 ; ENTER 234,1 -; vmsrc/apple/cmdjit.pla: 1079: refnum = open(@filename) -; vmsrc/apple/cmdjit.pla: 1080: if !refnum and filename < 16 -; vmsrc/apple/cmdjit.pla: 1081: // -; vmsrc/apple/cmdjit.pla: 1082: // Try system path -; vmsrc/apple/cmdjit.pla: 1083: // -; vmsrc/apple/cmdjit.pla: 1084: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/cmdjit.pla: 1085: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _A018 -_F143 !WORD _A018 - !BYTE $30 ; DROP - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _C002 -_F144 !WORD _C002 - !BYTE $6C,$28 ; DLB [40] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B054 - !WORD _B054-* - !BYTE $64,$2A ; LLB [42] - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT -_B054 - !BYTE $4C ; BRFLS _B055 - !WORD _B055-* - !BYTE $28,$2A ; LLA [42] - !BYTE $28,$6A ; LLA [106] - !BYTE $26 ; LA _D070+0 -_F145 !WORD _D070+0 - !BYTE $54 ; CALL _C012 -_F146 !WORD _C012 - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _C013 -_F147 !WORD _C013 - !BYTE $54 ; CALL _C012 -_F148 !WORD _C012 - !BYTE $54 ; CALL _C002 -_F149 !WORD _C002 - !BYTE $74,$28 ; SLB [40] -_B055 -_B056 -; vmsrc/apple/cmdjit.pla: 1086: if refnum -; vmsrc/apple/cmdjit.pla: 1087: header.0 = $0A -; vmsrc/apple/cmdjit.pla: 1088: header:1 = @filename -; vmsrc/apple/cmdjit.pla: 1089: if not syscall($C4, @header) and header.4 <> $FE // Make sure it's a REL module -; vmsrc/apple/cmdjit.pla: 1090: close(refnum) -; vmsrc/apple/cmdjit.pla: 1091: perr = $4A // Incompatible type -; vmsrc/apple/cmdjit.pla: 1092: return -perr - !BYTE $64,$28 ; LLB [40] - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* - !BYTE $14 ; CN 10 - !BYTE $74,$6A ; SLB [106] - !BYTE $28,$2A ; LLA [42] - !BYTE $76,$6B ; SLW [107] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$6A ; LLA [106] - !BYTE $54 ; CALL _A000 -_F150 !WORD _A000 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B059 - !WORD _B059-* - !BYTE $64,$6E ; LLB [110] - !BYTE $2A,$FE ; CB 254 - !BYTE $42 ; ISNE -_B059 - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F151 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D035+0 -_F152 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1093: fin -_B060 -_B061 -; vmsrc/apple/cmdjit.pla: 1094: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmdjit.pla: 1095: modsize = header:0 -; vmsrc/apple/cmdjit.pla: 1096: moddep = @header.1 -; vmsrc/apple/cmdjit.pla: 1097: defofst = modsize + RELADDR -; vmsrc/apple/cmdjit.pla: 1098: init = 0 -; vmsrc/apple/cmdjit.pla: 1099: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/cmdjit.pla: 1100: // -; vmsrc/apple/cmdjit.pla: 1101: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/cmdjit.pla: 1102: // -; vmsrc/apple/cmdjit.pla: 1103: systemflags = header.4 | systemflags -; vmsrc/apple/cmdjit.pla: 1104: skipjit = header.5 & (nojitc >> 8) -; vmsrc/apple/cmdjit.pla: 1105: defofst = header:6 -; vmsrc/apple/cmdjit.pla: 1106: defcnt = header:8 -; vmsrc/apple/cmdjit.pla: 1107: init = header:10 -; vmsrc/apple/cmdjit.pla: 1108: moddep = @header.12 -; vmsrc/apple/cmdjit.pla: 1109: // -; vmsrc/apple/cmdjit.pla: 1110: // Load module dependencies. -; vmsrc/apple/cmdjit.pla: 1111: // -; vmsrc/apple/cmdjit.pla: 1112: while ^moddep - !BYTE $64,$28 ; LLB [40] - !BYTE $28,$6A ; LLA [106] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F153 !WORD _C004 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$6A ; LLW [106] - !BYTE $76,$04 ; SLW [4] - !BYTE $28,$6B ; LLA [107] - !BYTE $76,$20 ; SLW [32] - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B062 - !WORD _B062-* - !BYTE $66,$6C ; LLW [108] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $40 ; ISEQ -_B062 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $64,$6E ; LLB [110] - !BYTE $6A ; LAW _D038+0 -_F154 !WORD _D038+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D038+0 -_F155 !WORD _D038+0 - !BYTE $64,$6F ; LLB [111] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $74,$29 ; SLB [41] - !BYTE $66,$70 ; LLW [112] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$72 ; LLW [114] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$74 ; LLW [116] - !BYTE $76,$0C ; SLW [12] - !BYTE $28,$76 ; LLA [118] - !BYTE $76,$20 ; SLW [32] - !BYTE $50 ; BRNCH _B067 - !WORD _B067-* -_B065 -; vmsrc/apple/cmdjit.pla: 1113: if !lookuptbl(moddep) -; vmsrc/apple/cmdjit.pla: 1114: close(refnum) -; vmsrc/apple/cmdjit.pla: 1115: refnum = 0 -; vmsrc/apple/cmdjit.pla: 1116: if loadmod(moddep) < 0 -; vmsrc/apple/cmdjit.pla: 1117: return -perr - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A021 -_F156 !WORD _A021 - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F157 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $74,$28 ; SLB [40] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C016 -_F158 !WORD _C016 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $68 ; LAB _D035+0 -_F159 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1118: fin -_B070 -_B071 -; vmsrc/apple/cmdjit.pla: 1119: fin -_B068 -_B069 -; vmsrc/apple/cmdjit.pla: 1120: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/cmdjit.pla: 1121: loop - !BYTE $66,$20 ; LLW [32] - !BYTE $34 ; DUP - !BYTE $28,$6A ; LLA [106] - !BYTE $54 ; CALL _A018 -_F160 !WORD _A018 - !BYTE $82 ; ADD - !BYTE $76,$20 ; SLW [32] -_B067 - !BYTE $66,$20 ; LLW [32] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B065 - !WORD _B065-* -_B066 -; vmsrc/apple/cmdjit.pla: 1122: // -; vmsrc/apple/cmdjit.pla: 1123: // Init def table. -; vmsrc/apple/cmdjit.pla: 1124: // -; vmsrc/apple/cmdjit.pla: 1125: deftbl = allocheap(defcnt * t_defentry + 1) -; vmsrc/apple/cmdjit.pla: 1126: deflast = deftbl -; vmsrc/apple/cmdjit.pla: 1127: if !refnum -; vmsrc/apple/cmdjit.pla: 1128: // -; vmsrc/apple/cmdjit.pla: 1129: // Reset read pointer. -; vmsrc/apple/cmdjit.pla: 1130: // -; vmsrc/apple/cmdjit.pla: 1131: refnum = open(@filename) -; vmsrc/apple/cmdjit.pla: 1132: rdlen = read(refnum, @header, 128) -; vmsrc/apple/cmdjit.pla: 1133: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $0E ; CN 7 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C006 -_F161 !WORD _C006 - !BYTE $6E,$1C ; DLW [28] - !BYTE $76,$1E ; SLW [30] - !BYTE $64,$28 ; LLB [40] - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* - !BYTE $28,$2A ; LLA [42] - !BYTE $54 ; CALL _C002 -_F162 !WORD _C002 - !BYTE $6C,$28 ; DLB [40] - !BYTE $28,$6A ; LLA [106] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F163 !WORD _C004 - !BYTE $76,$02 ; SLW [2] -_B072 -_B073 -; vmsrc/apple/cmdjit.pla: 1134: fin -_B063 -_B064 -; vmsrc/apple/cmdjit.pla: 1135: // -; vmsrc/apple/cmdjit.pla: 1136: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/cmdjit.pla: 1137: // -; vmsrc/apple/cmdjit.pla: 1138: moddep = moddep + 1 -; vmsrc/apple/cmdjit.pla: 1139: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/cmdjit.pla: 1140: modsize = modsize - modfix -; vmsrc/apple/cmdjit.pla: 1141: rdlen = rdlen - modfix - 2 -; vmsrc/apple/cmdjit.pla: 1142: modaddr = allocheap(modsize) -; vmsrc/apple/cmdjit.pla: 1143: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/cmdjit.pla: 1144: // -; vmsrc/apple/cmdjit.pla: 1145: // Read in remainder of module into memory for fixups. -; vmsrc/apple/cmdjit.pla: 1146: // -; vmsrc/apple/cmdjit.pla: 1147: addr = modaddr -; vmsrc/apple/cmdjit.pla: 1148: repeat - !BYTE $66,$20 ; LLW [32] - !BYTE $8C ; INCR - !BYTE $6E,$20 ; DLW [32] - !BYTE $28,$6C ; LLA [108] - !BYTE $84 ; SUB - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$16 ; LLW [22] - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$16 ; LLW [22] - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C006 -_F164 !WORD _C006 - !BYTE $6E,$14 ; DLW [20] - !BYTE $66,$20 ; LLW [32] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F165 !WORD _A004 - !BYTE $66,$14 ; LLW [20] - !BYTE $76,$10 ; SLW [16] -_B075 -; vmsrc/apple/cmdjit.pla: 1149: addr = addr + rdlen -; vmsrc/apple/cmdjit.pla: 1150: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/cmdjit.pla: 1151: until rdlen <= 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $76,$10 ; SLW [16] - !BYTE $64,$28 ; LLB [40] - !BYTE $66,$10 ; LLW [16] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C004 -_F166 !WORD _C004 - !BYTE $76,$02 ; SLW [2] -_B076 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* -_B074 -; vmsrc/apple/cmdjit.pla: 1152: close(refnum) -; vmsrc/apple/cmdjit.pla: 1153: // -; vmsrc/apple/cmdjit.pla: 1154: // Add module to symbol table. -; vmsrc/apple/cmdjit.pla: 1155: // -; vmsrc/apple/cmdjit.pla: 1156: addsym(mod, modaddr) -; vmsrc/apple/cmdjit.pla: 1157: // -; vmsrc/apple/cmdjit.pla: 1158: // Apply all fixups and symbol import/export. -; vmsrc/apple/cmdjit.pla: 1159: // -; vmsrc/apple/cmdjit.pla: 1160: modfix = modaddr - modfix -; vmsrc/apple/cmdjit.pla: 1161: modofst = modfix - RELADDR -; vmsrc/apple/cmdjit.pla: 1162: modend = modaddr + modsize -; vmsrc/apple/cmdjit.pla: 1163: bytecode = defofst + modofst -; vmsrc/apple/cmdjit.pla: 1164: rld = modend // Re-Locatable Directory -; vmsrc/apple/cmdjit.pla: 1165: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/cmdjit.pla: 1166: while ^esd // Scan to end of ESD - !BYTE $64,$28 ; LLB [40] - !BYTE $54 ; CALL _C003 -_F167 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C011 -_F168 !WORD _C011 - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$16 ; LLW [22] - !BYTE $84 ; SUB - !BYTE $6E,$16 ; DLW [22] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$08 ; LLW [8] - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$1A ; LLW [26] - !BYTE $6E,$22 ; DLW [34] - !BYTE $76,$24 ; SLW [36] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B077 -; vmsrc/apple/cmdjit.pla: 1167: esd = esd + 4 -; vmsrc/apple/cmdjit.pla: 1168: loop - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$24 ; SLW [36] -_B079 - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B077 - !WORD _B077-* -_B078 -; vmsrc/apple/cmdjit.pla: 1169: esd = esd + 1 -; vmsrc/apple/cmdjit.pla: 1170: defaddr = allocxheap(rld - bytecode) -; vmsrc/apple/cmdjit.pla: 1171: modend = bytecode -; vmsrc/apple/cmdjit.pla: 1172: codefix = defaddr - bytecode -; vmsrc/apple/cmdjit.pla: 1173: defofst = defaddr - defofst -; vmsrc/apple/cmdjit.pla: 1174: // -; vmsrc/apple/cmdjit.pla: 1175: // Run through the DeFinition Dictionary. -; vmsrc/apple/cmdjit.pla: 1176: // -; vmsrc/apple/cmdjit.pla: 1177: deffirst = 1 -; vmsrc/apple/cmdjit.pla: 1178: while ^rld == $02 - !BYTE $66,$24 ; LLW [36] - !BYTE $8C ; INCR - !BYTE $76,$24 ; SLW [36] - !BYTE $66,$22 ; LLW [34] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C010 -_F169 !WORD _C010 - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$12 ; LLW [18] - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$12 ; LLW [18] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $76,$08 ; SLW [8] - !BYTE $02 ; CN 1 - !BYTE $74,$28 ; SLB [40] - !BYTE $50 ; BRNCH _B082 - !WORD _B082-* -_B080 -; vmsrc/apple/cmdjit.pla: 1179: // -; vmsrc/apple/cmdjit.pla: 1180: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/cmdjit.pla: 1181: // -; vmsrc/apple/cmdjit.pla: 1182: adddef(deffirst, rld=>1 + defofst, @deflast) -; vmsrc/apple/cmdjit.pla: 1183: deffirst = skipjit // Calculate JIT potential or not -; vmsrc/apple/cmdjit.pla: 1184: rld = rld + 4 -; vmsrc/apple/cmdjit.pla: 1185: loop - !BYTE $64,$28 ; LLB [40] - !BYTE $66,$22 ; LLW [34] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $28,$1E ; LLA [30] - !BYTE $54 ; CALL _C015 -_F170 !WORD _C015 - !BYTE $30 ; DROP - !BYTE $64,$29 ; LLB [41] - !BYTE $74,$28 ; SLB [40] - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$22 ; SLW [34] -_B082 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B080 - !WORD _B080-* -_B081 -; vmsrc/apple/cmdjit.pla: 1186: // -; vmsrc/apple/cmdjit.pla: 1187: // Run through the Re-Location Dictionary. -; vmsrc/apple/cmdjit.pla: 1188: // -; vmsrc/apple/cmdjit.pla: 1189: while ^rld - !BYTE $50 ; BRNCH _B085 - !WORD _B085-* -_B083 -; vmsrc/apple/cmdjit.pla: 1190: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/cmdjit.pla: 1191: if ^rld -; vmsrc/apple/cmdjit.pla: 1192: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/cmdjit.pla: 1193: rld = rld + 4 -; vmsrc/apple/cmdjit.pla: 1194: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$22 ; LLW [34] - !BYTE $54 ; CALL _A024 -_F171 !WORD _A024 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$10 ; SLW [16] - !BYTE $6E,$22 ; DLW [34] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B086 - !WORD _B086-* - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B088 - !WORD _B088-* - !BYTE $66,$10 ; LLW [16] - !BYTE $62 ; LW - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C014 -_F172 !WORD _C014 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -_B088 - !BYTE $66,$0E ; LLW [14] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _A023 -_F173 !WORD _A023 -_B089 - !BYTE $66,$10 ; LLW [16] - !BYTE $72 ; SW - !BYTE $66,$22 ; LLW [34] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$22 ; SLW [34] -_B086 -_B087 -; vmsrc/apple/cmdjit.pla: 1195: loop -_B085 - !BYTE $66,$22 ; LLW [34] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B083 - !WORD _B083-* -_B084 -; vmsrc/apple/cmdjit.pla: 1196: // -; vmsrc/apple/cmdjit.pla: 1197: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/cmdjit.pla: 1198: // -; vmsrc/apple/cmdjit.pla: 1199: while ^esd - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B090 -; vmsrc/apple/cmdjit.pla: 1200: sym = esd -; vmsrc/apple/cmdjit.pla: 1201: esd = esd + dcitos(esd, @str) -; vmsrc/apple/cmdjit.pla: 1202: if ^esd & $08 -; vmsrc/apple/cmdjit.pla: 1203: // -; vmsrc/apple/cmdjit.pla: 1204: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/cmdjit.pla: 1205: // -; vmsrc/apple/cmdjit.pla: 1206: addr = esd=>1 + modofst -; vmsrc/apple/cmdjit.pla: 1207: if uword_isge(addr, bytecode) -; vmsrc/apple/cmdjit.pla: 1208: // -; vmsrc/apple/cmdjit.pla: 1209: // Use the def directory address for bytecode. -; vmsrc/apple/cmdjit.pla: 1210: // -; vmsrc/apple/cmdjit.pla: 1211: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/cmdjit.pla: 1212: fin - !BYTE $66,$24 ; LLW [36] - !BYTE $76,$26 ; SLW [38] - !BYTE $66,$24 ; LLW [36] - !BYTE $34 ; DUP - !BYTE $28,$6A ; LLA [106] - !BYTE $54 ; CALL _A018 -_F174 !WORD _A018 - !BYTE $82 ; ADD - !BYTE $6E,$24 ; DLW [36] - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $66,$24 ; LLW [36] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $6E,$10 ; DLW [16] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A012 -_F175 !WORD _A012 - !BYTE $4C ; BRFLS _B095 - !WORD _B095-* - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _A023 -_F176 !WORD _A023 - !BYTE $76,$10 ; SLW [16] -_B095 -_B096 -; vmsrc/apple/cmdjit.pla: 1213: addsym(sym, addr) -; vmsrc/apple/cmdjit.pla: 1214: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C011 -_F177 !WORD _C011 -_B093 -_B094 -; vmsrc/apple/cmdjit.pla: 1215: esd = esd + 3 -; vmsrc/apple/cmdjit.pla: 1216: loop - !BYTE $66,$24 ; LLW [36] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$24 ; SLW [36] -_B092 - !BYTE $66,$24 ; LLW [36] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B090 - !WORD _B090-* -_B091 -; vmsrc/apple/cmdjit.pla: 1217: // -; vmsrc/apple/cmdjit.pla: 1218: // Move bytecode to AUX bank. -; vmsrc/apple/cmdjit.pla: 1219: // -; vmsrc/apple/cmdjit.pla: 1220: *$003C = bytecode -; vmsrc/apple/cmdjit.pla: 1221: *$003E = modaddr + modsize -; vmsrc/apple/cmdjit.pla: 1222: *$0042 = defaddr -; vmsrc/apple/cmdjit.pla: 1223: call($C311, 0, 0, 0, $05) // CALL XMOVE with carry set (MAIN->AUX) and ints disabled -; vmsrc/apple/cmdjit.pla: 1224: else - !BYTE $66,$02 ; LLW [2] - !BYTE $7A,$3C,$00 ; SAW 60 - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $7A,$3E,$00 ; SAW 62 - !BYTE $66,$12 ; LLW [18] - !BYTE $7A,$42,$00 ; SAW 66 - !BYTE $2C,$11,$C3 ; CW 49937 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $0A ; CN 5 - !BYTE $54 ; CALL _A001 -_F178 !WORD _A001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -_B057 -; vmsrc/apple/cmdjit.pla: 1225: perr = $46 -; vmsrc/apple/cmdjit.pla: 1226: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $78 ; SAB _D035+0 -_F179 !WORD _D035+0 -_B058 -; vmsrc/apple/cmdjit.pla: 1227: if perr -; vmsrc/apple/cmdjit.pla: 1228: return -perr - !BYTE $68 ; LAB _D035+0 -_F180 !WORD _D035+0 - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $68 ; LAB _D035+0 -_F181 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1229: fin -_B097 -_B098 -; vmsrc/apple/cmdjit.pla: 1230: // -; vmsrc/apple/cmdjit.pla: 1231: // Free up rld+esd+bytecode in main memory. -; vmsrc/apple/cmdjit.pla: 1232: // -; vmsrc/apple/cmdjit.pla: 1233: releaseheap(modend) -; vmsrc/apple/cmdjit.pla: 1234: // -; vmsrc/apple/cmdjit.pla: 1235: // Call init routine if it exists. -; vmsrc/apple/cmdjit.pla: 1236: // -; vmsrc/apple/cmdjit.pla: 1237: initcode = modkeep -; vmsrc/apple/cmdjit.pla: 1238: if init -; vmsrc/apple/cmdjit.pla: 1239: init = init + defofst -; vmsrc/apple/cmdjit.pla: 1240: initcode = adddef(deffirst, init, @deflast)() -; vmsrc/apple/cmdjit.pla: 1241: if initcode < modinitkeep -; vmsrc/apple/cmdjit.pla: 1242: // -; vmsrc/apple/cmdjit.pla: 1243: // Free init routine unless initkeep -; vmsrc/apple/cmdjit.pla: 1244: // -; vmsrc/apple/cmdjit.pla: 1245: xheap = init -; vmsrc/apple/cmdjit.pla: 1246: if initcode < 0 -; vmsrc/apple/cmdjit.pla: 1247: perr = -initcode -; vmsrc/apple/cmdjit.pla: 1248: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C009 -_F182 !WORD _C009 - !BYTE $30 ; DROP - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $76,$0C ; SLW [12] - !BYTE $64,$28 ; LLB [40] - !BYTE $66,$0C ; LLW [12] - !BYTE $28,$1E ; LLA [30] - !BYTE $54 ; CALL _C015 -_F183 !WORD _C015 - !BYTE $56 ; ICAL - !BYTE $6E,$0E ; DLW [14] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D073+0 -_F184 !WORD _D073+0 - !BYTE $66,$0E ; LLW [14] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $66,$0E ; LLW [14] - !BYTE $90 ; NEG - !BYTE $78 ; SAB _D035+0 -_F185 !WORD _D035+0 -_B103 -_B104 -; vmsrc/apple/cmdjit.pla: 1249: else - !BYTE $50 ; BRNCH _B102 - !WORD _B102-* -_B101 -; vmsrc/apple/cmdjit.pla: 1250: initcode = initcode & ~modinitkeep -; vmsrc/apple/cmdjit.pla: 1251: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $2C,$FF,$BF ; CW -16385 - !BYTE $94 ; AND - !BYTE $76,$0E ; SLW [14] -_B102 -; vmsrc/apple/cmdjit.pla: 1252: fin -_B099 -_B100 -; vmsrc/apple/cmdjit.pla: 1253: return initcode - !BYTE $66,$0E ; LLW [14] - !BYTE $5A,$EA ; LEAVE 234 -; vmsrc/apple/cmdjit.pla: 1254: end -; vmsrc/apple/cmdjit.pla: 1255: // -; vmsrc/apple/cmdjit.pla: 1256: // Command mode -; vmsrc/apple/cmdjit.pla: 1257: // -; vmsrc/apple/cmdjit.pla: 1258: def volumes()#0 -_C017 ; volumes() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1259: byte params[4] - ; params -> [0] -; vmsrc/apple/cmdjit.pla: 1260: word strbuf - ; strbuf -> [4] -; vmsrc/apple/cmdjit.pla: 1261: byte i - ; i -> [6] -; vmsrc/apple/cmdjit.pla: 1262: -; vmsrc/apple/cmdjit.pla: 1263: params.0 = 2 - !BYTE $58,$07,$00 ; ENTER 7,0 -; vmsrc/apple/cmdjit.pla: 1264: params.1 = 0 -; vmsrc/apple/cmdjit.pla: 1265: params:2 = heap -; vmsrc/apple/cmdjit.pla: 1266: perr = syscall($C5, @params) -; vmsrc/apple/cmdjit.pla: 1267: strbuf = heap -; vmsrc/apple/cmdjit.pla: 1268: for i = 0 to 15 - !BYTE $04 ; CN 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D072+0 -_F186 !WORD _D072+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _A000 -_F187 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F188 !WORD _D035+0 - !BYTE $6A ; LAW _D072+0 -_F189 !WORD _D072+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B106 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/cmdjit.pla: 1269: ^strbuf = ^strbuf & $0F -; vmsrc/apple/cmdjit.pla: 1270: if ^strbuf -; vmsrc/apple/cmdjit.pla: 1271: cout('/'); prstr(strbuf); crout() -; vmsrc/apple/cmdjit.pla: 1272: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B108 - !WORD _B108-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _A006 -_F190 !WORD _A006 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A008 -_F191 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F192 !WORD _A005 -_B108 -_B109 -; vmsrc/apple/cmdjit.pla: 1273: strbuf = strbuf + 16 -; vmsrc/apple/cmdjit.pla: 1274: next - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$04 ; SLW [4] -_B107 - !BYTE $A4 ; INCBRLE _B106 - !WORD _B106-* -_B105 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1275: end - !BYTE $5A,$07 ; LEAVE 7 -; vmsrc/apple/cmdjit.pla: 1276: def catalog(path)#0 - ; path -> [0] -_C018 ; catalog() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1277: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmdjit.pla: 1278: byte firstblk - ; firstblk -> [3] -; vmsrc/apple/cmdjit.pla: 1279: byte entrylen, entriesblk - ; entrylen -> [4] - ; entriesblk -> [5] -; vmsrc/apple/cmdjit.pla: 1280: byte i, type, len - ; i -> [6] - ; type -> [7] - ; len -> [8] -; vmsrc/apple/cmdjit.pla: 1281: word entry - ; entry -> [9] -; vmsrc/apple/cmdjit.pla: 1282: -; vmsrc/apple/cmdjit.pla: 1283: refnum = open(path) - !BYTE $58,$0B,$01 ; ENTER 11,1 -; vmsrc/apple/cmdjit.pla: 1284: if perr -; vmsrc/apple/cmdjit.pla: 1285: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F193 !WORD _C002 - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D035+0 -_F194 !WORD _D035+0 - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmdjit.pla: 1286: fin -_B110 -_B111 -; vmsrc/apple/cmdjit.pla: 1287: firstblk = 1 -; vmsrc/apple/cmdjit.pla: 1288: while read(refnum, heap, 512) == 512 - !BYTE $02 ; CN 1 - !BYTE $74,$03 ; SLB [3] - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B112 -; vmsrc/apple/cmdjit.pla: 1289: entry = heap + 4 -; vmsrc/apple/cmdjit.pla: 1290: if firstblk -; vmsrc/apple/cmdjit.pla: 1291: entrylen = heap->$23 -; vmsrc/apple/cmdjit.pla: 1292: entriesblk = heap->$24 - 1 -; vmsrc/apple/cmdjit.pla: 1293: entry = entry + entrylen -; vmsrc/apple/cmdjit.pla: 1294: fin - !BYTE $6A ; LAW _D072+0 -_F195 !WORD _D072+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$09 ; SLW [9] - !BYTE $64,$03 ; LLB [3] - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $6A ; LAW _D072+0 -_F196 !WORD _D072+0 - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D072+0 -_F197 !WORD _D072+0 - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B115 -_B116 -; vmsrc/apple/cmdjit.pla: 1295: for i = firstblk to entriesblk - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$03 ; LLB [3] - !BYTE $A0 ; BRGT _B117 - !WORD _B117-* -_B118 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/cmdjit.pla: 1296: if ^entry -; vmsrc/apple/cmdjit.pla: 1297: ^entry = ^entry & $0F -; vmsrc/apple/cmdjit.pla: 1298: prstr(entry) -; vmsrc/apple/cmdjit.pla: 1299: type = ' ' -; vmsrc/apple/cmdjit.pla: 1300: when entry->$10 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B120 - !WORD _B120-* - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$09 ; LLW [9] - !BYTE $70 ; SB - !BYTE $66,$09 ; LLW [9] - !BYTE $54 ; CALL _A008 -_F198 !WORD _A008 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$09 ; LLW [9] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B123-* -; vmsrc/apple/cmdjit.pla: 1301: is $0F // Is it a directory? -_B124 -; vmsrc/apple/cmdjit.pla: 1302: type = '/' -; vmsrc/apple/cmdjit.pla: 1303: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; vmsrc/apple/cmdjit.pla: 1304: is $FF // SYSTEM file -_B125 -; vmsrc/apple/cmdjit.pla: 1305: type = '-' -; vmsrc/apple/cmdjit.pla: 1306: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -; vmsrc/apple/cmdjit.pla: 1307: is $FE // REL file -_B126 -; vmsrc/apple/cmdjit.pla: 1308: type = '+' -; vmsrc/apple/cmdjit.pla: 1309: wend - !BYTE $2A,$2B ; CB 43 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B122 - !WORD _B122-* -_B123 - !BYTE $03 ; CASEBLOCK - !WORD $000F - !WORD _B124-* - !WORD $00FE - !WORD _B126-* - !WORD $00FF - !WORD _B125-* -_B122 -; vmsrc/apple/cmdjit.pla: 1310: cout(type) -; vmsrc/apple/cmdjit.pla: 1311: for len = ^entry to 18 - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _A006 -_F199 !WORD _A006 - !BYTE $2A,$12 ; CB 18 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $A0 ; BRGT _B127 - !WORD _B127-* -_B128 - !BYTE $6C,$08 ; DLB [8] -; vmsrc/apple/cmdjit.pla: 1312: cout(' ') -; vmsrc/apple/cmdjit.pla: 1313: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _A006 -_F200 !WORD _A006 -_B129 - !BYTE $A4 ; INCBRLE _B128 - !WORD _B128-* -_B127 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1314: fin -_B120 -_B121 -; vmsrc/apple/cmdjit.pla: 1315: entry = entry + entrylen -; vmsrc/apple/cmdjit.pla: 1316: next - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B119 - !BYTE $A4 ; INCBRLE _B118 - !WORD _B118-* -_B117 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1317: firstblk = 0 -; vmsrc/apple/cmdjit.pla: 1318: loop - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] -_B114 - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _D072+0 -_F201 !WORD _D072+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _C004 -_F202 !WORD _C004 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B112 - !WORD _B112-* -_B113 -; vmsrc/apple/cmdjit.pla: 1319: close(refnum) -; vmsrc/apple/cmdjit.pla: 1320: crout() -; vmsrc/apple/cmdjit.pla: 1321: end - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C003 -_F203 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A005 -_F204 !WORD _A005 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/cmdjit.pla: 1322: def stripchars(strptr)#1 - ; strptr -> [0] -_C019 ; stripchars() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1323: while ^strptr and ^(strptr + 1) > ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B132 - !WORD _B132-* -_B130 -; vmsrc/apple/cmdjit.pla: 1324: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmdjit.pla: 1325: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F205 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1326: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B132 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B133 - !WORD _B133-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT -_B133 - !BYTE $4E ; BRTRU _B130 - !WORD _B130-* -_B131 -; vmsrc/apple/cmdjit.pla: 1327: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 1328: end -; vmsrc/apple/cmdjit.pla: 1329: def stripspaces(strptr)#0 - ; strptr -> [0] -_C020 ; stripspaces() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1330: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B136 - !WORD _B136-* -_B134 -; vmsrc/apple/cmdjit.pla: 1331: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1332: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B136 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B137 - !WORD _B137-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B137 - !BYTE $4E ; BRTRU _B134 - !WORD _B134-* -_B135 -; vmsrc/apple/cmdjit.pla: 1333: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B140 - !WORD _B140-* -_B138 -; vmsrc/apple/cmdjit.pla: 1334: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmdjit.pla: 1335: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F206 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1336: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B140 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B141 - !WORD _B141-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B141 - !BYTE $4E ; BRTRU _B138 - !WORD _B138-* -_B139 -; vmsrc/apple/cmdjit.pla: 1337: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/cmdjit.pla: 1338: def striptrail(strptr)#1 - ; strptr -> [0] -_C021 ; striptrail() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1339: byte i - ; i -> [2] -; vmsrc/apple/cmdjit.pla: 1340: -; vmsrc/apple/cmdjit.pla: 1341: for i = 1 to ^strptr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B142 - !WORD _B142-* -_B143 - !BYTE $6C,$02 ; DLB [2] -; vmsrc/apple/cmdjit.pla: 1342: if ^(strptr + i) <= ' ' -; vmsrc/apple/cmdjit.pla: 1343: ^strptr = i - 1 -; vmsrc/apple/cmdjit.pla: 1344: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B142 - !WORD _B142-* -; vmsrc/apple/cmdjit.pla: 1345: fin -_B145 -_B146 -; vmsrc/apple/cmdjit.pla: 1346: next -_B144 - !BYTE $A4 ; INCBRLE _B143 - !WORD _B143-* -_B142 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1347: return strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmdjit.pla: 1348: end -; vmsrc/apple/cmdjit.pla: 1349: def parsecmd(strptr)#1 - ; strptr -> [0] -_C022 ; parsecmd() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1350: byte cmd - ; cmd -> [2] -; vmsrc/apple/cmdjit.pla: 1351: -; vmsrc/apple/cmdjit.pla: 1352: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/cmdjit.pla: 1353: stripspaces(strptr) -; vmsrc/apple/cmdjit.pla: 1354: if ^strptr -; vmsrc/apple/cmdjit.pla: 1355: cmd = ^(strptr + 1) -; vmsrc/apple/cmdjit.pla: 1356: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/cmdjit.pla: 1357: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F207 !WORD _C020 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A004 -_F208 !WORD _A004 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1358: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B147 -_B148 -; vmsrc/apple/cmdjit.pla: 1359: stripspaces(strptr) -; vmsrc/apple/cmdjit.pla: 1360: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F209 !WORD _C020 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmdjit.pla: 1361: end -; vmsrc/apple/cmdjit.pla: 1362: def resetmemfiles#0 -_C023 ; resetmemfiles() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1363: byte terr - ; terr -> [0] -; vmsrc/apple/cmdjit.pla: 1364: -; vmsrc/apple/cmdjit.pla: 1365: terr = perr // Save perr - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/cmdjit.pla: 1366: // -; vmsrc/apple/cmdjit.pla: 1367: // Close all files -; vmsrc/apple/cmdjit.pla: 1368: // -; vmsrc/apple/cmdjit.pla: 1369: ^$BF94 = 0 -; vmsrc/apple/cmdjit.pla: 1370: close(0) -; vmsrc/apple/cmdjit.pla: 1371: // -; vmsrc/apple/cmdjit.pla: 1372: // Set memory bitmap -; vmsrc/apple/cmdjit.pla: 1373: // -; vmsrc/apple/cmdjit.pla: 1374: memset($BF58, 0, 24) -; vmsrc/apple/cmdjit.pla: 1375: ^$BF58 = $CF -; vmsrc/apple/cmdjit.pla: 1376: ^$BF6F = $01 -; vmsrc/apple/cmdjit.pla: 1377: perr = terr // Restore perr -; vmsrc/apple/cmdjit.pla: 1378: end - !BYTE $68 ; LAB _D035+0 -_F210 !WORD _D035+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $78,$94,$BF ; SAB 49044 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F211 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2C,$58,$BF ; CW 48984 - !BYTE $00 ; CN 0 - !BYTE $2A,$18 ; CB 24 - !BYTE $54 ; CALL _A003 -_F212 !WORD _A003 - !BYTE $2A,$CF ; CB 207 - !BYTE $78,$58,$BF ; SAB 48984 - !BYTE $02 ; CN 1 - !BYTE $78,$6F,$BF ; SAB 49007 - !BYTE $64,$00 ; LLB [0] - !BYTE $78 ; SAB _D035+0 -_F213 !WORD _D035+0 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/cmdjit.pla: 1379: def execsys(sysfile)#0 - ; sysfile -> [0] -_P031 ; execsys(sysfile)#0() -_C024 ; execsys() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1380: byte refnum - ; refnum -> [2] -; vmsrc/apple/cmdjit.pla: 1381: word len - ; len -> [3] -; vmsrc/apple/cmdjit.pla: 1382: -; vmsrc/apple/cmdjit.pla: 1383: if ^sysfile - !BYTE $58,$05,$01 ; ENTER 5,1 -; vmsrc/apple/cmdjit.pla: 1384: strcpy($280, sysfile) -; vmsrc/apple/cmdjit.pla: 1385: striptrail(sysfile) -; vmsrc/apple/cmdjit.pla: 1386: refnum = open(sysfile) -; vmsrc/apple/cmdjit.pla: 1387: if refnum -; vmsrc/apple/cmdjit.pla: 1388: len = read(refnum, $2000, $FFFF) -; vmsrc/apple/cmdjit.pla: 1389: resetmemfiles -; vmsrc/apple/cmdjit.pla: 1390: if len -; vmsrc/apple/cmdjit.pla: 1391: strcpy(sysfile, $280) -; vmsrc/apple/cmdjit.pla: 1392: if stripchars(sysfile) and ^$2000 == $4C and *$2003 == $EEEE -; vmsrc/apple/cmdjit.pla: 1393: stripspaces(sysfile) -; vmsrc/apple/cmdjit.pla: 1394: if ^$2005 >= ^sysfile + 1 -; vmsrc/apple/cmdjit.pla: 1395: strcpy($2006, sysfile) -; vmsrc/apple/cmdjit.pla: 1396: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B149 - !WORD _B149-* - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F214 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C021 -_F215 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F216 !WORD _C002 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B151 - !WORD _B151-* - !BYTE $64,$02 ; LLB [2] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _C004 -_F217 !WORD _C004 - !BYTE $76,$03 ; SLW [3] - !BYTE $54 ; CALL _C023 -_F218 !WORD _C023 - !BYTE $66,$03 ; LLW [3] - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $54 ; CALL _C012 -_F219 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C019 -_F220 !WORD _C019 - !BYTE $AC ; BRAND _B155 - !WORD _B155-* - !BYTE $68,$00,$20 ; LAB 8192 - !BYTE $2A,$4C ; CB 76 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B156 - !WORD _B156-* - !BYTE $6A,$03,$20 ; LAW 8195 - !BYTE $2C,$EE,$EE ; CW 61166 - !BYTE $40 ; ISEQ -_B156 -_B155 - !BYTE $4C ; BRFLS _B157 - !WORD _B157-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C020 -_F221 !WORD _C020 - !BYTE $68,$05,$20 ; LAB 8197 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B159 - !WORD _B159-* - !BYTE $2C,$06,$20 ; CW 8198 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F222 !WORD _C012 - !BYTE $30 ; DROP -_B159 -_B160 -; vmsrc/apple/cmdjit.pla: 1397: fin -_B157 -_B158 -; vmsrc/apple/cmdjit.pla: 1398: striptrail($280) -; vmsrc/apple/cmdjit.pla: 1399: exec() -; vmsrc/apple/cmdjit.pla: 1400: fin - !BYTE $2C,$80,$02 ; CW 640 - !BYTE $54 ; CALL _C021 -_F223 !WORD _C021 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _A002 -_F224 !WORD _A002 -_B153 -_B154 -; vmsrc/apple/cmdjit.pla: 1401: fin -_B151 -_B152 -; vmsrc/apple/cmdjit.pla: 1402: fin -_B149 -_B150 -; vmsrc/apple/cmdjit.pla: 1403: end - !BYTE $5A,$05 ; LEAVE 5 -; vmsrc/apple/cmdjit.pla: 1404: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C025 ; execmod() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1405: byte moddci[63] - ; moddci -> [2] -; vmsrc/apple/cmdjit.pla: 1406: word keep, saveheap, savexheap, savesym, saveflags - ; keep -> [65] - ; saveheap -> [67] - ; savexheap -> [69] - ; savesym -> [71] - ; saveflags -> [73] -; vmsrc/apple/cmdjit.pla: 1407: -; vmsrc/apple/cmdjit.pla: 1408: perr = 1 - !BYTE $58,$4B,$01 ; ENTER 75,1 -; vmsrc/apple/cmdjit.pla: 1409: if stodci(modfile, @moddci) -; vmsrc/apple/cmdjit.pla: 1410: saveheap = heap -; vmsrc/apple/cmdjit.pla: 1411: savexheap = xheap -; vmsrc/apple/cmdjit.pla: 1412: savesym = lastsym -; vmsrc/apple/cmdjit.pla: 1413: saveflags = systemflags -; vmsrc/apple/cmdjit.pla: 1414: keep = loadmod(@moddci) -; vmsrc/apple/cmdjit.pla: 1415: if keep < modkeep -; vmsrc/apple/cmdjit.pla: 1416: if not (keep & modflagkeep) -; vmsrc/apple/cmdjit.pla: 1417: systemflags = saveflags -; vmsrc/apple/cmdjit.pla: 1418: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D035+0 -_F225 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A019 -_F226 !WORD _A019 - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $6A ; LAW _D072+0 -_F227 !WORD _D072+0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _D073+0 -_F228 !WORD _D073+0 - !BYTE $76,$45 ; SLW [69] - !BYTE $6A ; LAW _D075+0 -_F229 !WORD _D075+0 - !BYTE $76,$47 ; SLW [71] - !BYTE $6A ; LAW _D038+0 -_F230 !WORD _D038+0 - !BYTE $76,$49 ; SLW [73] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C016 -_F231 !WORD _C016 - !BYTE $6E,$41 ; DLW [65] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B163 - !WORD _B163-* - !BYTE $66,$41 ; LLW [65] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B165 - !WORD _B165-* - !BYTE $66,$49 ; LLW [73] - !BYTE $7A ; SAW _D038+0 -_F232 !WORD _D038+0 -_B165 -_B166 -; vmsrc/apple/cmdjit.pla: 1419: xheap = savexheap -; vmsrc/apple/cmdjit.pla: 1420: heap = saveheap -; vmsrc/apple/cmdjit.pla: 1421: lastsym = savesym -; vmsrc/apple/cmdjit.pla: 1422: ^lastsym = 0 -; vmsrc/apple/cmdjit.pla: 1423: fin - !BYTE $66,$45 ; LLW [69] - !BYTE $7A ; SAW _D073+0 -_F233 !WORD _D073+0 - !BYTE $66,$43 ; LLW [67] - !BYTE $7A ; SAW _D072+0 -_F234 !WORD _D072+0 - !BYTE $66,$47 ; LLW [71] - !BYTE $7A ; SAW _D075+0 -_F235 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D075+0 -_F236 !WORD _D075+0 - !BYTE $70 ; SB -_B163 -_B164 -; vmsrc/apple/cmdjit.pla: 1424: fin -_B161 -_B162 -; vmsrc/apple/cmdjit.pla: 1425: return -perr - !BYTE $68 ; LAB _D035+0 -_F237 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$4B ; LEAVE 75 -; vmsrc/apple/cmdjit.pla: 1426: end -; vmsrc/apple/cmdjit.pla: 1427: // -; vmsrc/apple/cmdjit.pla: 1428: // Command line processor -; vmsrc/apple/cmdjit.pla: 1429: // -; vmsrc/apple/cmdjit.pla: 1430: def docmds#0 -_C026 ; docmds() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1431: word prefix - ; prefix -> [0] -; vmsrc/apple/cmdjit.pla: 1432: byte ref - ; ref -> [2] -; vmsrc/apple/cmdjit.pla: 1433: -; vmsrc/apple/cmdjit.pla: 1434: loadmod(jitmod) // Cannot do this in init code - it will overwrite it! - !BYTE $58,$03,$00 ; ENTER 3,0 -; vmsrc/apple/cmdjit.pla: 1435: xheap = $0200 // Reset heap to point at low memory -; vmsrc/apple/cmdjit.pla: 1436: xheaptop = $A000 // Top below JITC ($C000 - 8K) -; vmsrc/apple/cmdjit.pla: 1437: prefix = pfxop(heap, GET_PFX) -; vmsrc/apple/cmdjit.pla: 1438: strcpy(getlnbuf, @cmdln) -; vmsrc/apple/cmdjit.pla: 1439: repeat - !BYTE $2C,$F0,$02 ; CW 752 - !BYTE $54 ; CALL _C016 -_F238 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D073+0 -_F239 !WORD _D073+0 - !BYTE $2C,$00,$A0 ; CW 40960 - !BYTE $7A ; SAW _D074+0 -_F240 !WORD _D074+0 - !BYTE $6A ; LAW _D072+0 -_F241 !WORD _D072+0 - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F242 !WORD _C001 - !BYTE $76,$00 ; SLW [0] - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $26 ; LA _D039+0 -_F243 !WORD _D039+0 - !BYTE $54 ; CALL _C012 -_F244 !WORD _C012 - !BYTE $30 ; DROP -_B168 -; vmsrc/apple/cmdjit.pla: 1440: if ^getlnbuf -; vmsrc/apple/cmdjit.pla: 1441: strcpy(@cmdln, getlnbuf) -; vmsrc/apple/cmdjit.pla: 1442: when toupper(parsecmd(getlnbuf)) - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B170 - !WORD _B170-* - !BYTE $26 ; LA _D039+0 -_F245 !WORD _D039+0 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C012 -_F246 !WORD _C012 - !BYTE $30 ; DROP - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C022 -_F247 !WORD _C022 - !BYTE $54 ; CALL _A020 -_F248 !WORD _A020 - !BYTE $52 ; SEL - !WORD _B173-* -; vmsrc/apple/cmdjit.pla: 1443: is 'C' -_B174 -; vmsrc/apple/cmdjit.pla: 1444: catalog(^getlnbuf ?? getlnbuf :: prefix) -; vmsrc/apple/cmdjit.pla: 1445: break - !BYTE $68,$FF,$01 ; LAB 511 - !BYTE $4C ; BRFLS _B177 - !WORD _B177-* - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $50 ; BRNCH _B178 - !WORD _B178-* -_B177 - !BYTE $66,$00 ; LLW [0] -_B178 - !BYTE $54 ; CALL _C018 -_F249 !WORD _C018 - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1446: is 'P' -_B179 -; vmsrc/apple/cmdjit.pla: 1447: pfxop(getlnbuf, SET_PFX) -; vmsrc/apple/cmdjit.pla: 1448: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F250 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1449: is '/' -_B180 -; vmsrc/apple/cmdjit.pla: 1450: repeat -_B182 -; vmsrc/apple/cmdjit.pla: 1451: ^prefix-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/cmdjit.pla: 1452: until ^(prefix + ^prefix) == '/' - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B183 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B182 - !WORD _B182-* -_B181 -; vmsrc/apple/cmdjit.pla: 1453: if ^prefix > 1 -; vmsrc/apple/cmdjit.pla: 1454: pfxop(prefix, SET_PFX) -; vmsrc/apple/cmdjit.pla: 1455: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B184 - !WORD _B184-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$C6 ; CB 198 - !BYTE $54 ; CALL _C001 -_F251 !WORD _C001 - !BYTE $30 ; DROP -_B184 -_B185 -; vmsrc/apple/cmdjit.pla: 1456: break - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1457: is 'V' -_B186 -; vmsrc/apple/cmdjit.pla: 1458: volumes() -; vmsrc/apple/cmdjit.pla: 1459: break - !BYTE $54 ; CALL _C017 -_F252 !WORD _C017 - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1460: is '.' -_B187 -; vmsrc/apple/cmdjit.pla: 1461: ref = open(getlnbuf) -; vmsrc/apple/cmdjit.pla: 1462: if ref -; vmsrc/apple/cmdjit.pla: 1463: cmdln = read(ref, @cmdln+1, 81) -; vmsrc/apple/cmdjit.pla: 1464: close(0) -; vmsrc/apple/cmdjit.pla: 1465: prstr(strcpy(getlnbuf, @cmdln)); crout -; vmsrc/apple/cmdjit.pla: 1466: continue - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C002 -_F253 !WORD _C002 - !BYTE $6C,$02 ; DLB [2] - !BYTE $4C ; BRFLS _B188 - !WORD _B188-* - !BYTE $64,$02 ; LLB [2] - !BYTE $26 ; LA _D039+1 -_F254 !WORD _D039+1 - !BYTE $2A,$51 ; CB 81 - !BYTE $54 ; CALL _C004 -_F255 !WORD _C004 - !BYTE $78 ; SAB _D039+0 -_F256 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F257 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $26 ; LA _D039+0 -_F258 !WORD _D039+0 - !BYTE $54 ; CALL _C012 -_F259 !WORD _C012 - !BYTE $54 ; CALL _A008 -_F260 !WORD _A008 - !BYTE $54 ; CALL _A005 -_F261 !WORD _A005 - !BYTE $50 ; BRNCH _B169 - !WORD _B169-* -; vmsrc/apple/cmdjit.pla: 1467: fin -_B188 -_B189 -; vmsrc/apple/cmdjit.pla: 1468: break - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1469: is '-' -_B190 -; vmsrc/apple/cmdjit.pla: 1470: execsys(getlnbuf) -; vmsrc/apple/cmdjit.pla: 1471: break - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C024 -_F262 !WORD _C024 - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1472: is '+' -_B191 -; vmsrc/apple/cmdjit.pla: 1473: // -; vmsrc/apple/cmdjit.pla: 1474: // Set JIT code pointer -; vmsrc/apple/cmdjit.pla: 1475: // -; vmsrc/apple/cmdjit.pla: 1476: *jitcodeptr = jitcbuf -; vmsrc/apple/cmdjit.pla: 1477: // -; vmsrc/apple/cmdjit.pla: 1478: // Exec module -; vmsrc/apple/cmdjit.pla: 1479: // -; vmsrc/apple/cmdjit.pla: 1480: execmod(striptrail(getlnbuf)) -; vmsrc/apple/cmdjit.pla: 1481: // -; vmsrc/apple/cmdjit.pla: 1482: // Clean up -; vmsrc/apple/cmdjit.pla: 1483: // -; vmsrc/apple/cmdjit.pla: 1484: resetmemfiles -; vmsrc/apple/cmdjit.pla: 1485: break - !BYTE $2C,$00,$AF ; CW 44800 - !BYTE $7A,$E4,$03 ; SAW 996 - !BYTE $2C,$FF,$01 ; CW 511 - !BYTE $54 ; CALL _C021 -_F263 !WORD _C021 - !BYTE $54 ; CALL _C025 -_F264 !WORD _C025 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C023 -_F265 !WORD _C023 - !BYTE $50 ; BRNCH _B172 - !WORD _B172-* -; vmsrc/apple/cmdjit.pla: 1486: otherwise -_B173 - !BYTE $07 ; CASEBLOCK - !WORD $002B - !WORD _B191-* - !WORD $002D - !WORD _B190-* - !WORD $002E - !WORD _B187-* - !WORD $002F - !WORD _B180-* - !WORD $0043 - !WORD _B174-* - !WORD $0050 - !WORD _B179-* - !WORD $0056 - !WORD _B186-* -; vmsrc/apple/cmdjit.pla: 1487: cout('?') -; vmsrc/apple/cmdjit.pla: 1488: wend - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _A006 -_F266 !WORD _A006 -_B172 -; vmsrc/apple/cmdjit.pla: 1489: if perr -; vmsrc/apple/cmdjit.pla: 1490: prstr("ERR:$") - !BYTE $68 ; LAB _D035+0 -_F267 !WORD _D035+0 - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _A008 -_F268 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1491: prbyte(perr) -; vmsrc/apple/cmdjit.pla: 1492: crout() -; vmsrc/apple/cmdjit.pla: 1493: fin - !BYTE $68 ; LAB _D035+0 -_F269 !WORD _D035+0 - !BYTE $54 ; CALL _A010 -_F270 !WORD _A010 - !BYTE $54 ; CALL _A005 -_F271 !WORD _A005 -_B192 -_B193 -; vmsrc/apple/cmdjit.pla: 1494: fin -_B170 -_B171 -; vmsrc/apple/cmdjit.pla: 1495: prefix = pfxop(heap, GET_PFX) -; vmsrc/apple/cmdjit.pla: 1496: prstr(prefix) -; vmsrc/apple/cmdjit.pla: 1497: rdstr($BA) -; vmsrc/apple/cmdjit.pla: 1498: until 0 - !BYTE $6A ; LAW _D072+0 -_F272 !WORD _D072+0 - !BYTE $2A,$C7 ; CB 199 - !BYTE $54 ; CALL _C001 -_F273 !WORD _C001 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _A008 -_F274 !WORD _A008 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _A011 -_F275 !WORD _A011 - !BYTE $30 ; DROP -_B169 - !BYTE $50 ; BRNCH _B168 - !WORD _B168-* -_B167 -; vmsrc/apple/cmdjit.pla: 1499: end - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/cmdjit.pla: 1500: // -; vmsrc/apple/cmdjit.pla: 1501: // Dummy definition to get free heap -; vmsrc/apple/cmdjit.pla: 1502: // -; vmsrc/apple/cmdjit.pla: 1503: def lastdef#0 -_C027 ; lastdef() - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1504: end - !BYTE $5C ; RET -; vmsrc/apple/cmdjit.pla: 1505: // -; vmsrc/apple/cmdjit.pla: 1506: // Get heap start. -; vmsrc/apple/cmdjit.pla: 1507: // -; vmsrc/apple/cmdjit.pla: 1508: heap = @lastdef -_INIT - JSR INTERP -; vmsrc/apple/cmdjit.pla: 1509: // -; vmsrc/apple/cmdjit.pla: 1510: // Print PLASMA version -; vmsrc/apple/cmdjit.pla: 1511: // -; vmsrc/apple/cmdjit.pla: 1512: if ^MACHID & MACHID_80COL -; vmsrc/apple/cmdjit.pla: 1513: systemflags = systemflags | vid80col | restxt1 | resxtxt1 -; vmsrc/apple/cmdjit.pla: 1514: *CSW = $C300 -; vmsrc/apple/cmdjit.pla: 1515: cout(12) -; vmsrc/apple/cmdjit.pla: 1516: fin - !BYTE $26 ; LA _C027+0 -_F276 !WORD _C027+0 - !BYTE $7A ; SAW _D072+0 -_F277 !WORD _D072+0 - !BYTE $68,$98,$BF ; LAB 49048 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B194 - !WORD _B194-* - !BYTE $6A ; LAW _D038+0 -_F278 !WORD _D038+0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $3E,$01 ; ORI 1 - !BYTE $3E,$04 ; ORI 4 - !BYTE $7A ; SAW _D038+0 -_F279 !WORD _D038+0 - !BYTE $2C,$00,$C3 ; CW 49920 - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $18 ; CN 12 - !BYTE $54 ; CALL _A006 -_F280 !WORD _A006 -_B194 -_B195 -; vmsrc/apple/cmdjit.pla: 1517: prstr("PLEIADES 128K VM v2.21\n") - !BYTE $2E ; CS - !BYTE $17 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$31,$32,$38,$4B,$20,$56,$4D - !BYTE $20,$76,$32,$2E,$32,$31,$0D - !BYTE $54 ; CALL _A008 -_F281 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1518: // -; vmsrc/apple/cmdjit.pla: 1519: // Init symbol table. -; vmsrc/apple/cmdjit.pla: 1520: // -; vmsrc/apple/cmdjit.pla: 1521: while *sysmodsym - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -_B196 -; vmsrc/apple/cmdjit.pla: 1522: stodci(sysmodsym=>0, heap) -; vmsrc/apple/cmdjit.pla: 1523: addsym(heap, sysmodsym=>2) -; vmsrc/apple/cmdjit.pla: 1524: sysmodsym = sysmodsym + 4 -; vmsrc/apple/cmdjit.pla: 1525: loop - !BYTE $6A ; LAW _D071+0 -_F282 !WORD _D071+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D072+0 -_F283 !WORD _D072+0 - !BYTE $54 ; CALL _A019 -_F284 !WORD _A019 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D072+0 -_F285 !WORD _D072+0 - !BYTE $6A ; LAW _D071+0 -_F286 !WORD _D071+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C011 -_F287 !WORD _C011 - !BYTE $6A ; LAW _D071+0 -_F288 !WORD _D071+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D071+0 -_F289 !WORD _D071+0 -_B198 - !BYTE $6A ; LAW _D071+0 -_F290 !WORD _D071+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B196 - !WORD _B196-* -_B197 -; vmsrc/apple/cmdjit.pla: 1526: // -; vmsrc/apple/cmdjit.pla: 1527: // Set system path -; vmsrc/apple/cmdjit.pla: 1528: // -; vmsrc/apple/cmdjit.pla: 1529: strcat(strcpy(@sysmods, $300), "SYS/") // This is the path to CMD - !BYTE $26 ; LA _D070+0 -_F291 !WORD _D070+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $54 ; CALL _C012 -_F292 !WORD _C012 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$59,$53,$2F - !BYTE $54 ; CALL _C013 -_F293 !WORD _C013 - !BYTE $30 ; DROP -; vmsrc/apple/cmdjit.pla: 1530: syspath = @sysmods // Update external interface table -; vmsrc/apple/cmdjit.pla: 1531: syscmdln = @cmdln -; vmsrc/apple/cmdjit.pla: 1532: // -; vmsrc/apple/cmdjit.pla: 1533: // Try to load autorun. -; vmsrc/apple/cmdjit.pla: 1534: // -; vmsrc/apple/cmdjit.pla: 1535: resetmemfiles -; vmsrc/apple/cmdjit.pla: 1536: autorun = open(@autorun) -; vmsrc/apple/cmdjit.pla: 1537: if autorun -; vmsrc/apple/cmdjit.pla: 1538: cmdln = read(autorun, @cmdln+1, 81) -; vmsrc/apple/cmdjit.pla: 1539: close(0) -; vmsrc/apple/cmdjit.pla: 1540: else - !BYTE $26 ; LA _D070+0 -_F294 !WORD _D070+0 - !BYTE $7A ; SAW _D033+0 -_F295 !WORD _D033+0 - !BYTE $26 ; LA _D039+0 -_F296 !WORD _D039+0 - !BYTE $7A ; SAW _D034+0 -_F297 !WORD _D034+0 - !BYTE $54 ; CALL _C023 -_F298 !WORD _C023 - !BYTE $26 ; LA _D040+0 -_F299 !WORD _D040+0 - !BYTE $54 ; CALL _C002 -_F300 !WORD _C002 - !BYTE $7C ; DAB _D040+0 -_F301 !WORD _D040+0 - !BYTE $4C ; BRFLS _B199 - !WORD _B199-* - !BYTE $68 ; LAB _D040+0 -_F302 !WORD _D040+0 - !BYTE $26 ; LA _D039+1 -_F303 !WORD _D039+1 - !BYTE $2A,$51 ; CB 81 - !BYTE $54 ; CALL _C004 -_F304 !WORD _C004 - !BYTE $78 ; SAB _D039+0 -_F305 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C003 -_F306 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -_B199 -; vmsrc/apple/cmdjit.pla: 1541: // -; vmsrc/apple/cmdjit.pla: 1542: // Print some startup info. -; vmsrc/apple/cmdjit.pla: 1543: // -; vmsrc/apple/cmdjit.pla: 1544: prstr("HEAP START:$"); prword(heap); crout - !BYTE $2E ; CS - !BYTE $0C - !BYTE $48,$45,$41,$50,$20,$53,$54,$41 - !BYTE $52,$54,$3A,$24 - !BYTE $54 ; CALL _A008 -_F307 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1545: prstr("MEM FREE:$"); prword(availheap); crout - !BYTE $6A ; LAW _D072+0 -_F308 !WORD _D072+0 - !BYTE $54 ; CALL _A009 -_F309 !WORD _A009 - !BYTE $54 ; CALL _A005 -_F310 !WORD _A005 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $4D,$45,$4D,$20,$46,$52,$45,$45 - !BYTE $3A,$24 - !BYTE $54 ; CALL _A008 -_F311 !WORD _A008 -; vmsrc/apple/cmdjit.pla: 1546: fin - !BYTE $54 ; CALL _C005 -_F312 !WORD _C005 - !BYTE $54 ; CALL _A009 -_F313 !WORD _A009 - !BYTE $54 ; CALL _A005 -_F314 !WORD _A005 -_B200 -; vmsrc/apple/cmdjit.pla: 1547: docmds -; vmsrc/apple/cmdjit.pla: 1548: done - !BYTE $54 ; CALL _C026 -_F315 !WORD _C026 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/apple/cmdjit.sym b/src/vmsrc/apple/cmdjit.sym deleted file mode 100644 index 13af57e..0000000 --- a/src/vmsrc/apple/cmdjit.sym +++ /dev/null @@ -1,696 +0,0 @@ - _CMDEND = $1c81 ; unused - INTERP = $3d0 - _F009 = $cef ; unused - _F028 = $d15 ; unused - _F219 = $19bb ; unused - _F238 = $1a66 ; unused - _B019 = $127a ; ? - _B038 = $1342 ; ? - _F008 = $ced ; unused - _F029 = $d17 ; unused - _F218 = $19ae ; unused - _F239 = $1a6d ; unused - _B018 = $125a ; unused - _B039 = $134f ; ? - _F049 = $d3f ; unused - _F068 = $1175 ; unused - _F259 = $1b14 ; unused - _F278 = $1baa ; unused - _B059 = $14d2 ; ? - _B078 = $1606 ; unused - SRCL = $6 - _F048 = $d3d ; unused - _F069 = $118d ; unused - _F258 = $1b11 ; unused - _F279 = $1bb5 ; unused - _B079 = $1600 ; ? - _B058 = $16ff ; ? - _F089 = $1238 ; unused - _F299 = $1c29 ; unused - _B099 = $1751 ; ? - FIXMSB = $10b4 ; ? - _F088 = $1233 ; unused - _F298 = $1c26 ; unused - _B098 = $170b ; unused - SRCH = $7 - _F001 = $c0b ; unused - _F020 = $d05 ; unused - _F043 = $d33 ; unused - _F062 = $111d ; unused - _F085 = $121d ; unused - _F211 = $1961 ; unused - _F230 = $1a22 ; unused - _F253 = $1af4 ; unused - _F272 = $1b7d ; unused - _F295 = $1c1d ; unused - _B011 = $1232 ; unused - _B030 = $12fd ; unused - _B053 = $1461 ; unused - _B072 = $1586 ; ? - _B095 = $16c8 ; ? - LCBNK1 = $8 ; unused - _F000 = $c09 ; unused - _F021 = $d07 ; unused - _F042 = $d31 ; unused - _F063 = $1130 ; unused - _F084 = $1217 ; unused - _F210 = $1957 ; unused - _F231 = $1a29 ; unused - _F252 = $1aeb ; unused - _F273 = $1b82 ; unused - _F294 = $1c1a ; unused - _B010 = $1232 ; ? - _B031 = $1326 ; ? - _B052 = $1461 ; ? - _B073 = $1586 ; unused - _B094 = $16cf ; unused - _B200 = $1c7c ; ? - LCBNK2 = $0 - _F003 = $c0f ; unused - _F022 = $d09 ; unused - _F041 = $d2f ; unused - _F060 = $d55 ; unused - _F087 = $1230 ; unused - _F213 = $1979 ; unused - _F232 = $1a40 ; unused - _F251 = $1ae4 ; unused - _F270 = $1b77 ; unused - _F297 = $1c23 ; unused - _B013 = $1232 ; ? - _B032 = $1326 ; unused - _B051 = $1461 ; unused - _B070 = $1554 ; ? - _B097 = $170b ; ? - _F002 = $c0d ; unused - _F023 = $d0b ; unused - _F040 = $d2d ; unused - _F061 = $d5b ; unused - _F086 = $1223 ; unused - _F212 = $196b ; unused - _F233 = $1a45 ; unused - _F250 = $1abf ; unused - _F271 = $1b7a ; unused - _F296 = $1c20 ; unused - _B012 = $1225 ; ? - _B033 = $1319 ; ? - _B050 = $1461 ; ? - _B071 = $1554 ; unused - _B096 = $16c8 ; unused - _F005 = $c18 ; unused - _F024 = $d0d ; unused - _F047 = $d3b ; unused - _F066 = $1152 ; unused - _F081 = $11fa ; unused - _F215 = $1995 ; unused - _F234 = $1a4a ; unused - _F257 = $1b0a ; unused - _F276 = $1b9c ; unused - _F291 = $1c07 ; unused - _B015 = $1245 ; ? - _B034 = $1326 ; ? - _B057 = $16fa ; ? - _B076 = $15c4 ; unused - _B091 = $16db ; unused - ESTK = $a0 - _F004 = $c16 ; unused - _F025 = $d0f ; unused - _F046 = $d39 ; unused - _F067 = $1172 ; unused - _F080 = $11f4 ; unused - _F214 = $198f ; unused - _F235 = $1a4f ; unused - _F256 = $1b06 ; unused - _F277 = $1b9f ; unused - _F290 = $1c00 ; unused - REVCPYLP = $e56 ; ? - _B014 = $1232 ; unused - _B035 = $1326 ; unused - _B056 = $14b6 ; unused - _B077 = $15fa - _B090 = $1698 - _F007 = $ceb ; unused - _F026 = $d11 ; unused - _F045 = $d37 ; unused - _F064 = $1139 ; unused - _F083 = $120a ; unused - _F217 = $19a9 ; unused - _F236 = $1a53 ; unused - _F255 = $1b03 ; unused - _F274 = $1b87 ; unused - _F293 = $1c16 ; unused - _B017 = $125a ; ? - _B036 = $134f ; ? - _B055 = $14b6 ; ? - _B074 = $15cb ; unused - _B093 = $16cf ; ? - _F006 = $ce9 ; unused - _F027 = $d13 ; unused - _F044 = $d35 ; unused - _F065 = $114f ; unused - _F082 = $1207 ; unused - _F216 = $199b ; unused - _F237 = $1a57 ; unused - _F254 = $1afe ; unused - _F275 = $1b8c ; unused - _F292 = $1c0d ; unused - _B016 = $1245 ; unused - _B037 = $134f ; unused - _B054 = $149c ; ? - _B075 = $15b2 - _B092 = $16d5 ; ? - IFP = $e0 - IPY = $e4 - LCRWEN = $c083 ; unused - _C019 = $186f - _C018 = $17a2 - CMD = $d78 ; ? - _C011 = $1362 - _C010 = $1298 - DSTL = $8 - _C013 = $13bf - _C012 = $13a3 - _C015 = $141f - FORCPYLP = $e1d ; ? - _C014 = $13e2 - DSTH = $9 - _C017 = $1755 - _C016 = $147e - LCWTEN = $c081 ; unused - RLDEX = $10f3 ; ? - _SYSFLAGS = $0 ; unused - _F109 = $12ee ; unused - _F128 = $1390 ; unused - _B119 = $184a ; unused - _B138 = $18c6 - _F108 = $12e8 ; unused - _F129 = $1395 ; unused - _B118 = $17e7 - _B139 = $18ea ; unused - _D049 = $c50 - _D068 = $ce4 - _P019 = $13bf ; ? - _F149 = $14b2 ; unused - _F168 = $15d6 ; unused - _B159 = $19f2 ; ? - _B178 = $1ab3 ; ? - _D048 = $c4b - _D069 = $ce9 - _P018 = $13a3 ; ? - _F148 = $14af ; unused - _F169 = $1611 ; unused - _B158 = $19f2 ; unused - _B179 = $1ab9 - _F189 = $1771 ; unused - _B199 = $1c4a ; ? - FIXLSB = $10ac ; unused - _F188 = $176e ; unused - _B198 = $1bff ; ? - _D043 = $c31 - _D062 = $cbd - _P013 = $1249 ; ? - _F101 = $12ac ; unused - _F120 = $134d ; unused - _F143 = $1489 ; unused - _F162 = $1579 ; unused - _F185 = $1744 ; unused - _F311 = $1c71 ; unused - _B111 = $17b7 ; unused - _B130 = $1878 - _B153 = $19fc ; ? - _B172 = $1b63 ; ? - _B195 = $1bc1 ; unused - _D042 = $c2c - _D063 = $cc3 - _P012 = $11c8 ; ? - _F100 = $12a9 ; unused - _F121 = $1350 ; unused - _F142 = $1453 ; unused - _F163 = $1582 ; unused - _F184 = $1737 ; unused - _F310 = $1c62 ; unused - _B110 = $17b7 ; ? - _B131 = $189c ; unused - _B152 = $19fc ; unused - _B173 = $1b41 ; ? - _B194 = $1bc1 ; ? - _P030 = $fca ; ? - _D041 = $c25 - _D060 = $cb1 - _P011 = $127e ; ? - _F103 = $12bf ; unused - _F122 = $1353 ; unused - _F141 = $1445 ; unused - _F160 = $155a ; unused - _F187 = $176b ; unused - _F313 = $1c77 ; unused - _B113 = $1864 ; unused - _B132 = $188c ; ? - _B151 = $19fc ; ? - _B170 = $1b7c ; ? - _B197 = $1c06 ; unused - _P031 = $197d ; ? - _D040 = $c1d - _D061 = $cb7 - _P010 = $fb9 ; ? - _F102 = $12b9 ; unused - _F123 = $1356 ; unused - _F140 = $1416 ; unused - _F161 = $156b ; unused - _F186 = $1762 ; unused - _F312 = $1c74 ; unused - _B112 = $17bd - _B133 = $1899 ; ? - _B150 = $19fc ; unused - _B171 = $1b7c ; unused - _B196 = $1be0 - _D047 = $c46 - _D066 = $cd5 - _P017 = $df2 ; ? - _F105 = $12d2 ; unused - _F124 = $136f ; unused - _F147 = $14ac ; unused - _F166 = $15c0 ; unused - _F181 = $1706 ; unused - _F315 = $1c7d ; unused - _B115 = $17e0 ; ? - _B134 = $18aa - _B157 = $19f2 ; ? - _B191 = $1b2b - _D046 = $c41 - _D067 = $cdc - _P016 = $dbf ; ? - _F104 = $12c5 ; unused - _F125 = $1373 ; unused - _F146 = $14a7 ; unused - _F167 = $15ce ; unused - _F180 = $1700 ; unused - _F314 = $1c7a ; unused - _B114 = $1853 ; ? - _B135 = $18c3 ; unused - _B156 = $19d6 ; ? - _B177 = $1ab1 ; ? - _B190 = $1b22 - _D045 = $c3b - _D064 = $cc9 - _P015 = $11ba ; ? - _F107 = $12e2 ; unused - _F126 = $1377 ; unused - _F145 = $14a4 ; unused - _F164 = $15a3 ; unused - _F183 = $1728 ; unused - _B117 = $184d ; ? - _B136 = $18b1 ; ? - _B155 = $19d6 ; ? - _B174 = $1aa5 - _B193 = $1b7c ; unused - _D044 = $c36 - _D065 = $cce - _P014 = $1285 ; ? - _F106 = $12d5 ; unused - _F127 = $138a ; unused - _F144 = $148f ; unused - _F165 = $15ac ; unused - _F182 = $170e ; unused - _B116 = $17e0 ; unused - _B137 = $18c0 ; ? - _B154 = $19fc ; unused - _B192 = $1b7c ; ? - JITCOMP = $3e2 - ESGUARD = $9e ; unused - JMPTMP = $e6 - PPL = $e2 - _A019 = $f87 - _A018 = $f5f - ROMEN = $c082 - PPH = $e3 - PP = $e2 - _A011 = $edd - _CMDBEGIN = $2043 ; ? - _A010 = $ecc - PARAMS = $d79 ; ? - _A013 = $f18 ; unused - _A012 = $f04 - _A015 = $f3e - _A014 = $f2c - _A017 = $f55 ; unused - _A016 = $f50 ; unused - TOUPR = $fbb ; ? - FIX8 = $10e5 ; ? - _F019 = $d03 ; unused - _F038 = $d29 ; unused - _F209 = $194a ; unused - _F228 = $1a18 ; unused - _B009 = $1209 ; unused - _B028 = $12f0 ; ? - _F018 = $d01 ; unused - _F039 = $d2b ; unused - _F208 = $193e ; unused - _F229 = $1a1d ; unused - _B008 = $1209 ; ? - _B029 = $12fd ; ? - _F059 = $d53 ; unused - _F078 = $11e1 ; unused - _F249 = $1ab4 ; unused - _F268 = $1b71 ; unused - _B049 = $1418 ; unused - _B068 = $1554 ; ? - _F058 = $d51 ; unused - _F079 = $11ee ; unused - _F248 = $1aa0 ; unused - _F269 = $1b74 ; unused - _B048 = $1418 ; ? - _B069 = $1554 ; unused - _F099 = $12a4 ; unused - _F289 = $1bfd ; unused - _B089 = $1686 ; ? - _F098 = $129f ; unused - _F288 = $1bf8 ; unused - _B088 = $167d ; ? - _F011 = $cf3 ; unused - _F030 = $d19 ; unused - _F053 = $d47 ; unused - _F072 = $11b4 ; unused - _F095 = $1282 ; unused - _F201 = $1856 ; unused - _F220 = $19c1 ; unused - _F243 = $1a83 ; unused - _F262 = $1b26 ; unused - _F285 = $1bec ; unused - _B001 = $1124 ; ? - _B020 = $127a ; unused - _B043 = $136b - _B062 = $150e ; ? - _B085 = $168f ; ? - _F010 = $cf1 ; unused - _F031 = $d1b ; unused - _F052 = $d45 ; unused - _F073 = $11c3 ; unused - _F094 = $1272 ; unused - _F200 = $183c ; unused - _F221 = $19dc ; unused - _F242 = $1a7b ; unused - _F263 = $1b35 ; unused - _F284 = $1be8 ; unused - _B021 = $12d4 ; ? - _B042 = $135e ; unused - _B063 = $1586 ; ? - _B084 = $1695 ; unused - _F013 = $cf7 ; unused - _F032 = $d1d ; unused - _F051 = $d43 ; unused - _F070 = $1190 ; unused - _F097 = $1293 ; unused - _F203 = $1867 ; unused - _F222 = $19ef ; unused - _F241 = $1a76 ; unused - _F260 = $1b17 ; unused - _F287 = $1bf5 ; unused - _B003 = $1132 ; ? - _B022 = $12d4 ; unused - _B041 = $135e ; ? - _B060 = $14e3 ; ? - _B087 = $168f ; unused - _F012 = $cf5 ; unused - _F033 = $d1f ; unused - _F050 = $d41 ; unused - _F071 = $11b1 ; unused - _F096 = $128e ; unused - _F202 = $185c ; unused - _F223 = $19f6 ; unused - _F240 = $1a73 ; unused - _F261 = $1b1a ; unused - _F286 = $1bef ; unused - _B002 = $1124 ; unused - _B023 = $12c7 ; ? - _B040 = $134f ; unused - _B061 = $14e3 ; unused - _B086 = $168f ; ? - _F015 = $cfb ; unused - _F034 = $d21 ; unused - _F057 = $d4f ; unused - _F076 = $11d9 ; unused - _F091 = $1255 ; unused - _F205 = $1883 ; unused - _F224 = $19fa ; unused - _F247 = $1a9d ; unused - _F266 = $1b61 ; unused - _F281 = $1bdb ; unused - _B005 = $1209 ; ? - _B024 = $12d4 ; ? - _B047 = $141c ; unused - _B066 = $1565 ; unused - _B081 = $164c ; unused - _F014 = $cf9 ; unused - _F035 = $d23 ; unused - _F056 = $d4d ; unused - _F077 = $11de ; unused - _F090 = $1240 ; unused - _F204 = $186b ; unused - _F225 = $1a06 ; unused - _F246 = $1a96 ; unused - _F267 = $1b64 ; unused - _F280 = $1bbf ; unused - CPYMEX = $e6b ; ? - _B004 = $1132 ; unused - _B025 = $12d4 ; unused - _B046 = $141c ; ? - _B067 = $155f ; ? - _B080 = $162d - _F017 = $cff ; unused - _F036 = $d25 ; unused - _F055 = $d4b ; unused - _F074 = $11cf ; unused - _F093 = $126d ; unused - _F207 = $1925 ; unused - _F226 = $1a0d ; unused - _F245 = $1a90 ; unused - _F264 = $1b38 ; unused - _F283 = $1be5 ; unused - _B007 = $11fc ; ? - _B026 = $12fd ; ? - _B045 = $137e ; ? - _B064 = $1586 ; unused - _B083 = $164f - _F016 = $cfd ; unused - _F037 = $d27 ; unused - _F054 = $d49 ; unused - _F075 = $11d4 ; unused - _F092 = $1262 ; unused - _F206 = $18d1 ; unused - _F227 = $1a13 ; unused - _F244 = $1a86 ; unused - _F265 = $1b3c ; unused - _F282 = $1be1 ; unused - _B006 = $1209 ; unused - _B027 = $12fd ; unused - _B044 = $1386 ; unused - _B065 = $1533 - _B082 = $1645 ; ? - ESP = $e5 - REVCPY = $e31 ; ? - _C009 = $1285 - _C008 = $127e ; unused - ESTKSZ = $40 - _C001 = $113d - _C020 = $18a1 - TMPH = $e8 - _C000 = $110d - _C021 = $18ec - _C003 = $117b - _C022 = $1919 - _C002 = $1158 - _C023 = $1950 - _C005 = $11ba - _C024 = $197d - TMPL = $e7 - _C004 = $1194 - _C025 = $19fe - SRC = $6 - _C007 = $1249 ; unused - _C026 = $1a5c - _INIT = $1b98 ; ? - _C006 = $11c8 - _C027 = $1b94 - ESTKL = $c0 - ESTKH = $a0 - _D038 = $c1a - _F119 = $1340 ; unused - _F138 = $140e ; unused - _F309 = $1c5f ; unused - _B109 = $1794 ; unused - _B128 = $1837 - _D039 = $c1c - _F118 = $133a ; unused - _F139 = $1413 ; unused - _F308 = $1c5c ; unused - _B108 = $1794 ; ? - _B129 = $183e ; unused - _P028 = $117b ; ? - _D059 = $caa - _P009 = $edd ; ? - _F159 = $154f ; unused - _F178 = $16f4 ; unused - _B149 = $19fc ; ? - _B168 = $1a89 - _P029 = $1194 ; ? - _D058 = $ca3 - _P008 = $e87 ; ? - _F158 = $1547 ; unused - _F179 = $16fd ; unused - _B148 = $1947 ; unused - _B169 = $1b8f ; ? - _F199 = $182d ; unused - _B189 = $1b1f ; unused - _F198 = $17fa ; unused - _B188 = $1b1f ; ? - IFPH = $e1 - _D053 = $c6b - _P003 = $e70 ; ? - _P022 = $f3e ; ? - _D072 = $d5d - _F111 = $12fe ; unused - _F130 = $139a ; unused - _F153 = $14ea ; unused - _F172 = $1677 ; unused - _F195 = $17be ; unused - _F301 = $1c2f ; unused - _B101 = $1749 ; ? - _B120 = $1844 ; ? - _B143 = $18f9 - _B162 = $1a56 ; unused - _B185 = $1ae7 ; unused - _D052 = $c64 - _P002 = $e6c ; ? - _P023 = $f18 ; ? - _D073 = $d5f - _F110 = $12fb ; unused - _F131 = $139e ; unused - _F152 = $14de ; unused - _F173 = $1684 ; unused - _F194 = $17b0 ; unused - _F300 = $1c2c ; unused - _B100 = $1751 ; unused - _B121 = $1844 ; unused - _B142 = $1912 ; ? - _B163 = $1a56 ; ? - _B184 = $1ae7 ; ? - _D032 = $c03 - _D051 = $c5d - _P001 = $d7e ; ? - _P020 = $f2c ; ? - _D070 = $d1d - _F113 = $1311 ; unused - _F132 = $13b3 ; unused - _F151 = $14d8 ; unused - _F170 = $1638 ; unused - _F197 = $17d2 ; unused - _F303 = $1c38 ; unused - _B103 = $1746 ; ? - _B122 = $182a ; ? - _B141 = $18e7 ; ? - _B160 = $19f2 ; unused - _B187 = $1af0 - _D033 = $c05 - _D050 = $c55 - _P000 = $d65 ; ? - _P021 = $f04 ; ? - _D071 = $d5b - _F112 = $130b ; unused - _F133 = $13d2 ; unused - _F150 = $14c7 ; unused - _F171 = $1658 ; unused - _F196 = $17ca ; unused - _F302 = $1c35 ; unused - _B102 = $1751 ; ? - _B123 = $181d ; ? - _B140 = $18da ; ? - _B161 = $1a56 ; ? - _B186 = $1aea - IFPL = $e0 - _D034 = $c07 - _P026 = $19fe ; ? - _D057 = $c99 - _P007 = $110d ; ? - _F115 = $1324 ; unused - _F134 = $13ed ; unused - _F157 = $153e ; unused - _F176 = $16c4 ; unused - _F191 = $178f ; unused - _F305 = $1c40 ; unused - _B105 = $179d ; unused - _B124 = $1808 - _B147 = $1947 ; ? - _B166 = $1a42 ; unused - _B181 = $1ad7 ; unused - _P027 = $1158 ; ? - _D035 = $c13 - _D056 = $c8d - _P006 = $ec6 ; ? - _F114 = $1317 ; unused - _F135 = $13f7 ; unused - _F156 = $1536 ; unused - _F177 = $16cd ; unused - _F190 = $178a ; unused - _F304 = $1c3d ; unused - _B104 = $1746 ; unused - _B125 = $180f - _B146 = $190f ; unused - _B180 = $1ac5 - _B167 = $1b92 ; unused - _D036 = $c14 - _D055 = $c83 - _P005 = $ecc ; ? - _P024 = $f55 ; ? - _D074 = $d61 - _F117 = $1334 ; unused - _F136 = $1401 ; unused - _F155 = $1518 ; unused - _F174 = $16a2 ; unused - _F193 = $17ab ; unused - _F307 = $1c59 ; unused - _B107 = $179a ; unused - _B126 = $1816 - _B145 = $190f ; ? - _B164 = $1a56 ; unused - _B183 = $1acc ; unused - _D037 = $c15 - _D054 = $c74 - _P004 = $e9a ; ? - _P025 = $f50 ; ? - _D075 = $d63 - _F116 = $1327 ; unused - _F137 = $1408 ; unused - _F154 = $1514 ; unused - _F175 = $16b8 ; unused - _F192 = $1792 ; unused - _F306 = $1c44 ; unused - _B106 = $1777 - _B127 = $1841 ; ? - _B144 = $190f ; unused - _B165 = $1a42 ; ? - _B182 = $1ac5 - LCRDEN = $c080 - TMP = $e7 - VMZP = $e0 - DST = $8 - SETMEX = $dee ; ? - _A009 = $ec6 - _A008 = $e9a - FIX16 = $10c4 ; ? - _A001 = $d7e - _A020 = $fb9 - REGVALS = $6 - SETMLPH = $dd6 - _A000 = $d65 - _A021 = $fca - JITCODE = $3e4 - _A003 = $dbf - _A022 = $100c - _A002 = $db9 - _A023 = $1044 - SETMLPL = $dd3 - _A005 = $e6c - _A024 = $107f - _A004 = $df2 - _A007 = $e87 ; unused - _A006 = $e70 diff --git a/src/vmsrc/apple/plvm01.sym b/src/vmsrc/apple/plvm01.sym deleted file mode 100644 index c80c808..0000000 --- a/src/vmsrc/apple/plvm01.sym +++ /dev/null @@ -1,660 +0,0 @@ - A1CMD = $9ec - BRTRU = $8b7 ; ? - _DIV = $410 ; ? - ISGT = $7f3 ; ? - INTERP = $283 - ISEQ = $7a9 ; ? - _LAW = $677 - _F009 = $b29 ; unused - _F028 = $b4f ; unused - _F219 = $1653 ; unused - _F238 = $16b0 ; unused - _B019 = $f92 - _B038 = $11aa ; unused - _F008 = $b27 ; unused - _F029 = $b51 ; unused - _F218 = $164c ; unused - _F239 = $16b5 ; unused - _B018 = $f8f ; unused - _B039 = $11a2 ; ? - _F049 = $b79 ; unused - _F068 = $f5c ; unused - _B059 = $12dc ; unused - _B078 = $1411 ; ? - SRCL = $6 - _F048 = $b77 ; unused - _F069 = $f66 ; unused - _B058 = $12dc ; ? - _B079 = $1411 ; unused - BRNCH = $8cc ; ? - _F089 = $107b ; unused - _B099 = $14e9 ; unused - SEGEND = $16bf - ICAL = $95a ; ? - FIXMSB = $e4d ; ? - _F088 = $106e ; unused - _B098 = $14c5 - SRCH = $7 - _F001 = $a01 ; unused - _F020 = $b3f ; unused - _F043 = $b6d ; unused - _F062 = $efa ; unused - _F085 = $1057 ; unused - _F211 = $1630 ; unused - _F230 = $1694 ; unused - _B011 = $1037 ; ? - _B030 = $1044 ; ? - _B053 = $1306 ; ? - _B072 = $13d3 ; unused - _B095 = $14c2 ; unused - _F000 = $9f5 ; unused - _F021 = $b41 ; unused - _F042 = $b6b ; unused - _F063 = $f0d ; unused - _F084 = $1049 ; unused - _F210 = $1621 ; unused - _F231 = $1697 ; unused - _B010 = $1037 ; unused - _B031 = $1123 ; ? - _B052 = $12ab ; ? - _B073 = $13c3 ; ? - _B094 = $14a9 - _LAB = $663 - ISFLS = $7ca ; ? - _F003 = $b1d ; unused - _F022 = $b43 ; unused - _F041 = $b69 ; unused - _F060 = $ec8 ; unused - _F087 = $1065 ; unused - _F213 = $163a ; unused - _F232 = $169a ; unused - _B013 = $f34 - _B032 = $1123 ; unused - _B070 = $13d3 ; ? - _B097 = $14bf ; ? - _B051 = $141d ; unused - ISGE = $7d3 ; ? - _F002 = $a57 ; unused - _F023 = $b45 ; unused - _F040 = $b67 ; unused - _F061 = $ee0 ; unused - _F086 = $1062 ; unused - _F212 = $1633 ; unused - _F233 = $169e ; unused - _B012 = $fef ; ? - _B033 = $1138 ; ? - _B050 = $141d ; ? - _B071 = $13d3 ; ? - _B096 = $14b0 ; ? - _F005 = $b21 ; unused - _F024 = $b47 ; unused - _F047 = $b75 ; unused - _F066 = $f2d ; unused - _F081 = $fd3 ; unused - _F215 = $1640 ; unused - _F234 = $16a4 ; unused - _B015 = $f50 ; unused - _B034 = $1138 ; unused - _B057 = $12e7 ; ? - _B076 = $141d ; unused - _B091 = $149b ; unused - ESTK = $a0 - _F004 = $b1f ; unused - _F025 = $b49 ; unused - _F046 = $b73 ; unused - _F067 = $f4e ; unused - _F080 = $fcd ; unused - _F214 = $163d ; unused - _F235 = $16a7 ; unused - REVCPYLP = $c7c ; ? - _B014 = $f50 ; ? - _B035 = $1158 ; ? - _B056 = $12ed ; unused - _B077 = $1417 ; ? - _B090 = $1477 - _F007 = $b25 ; unused - _F026 = $b4b ; unused - _F045 = $b71 ; unused - _F064 = $f16 ; unused - _F083 = $1017 ; unused - _F217 = $1646 ; unused - _F236 = $16aa ; unused - _B017 = $f8f ; ? - _B036 = $1158 ; unused - _B055 = $12c1 - _B074 = $13ca ; ? - _B093 = $1498 ; ? - _F006 = $b23 ; unused - _F027 = $b4d ; unused - _F044 = $b6f ; unused - _F065 = $f2a ; unused - _F082 = $fdc ; unused - _F216 = $1643 ; unused - _F237 = $16ad ; unused - _B016 = $f53 - _B037 = $118f - _B054 = $1306 ; unused - _B075 = $13dc - _B092 = $148b ; ? - IFP = $e0 - IPY = $e4 - SAW = $75a ; ? - IINTERP = $293 - BROR = $88e ; ? - DECR = $2e5 - BRGT = $8ea ; ? - VMINIT = $16bf ; ? - BREQ = $897 ; ? - JUMPZ = $9ca ; ? - _C019 = $124d - _C018 = $1220 - IPH = $f3 - DECBRGE = $90a ; ? - _DIV1 = $436 ; ? - IPL = $f2 - SAB = $747 ; ? - FIXNEXT = $876 ; ? - ADD = $45f ; ? - _C011 = $1105 - _C010 = $10f7 - DSTL = $8 - _C013 = $115c ; unused - SEL = $813 ; ? - _C012 = $1127 ; unused - SUB = $46f ; ? - _C015 = $1176 ; unused - FIXDROP = $705 ; ? - _C014 = $1163 - FORCPYLP = $c43 ; ? - DSTH = $9 - SEGBEGIN = $280 ; unused - _C017 = $11c7 - _C016 = $1186 - IDXW = $47f ; ? - CASELP = $839 ; ? - RLDEX = $e8c ; ? - INCR = $2dc - _BRLE = $928 ; ? - _SYSFLAGS = $0 ; unused - COMP = $2f0 - _D028 = $9ef - _F109 = $117f ; unused - _F128 = $125e ; unused - _B119 = $162e ; unused - _D029 = $9f1 ; unused - _F108 = $1171 ; unused - _F129 = $1266 ; unused - _B118 = $1617 - ADDI = $51b ; ? - CALL = $965 ; ? - LEAVE = $9ac ; ? - _D049 = $a67 - _D068 = $af2 - _P019 = $c18 ; ? - _F149 = $139e ; unused - _F168 = $1546 ; unused - _D048 = $a60 - _D069 = $af9 - _P018 = $be5 ; ? - _F148 = $1382 ; unused - _F169 = $1554 ; unused - _F189 = $15c7 ; unused - FIXLSB = $e45 ; unused - _F188 = $15c1 ; unused - SUBI = $52a ; ? - NOBRNCH = $8be ; ? - _D043 = $a43 - _D062 = $ab3 - _P013 = $115c ; ? - _F101 = $111b ; unused - _F120 = $11f1 ; unused - _F143 = $130d ; unused - _F162 = $145f ; unused - _F185 = $15b8 ; unused - _B111 = $159a ; ? - _B130 = $165e - _D042 = $a40 - _D063 = $abc - _P012 = $10a0 ; ? - _F100 = $1116 ; unused - _F121 = $11f4 ; unused - _F142 = $1303 ; unused - _F163 = $1465 ; unused - _F184 = $15b3 ; unused - _B110 = $159a ; unused - _B131 = $1664 - _D041 = $a39 - _D060 = $aa6 - _P011 = $1084 ; ? - _F103 = $1140 ; unused - _F122 = $11fe ; unused - _F141 = $1300 ; unused - _F160 = $1450 ; unused - _F187 = $15be ; unused - _B113 = $158b ; ? - _B132 = $166d - _D040 = $a33 - _D061 = $aae - _P010 = $d51 ; ? - _F102 = $1133 ; unused - _F123 = $1203 ; unused - _F140 = $12f3 ; unused - _F161 = $1453 ; unused - _F186 = $15bb ; unused - _B112 = $159a ; unused - _B133 = $16a3 ; ? - _D047 = $a59 - _D066 = $ae1 - _P017 = $10f7 ; ? - _F105 = $1150 ; unused - _F124 = $1208 ; unused - _F147 = $133c ; unused - _F166 = $1521 ; unused - _F181 = $15aa ; unused - _B115 = $15d7 - _B134 = $16a9 ; ? - BRAND = $885 ; ? - _D046 = $a57 - _D067 = $aeb - _P016 = $1163 ; ? - _F104 = $114b ; unused - _F125 = $120b ; unused - _F146 = $1335 ; unused - _F167 = $153a ; unused - _F180 = $15a7 ; unused - _B114 = $158b ; unused - _D045 = $a56 - _D064 = $acb - _P015 = $1127 ; ? - _F107 = $116c ; unused - _F126 = $1236 ; unused - _F145 = $132c ; unused - _F164 = $1482 ; unused - _F183 = $15b0 ; unused - _B117 = $15f6 ; ? - _D044 = $a46 - _D065 = $ad5 - _P014 = $1105 ; ? - _F106 = $1160 ; unused - _F127 = $1258 ; unused - _F144 = $1312 ; unused - _F165 = $14d0 ; unused - _F182 = $15ad ; unused - _B116 = $15fd ; unused - DLW = $727 ; ? - RET = $9b9 ; ? - LLW = $645 ; ? - LB = $5cf ; ? - LA = $599 ; ? - ESGUARD = $9e ; unused - IDXLB = $657 ; ? - PAGE0 = $16e4 ; ? - JMPTMP = $e6 - ADDAB = $69e ; ? - PPL = $e2 ; unused - _A019 = $ea6 - LW = $5de ; ? - _A018 = $e18 - PPH = $e3 ; unused - _DIVLP = $43d - LLA = $606 ; ? - DLB = $714 ; ? - NEG = $3fc ; ? - LLB = $63f ; ? - PP = $e2 - ENTER = $987 ; ? - _A011 = $ced - _A010 = $ce3 ; unused - ADDAW = $6a4 ; ? - _A013 = $d1f - BAND = $492 ; ? - IDXLW = $65d ; ? - _A012 = $cf7 - ZERO = $56a ; ? - _A015 = $d62 - _A014 = $d51 - _A017 = $ddd - _A016 = $da5 ; unused - TOUPR = $d53 ; ? - CALL6502 = $bc1 ; ? - OPTBL = $300 - _LLW = $62c - BRFLS = $8c5 ; ? - FIX8 = $e7e ; ? - ISLT = $805 ; ? - _F019 = $b3d ; unused - _F038 = $b63 ; unused - _F209 = $161d ; unused - _F228 = $168b ; unused - _B009 = $f2c - _B028 = $1037 ; ? - _F018 = $b3b ; unused - _F039 = $b65 ; unused - _F208 = $1618 ; unused - _F229 = $1691 ; unused - _B029 = $1037 ; unused - _B008 = $1047 ; unused - DVSIGN = $e9 - _F059 = $b8f ; unused - _F078 = $fa5 ; unused - _B049 = $1271 ; unused - _B068 = $1395 - _F058 = $b8b ; unused - _F079 = $fbb ; unused - _B048 = $1271 ; ? - _B069 = $13d9 ; unused - _F099 = $1111 ; unused - _B089 = $1462 ; unused - _F098 = $110c ; unused - _B088 = $1462 ; ? - ISTRU = $7b5 - CFFB = $57d ; ? - _F011 = $b2d ; unused - _F030 = $b53 ; unused - _F053 = $b81 ; unused - _F072 = $f72 ; unused - _F095 = $10f0 ; unused - _F201 = $15f7 ; unused - _F220 = $1656 ; unused - _B001 = $ee5 ; ? - _B020 = $fc9 ; ? - _B043 = $11eb ; ? - _B062 = $1365 - _B085 = $1462 ; unused - _F010 = $b2b ; unused - _F031 = $b55 ; unused - _F052 = $b7f ; unused - _F073 = $f7a ; unused - _F094 = $10d5 ; unused - _F200 = $15f4 ; unused - _F221 = $1659 ; unused - _B021 = $fc9 ; unused - _B042 = $1217 ; ? - _B063 = $1371 ; unused - _B084 = $1462 ; ? - _F013 = $b31 ; unused - _F032 = $b57 ; unused - _F051 = $b7d ; unused - _F070 = $f6a ; unused - _F097 = $1100 ; unused - _F203 = $1601 ; unused - _F222 = $165f ; unused - _B003 = $ee2 ; unused - _B022 = $fcc - _B041 = $121d ; unused - _B060 = $12dc ; ? - _B087 = $1452 ; unused - _F012 = $b2f ; unused - _F033 = $b59 ; unused - _F050 = $b7b ; unused - _F071 = $f6e ; unused - _F096 = $10f3 ; unused - _F202 = $15fe ; unused - _F223 = $1667 ; unused - _F240 = $16b8 ; unused - _B002 = $ed8 - _B023 = $fd8 - _B040 = $11d0 - _B061 = $12dc ; unused - _B086 = $1452 ; ? - _LLB = $61a - _F015 = $b35 ; unused - _F034 = $b5b ; unused - _F057 = $b89 ; unused - _F076 = $f86 ; unused - _F091 = $1094 ; unused - _F205 = $160a ; unused - _F224 = $166e ; unused - _B005 = $f01 ; unused - _B024 = $fdb - _B047 = $120d ; unused - _B066 = $1392 ; unused - _B081 = $140a ; unused - _NEG = $402 ; ? - _F014 = $b33 ; unused - _F035 = $b5d ; unused - _F056 = $b87 ; unused - _F077 = $f9b ; unused - _F090 = $1080 ; unused - _F204 = $1607 ; unused - _F225 = $1671 ; unused - _B004 = $f01 ; ? - _B025 = $fe5 - _B046 = $120d ; ? - _B067 = $138b ; ? - _B080 = $140a ; ? - CPYMEX = $c91 ; ? - ISLE = $7e5 ; ? - _F017 = $b39 ; unused - _F036 = $b5f ; unused - _F055 = $b85 ; unused - _F074 = $f7e ; unused - _F093 = $10d2 ; unused - _F207 = $1611 ; unused - _F226 = $1685 ; unused - _B007 = $f0f ; unused - _B026 = $1037 ; ? - _B045 = $1211 ; unused - _B064 = $136b ; ? - _B083 = $1429 ; unused - ISNE = $7be ; ? - _F016 = $b37 ; unused - _F037 = $b61 ; unused - _F054 = $b83 ; unused - _F075 = $f82 ; unused - _F092 = $10b3 ; unused - _F206 = $160d ; unused - _F227 = $1688 ; unused - _B006 = $f0f ; ? - _B027 = $1037 ; unused - _B044 = $1211 ; ? - _B065 = $1379 - _B082 = $1429 ; ? - SHR = $4e3 ; ? - SLW = $6ef ; ? - IOR = $4a1 ; ? - _CALL = $96f ; ? - ESP = $e5 - CASEEND = $85c ; ? - REVCPY = $c57 ; ? - BRLT = $8f8 ; ? - SLB = $6de ; ? - _C009 = $10dc - MOD = $3d0 ; ? - _C008 = $10c3 - ORI = $547 ; ? - ESTKSZ = $40 - MUL = $2a8 - _C001 = $ecb - _C020 = $146e ; unused - TMPH = $e8 - _C000 = $ec3 - _C021 = $14a0 - _C003 = $f1a - _C022 = $14eb ; unused - _C002 = $eea - _C023 = $1515 - SHL = $4bf ; ? - _C005 = $1072 - _C024 = $154c - TMPL = $e7 - _C004 = $1050 - SRC = $6 - BRNE = $8a7 ; ? - _C007 = $10a0 ; unused - _INIT = $15a0 ; ? - _C006 = $1084 ; unused - ESTKL = $c0 - OPPAGE = $f8 ; unused - ESTKH = $a0 - DROP2 = $6da ; ? - DIVMOD = $3e2 ; ? - NEXTOP = $f0 - _BRGE = $914 - ANDI = $539 ; ? - _D038 = $a0d - _F119 = $11d9 ; unused - _F138 = $12d7 ; unused - _B109 = $159a ; ? - _B128 = $168a ; ? - _D039 = $a28 - _F118 = $11c2 ; unused - _F139 = $12e2 ; unused - _B108 = $1543 ; unused - _B129 = $1677 ; ? - _D059 = $a9f - _P009 = $f1a ; ? - _F159 = $1442 ; unused - _F178 = $1597 ; unused - _D058 = $a98 - _P008 = $eb1 ; ? - _F158 = $142c ; unused - _F179 = $159b ; unused - _F199 = $15ef ; unused - _F198 = $15ec ; unused - OPIDX = $f7 - IFPH = $e1 - _D030 = $9f3 ; unused - _D053 = $a7c - _D072 = $b0b - _P003 = $ea6 ; ? - _P022 = $ccc ; ? - _F111 = $1193 ; unused - _F130 = $126c ; unused - _F153 = $13fc ; unused - _F172 = $1566 ; unused - _F195 = $15df ; unused - _B101 = $14e6 ; ? - _B120 = $1620 ; ? - _D031 = $9f9 - _D052 = $a77 - _D073 = $b11 - _P002 = $ec3 ; ? - _P023 = $ca6 ; ? - _F110 = $1182 ; unused - _F131 = $127b ; unused - _F152 = $13e6 ; unused - _F173 = $156b ; unused - _F194 = $15dc ; unused - _B100 = $14d9 ; ? - _B121 = $1648 ; ? - _D032 = $9fb - _D051 = $a72 - _D070 = $aff - _P001 = $ba3 ; ? - _P020 = $cba ; ? - _F113 = $119b ; unused - _F132 = $127e ; unused - _F151 = $13c8 ; unused - _F170 = $155b ; unused - _F197 = $15e6 ; unused - _B103 = $14f8 - _B122 = $1648 ; unused - _D033 = $9fd - _D050 = $a6c - _D071 = $b05 - _P000 = $b91 ; ? - _P021 = $c92 ; ? - _F112 = $1197 ; unused - _F133 = $1284 ; unused - _F150 = $13bd ; unused - _F171 = $1561 ; unused - _F196 = $15e3 ; unused - _B102 = $1510 ; ? - _B123 = $164b - IFPL = $e0 - INCBRLE = $922 ; ? - ADDBRLE = $94a ; ? - _P026 = $154c ; ? - _D034 = $9ff - _D057 = $a90 - _P007 = $1072 ; ? - _D076 = $b8f - _F115 = $11b4 ; unused - _F134 = $1289 ; unused - _F157 = $1424 ; unused - _F176 = $158e ; unused - _F191 = $15cd ; unused - _B105 = $150d ; ? - _B124 = $16bd ; unused - _D035 = $a00 ; unused - _P027 = $1176 ; ? - _D056 = $a8b - _P006 = $1050 ; ? - _F114 = $11ae ; unused - _F135 = $12c4 ; unused - _F156 = $141e ; unused - _F177 = $1593 ; unused - _F190 = $15ca ; unused - _B104 = $150d ; unused - _B125 = $16ba ; ? - _D036 = $a03 - _D055 = $a86 - _D074 = $b16 - _P005 = $eea ; ? - _P024 = $ce3 ; ? - _F117 = $11be ; unused - _F136 = $12c7 ; unused - _F155 = $140f ; unused - _F174 = $1572 ; unused - _F193 = $15d8 ; unused - _B107 = $1543 ; ? - _B126 = $16ac ; ? - _D037 = $a05 - _D054 = $a81 - _D075 = $b1d - _P004 = $ecb ; ? - _P025 = $cde ; ? - _F116 = $11b9 ; unused - _F137 = $12cf ; unused - _F154 = $1406 ; unused - _F175 = $1589 ; unused - _F192 = $15d1 ; unused - _B106 = $150d ; unused - _B127 = $16ac ; unused - _MULLP = $2bc - TMP = $e7 - XOR = $4b0 ; ? - CB = $580 ; ? - DIV = $3c6 ; ? - VMZP = $e0 - LAW = $698 ; ? - NATV = $9ba ; ? - DAW = $78d ; ? - IDXAB = $6aa ; ? - LNOT = $551 ; ? - ADDLB = $64b ; ? - JUMP = $9db ; ? - DROP = $ef - DUP = $50f ; ? - SB = $6b6 ; ? - DST = $8 - SETMEX = $c14 ; ? - CN = $572 ; ? - _A009 = $cde ; unused - LAB = $692 ; ? - _A008 = $ccc ; unused - CS = $5b7 ; ? - DAB = $778 ; ? - IP = $f2 - FIX16 = $e5d ; ? - CW = $5a9 ; ? - _DIVEX = $45b ; ? - _A001 = $ba3 ; unused - _A020 = $eb1 - REGVALS = $bde ; ? - SETMLPH = $bfc - SUBBRGE = $93a ; ? - _A000 = $b91 - MINUS1 = $560 ; ? - _A003 = $be5 - FETCHOP = $f1 - _A002 = $be2 - ADDLW = $651 ; ? - SETMLPL = $bf9 - _A005 = $c92 - IDXAW = $6b0 ; ? - _A004 = $c18 - SW = $6c2 ; ? - _A007 = $cba ; unused - _A006 = $ca6 ; unused diff --git a/src/vmsrc/apple/plvm02.sym b/src/vmsrc/apple/plvm02.sym deleted file mode 100644 index ae93eb9..0000000 --- a/src/vmsrc/apple/plvm02.sym +++ /dev/null @@ -1,177 +0,0 @@ - BRTRU = $d841 ; ? - _DIV = $d299 - ISGT = $d77d ; ? - INTERP = $3d0 - ISEQ = $d733 ; ? - GETPFXPARMS = $2082 ; ? - SRCL = $6 - DINTRP = $d0c6 - BRNCH = $d856 ; ? - ICAL = $d906 ; ? - SRCH = $7 - LCBNK1 = $8 ; unused - LCDEFCMD = $d1c1 ; ? - LCBNK2 = $0 - ISFLS = $d754 ; ? - ISGE = $d75d ; ? - ESTK = $a0 - IFP = $e0 - OPENVM = $103e ; ? - CLRKBD = $c010 ; unused - IPY = $e4 - SAW = $d6e1 ; ? - LCRWEN = $c083 - BROR = $d818 ; ? - DECR = $d33a ; ? - BRGT = $d874 ; ? - KEYBD = $c000 ; unused - BREQ = $d821 ; ? - JUMPZ = $d96a ; ? - IPH = $f3 - DECBRGE = $d894 ; ? - _DIV1 = $d2bf ; ? - IPL = $f2 - SAB = $d6ce ; ? - FIXNEXT = $d800 ; ? - ADD = $d200 ; ? - VM16 = $1057 ; ? - DSTL = $8 - SEL = $d79d ; ? - SUB = $d210 ; ? - FIXDROP = $d68c ; ? - DSTH = $9 - ENDBYE = $10c1 ; unused - DISABLE80 = $109a ; ? - IDXW = $d220 ; ? - CASELP = $d7c3 ; ? - LCWTEN = $c081 ; unused - INCR = $d32e ; ? - _BRLE = $d8b2 ; ? - COMP = $d34a ; ? - ADDI = $d3e2 ; ? - CALL = $d8e4 ; ? - LEAVE = $d94c ; ? - SUBI = $d3f1 ; ? - NOBRNCH = $d848 ; ? - CLOSEPARMS = $1098 ; ? - CSWL = $36 ; unused - BRAND = $d80f ; ? - CSWH = $37 ; unused - DLW = $d6ae ; ? - PROMPT = $33 ; unused - RET = $d959 ; ? - LLW = $d4ff ; ? - LB = $d4a0 ; ? - LA = $d46a ; ? - CMDENTRY = $100c ; ? - ESGUARD = $9e ; unused - PAGE3 = $10b5 ; ? - IDXLB = $d543 ; ? - PAGE0 = $10ab ; ? - JMPTMP = $e6 - ADDAB = $d5b6 ; ? - PPL = $e2 ; unused - FAIL = $1074 ; ? - LW = $d4af ; ? - ROMEN = $c082 - PPH = $e3 ; unused - _DIVLP = $d2c6 - LLA = $d4d7 ; ? - DLB = $d69b ; ? - NEG = $d2e8 ; ? - LLB = $d4eb ; ? - PP = $e2 - ENTER = $d927 ; ? - BYE = $1000 ; unused - ADDAW = $d5ce ; ? - REFNUM = $108f ; ? - REFVM = $1043 ; ? - BAND = $d359 ; ? - IDXLW = $d560 ; ? - IINTRP = $d0d6 - ZERO = $d431 ; ? - NOVM = $103d ; ? - OPTBL = $d000 - SPKR = $c030 ; unused - BRFLS = $d84f ; ? - DEFCMD = $10c1 ; ? - ISLT = $d78f ; ? - DVSIGN = $ea - ISTRU = $d73f - CFFB = $d451 ; ? - READVM = $1044 ; ? - _NEG = $d28b - ISLE = $d76f ; ? - ISNE = $d748 ; ? - VM128 = $104e ; ? - SHR = $d3aa ; ? - SLW = $d676 ; ? - IOR = $d368 ; ? - ESP = $e5 - CASEEND = $d7e6 ; ? - PRODOS = $bf00 - BRLT = $d882 ; ? - SLB = $d665 ; ? - MOD = $d302 ; ? - VMCORE = $2085 ; ? - ORI = $d40e ; ? - READPARMS = $1090 ; ? - FAILMSG = $109f ; ? - ESTKSZ = $40 - MUL = $d233 ; ? - _MULLPH = $d26f - TMPH = $e8 - SHL = $d386 ; ? - _MULLPL = $d256 - TMPL = $e7 - SRC = $6 - BRNE = $d831 ; ? - ESTKL = $c0 - OPPAGE = $f8 ; unused - OPENPARMS = $108a ; ? - ESTKH = $a0 - CLOSEVM = $104c ; ? - DROP2 = $d661 ; ? - DIVMOD = $d314 ; ? - NEXTOP = $f0 - _BRGE = $d89e - ANDI = $d400 ; ? - OPIDX = $f7 - IFPH = $e1 - IFPL = $e0 - INCBRLE = $d8ac ; ? - ADDBRLE = $d8d4 ; ? - LCRDEN = $c080 - TMP = $e7 - XOR = $d377 ; ? - CB = $d444 ; ? - DIV = $d2f8 ; ? - MACHID = $bf98 - VMZP = $e0 - LAW = $d599 ; ? - NATV = $d95a ; ? - DAW = $d717 ; ? - IDXAB = $d5ef ; ? - STRBUF = $300 - LNOT = $d418 ; ? - ADDLB = $d514 ; ? - JUMP = $d97b ; ? - DROP = $ef - DUP = $d3d6 ; ? - SB = $d63d ; ? - DST = $8 - ALTVM = $2a11 ; ? - CN = $d439 ; ? - LAB = $d583 ; ? - CS = $d488 ; ? - DAB = $d702 ; ? - IP = $f2 - CW = $d47a ; ? - _DIVEX = $d2e4 ; ? - SUBBRGE = $d8c4 ; ? - MINUS1 = $d427 ; ? - FETCHOP = $f1 - ADDLW = $d52a ; ? - IDXAW = $d612 ; ? - SW = $d649 ; ? - VMEND = $d98c ; unused diff --git a/src/vmsrc/apple/plvm03.sym b/src/vmsrc/apple/plvm03.sym deleted file mode 100644 index a470902..0000000 --- a/src/vmsrc/apple/plvm03.sym +++ /dev/null @@ -1,681 +0,0 @@ - CMDPARS = $a0f0 ; unused - _CNXTS1 = $a486 ; ? - SRCX = $1607 - BRTRU = $a851 ; ? - _DIV = $a202 - _CMPPS = $a45c - ISGT = $a784 ; ? - _CPYS1 = $a4a7 - INTERP = $a1c6 ; ? - ISEQ = $a73a ; ? - _F009 = $aacf ; unused - _F028 = $aaf5 ; unused - _F219 = $b614 ; unused - _F238 = $b66c ; unused - _B019 = $b1b7 ; ? - _B038 = $b392 ; ? - _F008 = $aacd ; unused - _F029 = $aaf7 ; unused - _F218 = $b611 ; unused - _F239 = $b66f ; unused - _B018 = $b1bf ; unused - _B039 = $b392 ; unused - _F049 = $ab1f ; unused - _F068 = $af14 ; unused - _F259 = $b6dd ; unused - _B059 = $b4bf - _B078 = $b599 ; unused - SRCL = $6 - _F048 = $ab1d ; unused - _F069 = $af35 ; unused - _F258 = $b6d5 ; unused - _B058 = $b4b5 ; ? - _B079 = $b599 ; ? - SEGEND = $3755 ; ? - _F089 = $b012 ; unused - BRNCH = $a866 ; ? - ICAL = $a8f5 ; ? - FIXMSB = $ae72 ; ? - _F088 = $b00f ; unused - SRCH = $7 - _F001 = $a9cf ; unused - _F020 = $aae5 ; unused - _F043 = $ab13 ; unused - _F062 = $ab3b ; unused - _F085 = $afc8 ; unused - _F211 = $b5ef ; unused - _F230 = $b64a ; unused - _F253 = $b6c4 ; unused - _B011 = $b143 ; ? - _B030 = $b31c ; ? - _B053 = $b49e ; unused - _B072 = $b538 ; unused - _B095 = $b6f2 ; unused - _F000 = $a9cd ; unused - _F021 = $aae7 ; unused - _F042 = $ab11 ; unused - _F063 = $aed4 ; unused - _F084 = $afc4 ; unused - _F210 = $b5ec ; unused - _F231 = $b64d ; unused - _F252 = $b6bc ; unused - _B010 = $b0d6 ; unused - _B031 = $b31c ; unused - _B052 = $b49e ; ? - _B073 = $b55f ; ? - _B094 = $b6d8 ; unused - ISFLS = $a75b ; ? - _F003 = $a9d3 ; unused - _F022 = $aae9 ; unused - _F041 = $ab0f ; unused - _F060 = $ab35 ; unused - _F087 = $aff3 ; unused - _F213 = $b5f7 ; unused - _F232 = $b653 ; unused - _F251 = $b6b9 ; unused - _B013 = $b158 ; ? - _B032 = $b34a ; ? - _B051 = $b442 ; ? - _B070 = $b53f ; unused - _B097 = $b6ef ; unused - SEGSTART = $2000 - _F002 = $a9d1 ; unused - _F023 = $aaeb ; unused - _F040 = $ab0d ; unused - _F061 = $ab37 ; unused - _F086 = $aff0 ; unused - _F212 = $b5f3 ; unused - _F233 = $b656 ; unused - _F250 = $b6b6 ; unused - _B012 = $b143 ; unused - _B033 = $b3c8 ; ? - _B050 = $b448 ; unused - _B071 = $b538 ; ? - _B096 = $b6d8 - ISGE = $a764 ; ? - _F005 = $a9dc ; unused - _F024 = $aaed ; unused - _F047 = $ab1b ; unused - _F066 = $aef9 ; unused - _F081 = $afb7 ; unused - _F215 = $b607 ; unused - _F234 = $b65b ; unused - _F257 = $b6d2 ; unused - _B015 = $b178 ; ? - _B034 = $b3c8 ; unused - _B057 = $b4bc ; unused - _B076 = $b570 ; unused - _B091 = $b664 ; unused - ESTK = $a0 - _F004 = $a9d5 ; unused - _F025 = $aaef ; unused - _F046 = $ab19 ; unused - _F067 = $af11 ; unused - _F080 = $afaf ; unused - _F214 = $b602 ; unused - _F235 = $b65e ; unused - _F256 = $b6cf ; unused - REVCPYLP = $ac3a ; ? - _B014 = $b158 ; unused - _B035 = $b369 - _B056 = $b4a1 - _B077 = $b599 ; ? - _B090 = $b63e - _F007 = $aacb ; unused - _F026 = $aaf1 ; unused - _F045 = $ab17 ; unused - _F064 = $aed7 ; unused - _F083 = $afc1 ; unused - _F217 = $b60d ; unused - _F236 = $b666 ; unused - _F255 = $b6cc ; unused - _B017 = $b19f - _B036 = $b3a3 ; unused - _B055 = $b47a ; unused - _B074 = $b55f ; unused - _B093 = $b6d8 ; ? - _F006 = $aac9 ; unused - _F027 = $aaf3 ; unused - _F044 = $ab15 ; unused - _F065 = $aef6 ; unused - _F082 = $afbd ; unused - _F216 = $b60a ; unused - _F237 = $b669 ; unused - _F254 = $b6c7 ; unused - _B016 = $b178 ; unused - _B037 = $b39d ; ? - _B054 = $b47a ; ? - _B075 = $b570 ; ? - _B092 = $b65d ; ? - IFP = $e0 - IPX = $16f3 - IPY = $e4 - SAW = $a6eb ; ? - BROR = $a828 ; ? - DECR = $a2ca ; ? - BRGT = $a88d ; ? - DSTX = $1609 - BREQ = $a831 ; ? - JUMPZ = $a9a2 ; ? - _C019 = $b120 - _C018 = $b112 - IPH = $f3 - CMD = $ab64 ; ? - DECBRGE = $a8a9 ; ? - _DIV1 = $a228 ; ? - IPL = $f2 - SOSCMD = $a9c4 ; ? - SAB = $a6d8 ; ? - FIXNEXT = $a810 ; ? - ADD = $a2d5 ; ? - _C011 = $b03a - XPAGE = $1600 - _C010 = $b016 - DSTL = $8 - XENTRY = $a0f8 ; unused - _C013 = $b058 - SEL = $a7a4 ; ? - _C012 = $b042 ; unused - SUB = $a2e5 ; ? - _C015 = $b0ab ; unused - FIXDROP = $a696 ; ? - _C014 = $b07b - FORCPYLP = $ac01 ; ? - DSTH = $9 - _C017 = $b100 - _C016 = $b0de - IDXW = $a2f5 ; ? - CASELP = $a7d3 ; ? - RLDEX = $aeb1 ; ? - INCR = $a2c1 ; ? - _BRLE = $a8c7 ; ? - _SYSFLAGS = $0 ; unused - COMP = $a308 ; ? - _F109 = $b109 ; unused - _F128 = $b1b0 ; unused - _F108 = $b0fc ; unused - _F129 = $b1c0 ; unused - ADDI = $a3a0 ; ? - CALL = $a920 ; ? - LEAVE = $a97d ; ? - _D049 = $aa13 - _D068 = $aa9e - _P019 = $abd6 ; ? - _F149 = $b262 ; unused - _F168 = $b37c ; unused - _D048 = $aa0c - _D069 = $aaa5 - _P018 = $aba3 ; ? - _F148 = $b25b ; unused - _F169 = $b385 ; unused - CPYXLP = $ac73 - _F189 = $b4c8 ; unused - FIXLSB = $ae6a ; unused - _F188 = $b4ac ; unused - SUBI = $a3af ; ? - NOBRNCH = $a858 ; ? - _D043 = $a9f1 - _D062 = $aa5f - _P013 = $b17c ; ? - _F101 = $b0b4 ; unused - _F120 = $b170 ; unused - _F143 = $b20a ; unused - _F162 = $b317 ; unused - _F185 = $b475 ; unused - _D042 = $a9f0 - _D063 = $aa68 - _P012 = $b216 ; ? - _F100 = $b0a7 ; unused - _F121 = $b180 ; unused - _F142 = $b1f6 ; unused - _F163 = $b323 ; unused - _F184 = $b46f ; unused - _P030 = $af3e ; ? - _D041 = $a9e0 - _D060 = $aa51 - _P011 = $b1fa ; ? - _F103 = $b0bf ; unused - _F122 = $b18c ; unused - _F141 = $b1f1 ; unused - _F160 = $b300 ; unused - _F187 = $b47f ; unused - _P031 = $aecb ; ? - _D040 = $a9de - _D061 = $aa58 - _P010 = $ad64 ; ? - _F102 = $b0b7 ; unused - _F123 = $b191 ; unused - _F140 = $b1ee ; unused - _F161 = $b311 ; unused - _F186 = $b47b ; unused - _D047 = $aa05 - _D066 = $aa8d - _P017 = $b112 ; ? - _D081 = $ab4e - _F105 = $b0e5 ; unused - _F124 = $b1a0 ; unused - _F147 = $b251 ; unused - _F166 = $b36c ; unused - _F181 = $b462 ; unused - BRAND = $a81f ; ? - _D046 = $a9fe - _D067 = $aa97 - _P016 = $b183 ; ? - _D080 = $ab3f - _F104 = $b0d7 ; unused - _F125 = $b1a3 ; unused - _F146 = $b24e ; unused - _F167 = $b36f ; unused - _F180 = $b45d ; unused - _D045 = $a9fd - _D064 = $aa77 - _P015 = $b147 ; ? - _D083 = $ab51 - _F107 = $b0f3 ; unused - _F126 = $b1a9 ; unused - _F145 = $b244 ; unused - _F164 = $b350 ; unused - _F183 = $b46b ; unused - _D044 = $a9fa - _D065 = $aa81 - _P014 = $b120 ; ? - _D082 = $ab4f - _F106 = $b0f0 ; unused - _F127 = $b1ac ; unused - _F144 = $b229 ; unused - _F165 = $b354 ; unused - _F182 = $b468 ; unused - DLW = $a6b8 ; ? - SENTRY = $a0f6 ; unused - RET = $a991 ; ? - LLW = $a50f ; ? - PPX = $16e3 - LB = $a4b7 ; ? - LA = $a428 ; ? - _CNXTS = $a482 ; ? - CALLADR = $a93a ; ? - JITCOMP = $a0f2 ; unused - ESGUARD = $9e ; unused - XINTERP = $a1d9 ; ? - PAGE0 = $2057 ; ? - IDXLB = $a553 ; ? - JMPTMP = $e6 - ADDAB = $a5c6 ; ? - PPL = $e2 - LW = $a4c6 ; ? - _A018 = $ae3d - PPH = $e3 - _DIVLP = $a22f - LLA = $a4e7 ; ? - DLB = $a6a5 ; ? - NEG = $a285 ; ? - _CPYS = $a493 ; ? - LLB = $a4fb ; ? - PP = $e2 - ENTER = $a94c ; ? - _A011 = $ad00 ; unused - PARAMS = $ab65 ; ? - _A010 = $acfb ; unused - ADDAW = $a5de ; ? - _A013 = $ad32 - BAND = $a317 ; ? - IDXLW = $a570 ; ? - _A012 = $ad0a - ZERO = $a3ef ; ? - _A015 = $ad75 - _A014 = $ad64 ; unused - _A017 = $ae02 - _A016 = $adca - _CMPCS = $a46f - ICALADR = $a90e ; ? - TOUPR = $ad66 ; ? - OPTBL = $a100 ; ? - BRFLS = $a85f ; ? - FIX8 = $aea3 ; ? - ISLT = $a796 ; ? - _F019 = $aae3 ; unused - _F038 = $ab09 ; unused - _F209 = $b5e9 ; unused - _F228 = $b643 ; unused - _B009 = $b0d6 ; ? - _B028 = $b566 ; ? - _F018 = $aae1 ; unused - _F039 = $ab0b ; unused - _F208 = $b5e5 ; unused - _F229 = $b646 ; unused - _B008 = $b0a0 ; unused - _B029 = $b30b ; ? - DVSIGN = $e9 - _F059 = $ab33 ; unused - _F078 = $afa9 ; unused - _F249 = $b6aa ; unused - _B049 = $b43c - _B068 = $b545 ; ? - _F058 = $ab31 ; unused - _F079 = $afac ; unused - _F248 = $b6a5 ; unused - _B048 = $b406 ; unused - _B069 = $b53f ; ? - _F099 = $b09e ; unused - _B089 = $b5f6 ; ? - _F098 = $b08b ; unused - _B088 = $b5ff ; unused - ISTRU = $a746 - CFFB = $a402 ; ? - _F011 = $aad3 ; unused - _F030 = $aaf9 ; unused - _F053 = $ab27 ; unused - _F072 = $af5b ; unused - _F095 = $b05f ; unused - _F201 = $b5ac ; unused - _F220 = $b621 ; unused - _F243 = $b696 ; unused - _F262 = $b6e8 ; unused - _B001 = $b02d ; ? - _B020 = $b276 ; ? - _B043 = $b392 ; unused - _B062 = $b4ff ; ? - _B085 = $b5e1 ; ? - _F010 = $aad1 ; unused - _F031 = $aafb ; unused - _F052 = $ab25 ; unused - _F073 = $af79 ; unused - _F094 = $b04f ; unused - _F200 = $b5a5 ; unused - _F221 = $b625 ; unused - _F242 = $b68c ; unused - _F263 = $b6ed ; unused - _B021 = $b276 ; unused - _B042 = $b392 ; ? - _B063 = $b4ff ; unused - _B084 = $b613 ; unused - _F013 = $aad7 ; unused - _F032 = $aafd ; unused - _F051 = $ab23 ; unused - _F070 = $af38 ; unused - _F097 = $b077 ; unused - _F203 = $b5b7 ; unused - _F222 = $b629 ; unused - _F241 = $b675 ; unused - _F260 = $b6e1 ; unused - _B003 = $b079 ; ? - _B022 = $b272 ; ? - _B041 = $b382 ; unused - _B060 = $b505 ; unused - _B087 = $b5e4 - _F012 = $aad5 ; unused - _F033 = $aaff ; unused - _F050 = $ab21 ; unused - _F071 = $af58 ; unused - _F096 = $b068 ; unused - _F202 = $b5b2 ; unused - _F223 = $b62f ; unused - _F240 = $b672 ; unused - _F261 = $b6e4 ; unused - _B002 = $b02d ; unused - _B023 = $b272 ; unused - _B040 = $b382 ; ? - _B061 = $b4ff ; ? - _B086 = $b5e1 ; unused - _F015 = $aadb ; unused - _F034 = $ab01 ; unused - _F057 = $ab2f ; unused - _F076 = $afa3 ; unused - _F091 = $b035 ; unused - _F205 = $b5c1 ; unused - _F224 = $b632 ; unused - _F247 = $b6a2 ; unused - _B005 = $b092 ; ? - _B024 = $b2ce ; ? - _B047 = $b3f4 - _B066 = $b508 - _B081 = $b613 ; ? - _NEG = $a1f4 - _F014 = $aad9 ; unused - _F035 = $ab03 ; unused - _F056 = $ab2d ; unused - _F077 = $afa6 ; unused - _F090 = $b02e ; unused - _F204 = $b5bc ; unused - _F225 = $b635 ; unused - _F246 = $b69f ; unused - _B004 = $b079 ; unused - _B025 = $b2e8 ; ? - _B046 = $b40d ; unused - _B067 = $b54b ; unused - _B080 = $b599 ; unused - CPYMEX = $ac4f ; ? - ISLE = $a776 ; ? - _F017 = $aadf ; unused - _F036 = $ab05 ; unused - _F055 = $ab2b ; unused - _F074 = $af92 ; unused - _F093 = $b049 ; unused - _F207 = $b5df ; unused - _F226 = $b639 ; unused - _F245 = $b69c ; unused - _B007 = $b0a0 ; ? - _B026 = $b2e8 ; unused - _B045 = $b3c8 ; unused - _B064 = $b4ed ; ? - _B083 = $b613 ; ? - ISNE = $a74f ; ? - _F016 = $aadd ; unused - _F037 = $ab07 ; unused - _F054 = $ab29 ; unused - _F075 = $afa0 ; unused - _F092 = $b03f ; unused - _F206 = $b5c8 ; unused - _F227 = $b63f ; unused - _F244 = $b699 ; unused - _B006 = $b092 ; unused - _B027 = $b562 ; ? - _B044 = $b3c8 ; ? - _B065 = $b4f6 ; ? - _B082 = $b613 ; unused - SHR = $a368 ; ? - SLW = $a680 ; ? - IOR = $a326 ; ? - _CALL = $a92c ; unused - ESP = $e5 - CASEEND = $a7f6 ; ? - TMPX = $16e8 - DROPX = $16ef - REVCPY = $ac15 ; ? - BRLT = $a89b ; ? - SLB = $a66f ; ? - _C009 = $affd - _C028 = $b2ad - MOD = $a295 ; ? - VMCORE = $2061 ; ? - _C008 = $afcd - _C029 = $b59d - ORI = $a3cc ; ? - _CEXS = $a4b1 ; ? - ESTKSZ = $40 - MUL = $a251 ; ? - _CMPS = $a468 ; ? - CPYXMEX = $ac8b ; ? - _C001 = $aedb - _C020 = $b147 ; unused - TMPH = $e8 - _C000 = $aecb ; unused - _C021 = $b17c ; unused - _C003 = $af18 - _C022 = $b183 - _C002 = $aeff - _C023 = $b196 - SHL = $a344 ; ? - _C005 = $af5f - _C024 = $b1fa - TMPL = $e7 - _C004 = $af3e - _C025 = $b216 - SRC = $6 - BRNE = $a841 ; ? - _C007 = $af99 - _C026 = $b239 - MEMBANK = $ffef ; unused - _INIT = $b619 ; ? - _C006 = $af7d - _C027 = $b279 - ESTKL = $c0 - OPPAGE = $f8 ; unused - ESTKH = $a0 - DROP2 = $a66b ; ? - IFPX = $16e1 - DIVMOD = $a2a7 ; ? - NEXTOP = $f0 - _BRGE = $a8b3 - ANDI = $a3be ; ? - _D038 = $a9da - _F119 = $b16b ; unused - _F138 = $b1e5 ; unused - _D039 = $a9db - _F118 = $b160 ; unused - _F139 = $b1e8 ; unused - _P028 = $aeff ; ? - _D059 = $aa49 - _P009 = $b0ab ; ? - _D078 = $ab3d - _F159 = $b2e4 ; unused - _F178 = $b410 ; unused - _P029 = $af18 ; ? - _D058 = $aa44 - _P008 = $b042 ; ? - _D079 = $ab3f - _F158 = $b2e1 ; unused - _F179 = $b418 ; unused - _F199 = $b597 ; unused - _F198 = $b589 ; unused - OPIDX = $f7 - IFPH = $e1 - _D053 = $aa2b - _D072 = $aab7 - _P003 = $b016 ; ? - _P022 = $ace9 ; ? - _F111 = $b11b ; unused - _F130 = $b1c3 ; unused - _F153 = $b2bb ; unused - _F172 = $b3a9 ; unused - _F195 = $b53d ; unused - TEMPBUF = $a000 ; unused - _D052 = $aa25 - _D073 = $aabd - _P002 = $b03a ; ? - _P023 = $acc3 ; ? - _F110 = $b10e ; unused - _F131 = $b1c9 ; unused - _F152 = $b270 ; unused - _F173 = $b3bb ; unused - _F194 = $b534 ; unused - _D032 = $a9c7 - _D051 = $aa20 - _D070 = $aaab - _P001 = $ab6e ; ? - _P020 = $acd7 ; ? - _F113 = $b12c ; unused - _F132 = $b1cc ; unused - _F151 = $b26d ; unused - _F170 = $b38d ; unused - _F197 = $b573 ; unused - _D033 = $a9c9 - _D050 = $aa1b - _D071 = $aab1 - _P000 = $ab53 ; ? - _P021 = $acaf ; ? - _F112 = $b127 ; unused - _F133 = $b1cf ; unused - _F150 = $b268 ; unused - _F171 = $b398 ; unused - _F196 = $b55d ; unused - IFPL = $e0 - INCBRLE = $a8c1 ; ? - ADDBRLE = $a8e5 ; ? - _D034 = $a9cb - _P026 = $b59d ; ? - _D057 = $aa3f - _P007 = $b100 ; ? - _D076 = $aaf9 - _F115 = $b136 ; unused - _F134 = $b1d5 ; unused - _F157 = $b2de ; unused - _F176 = $b3ee ; unused - _F191 = $b4f4 ; unused - _P027 = $aedb ; ? - _D035 = $a9d7 - _D056 = $aa3a - _P006 = $b0de ; ? - _D077 = $ab3b - _F114 = $b131 ; unused - _F135 = $b1d8 ; unused - _F156 = $b2d9 ; unused - _F177 = $b402 ; unused - _F190 = $b4e7 ; unused - _D036 = $a9d8 ; unused - _D055 = $aa35 - _D074 = $aac2 - _P005 = $b07b ; ? - _P024 = $ad00 ; ? - _F117 = $b153 ; unused - _F136 = $b1db ; unused - _F155 = $b2d6 ; unused - _F174 = $b3c4 ; unused - _F193 = $b528 ; unused - _D037 = $a9d9 ; unused - _D054 = $aa30 - _D075 = $aac9 - _P004 = $b058 ; ? - _P025 = $acfb ; ? - _F116 = $b13e ; unused - _F137 = $b1e2 ; unused - _F154 = $b2c1 ; unused - _F175 = $b3e5 ; unused - _F192 = $b512 ; unused - _MULLP = $a265 - TMP = $e7 - XOR = $a335 ; ? - CB = $a40f ; ? - DIV = $a28b ; ? - VMZP = $e0 - LAW = $a5a9 ; ? - NATV = $a992 ; ? - DAW = $a71e ; ? - IDXAB = $a5ff ; ? - LNOT = $a3d6 ; ? - ADDLB = $a524 ; ? - JUMP = $a9b3 ; ? - DROP = $ef - DUP = $a394 ; ? - SB = $a64d ; ? - DST = $8 - SETMEX = $abd2 ; ? - JMPTMPX = $16e6 ; unused - CN = $a3f7 ; ? - _A009 = $ace9 ; unused - LAB = $a593 ; ? - _A008 = $acd7 ; unused - CS = $a446 ; ? - DAB = $a709 ; ? - IP = $f2 - FIX16 = $ae82 ; ? - CW = $a438 ; ? - _DIVEX = $a24d ; ? - _A001 = $ab6e ; unused - REGVALS = $6 - SETMLPH = $abba - SUBBRGE = $a8d5 ; ? - _A000 = $ab53 - JITCODE = $a0f4 ; unused - MINUS1 = $a3e5 ; ? - _A003 = $abd6 - FETCHOP = $f1 - _A002 = $aba3 ; unused - ADDLW = $a53a ; ? - SETMLPL = $abb7 - _A005 = $ac8f - IDXAW = $a622 ; ? - _A004 = $ac50 - SW = $a659 ; ? - _A007 = $acc3 ; unused - _A006 = $acaf diff --git a/src/vmsrc/apple/plvm802.sym b/src/vmsrc/apple/plvm802.sym deleted file mode 100644 index 86f5dd2..0000000 --- a/src/vmsrc/apple/plvm802.sym +++ /dev/null @@ -1,230 +0,0 @@ - BRTRU = $d8e0 ; ? - _CNXTSX1 = $d51a ; ? - ALTZPOFF = $c008 ; unused - _DIV = $d390 - POPVM16 = $db44 ; ? - ALTRDOFF = $c002 - ISGT = $d853 ; ? - INTERP = $3d0 - OPXTBL = $d200 - ISEQ = $d827 ; ? - GETPFXPARMS = $2150 ; ? - SRCL = $6 - DINTRP = $d0c6 - BRNCH = $d8ed ; ? - ICAL = $d947 ; ? - SRCH = $7 - LCBNK1 = $8 ; unused - LCDEFCMD = $d1eb ; ? - LCBNK2 = $0 - VM16RETX = $ec - ISFLS = $d839 ; ? - ISGE = $d841 ; ? - RAMSLOT = $bf26 - ESTK = $a0 - DEVCNT = $bf31 - IFP = $e0 - CSX = $d4de ; ? - CLRKBD = $c010 ; unused - IPY = $e4 - BADCPU = $205b ; ? - SAW = $d7f3 ; ? - LCRWEN = $c083 - HWSP = $ea - ADDLWX = $d61d ; ? - BROR = $d8c6 ; ? - DECR = $d411 ; ? - LAWX = $d6bd ; ? - BRGT = $d8fb ; ? - IDXABX = $d73b ; ? - KEYBD = $c000 ; unused - BREQ = $d8cd ; ? - JUMPZ = $db15 ; ? - IPH = $f3 - VM16SP = $eb - DECBRGE = $d915 ; ? - _DIV1 = $d3b1 - IPL = $f2 - SAB = $d7e1 ; ? - FIXNEXT = $d8b4 ; ? - ADD = $d327 ; ? - DSTL = $8 - RAMLOOP = $20a5 - CALL16 = $d9c9 ; ? - SEL = $d881 ; ? - SUB = $d330 ; ? - DSTH = $9 - DISABLE80 = $10bb ; ? - IDXW = $d33a ; ? - CASELP = $d892 - LCWTEN = $c081 ; unused - INCR = $d40b ; ? - JITINTRPX = $d2f8 ; ? - _BRLE = $d926 - COMP = $d417 ; ? - DEVLST = $bf32 - LEAVE = $dab6 ; ? - ADDI = $d45a ; ? - CALL = $d94a ; ? - SUBI = $d468 ; ? - NOBRNCH = $d8e3 ; ? - CLOSEPARMS = $10b9 ; ? - CSWL = $36 ; unused - XCALL16 = $d9e2 ; ? - _CMPPSX = $d4e6 - BRAND = $d8bf ; ? - CSWH = $37 ; unused - RAMCONT = $20a2 ; ? - DLW = $d7d4 ; ? - PROMPT = $33 ; unused - RET = $dacc ; ? - LLW = $d5ae ; ? - _CPYSX = $d524 ; ? - LB = $d546 ; ? - ADDAWX = $d70f ; ? - NOS = $3 - LA = $d4bc ; ? - CMDENTRY = $100c ; ? - _MULSLP = $d381 - LLWX = $d5cf ; ? - LBX = $d561 ; ? - JITCOMP = $3e2 - ESGUARD = $9e ; unused - _CNXTSX = $d512 ; ? - NEEDAUX = $201c ; ? - _MULEX = $d368 ; ? - PAGE3 = $10d9 ; ? - IDXLB = $d633 ; ? - PAGE0 = $10d1 ; ? - JMPTMP = $e6 - ADDAB = $d6cf ; ? - IDXLBX = $d647 ; ? - PPL = $e2 - FAIL = $1095 ; ? - LW = $d556 ; ? - CALLX = $d9ff ; ? - ROMEN = $c082 - PPH = $e3 - _DIVLP = $d3ba - LLA = $d590 ; ? - DLB = $d7be ; ? - NEG = $d402 ; ? - LLB = $d59f ; ? - PP = $e2 - ENTER = $da84 ; ? - BYE = $1000 ; unused - ADDAW = $d6ff ; ? - REFNUM = $10b0 ; ? - BAND = $d41f ; ? - IDXLW = $d661 ; ? - ZERO = $d49c ; ? - _CEXSX = $d53e ; ? - _CMPSX = $d4ec ; unused - OPTBL = $d000 - BYEPARMS = $2054 ; ? - SPKR = $c030 ; unused - BRFLS = $d8ea ; ? - DEFCMD = $10eb ; ? - ISLT = $d86f ; ? - ALTRDON = $c003 - ALTZPON = $c009 ; unused - ISTRU = $d82c - ALTWROFF = $c004 ; unused - CFFB = $d4b2 ; ? - ISLE = $d861 ; ? - ISNE = $d834 ; ? - LABX = $d6a6 ; ? - SHR = $d444 ; ? - SLW = $d7ad ; ? - IDXAWX = $d768 ; ? - IOR = $d427 ; ? - ESP = $e5 - CASEEND = $d8ac ; ? - EMUSTKX = $da03 ; ? - PRODOS = $bf00 - ADDLBX = $d5f4 ; ? - RAMDONE = $20cd ; ? - BRLT = $d906 ; ? - SLB = $d79b ; ? - MOD = $d3d9 ; ? - VMCORE = $2153 ; ? - ORI = $d486 ; ? - READPARMS = $10b1 ; ? - FAILMSG = $10c5 ; ? - ESTKSZ = $40 - ALTWRON = $c005 ; unused - JITDCI = $10c0 ; ? - MUL = $d344 ; ? - TMPH = $e8 - SHL = $d437 ; ? - VM16STACK = $db56 ; ? - TMPL = $e7 - _INTRPX = $d2cd - SRC = $6 - BRNE = $d8d5 ; ? - ESTKL = $c0 - OPPAGE = $f6 - OPENPARMS = $10ab ; ? - ESTKH = $a0 - DROP2 = $d797 ; ? - DIVMOD = $d3e6 ; ? - NEXTOP = $f0 - _BRGE = $d918 - ANDI = $d479 ; ? - ICALX = $d9fc ; ? - VM16RETIP = $ed - OPIDX = $f5 - IFPH = $e1 - RAMEXIT = $20be ; ? - IFPL = $e0 - INCBRLE = $d923 ; ? - ADDBRLE = $d93f ; ? - PUSHVM16 = $db2c ; ? - GETLOOP = $20b3 ; ? - LWX = $d577 ; ? - LCRDEN = $c080 - _MULLP = $d35e - EMUSTK = $d94e ; ? - TOS = $1 - TMP = $e7 - XOR = $d42f ; ? - LLBX = $d5ba ; ? - CB = $d4a8 ; ? - DIV = $d3ca ; ? - MACHID = $bf98 - _MULSWP = $d36d ; ? - VMZP = $e0 - LAW = $d69a ; ? - NATV = $db0a ; ? - IINTRPX = $d2c6 ; ? - IDXLWX = $d672 ; ? - DAW = $d81a ; ? - NODEV = $bf10 - IDXAB = $d725 ; ? - STRBUF = $300 - LNOT = $d493 ; ? - ADDLB = $d5e1 ; ? - JUMP = $db22 ; ? - DROP = $ef - DUP = $d454 ; ? - SB = $d77f ; ? - DST = $8 - ANYKEY = $2077 ; ? - PSR = $e9 - ADDABX = $d6e4 ; ? - CN = $d4a2 ; ? - LAB = $d689 ; ? - CS = $d4d1 ; ? - DAB = $d804 ; ? - IP = $f2 - CW = $d4c9 ; ? - _DIVEX = $d3c7 ; ? - SUBBRGE = $d935 ; ? - JITCODE = $3e4 ; unused - MINUS1 = $d496 ; ? - FETCHOP = $f1 - JITMOD = $2f0 - ADDLW = $d60d ; ? - IDXAW = $d757 ; ? - SW = $d78f ; ? - VMEND = $db56 ; unused diff --git a/src/vmsrc/apple/plvmjit02.sym b/src/vmsrc/apple/plvmjit02.sym deleted file mode 100644 index 5212702..0000000 --- a/src/vmsrc/apple/plvmjit02.sym +++ /dev/null @@ -1,264 +0,0 @@ - CISFLS = $3113 ; ? - CLABEND = $3014 ; ? - CLBX = $2fa8 ; ? - BRTRU = $dbc8 ; ? - _CNXTSX1 = $d622 ; ? - ALTZPOFF = $c008 ; unused - _DIV = $d3c9 - ALTRDOFF = $c002 - ISGT = $db04 ; ? - INTERP = $3d0 - OPXTBL = $d200 ; ? - ISEQ = $daba ; ? - CBRNCH = $3123 ; ? - GETPFXPARMS = $211a ; ? - SRCL = $6 - DINTRP = $d0c6 - BRNCH = $dbdd ; ? - ICAL = $dcc0 ; ? - SRCH = $7 - LCBNK1 = $8 ; unused - LCDEFCMD = $d1d0 ; ? - LCBNK2 = $0 - ISFLS = $dadb ; ? - ISGE = $dae4 ; ? - RAMSLOT = $bf26 - ESTK = $a0 - CDLB = $30f9 ; ? - CDINTRP = $2f05 ; ? - CLAWX = $3065 ; ? - DEVCNT = $bf31 - CENTERXEND = $317e ; ? - CLLB = $2fc4 ; ? - IFP = $e0 - CSX = $d5d0 ; ? - CCS = $2f47 ; ? - CLRKBD = $c010 ; unused - IPY = $e4 - SAW = $da68 ; ? - LCRWEN = $c083 - ADDLWX = $d781 ; ? - BROR = $db9f ; ? - DECR = $d46a ; ? - LAWX = $d87b ; ? - BRGT = $dbfb ; ? - IDXABX = $d93f ; ? - RETJIT = $d327 ; ? - KEYBD = $c000 ; unused - BREQ = $dba8 ; ? - JUMPZ = $ddbd ; ? - IPH = $f3 - CISFLSEND = $311a ; ? - CCB = $2f33 ; ? - DECBRGE = $dc1b ; ? - _DIV1 = $d3ef ; ? - IPL = $f2 - SAB = $da55 ; ? - FIXNEXT = $db87 ; ? - ADD = $d330 ; ? - DSTL = $8 - RAMLOOP = $2067 - SEL = $db24 ; ? - SUB = $d340 ; ? - FIXDROP = $da13 ; ? - DSTH = $9 - ENDBYE = $10d0 ; unused - CCN = $2f21 ; ? - DISABLE80 = $10a0 ; ? - CDABEND = $30f0 ; ? - IDXW = $d350 ; ? - CASELP = $db4a ; ? - LCWTEN = $c081 ; unused - INCR = $d45e ; ? - JITINTRPX = $d2c6 ; ? - _BRLE = $dc39 ; ? - CSAW = $3090 ; ? - COMP = $d47a ; ? - DEVLST = $bf32 - LEAVE = $dd98 ; ? - ADDI = $d512 ; ? - CALL = $dc6b ; ? - CCBEND = $2f3e ; ? - SUBI = $d521 ; ? - NOBRNCH = $dbcf ; ? - CLOSEPARMS = $109e ; ? - CSWL = $36 ; unused - CSAWEND = $30b0 ; ? - _CMPPSX = $d5e6 - BRAND = $db96 ; ? - CSWH = $37 ; unused - RAMCONT = $2064 ; ? - OPCPY = $317f ; ? - DLW = $da35 ; ? - PROMPT = $33 ; unused - RET = $ddac ; ? - LLW = $d6ec ; ? - _CPYSX = $d62f ; ? - LB = $d653 ; ? - ENTERX = $dd13 ; ? - ADDAWX = $d8f5 ; ? - LA = $d59a ; ? - CMDENTRY = $100c ; ? - CENTERX = $314a ; ? - RETX = $dd93 ; ? - LLWX = $d71b ; ? - LBX = $d67e ; ? - JITCOMP = $3e2 - ESGUARD = $9e ; unused - _CNXTSX = $d618 ; ? - RUNJIT = $d2f4 ; ? - NEEDAUX = $202d ; ? - PAGE3 = $10be ; ? - IDXLB = $d7a0 ; ? - PAGE0 = $10b4 ; ? - JMPTMP = $e6 - ADDAB = $d89e ; ? - IDXLBX = $d7bd ; ? - PPL = $e2 - FAIL = $107a ; ? - LW = $d662 ; ? - CALLX = $dc91 ; ? - LEAVEX = $dd7a ; ? - CLBXEND = $2fbb ; ? - ROMEN = $c082 - PPH = $e3 - _DIVLP = $d3f6 - LLA = $d6c4 ; ? - DLB = $da22 ; ? - NEG = $d418 ; ? - CCSEND = $2f5e ; ? - LLB = $d6d8 ; ? - PP = $e2 - ENTER = $dd49 ; ? - BYE = $1000 ; unused - ADDAW = $d8d4 ; ? - REFNUM = $1095 ; ? - BAND = $d489 ; ? - IDXLW = $d7e0 ; ? - ZERO = $d561 ; ? - _CPYSX1 = $d643 - _CEXSX = $d64d ; ? - _CMPSX = $d5f2 ; ? - OPTBL = $d000 - BYEPARMS = $2026 ; ? - SPKR = $c030 ; unused - BRFLS = $dbd6 ; ? - DEFCMD = $10d0 ; ? - CLAW = $301d ; ? - CDAW = $30b9 ; ? - ISLT = $db16 ; ? - ALTRDON = $c003 - CDLBEND = $310a ; ? - DVSIGN = $e9 - ALTZPON = $c009 ; unused - CLABX = $3042 ; ? - ISTRU = $dac6 - ALTWROFF = $c004 ; unused - _CMPCSX = $d5ff - CFFB = $d581 ; ? - CLAB = $3000 ; ? - CDAB = $30dd ; ? - _NEG = $d3bb - ISLE = $daf6 ; ? - ISNE = $dacf ; ? - LABX = $d85f ; ? - CLABXEND = $305c ; ? - SHR = $d4da ; ? - CLAWEND = $3039 ; ? - CLBEND = $2f9f ; ? - SLW = $d9fd ; ? - IDXAWX = $d993 ; ? - IOR = $d498 ; ? - ESP = $e5 - CASEEND = $db6d ; ? - CSHLEND = $2f89 ; ? - PRODOS = $bf00 - ADDLBX = $d74c ; ? - RAMDONE = $208f ; ? - BRLT = $dc09 ; ? - SLB = $d9ec ; ? - MOD = $d432 ; ? - VMCORE = $211d ; ? - ORI = $d53e ; ? - READPARMS = $1096 ; ? - FAILMSG = $10a8 ; ? - ESTKSZ = $40 - CLB = $2f92 ; ? - ALTWRON = $c005 ; unused - JITDCI = $10a5 ; ? - MUL = $d363 ; ? - _MULLPH = $d39f - TMPH = $e8 - SHL = $d4b6 ; ? - _MULLPL = $d386 - TMPL = $e7 - SRC = $6 - BRNE = $dbb8 ; ? - ESTKL = $c0 - OPPAGE = $f8 - OPENPARMS = $1090 ; ? - ESTKH = $a0 - DROP2 = $d9e8 ; ? - CLLBXEND = $2ff7 ; ? - DIVMOD = $d444 ; ? - NEXTOP = $f0 - _BRGE = $dc25 - ANDI = $d530 ; ? - CLLBEND = $2fd6 ; ? - ICALX = $dce5 ; ? - CSHL = $2f67 ; ? - CCNEND = $2f2a ; ? - OPIDX = $f7 - CLLBX = $2fdf ; ? - IFPH = $e1 - RAMEXIT = $2080 ; ? - IFPL = $e0 - INCBRLE = $dc33 ; ? - ADDBRLE = $dc5b ; ? - GETLOOP = $2075 ; ? - LWX = $d693 ; ? - LCRDEN = $c080 - TMP = $e7 - XOR = $d4a7 ; ? - LLBX = $d701 ; ? - CDAWEND = $30d4 ; ? - CB = $d574 ; ? - DIV = $d428 ; ? - MACHID = $bf98 - VMZP = $e0 - LAW = $d842 ; ? - NATV = $ddad ; ? - IINTRPX = $d0da - IDXLWX = $d803 ; ? - DAW = $da9e ; ? - NODEV = $bf10 - IDXAB = $d91c ; ? - STRBUF = $300 - LNOT = $d548 ; ? - ADDLB = $d736 ; ? - JUMP = $ddce ; ? - DROP = $ef - DUP = $d506 ; ? - SB = $d9c4 ; ? - DST = $8 - CN = $d569 ; ? - ADDABX = $d8b6 ; ? - LAB = $d82c ; ? - CDINTRPEND = $2f18 ; ? - CLAWXEND = $3087 ; ? - CS = $d5b8 ; ? - DAB = $da89 ; ? - CBRNCHEND = $3141 ; ? - IP = $f2 - CW = $d5aa ; ? - C02OPS = $2efc ; ? - _DIVEX = $d414 ; ? - SUBBRGE = $dc4b ; ? - JITCODE = $3e4 ; unused - MINUS1 = $d557 ; ? - FETCHOP = $f1 - JITMOD = $2f0 - ADDLW = $d768 ; ? - IDXAW = $d968 ; ? - SW = $d9d0 ; ? - VMEND = $dddf ; unused diff --git a/src/vmsrc/apple/plvmjit03.sym b/src/vmsrc/apple/plvmjit03.sym deleted file mode 100644 index 20fc22c..0000000 --- a/src/vmsrc/apple/plvmjit03.sym +++ /dev/null @@ -1,690 +0,0 @@ - CMDPARS = $a0f0 ; unused - _CNXTS1 = $a4f3 ; ? - SRCX = $1607 - BRTRU = $a8be ; ? - _DIV = $a24b - _CMPPS = $a4c9 - ISGT = $a7f1 ; ? - _CPYS1 = $a514 - INTERP = $a1c6 ; ? - ISEQ = $a7a7 ; ? - _F009 = $ab3f ; unused - _F028 = $ab65 ; unused - _F219 = $b6c0 ; unused - _F238 = $b719 ; unused - _B019 = $b227 ; ? - _B038 = $b470 ; unused - _F008 = $ab3d ; unused - _F029 = $ab67 ; unused - _F218 = $b6bd ; unused - _F239 = $b71c ; unused - _B018 = $b22f ; unused - _B039 = $b411 - _F049 = $ab8f ; unused - _F068 = $af84 ; unused - _F259 = $b78a ; unused - _B059 = $b522 ; unused - _B078 = $b610 ; unused - SRCL = $6 - _F048 = $ab8d ; unused - _F069 = $afa5 ; unused - _F258 = $b787 ; unused - _B058 = $b522 ; ? - _B079 = $b621 ; ? - SEGEND = $3819 ; ? - _F089 = $b082 ; unused - _B099 = $b7aa ; unused - BRNCH = $a8d3 ; ? - ICAL = $a962 ; ? - FIXMSB = $aee2 ; ? - _F088 = $b07f ; unused - _B098 = $b790 ; unused - SRCH = $7 - _F001 = $aa3c ; unused - _F020 = $ab55 ; unused - _F043 = $ab83 ; unused - _F062 = $abab ; unused - _F085 = $b038 ; unused - _F211 = $b69c ; unused - _F230 = $b6f6 ; unused - _F253 = $b771 ; unused - _B011 = $b1b3 ; ? - _B030 = $b38a ; unused - _B053 = $b4e4 - _B072 = $b5f6 ; ? - _B095 = $b717 ; unused - _F000 = $aa3a ; unused - _F021 = $ab57 ; unused - _F042 = $ab81 ; unused - _F063 = $af44 ; unused - _F084 = $b034 ; unused - _F210 = $b698 ; unused - _F231 = $b6f9 ; unused - _F252 = $b76e ; unused - _B010 = $b146 ; unused - _B031 = $b613 ; ? - _B052 = $b4ae ; unused - _B073 = $b5f0 ; ? - _B094 = $b6f1 - ISFLS = $a7c8 ; ? - _F003 = $aa40 ; unused - _F022 = $ab59 ; unused - _F041 = $ab7f ; unused - _F060 = $aba5 ; unused - _F087 = $b063 ; unused - _F213 = $b6a2 ; unused - _F232 = $b6fd ; unused - _F251 = $b762 ; unused - _B013 = $b1c8 ; ? - _B051 = $b49c - _B070 = $b5b9 - _B097 = $b790 ; ? - _B032 = $b617 ; ? - SEGSTART = $2000 - _F002 = $aa3e ; unused - _F023 = $ab5b ; unused - _F040 = $ab7d ; unused - _F061 = $aba7 ; unused - _F086 = $b060 ; unused - _F212 = $b69f ; unused - _F233 = $b700 ; unused - _F250 = $b75d ; unused - _B012 = $b1b3 ; unused - _B033 = $b3ad ; ? - _B050 = $b4b5 ; unused - _B071 = $b5fc ; unused - _B096 = $b710 ; ? - ISGE = $a7d1 ; ? - _F005 = $aa49 ; unused - _F024 = $ab5d ; unused - _F047 = $ab8b ; unused - _F066 = $af69 ; unused - _F081 = $b027 ; unused - _F215 = $b6aa ; unused - _F234 = $b706 ; unused - _F257 = $b784 ; unused - _B015 = $b1e8 ; ? - _B034 = $b3be ; ? - _B057 = $b546 ; unused - _B076 = $b5e9 ; unused - _B091 = $b697 - ESTK = $a0 - _F004 = $aa42 ; unused - _F025 = $ab5f ; unused - _F046 = $ab89 ; unused - _F067 = $af81 ; unused - _F080 = $b01f ; unused - _F214 = $b6a6 ; unused - _F235 = $b709 ; unused - _F256 = $b77f ; unused - REVCPYLP = $acaa ; ? - _B014 = $b1c8 ; unused - _B035 = $b3be ; unused - _B056 = $b546 ; ? - _B077 = $b610 ; ? - _B090 = $b694 ; unused - _F007 = $ab3b ; unused - _F026 = $ab61 ; unused - _F045 = $ab87 ; unused - _F064 = $af47 ; unused - _F083 = $b031 ; unused - _F217 = $b6ba ; unused - _F236 = $b70e ; unused - _F255 = $b77c ; unused - _B017 = $b20f - _B036 = $b3ec ; ? - _B055 = $b4ea ; ? - _B074 = $b5f0 ; unused - _B093 = $b6a9 ; ? - _F006 = $ab39 ; unused - _F027 = $ab63 ; unused - _F044 = $ab85 ; unused - _F065 = $af66 ; unused - _F082 = $b02d ; unused - _F216 = $b6b5 ; unused - _F237 = $b711 ; unused - _F254 = $b774 ; unused - _B016 = $b1e8 ; unused - _B037 = $b470 ; ? - _B054 = $b4f0 ; unused - _B075 = $b5e9 ; ? - _B092 = $b6b2 ; unused - IFP = $e0 - IPX = $16f3 - JITINTRP = $a1f4 ; ? - IPY = $e4 - SAW = $a758 ; ? - BROR = $a895 ; ? - DECR = $a337 ; ? - BRGT = $a8fa ; ? - DSTX = $1609 - BREQ = $a89e ; ? - JUMPZ = $aa0f ; ? - _C019 = $b190 - _C018 = $b182 - IPH = $f3 - CMD = $abd4 ; ? - DECBRGE = $a916 ; ? - _DIV1 = $a271 ; ? - IPL = $f2 - SOSCMD = $aa31 ; ? - SAB = $a745 ; ? - FIXNEXT = $a87d ; ? - ADD = $a342 ; ? - _C011 = $b0aa - XPAGE = $1600 - _C010 = $b086 - DSTL = $8 - XENTRY = $a0f8 ; unused - _C013 = $b0c8 - SEL = $a811 ; ? - _C012 = $b0b2 ; unused - SUB = $a352 ; ? - _C015 = $b11b ; unused - FIXDROP = $a703 ; ? - _C014 = $b0eb - FORCPYLP = $ac71 ; ? - DSTH = $9 - _C017 = $b170 - _C016 = $b14e - IDXW = $a362 ; ? - CASELP = $a840 ; ? - RLDEX = $af21 ; ? - INCR = $a32e ; ? - _BRLE = $a934 ; ? - _SYSFLAGS = $0 ; unused - COMP = $a375 ; ? - _F109 = $b179 ; unused - _F128 = $b220 ; unused - _F108 = $b16c ; unused - _F129 = $b230 ; unused - ADDI = $a40d ; ? - CALL = $a98d ; ? - LEAVE = $a9ea ; ? - _D049 = $aa83 - _D068 = $ab0e - _P019 = $ac46 ; ? - _F149 = $b2d2 ; unused - _F168 = $b414 ; unused - _D048 = $aa7c - _D069 = $ab15 - _P018 = $ac13 ; ? - _F148 = $b2cb ; unused - _F169 = $b417 ; unused - CPYXLP = $ace3 - _F189 = $b527 ; unused - FIXLSB = $aeda ; unused - _F188 = $b523 ; unused - SUBI = $a41c ; ? - NOBRNCH = $a8c5 ; ? - _D043 = $aa5e - _D062 = $aacf - _P013 = $b1ec ; ? - _F101 = $b124 ; unused - _F120 = $b1e0 ; unused - _F143 = $b27a ; unused - _F162 = $b3a2 ; unused - _F185 = $b513 ; unused - _D042 = $aa5d - _D063 = $aad8 - _P012 = $b286 ; ? - _F100 = $b117 ; unused - _F121 = $b1f0 ; unused - _F142 = $b266 ; unused - _F163 = $b3b3 ; unused - _F184 = $b510 ; unused - _P030 = $afae ; ? - _D041 = $aa4d - _D060 = $aac1 - _P011 = $b26a ; ? - _F103 = $b12f ; unused - _F122 = $b1fc ; unused - _F141 = $b261 ; unused - _F160 = $b383 ; unused - _F187 = $b51d ; unused - _P031 = $af3b ; ? - _D040 = $aa4b - _D061 = $aac8 - _P010 = $add4 ; ? - _F102 = $b127 ; unused - _F123 = $b201 ; unused - _F140 = $b25e ; unused - _F161 = $b386 ; unused - _F186 = $b517 ; unused - _D047 = $aa75 - _D066 = $aafd - _P017 = $b182 ; ? - _D081 = $abbe - _F105 = $b155 ; unused - _F124 = $b210 ; unused - _F147 = $b2c1 ; unused - _F166 = $b3f2 ; unused - _F181 = $b4c0 ; unused - BRAND = $a88c ; ? - _D046 = $aa6b - _D067 = $ab07 - _P016 = $b1f3 ; ? - _D080 = $abaf - _F104 = $b147 ; unused - _F125 = $b213 ; unused - _F146 = $b2be ; unused - _F167 = $b3f6 ; unused - _F180 = $b4b8 ; unused - _D045 = $aa6a - _D064 = $aae7 - _P015 = $b1b7 ; ? - _D083 = $abc1 - _F107 = $b163 ; unused - _F126 = $b219 ; unused - _F145 = $b2b4 ; unused - _F164 = $b3b9 ; unused - _F183 = $b50a ; unused - _D044 = $aa67 - _D065 = $aaf1 - _P014 = $b190 ; ? - _D082 = $abbf - _F106 = $b160 ; unused - _F127 = $b21c ; unused - _F144 = $b299 ; unused - _F165 = $b3c5 ; unused - _F182 = $b505 ; unused - DLW = $a725 ; ? - SENTRY = $a0f6 ; unused - RET = $a9fe ; ? - LLW = $a57c ; ? - PPX = $16e3 - LB = $a524 ; ? - LA = $a495 ; ? - _CNXTS = $a4ef ; ? - CALLADR = $a9a7 ; ? - JITCOMP = $a0f2 ; ? - ESGUARD = $9e ; unused - XINTERP = $a1d9 ; ? - PAGE0 = $2063 ; ? - IDXLB = $a5c0 ; ? - JMPTMP = $e6 - ADDAB = $a633 ; ? - PPL = $e2 - LW = $a533 ; ? - _A018 = $aead - PPH = $e3 - _DIVLP = $a278 - LLA = $a554 ; ? - DLB = $a712 ; ? - NEG = $a2f2 ; ? - _CPYS = $a500 ; ? - LLB = $a568 ; ? - PP = $e2 - ENTER = $a9b9 ; ? - _A011 = $ad70 ; unused - PARAMS = $abd5 ; ? - _A010 = $ad6b ; unused - ADDAW = $a64b ; ? - _A013 = $ada2 - BAND = $a384 ; ? - IDXLW = $a5dd ; ? - _A012 = $ad7a - ZERO = $a45c ; ? - _A015 = $ade5 - _A014 = $add4 ; unused - _A017 = $ae72 - _A016 = $ae3a - _CMPCS = $a4dc - ICALADR = $a97b ; ? - TOUPR = $add6 ; ? - OPTBL = $a100 ; ? - BRFLS = $a8cc ; ? - FIX8 = $af13 ; ? - ISLT = $a803 ; ? - _F019 = $ab53 ; unused - _F038 = $ab79 ; unused - _F209 = $b692 ; unused - _F228 = $b6ec ; unused - _B009 = $b146 ; ? - _B028 = $b370 ; ? - _F018 = $ab51 ; unused - _F039 = $ab7b ; unused - _F208 = $b67b ; unused - _F229 = $b6f2 ; unused - _B008 = $b110 ; unused - _B029 = $b38a ; ? - DVSIGN = $e9 - _F059 = $aba3 ; unused - _F078 = $b019 ; unused - _F249 = $b75a ; unused - _B049 = $b470 ; unused - _B068 = $b59e ; ? - _F058 = $aba1 ; unused - _F079 = $b01c ; unused - _F248 = $b757 ; unused - _B048 = $b470 ; ? - _B069 = $b5a7 ; ? - _F099 = $b10e ; unused - _B089 = $b694 ; ? - _F098 = $b0fb ; unused - _B088 = $b6c6 ; unused - ISTRU = $a7b3 - CFFB = $a46f ; ? - _F011 = $ab43 ; unused - _F030 = $ab69 ; unused - _F053 = $ab97 ; unused - _F072 = $afcb ; unused - _F095 = $b0cf ; unused - _F201 = $b64a ; unused - _F220 = $b6c4 ; unused - _F243 = $b728 ; unused - _F262 = $b799 ; unused - _B001 = $b09d ; ? - _B020 = $b2e6 ; ? - _B043 = $b43a ; unused - _B062 = $b566 ; ? - _B085 = $b6c6 ; ? - _F010 = $ab41 ; unused - _F031 = $ab6b ; unused - _F052 = $ab95 ; unused - _F073 = $afe9 ; unused - _F094 = $b0bf ; unused - _F200 = $b63c ; unused - _F221 = $b6c7 ; unused - _F242 = $b725 ; unused - _F263 = $b79c ; unused - _B021 = $b2e6 ; unused - _B042 = $b43a ; ? - _B063 = $b570 - _B084 = $b64c ; unused - _F013 = $ab47 ; unused - _F032 = $ab6d ; unused - _F051 = $ab93 ; unused - _F070 = $afa8 ; unused - _F097 = $b0e7 ; unused - _F203 = $b65f ; unused - _F222 = $b6d4 ; unused - _F241 = $b722 ; unused - _F260 = $b78d ; unused - _B003 = $b0e9 ; ? - _B022 = $b2e2 ; ? - _B041 = $b445 ; ? - _B060 = $b54c - _B087 = $b6c6 ; ? - _F012 = $ab45 ; unused - _F033 = $ab6f ; unused - _F050 = $ab91 ; unused - _F071 = $afc8 ; unused - _F096 = $b0d8 ; unused - _F202 = $b658 ; unused - _F223 = $b6d8 ; unused - _F240 = $b71f ; unused - _F261 = $b795 ; unused - _B002 = $b09d ; unused - _B023 = $b2e2 ; unused - _B040 = $b44b ; unused - _B061 = $b56d ; unused - _B086 = $b6c6 ; unused - _F015 = $ab4b ; unused - _F034 = $ab71 ; unused - _F057 = $ab9f ; unused - _F076 = $b013 ; unused - _F091 = $b0a5 ; unused - _F205 = $b66a ; unused - _F224 = $b6dc ; unused - _F247 = $b754 ; unused - _B005 = $b102 ; ? - _B024 = $b32b ; ? - _B047 = $b43a ; unused - _B066 = $b5b0 ; ? - _B081 = $b64c ; ? - _NEG = $a23d - _F014 = $ab49 ; unused - _F035 = $ab73 ; unused - _F056 = $ab9d ; unused - _F077 = $b016 ; unused - _F090 = $b09e ; unused - _F204 = $b665 ; unused - _F225 = $b6e2 ; unused - _F246 = $b751 ; unused - _B004 = $b0e9 ; unused - _B025 = $b32b ; unused - _B046 = $b43a ; ? - _B067 = $b5b0 ; unused - _B080 = $b621 ; unused - CPYMEX = $acbf ; ? - ISLE = $a7e3 ; ? - _F017 = $ab4f ; unused - _F036 = $ab75 ; unused - _F055 = $ab9b ; unused - _F074 = $b002 ; unused - _F093 = $b0b9 ; unused - _F207 = $b674 ; unused - _F226 = $b6e5 ; unused - _F245 = $b74e ; unused - _F264 = $b7a0 ; unused - _B007 = $b110 ; ? - _B026 = $b32b ; ? - _B045 = $b42a ; unused - _B064 = $b5b6 ; unused - _B083 = $b64c ; ? - ISNE = $a7bc ; ? - _F016 = $ab4d ; unused - _F037 = $ab77 ; unused - _F054 = $ab99 ; unused - _F075 = $b010 ; unused - _F092 = $b0af ; unused - _F206 = $b66f ; unused - _F227 = $b6e8 ; unused - _F244 = $b744 ; unused - _F265 = $b7a5 ; unused - _B006 = $b102 ; unused - _B027 = $b32b ; unused - _B044 = $b42a ; ? - _B065 = $b5b0 ; ? - _B082 = $b64c ; unused - SHR = $a3d5 ; ? - SLW = $a6ed ; ? - IOR = $a393 ; ? - _CALL = $a999 ; unused - ESP = $e5 - CASEEND = $a863 ; ? - TMPX = $16e8 - JENTRY = $a0fa ; unused - DROPX = $16ef - REVCPY = $ac85 ; ? - BRLT = $a908 ; ? - SLB = $a6dc ; ? - _C009 = $b06d - _C028 = $b34f - MOD = $a302 ; ? - VMCORE = $206d ; ? - _C008 = $b03d - _C029 = $b650 - ORI = $a439 ; ? - _CEXS = $a51e ; ? - ESTKSZ = $40 - MUL = $a29a ; ? - _CMPS = $a4d5 ; ? - _MULLPH = $a2d6 - CPYXMEX = $acfb ; ? - _C001 = $af4b - _C020 = $b1b7 ; unused - TMPH = $e8 - _C000 = $af3b ; unused - _C021 = $b1ec ; unused - _C003 = $af88 - _C022 = $b1f3 - _C002 = $af6f - _C023 = $b206 - SHL = $a3b1 ; ? - _MULLPL = $a2bd - _C005 = $afcf - _C024 = $b26a - TMPL = $e7 - _C004 = $afae - _C025 = $b286 - SRC = $6 - BRNE = $a8ae ; ? - _C007 = $b009 - _C026 = $b2a9 - MEMBANK = $ffef ; unused - _INIT = $b6cc ; ? - _C006 = $afed - _C027 = $b2e9 - ESTKL = $c0 - OPPAGE = $f8 ; unused - ESTKH = $a0 - DROP2 = $a6d8 ; ? - IFPX = $16e1 - DIVMOD = $a314 ; ? - NEXTOP = $f0 - _BRGE = $a920 - ANDI = $a42b ; ? - _D038 = $aa47 - _F119 = $b1db ; unused - _F138 = $b255 ; unused - _D039 = $aa48 - _F118 = $b1d0 ; unused - _F139 = $b258 ; unused - _P028 = $af6f ; ? - _D059 = $aab9 - _P009 = $b11b ; ? - _D078 = $abad - _F159 = $b380 ; unused - _F178 = $b496 ; unused - _P029 = $af88 ; ? - _D058 = $aab4 - _P008 = $b0b2 ; ? - _D079 = $abaf - _F158 = $b37b ; unused - _F179 = $b4aa ; unused - _F199 = $b624 ; unused - _F198 = $b60e ; unused - OPIDX = $f7 - IFPH = $e1 - _D053 = $aa9b - _D072 = $ab27 - _P003 = $b086 ; ? - _P022 = $ad59 ; ? - _F111 = $b18b ; unused - _F130 = $b233 ; unused - _F153 = $b30f ; unused - _F172 = $b435 ; unused - _F195 = $b5d9 ; unused - _B101 = $b7a7 ; unused - TEMPBUF = $a000 ; unused - _D052 = $aa95 - _D073 = $ab2d - _P002 = $b0aa ; ? - _P023 = $ad33 ; ? - _F110 = $b17e ; unused - _F131 = $b239 ; unused - _F152 = $b2e0 ; unused - _F173 = $b440 ; unused - _F194 = $b5c3 ; unused - _B100 = $b790 - _D032 = $aa34 - _D051 = $aa90 - _D070 = $ab1b - _P001 = $abde ; ? - _P020 = $ad47 ; ? - _F113 = $b19c ; unused - _F132 = $b23c ; unused - _F151 = $b2dd ; unused - _F170 = $b424 ; unused - _F197 = $b5ee ; unused - _D033 = $aa36 - _D050 = $aa8b - _D071 = $ab21 - _P000 = $abc3 ; ? - _P021 = $ad1f ; ? - _F112 = $b197 ; unused - _F133 = $b23f ; unused - _F150 = $b2d8 ; unused - _F171 = $b42d ; unused - _F196 = $b5e5 ; unused - IFPL = $e0 - INCBRLE = $a92e ; ? - ADDBRLE = $a952 ; ? - _D034 = $aa38 - _P026 = $b650 ; ? - _D057 = $aaaf - _P007 = $b170 ; ? - _D076 = $ab69 - _F115 = $b1a6 ; unused - _F134 = $b245 ; unused - _F157 = $b378 ; unused - _F176 = $b46c ; unused - _F191 = $b579 ; unused - _P027 = $af4b ; ? - _D035 = $aa44 - _D056 = $aaaa - _P006 = $b14e ; ? - _D077 = $abab - _F114 = $b1a1 ; unused - _F135 = $b248 ; unused - _F156 = $b363 ; unused - _F177 = $b48d ; unused - _F190 = $b559 ; unused - _D036 = $aa45 - _D055 = $aaa5 - _D074 = $ab32 - _P005 = $b0eb ; ? - _P024 = $ad70 ; ? - _F117 = $b1c3 ; unused - _F136 = $b24b ; unused - _F155 = $b35d ; unused - _F174 = $b451 ; unused - _F193 = $b5a5 ; unused - _D037 = $aa46 - _D054 = $aaa0 - _D075 = $ab39 - _P004 = $b0c8 ; ? - _P025 = $ad6b ; ? - _F116 = $b1ae ; unused - _F137 = $b252 ; unused - _F154 = $b31d ; unused - _F175 = $b463 ; unused - _F192 = $b598 ; unused - TMP = $e7 - XOR = $a3a2 ; ? - CB = $a47c ; ? - DIV = $a2f8 ; ? - VMZP = $e0 - LAW = $a616 ; ? - NATV = $a9ff ; ? - DAW = $a78b ; ? - IDXAB = $a66c ; ? - LNOT = $a443 ; ? - ADDLB = $a591 ; ? - JUMP = $aa20 ; ? - DROP = $ef - DUP = $a401 ; ? - SB = $a6ba ; ? - DST = $8 - SETMEX = $ac42 ; ? - JMPTMPX = $16e6 ; unused - CN = $a464 ; ? - _A009 = $ad59 ; unused - LAB = $a600 ; ? - _A008 = $ad47 ; unused - CS = $a4b3 ; ? - DAB = $a776 ; ? - IP = $f2 - FIX16 = $aef2 ; ? - CW = $a4a5 ; ? - _DIVEX = $a296 ; ? - _A001 = $abde ; unused - REGVALS = $6 - SETMLPH = $ac2a - SUBBRGE = $a942 ; ? - _A000 = $abc3 - JITCODE = $a0f4 ; ? - MINUS1 = $a452 ; ? - _A003 = $ac46 - FETCHOP = $f1 - _A002 = $ac13 ; unused - ADDLW = $a5a7 ; ? - SETMLPL = $ac27 - _A005 = $acff - IDXAW = $a68f ; ? - _A004 = $acc0 - SW = $a6c6 ; ? - _A007 = $ad33 ; unused - _A006 = $ad1f diff --git a/src/vmsrc/apple/soscmd.a b/src/vmsrc/apple/soscmd.a deleted file mode 100644 index aad25cc..0000000 --- a/src/vmsrc/apple/soscmd.a +++ /dev/null @@ -1,1418 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/soscmd.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; vmsrc/apple/soscmd.pla: 0001: -; vmsrc/apple/soscmd.pla: 0002: // -; vmsrc/apple/soscmd.pla: 0003: // Private addresses -; vmsrc/apple/soscmd.pla: 0004: // -; vmsrc/apple/soscmd.pla: 0005: const cmdparser = $A0F0 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; cmdparser = 41200 -; vmsrc/apple/soscmd.pla: 0006: // -; vmsrc/apple/soscmd.pla: 0007: // SOS routines -; vmsrc/apple/soscmd.pla: 0008: // FILE I/O -; vmsrc/apple/soscmd.pla: 0009: // -; vmsrc/apple/soscmd.pla: 0010: def getpfx(path)#1 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; path -> [0] -_C000 ; getpfx() -; vmsrc/apple/soscmd.pla: 0011: byte params[4] - ; params -> [2] -; vmsrc/apple/soscmd.pla: 0012: -; vmsrc/apple/soscmd.pla: 0013: ^path = 0 - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/soscmd.pla: 0014: params.0 = 2 -; vmsrc/apple/soscmd.pla: 0015: params:1 = path -; vmsrc/apple/soscmd.pla: 0016: params.3 = 128 -; vmsrc/apple/soscmd.pla: 0017: syscall($C7, @params) -; vmsrc/apple/soscmd.pla: 0018: return path - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$05 ; SLB [5] - !BYTE $2A,$C7 ; CB 199 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F000 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/soscmd.pla: 0019: end -; vmsrc/apple/soscmd.pla: 0020: def setpfx(path)#1 - ; path -> [0] -_C001 ; setpfx() -; vmsrc/apple/soscmd.pla: 0021: byte params[6] - ; params -> [2] -; vmsrc/apple/soscmd.pla: 0022: byte fileinfo[2] - ; fileinfo -> [8] -; vmsrc/apple/soscmd.pla: 0023: -; vmsrc/apple/soscmd.pla: 0024: params.0 = 3 - !BYTE $58,$0A,$01 ; ENTER 10,1 -; vmsrc/apple/soscmd.pla: 0025: params:1 = path -; vmsrc/apple/soscmd.pla: 0026: params:3 = @fileinfo -; vmsrc/apple/soscmd.pla: 0027: params.5 = 2 -; vmsrc/apple/soscmd.pla: 0028: if not syscall($C4, @params) and (fileinfo.1 == $00 or fileinfo.1 == $0F) // Make sure it's a directory -; vmsrc/apple/soscmd.pla: 0029: params.0 = 1 -; vmsrc/apple/soscmd.pla: 0030: params:1 = path -; vmsrc/apple/soscmd.pla: 0031: syscall($C6, @params) -; vmsrc/apple/soscmd.pla: 0032: else - !BYTE $06 ; CN 3 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $28,$08 ; LLA [8] - !BYTE $76,$05 ; SLW [5] - !BYTE $04 ; CN 2 - !BYTE $74,$07 ; SLB [7] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F001 !WORD 0 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B001 - !WORD _B001-* - !BYTE $64,$09 ; LLB [9] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B002 - !WORD _B002-* - !BYTE $64,$09 ; LLB [9] - !BYTE $1E ; CN 15 - !BYTE $40 ; ISEQ -_B002 -_B001 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$C6 ; CB 198 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F002 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B004 - !WORD _B004-* -_B003 -; vmsrc/apple/soscmd.pla: 0033: getpfx(path) // Get current path -; vmsrc/apple/soscmd.pla: 0034: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $30 ; DROP -_B004 -; vmsrc/apple/soscmd.pla: 0035: return path - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/soscmd.pla: 0036: end -; vmsrc/apple/soscmd.pla: 0037: def dev_info(devnum, name, list, listlen)#1 - ; devnum -> [0] - ; name -> [2] - ; list -> [4] - ; listlen -> [6] -_C002 ; dev_info() -; vmsrc/apple/soscmd.pla: 0038: byte params[7] - ; params -> [8] -; vmsrc/apple/soscmd.pla: 0039: -; vmsrc/apple/soscmd.pla: 0040: params.0 = 4 - !BYTE $58,$0F,$04 ; ENTER 15,4 -; vmsrc/apple/soscmd.pla: 0041: params.1 = devnum -; vmsrc/apple/soscmd.pla: 0042: params:2 = name -; vmsrc/apple/soscmd.pla: 0043: params:4 = list -; vmsrc/apple/soscmd.pla: 0044: params.6 = listlen -; vmsrc/apple/soscmd.pla: 0045: return syscall($85, @params) - !BYTE $08 ; CN 4 - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$09 ; SLB [9] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $74,$0E ; SLB [14] - !BYTE $2A,$85 ; CB 133 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X011 -_F004 !WORD 0 - !BYTE $5A,$0F ; LEAVE 15 -; vmsrc/apple/soscmd.pla: 0046: end -; vmsrc/apple/soscmd.pla: 0047: def volume(devname, volname)#1 - ; devname -> [0] - ; volname -> [2] -_C003 ; volume() -; vmsrc/apple/soscmd.pla: 0048: byte params[9] - ; params -> [4] -; vmsrc/apple/soscmd.pla: 0049: -; vmsrc/apple/soscmd.pla: 0050: params.0 = 4 - !BYTE $58,$0D,$02 ; ENTER 13,2 -; vmsrc/apple/soscmd.pla: 0051: params:1 = devname -; vmsrc/apple/soscmd.pla: 0052: params:3 = volname -; vmsrc/apple/soscmd.pla: 0053: params:5 = 0 -; vmsrc/apple/soscmd.pla: 0054: params:7 = 0 -; vmsrc/apple/soscmd.pla: 0055: return syscall($C5, @params) - !BYTE $08 ; CN 4 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$07 ; SLW [7] - !BYTE $00 ; CN 0 - !BYTE $76,$09 ; SLW [9] - !BYTE $00 ; CN 0 - !BYTE $76,$0B ; SLW [11] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F005 !WORD 0 - !BYTE $5A,$0D ; LEAVE 13 -; vmsrc/apple/soscmd.pla: 0056: end -; vmsrc/apple/soscmd.pla: 0057: // -; vmsrc/apple/soscmd.pla: 0058: // Command mode -; vmsrc/apple/soscmd.pla: 0059: // -; vmsrc/apple/soscmd.pla: 0060: def volumes()#0 -_C004 ; volumes() -; vmsrc/apple/soscmd.pla: 0061: byte info[11] - ; info -> [0] -; vmsrc/apple/soscmd.pla: 0062: byte devname[17] - ; devname -> [11] -; vmsrc/apple/soscmd.pla: 0063: byte volname[17] - ; volname -> [28] -; vmsrc/apple/soscmd.pla: 0064: byte i - ; i -> [45] -; vmsrc/apple/soscmd.pla: 0065: -; vmsrc/apple/soscmd.pla: 0066: for i = $01 to $18 - !BYTE $58,$2E,$00 ; ENTER 46,0 - !BYTE $2A,$18 ; CB 24 - !BYTE $02 ; CN 1 -_B006 - !BYTE $6C,$2D ; DLB [45] -; vmsrc/apple/soscmd.pla: 0067: if dev_info(i, @devname, @info, 11) == 0 -; vmsrc/apple/soscmd.pla: 0068: puts(@devname) -; vmsrc/apple/soscmd.pla: 0069: if volume(@devname, @volname) == 0 -; vmsrc/apple/soscmd.pla: 0070: puts(" => /") - !BYTE $64,$2D ; LLB [45] - !BYTE $28,$0B ; LLA [11] - !BYTE $28,$00 ; LLA [0] - !BYTE $16 ; CN 11 - !BYTE $54 ; CALL _C002 -_F006 !WORD _C002 - !BYTE $4E ; BRTRU _B008 - !WORD _B008-* - !BYTE $28,$0B ; LLA [11] - !BYTE $54 ; CALL _X004 -_F007 !WORD 0 - !BYTE $28,$0B ; LLA [11] - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _C003 -_F008 !WORD _C003 - !BYTE $4E ; BRTRU _B010 - !WORD _B010-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$3D,$3E,$20,$2F - !BYTE $54 ; CALL _X004 -_F009 !WORD 0 -; vmsrc/apple/soscmd.pla: 0071: puts(@volname) -; vmsrc/apple/soscmd.pla: 0072: putc('/') -; vmsrc/apple/soscmd.pla: 0073: fin - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _X004 -_F010 !WORD 0 - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F011 !WORD 0 -_B010 -_B011 -; vmsrc/apple/soscmd.pla: 0074: putln -; vmsrc/apple/soscmd.pla: 0075: fin - !BYTE $54 ; CALL _X003 -_F012 !WORD 0 -_B008 -_B009 -; vmsrc/apple/soscmd.pla: 0076: next -_B007 - !BYTE $A4 ; INCBRLE _B006 - !WORD _B006-* -_B005 - !BYTE $74,$2D ; SLB [45] - !BYTE $30 ; DROP -; vmsrc/apple/soscmd.pla: 0077: end - !BYTE $5A,$2E ; LEAVE 46 -; vmsrc/apple/soscmd.pla: 0078: def catalog(path)#0 - ; path -> [0] -_C005 ; catalog() -; vmsrc/apple/soscmd.pla: 0079: byte refnum - ; refnum -> [2] -; vmsrc/apple/soscmd.pla: 0080: byte firstblk - ; firstblk -> [3] -; vmsrc/apple/soscmd.pla: 0081: byte entrylen, entriesblk - ; entrylen -> [4] - ; entriesblk -> [5] -; vmsrc/apple/soscmd.pla: 0082: byte i, type, len - ; i -> [6] - ; type -> [7] - ; len -> [8] -; vmsrc/apple/soscmd.pla: 0083: word entry, catptr - ; entry -> [9] - ; catptr -> [11] -; vmsrc/apple/soscmd.pla: 0084: -; vmsrc/apple/soscmd.pla: 0085: if !^path - !BYTE $58,$0D,$01 ; ENTER 13,1 -; vmsrc/apple/soscmd.pla: 0086: getpfx(path) -; vmsrc/apple/soscmd.pla: 0087: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F013 !WORD _C000 - !BYTE $30 ; DROP -_B012 -_B013 -; vmsrc/apple/soscmd.pla: 0088: refnum = cmdsys:sysopen(path) -; vmsrc/apple/soscmd.pla: 0089: if not refnum -; vmsrc/apple/soscmd.pla: 0090: return - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X000+8 -_F014 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4E ; BRTRU _B014 - !WORD _B014-* - !BYTE $5A,$0D ; LEAVE 13 -; vmsrc/apple/soscmd.pla: 0091: fin -_B014 -_B015 -; vmsrc/apple/soscmd.pla: 0092: catptr = heapmark -; vmsrc/apple/soscmd.pla: 0093: firstblk = 1 -; vmsrc/apple/soscmd.pla: 0094: while cmdsys:sysread(refnum, catptr, 512) == 512 - !BYTE $54 ; CALL _X012 -_F015 !WORD 0 - !BYTE $76,$0B ; SLW [11] - !BYTE $02 ; CN 1 - !BYTE $74,$03 ; SLB [3] - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B016 -; vmsrc/apple/soscmd.pla: 0095: entry = catptr + 4 -; vmsrc/apple/soscmd.pla: 0096: if firstblk -; vmsrc/apple/soscmd.pla: 0097: entrylen = catptr->$23 -; vmsrc/apple/soscmd.pla: 0098: entriesblk = catptr->$24 - 1 -; vmsrc/apple/soscmd.pla: 0099: entry = entry + entrylen -; vmsrc/apple/soscmd.pla: 0100: fin - !BYTE $66,$0B ; LLW [11] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$09 ; SLW [9] - !BYTE $64,$03 ; LLB [3] - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $66,$0B ; LLW [11] - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$0B ; LLW [11] - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B019 -_B020 -; vmsrc/apple/soscmd.pla: 0101: for i = firstblk to entriesblk - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$03 ; LLB [3] - !BYTE $A0 ; BRGT _B021 - !WORD _B021-* -_B022 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/soscmd.pla: 0102: if ^entry -; vmsrc/apple/soscmd.pla: 0103: ^entry = ^entry & $0F -; vmsrc/apple/soscmd.pla: 0104: puts(entry) -; vmsrc/apple/soscmd.pla: 0105: type = ' ' -; vmsrc/apple/soscmd.pla: 0106: when entry->$10 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$09 ; LLW [9] - !BYTE $70 ; SB - !BYTE $66,$09 ; LLW [9] - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$09 ; LLW [9] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B027-* -; vmsrc/apple/soscmd.pla: 0107: is $0F // Is it a directory? -_B028 -; vmsrc/apple/soscmd.pla: 0108: type = '/' -; vmsrc/apple/soscmd.pla: 0109: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -; vmsrc/apple/soscmd.pla: 0110: is $FF // SYSTEM file -_B029 -; vmsrc/apple/soscmd.pla: 0111: type = '-' -; vmsrc/apple/soscmd.pla: 0112: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -; vmsrc/apple/soscmd.pla: 0113: is $FE // REL file -_B030 -; vmsrc/apple/soscmd.pla: 0114: type = '+' -; vmsrc/apple/soscmd.pla: 0115: wend - !BYTE $2A,$2B ; CB 43 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B026 - !WORD _B026-* -_B027 - !BYTE $03 ; CASEBLOCK - !WORD $000F - !WORD _B028-* - !WORD $00FE - !WORD _B030-* - !WORD $00FF - !WORD _B029-* -_B026 -; vmsrc/apple/soscmd.pla: 0116: putc(type) -; vmsrc/apple/soscmd.pla: 0117: for len = ^entry to 18 - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _X002 -_F017 !WORD 0 - !BYTE $2A,$12 ; CB 18 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $A0 ; BRGT _B031 - !WORD _B031-* -_B032 - !BYTE $6C,$08 ; DLB [8] -; vmsrc/apple/soscmd.pla: 0118: putc(' ') -; vmsrc/apple/soscmd.pla: 0119: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F018 !WORD 0 -_B033 - !BYTE $A4 ; INCBRLE _B032 - !WORD _B032-* -_B031 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; vmsrc/apple/soscmd.pla: 0120: fin -_B024 -_B025 -; vmsrc/apple/soscmd.pla: 0121: entry = entry + entrylen -; vmsrc/apple/soscmd.pla: 0122: next - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B023 - !BYTE $A4 ; INCBRLE _B022 - !WORD _B022-* -_B021 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; vmsrc/apple/soscmd.pla: 0123: firstblk = 0 -; vmsrc/apple/soscmd.pla: 0124: loop - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] -_B018 - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$0B ; LLW [11] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X000+12 -_F019 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B016 - !WORD _B016-* -_B017 -; vmsrc/apple/soscmd.pla: 0125: cmdsys:sysclose(refnum) -; vmsrc/apple/soscmd.pla: 0126: putln() -; vmsrc/apple/soscmd.pla: 0127: end - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X000+10 -_F020 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X003 -_F021 !WORD 0 - !BYTE $5A,$0D ; LEAVE 13 -; vmsrc/apple/soscmd.pla: 0128: def stripchars(strptr)#1 - ; strptr -> [0] -_C006 ; stripchars() -; vmsrc/apple/soscmd.pla: 0129: while ^strptr and ^(strptr + 1) > ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B036 - !WORD _B036-* -_B034 -; vmsrc/apple/soscmd.pla: 0130: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/soscmd.pla: 0131: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F022 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmd.pla: 0132: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B036 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B037 - !WORD _B037-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT -_B037 - !BYTE $4E ; BRTRU _B034 - !WORD _B034-* -_B035 -; vmsrc/apple/soscmd.pla: 0133: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/soscmd.pla: 0134: end -; vmsrc/apple/soscmd.pla: 0135: def stripspaces(strptr)#0 - ; strptr -> [0] -_C007 ; stripspaces() -; vmsrc/apple/soscmd.pla: 0136: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B040 - !WORD _B040-* -_B038 -; vmsrc/apple/soscmd.pla: 0137: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmd.pla: 0138: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B040 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B041 - !WORD _B041-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B041 - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* -_B039 -; vmsrc/apple/soscmd.pla: 0139: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B044 - !WORD _B044-* -_B042 -; vmsrc/apple/soscmd.pla: 0140: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/soscmd.pla: 0141: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F023 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmd.pla: 0142: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B044 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B045 - !WORD _B045-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B045 - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* -_B043 -; vmsrc/apple/soscmd.pla: 0143: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/soscmd.pla: 0144: def striptrail(strptr)#1 - ; strptr -> [0] -_C008 ; striptrail() -; vmsrc/apple/soscmd.pla: 0145: byte i - ; i -> [2] -; vmsrc/apple/soscmd.pla: 0146: -; vmsrc/apple/soscmd.pla: 0147: for i = 1 to ^strptr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B046 - !WORD _B046-* -_B047 - !BYTE $6C,$02 ; DLB [2] -; vmsrc/apple/soscmd.pla: 0148: if ^(strptr + i) <= ' ' -; vmsrc/apple/soscmd.pla: 0149: ^strptr = i - 1 -; vmsrc/apple/soscmd.pla: 0150: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -; vmsrc/apple/soscmd.pla: 0151: fin -_B049 -_B050 -; vmsrc/apple/soscmd.pla: 0152: next -_B048 - !BYTE $A4 ; INCBRLE _B047 - !WORD _B047-* -_B046 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/soscmd.pla: 0153: return strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/soscmd.pla: 0154: end -; vmsrc/apple/soscmd.pla: 0155: def parsecmd(strptr)#1 - ; strptr -> [0] -_C009 ; parsecmd() -; vmsrc/apple/soscmd.pla: 0156: byte cmd - ; cmd -> [2] -; vmsrc/apple/soscmd.pla: 0157: -; vmsrc/apple/soscmd.pla: 0158: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/soscmd.pla: 0159: stripspaces(strptr) -; vmsrc/apple/soscmd.pla: 0160: if ^strptr -; vmsrc/apple/soscmd.pla: 0161: cmd = ^(strptr + 1) -; vmsrc/apple/soscmd.pla: 0162: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/soscmd.pla: 0163: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F024 !WORD _C007 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F025 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmd.pla: 0164: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B051 -_B052 -; vmsrc/apple/soscmd.pla: 0165: stripspaces(strptr) -; vmsrc/apple/soscmd.pla: 0166: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F026 !WORD _C007 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/soscmd.pla: 0167: end -; vmsrc/apple/soscmd.pla: 0168: // -; vmsrc/apple/soscmd.pla: 0169: // Command line handler -; vmsrc/apple/soscmd.pla: 0170: // -; vmsrc/apple/soscmd.pla: 0171: def shell#1 -_C010 ; shell() -; vmsrc/apple/soscmd.pla: 0172: byte ref - ; ref -> [0] -; vmsrc/apple/soscmd.pla: 0173: byte prefix[64] - ; prefix -> [1] -; vmsrc/apple/soscmd.pla: 0174: byte err[] - ; err -> [65] -; vmsrc/apple/soscmd.pla: 0175: word cmdptr - ; cmdptr -> [65] -; vmsrc/apple/soscmd.pla: 0176: -; vmsrc/apple/soscmd.pla: 0177: // -; vmsrc/apple/soscmd.pla: 0178: // Copy AUTORUN commmand line -; vmsrc/apple/soscmd.pla: 0179: // -; vmsrc/apple/soscmd.pla: 0180: cmdptr = strcpy(heapmark, cmdsys:cmdline) - !BYTE $58,$43,$00 ; ENTER 67,0 -; vmsrc/apple/soscmd.pla: 0181: // -; vmsrc/apple/soscmd.pla: 0182: // Handle commands. -; vmsrc/apple/soscmd.pla: 0183: // -; vmsrc/apple/soscmd.pla: 0184: getpfx(@prefix) -; vmsrc/apple/soscmd.pla: 0185: repeat - !BYTE $54 ; CALL _X012 -_F027 !WORD 0 - !BYTE $6A ; LAW _X000+4 -_F028 !WORD 0+4 - !BYTE $54 ; CALL _X019 -_F029 !WORD 0 - !BYTE $76,$41 ; SLW [65] - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C000 -_F030 !WORD _C000 - !BYTE $30 ; DROP -_B054 -; vmsrc/apple/soscmd.pla: 0186: if ^cmdptr -; vmsrc/apple/soscmd.pla: 0187: when toupper(parsecmd(cmdptr)) - !BYTE $66,$41 ; LLW [65] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C009 -_F031 !WORD _C009 - !BYTE $54 ; CALL _X021 -_F032 !WORD 0 - !BYTE $52 ; SEL - !WORD _B059-* -; vmsrc/apple/soscmd.pla: 0188: is 'C' -_B060 -; vmsrc/apple/soscmd.pla: 0189: catalog(cmdptr) -; vmsrc/apple/soscmd.pla: 0190: break - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C005 -_F033 !WORD _C005 - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0191: is 'P' -_B061 -; vmsrc/apple/soscmd.pla: 0192: if ^cmdptr and ^(cmdptr + 1) <> '/' and ^(cmdptr + 1) <> '.' -; vmsrc/apple/soscmd.pla: 0193: strcat(@prefix, cmdptr) -; vmsrc/apple/soscmd.pla: 0194: else - !BYTE $66,$41 ; LLW [65] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B062 - !WORD _B062-* - !BYTE $66,$41 ; LLW [65] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B063 - !WORD _B063-* - !BYTE $66,$41 ; LLW [65] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE -_B063 -_B062 - !BYTE $4C ; BRFLS _B064 - !WORD _B064-* - !BYTE $28,$01 ; LLA [1] - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X020 -_F034 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B064 -; vmsrc/apple/soscmd.pla: 0195: strcpy(@prefix, cmdptr) -; vmsrc/apple/soscmd.pla: 0196: fin - !BYTE $28,$01 ; LLA [1] - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X019 -_F035 !WORD 0 - !BYTE $30 ; DROP -_B065 -; vmsrc/apple/soscmd.pla: 0197: setpfx(@prefix) -; vmsrc/apple/soscmd.pla: 0198: break - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C001 -_F036 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0199: is '/' -_B066 -; vmsrc/apple/soscmd.pla: 0200: repeat -_B068 -; vmsrc/apple/soscmd.pla: 0201: prefix-- - !BYTE $64,$01 ; LLB [1] - !BYTE $8E ; DECR -; vmsrc/apple/soscmd.pla: 0202: until prefix[prefix] == '/' - !BYTE $74,$01 ; SLB [1] -_B069 - !BYTE $28,$01 ; LLA [1] - !BYTE $B0,$01 ; ADDLB [1] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B068 - !WORD _B068-* -_B067 -; vmsrc/apple/soscmd.pla: 0203: if prefix > 1 -; vmsrc/apple/soscmd.pla: 0204: setpfx(@prefix) -; vmsrc/apple/soscmd.pla: 0205: fin - !BYTE $64,$01 ; LLB [1] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C001 -_F037 !WORD _C001 - !BYTE $30 ; DROP -_B070 -_B071 -; vmsrc/apple/soscmd.pla: 0206: break - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0207: is 'S' -_B072 -; vmsrc/apple/soscmd.pla: 0208: setpfx(cmdptr) -; vmsrc/apple/soscmd.pla: 0209: strcat(getpfx(cmdsys:syspath), "SYS/") - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C001 -_F038 !WORD _C001 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X000+2 -_F039 !WORD 0+2 - !BYTE $54 ; CALL _C000 -_F040 !WORD _C000 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$59,$53,$2F - !BYTE $54 ; CALL _X020 -_F041 !WORD 0 - !BYTE $30 ; DROP -; vmsrc/apple/soscmd.pla: 0210: break - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0211: is 'V' -_B073 -; vmsrc/apple/soscmd.pla: 0212: volumes -; vmsrc/apple/soscmd.pla: 0213: break - !BYTE $54 ; CALL _C004 -_F042 !WORD _C004 - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0214: is '.' -_B074 -; vmsrc/apple/soscmd.pla: 0215: ref = cmdsys:sysopen(cmdptr) -; vmsrc/apple/soscmd.pla: 0216: if ref -; vmsrc/apple/soscmd.pla: 0217: ^cmdptr = cmdsys:sysread(ref, cmdptr+1, 81) -; vmsrc/apple/soscmd.pla: 0218: cmdsys:sysclose(0) -; vmsrc/apple/soscmd.pla: 0219: puts(cmdptr); putln -; vmsrc/apple/soscmd.pla: 0220: continue - !BYTE $66,$41 ; LLW [65] - !BYTE $6A ; LAW _X000+8 -_F043 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6C,$00 ; DLB [0] - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $64,$00 ; LLB [0] - !BYTE $66,$41 ; LLW [65] - !BYTE $8C ; INCR - !BYTE $2A,$51 ; CB 81 - !BYTE $6A ; LAW _X000+12 -_F044 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $66,$41 ; LLW [65] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X000+10 -_F045 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X004 -_F046 !WORD 0 - !BYTE $54 ; CALL _X003 -_F047 !WORD 0 - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -; vmsrc/apple/soscmd.pla: 0221: fin -_B075 -_B076 -; vmsrc/apple/soscmd.pla: 0222: break - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0223: is '+' -_B077 -; vmsrc/apple/soscmd.pla: 0224: return striptrail(cmdptr) - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C008 -_F048 !WORD _C008 - !BYTE $5A,$43 ; LEAVE 67 -; vmsrc/apple/soscmd.pla: 0225: break - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -; vmsrc/apple/soscmd.pla: 0226: otherwise -_B059 - !BYTE $07 ; CASEBLOCK - !WORD $002B - !WORD _B077-* - !WORD $002E - !WORD _B074-* - !WORD $002F - !WORD _B066-* - !WORD $0043 - !WORD _B060-* - !WORD $0050 - !WORD _B061-* - !WORD $0053 - !WORD _B072-* - !WORD $0056 - !WORD _B073-* -; vmsrc/apple/soscmd.pla: 0227: puts("?\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3F,$0D - !BYTE $54 ; CALL _X004 -_F049 !WORD 0 -; vmsrc/apple/soscmd.pla: 0228: wend -_B058 -; vmsrc/apple/soscmd.pla: 0229: if cmdsys.syserr -; vmsrc/apple/soscmd.pla: 0230: err = cmdsys.syserr -; vmsrc/apple/soscmd.pla: 0231: puts("ERR:$") - !BYTE $68 ; LAB _X000+16 -_F050 !WORD 0+16 - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $68 ; LAB _X000+16 -_F051 !WORD 0+16 - !BYTE $74,$41 ; SLB [65] - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _X004 -_F052 !WORD 0 -; vmsrc/apple/soscmd.pla: 0232: putb(err) -; vmsrc/apple/soscmd.pla: 0233: else - !BYTE $64,$41 ; LLB [65] - !BYTE $54 ; CALL _X008 -_F053 !WORD 0 - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B078 -; vmsrc/apple/soscmd.pla: 0234: puts("OK") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $4F,$4B - !BYTE $54 ; CALL _X004 -_F054 !WORD 0 -; vmsrc/apple/soscmd.pla: 0235: fin -_B079 -; vmsrc/apple/soscmd.pla: 0236: putln -; vmsrc/apple/soscmd.pla: 0237: fin - !BYTE $54 ; CALL _X003 -_F055 !WORD 0 -_B056 -_B057 -; vmsrc/apple/soscmd.pla: 0238: puts(getpfx(@prefix)) -; vmsrc/apple/soscmd.pla: 0239: cmdptr = gets($BA) -; vmsrc/apple/soscmd.pla: 0240: strcpy(cmdsys:cmdline, cmdptr) -; vmsrc/apple/soscmd.pla: 0241: until 0 - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C000 -_F056 !WORD _C000 - !BYTE $54 ; CALL _X004 -_F057 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F058 !WORD 0 - !BYTE $76,$41 ; SLW [65] - !BYTE $6A ; LAW _X000+4 -_F059 !WORD 0+4 - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X019 -_F060 !WORD 0 - !BYTE $30 ; DROP -_B055 - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B053 -; vmsrc/apple/soscmd.pla: 0242: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$43 ; LEAVE 67 -; vmsrc/apple/soscmd.pla: 0243: end -; vmsrc/apple/soscmd.pla: 0244: // -; vmsrc/apple/soscmd.pla: 0245: // Save pointer to command line handler -; vmsrc/apple/soscmd.pla: 0246: // -; vmsrc/apple/soscmd.pla: 0247: *cmdparser = @shell -_INIT -; vmsrc/apple/soscmd.pla: 0248: done - !BYTE $26 ; LA _C010+0 -_F061 !WORD _C010+0 - !BYTE $7A,$F0,$A0 ; SAW 41200 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 12 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/vmsrc/apple/soscmdjit.a b/src/vmsrc/apple/soscmdjit.a deleted file mode 100644 index f8982da..0000000 --- a/src/vmsrc/apple/soscmdjit.a +++ /dev/null @@ -1,8365 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/soscmdjit.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; vmsrc/apple/soscmdjit.pla: 0001: -; vmsrc/apple/soscmdjit.pla: 0002: sysflags nojitc // Keep JITC from compiling itself - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; vmsrc/apple/soscmdjit.pla: 0003: // -; vmsrc/apple/soscmdjit.pla: 0004: // JIT compiler values -; vmsrc/apple/soscmdjit.pla: 0005: // -; vmsrc/apple/soscmdjit.pla: 0006: // -; vmsrc/apple/soscmdjit.pla: 0007: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/soscmdjit.pla: 0008: // -; vmsrc/apple/soscmdjit.pla: 0009: struc t_defentry -; vmsrc/apple/soscmdjit.pla: 0010: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/soscmdjit.pla: 0011: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/soscmdjit.pla: 0012: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/soscmdjit.pla: 0013: byte bytecodexbyte - ; bytecodexbyte = 5 -; vmsrc/apple/soscmdjit.pla: 0014: byte callcount - ; callcount = 6 -; vmsrc/apple/soscmdjit.pla: 0015: byte bytecodesize - ; bytecodesize = 7 -; vmsrc/apple/soscmdjit.pla: 0016: end - ; t_defentry = 8 -; vmsrc/apple/soscmdjit.pla: 0017: // -; vmsrc/apple/soscmdjit.pla: 0018: // Private addresses -; vmsrc/apple/soscmdjit.pla: 0019: // -; vmsrc/apple/soscmdjit.pla: 0020: const jitcbuf = $9000 - ; jitcbuf = 36864 -; vmsrc/apple/soscmdjit.pla: 0021: const codemax = $A000 - ; codemax = 40960 -; vmsrc/apple/soscmdjit.pla: 0022: const cmdparser = $A0F0 - ; cmdparser = 41200 -; vmsrc/apple/soscmdjit.pla: 0023: const jitcomp = $A0F2 - ; jitcomp = 41202 -; vmsrc/apple/soscmdjit.pla: 0024: const jitcodeptr = $A0F4 - ; jitcodeptr = 41204 -; vmsrc/apple/soscmdjit.pla: 0025: const sinterp = $A0F6 - ; sinterp = 41206 -; vmsrc/apple/soscmdjit.pla: 0026: const xinterp = $A0F8 - ; xinterp = 41208 -; vmsrc/apple/soscmdjit.pla: 0027: const jitinterp = $A0FA - ; jitinterp = 41210 -; vmsrc/apple/soscmdjit.pla: 0028: const estkh8 = $A000 - ; estkh8 = 40960 -; vmsrc/apple/soscmdjit.pla: 0029: const estkh = $00A0 - ; estkh = 160 -; vmsrc/apple/soscmdjit.pla: 0030: const estkl8 = $C000 - ; estkl8 = 49152 -; vmsrc/apple/soscmdjit.pla: 0031: const estkl = $00C0 - ; estkl = 192 -; vmsrc/apple/soscmdjit.pla: 0032: const ifpl8 = $E000 - ; ifpl8 = 57344 -; vmsrc/apple/soscmdjit.pla: 0033: const ifph8 = $E100 - ; ifph8 = 57600 -; vmsrc/apple/soscmdjit.pla: 0034: const jmptmp = $00E6 - ; jmptmp = 230 -; vmsrc/apple/soscmdjit.pla: 0035: const tmpl8 = $E700 - ; tmpl8 = 59136 -; vmsrc/apple/soscmdjit.pla: 0036: const tmph8 = $E800 - ; tmph8 = 59392 -; vmsrc/apple/soscmdjit.pla: 0037: word directentry, indirectentry -_D028 !FILL 2 ; directentry, indirectentry -_D029 !FILL 2 ; indirectentry -; vmsrc/apple/soscmdjit.pla: 0038: // -; vmsrc/apple/soscmdjit.pla: 0039: // COPY FROM EXT MEM TO MAIN MEM. -; vmsrc/apple/soscmdjit.pla: 0040: // -; vmsrc/apple/soscmdjit.pla: 0041: asm defcpy(dst, defentry)#0 -_A000 ; defcpy() -; vmsrc/apple/soscmdjit.pla: 0042: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; vmsrc/apple/soscmdjit.pla: 0043: XPAGE = $1600 -XPAGE = $1600 -; vmsrc/apple/soscmdjit.pla: 0044: SRCX = XPAGE+SRCH -SRCX = XPAGE+SRCH -; vmsrc/apple/soscmdjit.pla: 0045: DSTX = XPAGE+DSTH -DSTX = XPAGE+DSTH -; vmsrc/apple/soscmdjit.pla: 0046: -; vmsrc/apple/soscmdjit.pla: 0047: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/soscmdjit.pla: 0048: STA DSTL - STA DSTL -; vmsrc/apple/soscmdjit.pla: 0049: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/soscmdjit.pla: 0050: STA DSTH - STA DSTH -; vmsrc/apple/soscmdjit.pla: 0051: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/soscmdjit.pla: 0052: STA TMPL - STA TMPL -; vmsrc/apple/soscmdjit.pla: 0053: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/soscmdjit.pla: 0054: STA TMPH - STA TMPH -; vmsrc/apple/soscmdjit.pla: 0055: LDY #$05 - LDY #$05 -; vmsrc/apple/soscmdjit.pla: 0056: LDA (TMP),Y - LDA (TMP),Y -; vmsrc/apple/soscmdjit.pla: 0057: STA SRCX - STA SRCX -; vmsrc/apple/soscmdjit.pla: 0058: DEY - DEY -; vmsrc/apple/soscmdjit.pla: 0059: LDA (TMP),Y - LDA (TMP),Y -; vmsrc/apple/soscmdjit.pla: 0060: STA SRCH - STA SRCH -; vmsrc/apple/soscmdjit.pla: 0061: DEY - DEY -; vmsrc/apple/soscmdjit.pla: 0062: LDA (TMP),Y - LDA (TMP),Y -; vmsrc/apple/soscmdjit.pla: 0063: STA SRCL - STA SRCL -; vmsrc/apple/soscmdjit.pla: 0064: LDY #$07 - LDY #$07 -; vmsrc/apple/soscmdjit.pla: 0065: LDA (TMP),Y - LDA (TMP),Y -; vmsrc/apple/soscmdjit.pla: 0066: TAY - TAY -; vmsrc/apple/soscmdjit.pla: 0067: DEY - DEY -; vmsrc/apple/soscmdjit.pla: 0068: BEQ + - BEQ + -; vmsrc/apple/soscmdjit.pla: 0069: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/soscmdjit.pla: 0070: STA (DST),Y - STA (DST),Y -; vmsrc/apple/soscmdjit.pla: 0071: DEY - DEY -; vmsrc/apple/soscmdjit.pla: 0072: BNE - - BNE - -; vmsrc/apple/soscmdjit.pla: 0073: + LDA (SRC),Y -+ LDA (SRC),Y -; vmsrc/apple/soscmdjit.pla: 0074: STA (DST),Y - STA (DST),Y -; vmsrc/apple/soscmdjit.pla: 0075: STY SRCX - STY SRCX -; vmsrc/apple/soscmdjit.pla: 0076: INX - INX -; vmsrc/apple/soscmdjit.pla: 0077: INX - INX -; vmsrc/apple/soscmdjit.pla: 0078: RTS - RTS -; vmsrc/apple/soscmdjit.pla: 0079: end -; vmsrc/apple/soscmdjit.pla: 0080: include "libsrc/jitcore.pla" -; libsrc/jitcore.pla: 0001: // -; libsrc/jitcore.pla: 0002: // TOS caching values -; libsrc/jitcore.pla: 0003: // -; libsrc/jitcore.pla: 0004: const TOS_DIRTY = 1 - ; TOS_DIRTY = 1 -; libsrc/jitcore.pla: 0005: const TOS_CLEAN = 2 - ; TOS_CLEAN = 2 -; libsrc/jitcore.pla: 0006: // -; libsrc/jitcore.pla: 0007: // Y unknown value -; libsrc/jitcore.pla: 0008: // -; libsrc/jitcore.pla: 0009: const UNKNOWN = -1 - ; UNKNOWN = -1 -; libsrc/jitcore.pla: 0010: // -; libsrc/jitcore.pla: 0011: // Resolve virtual X with real X -; libsrc/jitcore.pla: 0012: // -; libsrc/jitcore.pla: 0013: def resolveX(codeptr, VX)#2 -_SUBSEG ; BYTECODE STARTS - ; codeptr -> [0] - ; VX -> [2] -_C000 ; resolveX() -; libsrc/jitcore.pla: 0014: while VX > 0 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; libsrc/jitcore.pla: 0015: ^codeptr = $E8; codeptr++ // INX - !BYTE $2A,$E8 ; CB 232 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0016: VX-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0017: loop - !BYTE $76,$02 ; SLW [2] -_B003 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; libsrc/jitcore.pla: 0018: while VX < 0 - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B004 -; libsrc/jitcore.pla: 0019: ^codeptr = $CA; codeptr++ // DEX - !BYTE $2A,$CA ; CB 202 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0020: VX++ - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0021: loop - !BYTE $76,$02 ; SLW [2] -_B006 - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B004 - !WORD _B004-* -_B005 -; libsrc/jitcore.pla: 0022: return codeptr, 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; libsrc/jitcore.pla: 0023: end -; libsrc/jitcore.pla: 0024: // -; libsrc/jitcore.pla: 0025: // JIT compiler entry -; libsrc/jitcore.pla: 0026: // -; libsrc/jitcore.pla: 0027: def compiler(defptr)#0 - ; defptr -> [0] -_C001 ; compiler() -; libsrc/jitcore.pla: 0028: word codeptr, isdata[], addrxlate, bytecode, i, case, dest, VX, VY - ; codeptr -> [2] - ; isdata -> [4] - ; addrxlate -> [4] - ; bytecode -> [6] - ; i -> [8] - ; case -> [10] - ; dest -> [12] - ; VX -> [14] - ; VY -> [16] -; libsrc/jitcore.pla: 0029: byte opcode, j, A_IS_TOSL - ; opcode -> [18] - ; j -> [19] - ; A_IS_TOSL -> [20] -; libsrc/jitcore.pla: 0030: -; libsrc/jitcore.pla: 0031: defptr=>interpaddr = indirectentry // assume compile will fail - !BYTE $58,$15,$01 ; ENTER 21,1 -; libsrc/jitcore.pla: 0032: addrxlate = heapmark // heapalloc(512 + defptr->bytecodesize) -; libsrc/jitcore.pla: 0033: if isult(heapavail, 512 + defptr->bytecodesize) // 256 * sizeof(word) address xlate -; libsrc/jitcore.pla: 0034: // -; libsrc/jitcore.pla: 0035: // Not enough heap available -; libsrc/jitcore.pla: 0036: // -; libsrc/jitcore.pla: 0037: //puts("Not enough free heap\n") -; libsrc/jitcore.pla: 0038: return - !BYTE $6A ; LAW _D029+0 -_F000 !WORD _D029+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $54 ; CALL _X012 -_F001 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $54 ; CALL _X016 -_F002 !WORD 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X026 -_F003 !WORD 0 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/jitcore.pla: 0039: fin -_B007 -_B008 -; libsrc/jitcore.pla: 0040: // -; libsrc/jitcore.pla: 0041: // Copy bytecode def from AUX to heap for compiling -; libsrc/jitcore.pla: 0042: // -; libsrc/jitcore.pla: 0043: bytecode = addrxlate + 512 // def bytecode -; libsrc/jitcore.pla: 0044: defcpy(bytecode, defptr) -; libsrc/jitcore.pla: 0045: //puts("JITC:$"); puth(defptr=>bytecodeaddr); puts("=>$"); puth(bytecode) -; libsrc/jitcore.pla: 0046: //puts(",$"); puth(defptr->bytecodesize); putln -; libsrc/jitcore.pla: 0047: // -; libsrc/jitcore.pla: 0048: // Find all branch targets and optimization fences. Tag the opcode with the LSB set -; libsrc/jitcore.pla: 0049: // -; libsrc/jitcore.pla: 0050: // All PLASMA ops are even (LSB clear), so this will flag when to fence optimizations -; libsrc/jitcore.pla: 0051: // During compiling. -; libsrc/jitcore.pla: 0052: // -; libsrc/jitcore.pla: 0053: //isdata = addrxlate // Use this buffer -; libsrc/jitcore.pla: 0054: memset(isdata, 0, 256) // Clear isdata buffer -; libsrc/jitcore.pla: 0055: i = 0 -; libsrc/jitcore.pla: 0056: while i < defptr->bytecodesize - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $82 ; ADD - !BYTE $6E,$06 ; DLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A000 -_F004 !WORD _A000 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X017 -_F005 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B009 -; libsrc/jitcore.pla: 0057: if not ^(isdata+i) -; libsrc/jitcore.pla: 0058: //puth(bytecode+i); putc(':'); putb(^(bytecode+i) & $FE); putln; getc -; libsrc/jitcore.pla: 0059: when ^(bytecode+i) & $FE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $3C,$FE ; ANDI 254 - !BYTE $52 ; SEL - !WORD _B015-* -; libsrc/jitcore.pla: 0060: // -; libsrc/jitcore.pla: 0061: // Double byte operands -; libsrc/jitcore.pla: 0062: // -; libsrc/jitcore.pla: 0063: is $26 // LA -_B016 -; libsrc/jitcore.pla: 0064: is $2C // CW -_B017 -; libsrc/jitcore.pla: 0065: is $54 // CALL -_B018 -; libsrc/jitcore.pla: 0066: is $58 // ENTER -_B019 -; libsrc/jitcore.pla: 0067: is $68 // LAB -_B020 -; libsrc/jitcore.pla: 0068: is $6A // LAW -_B021 -; libsrc/jitcore.pla: 0069: is $78 // SAB -_B022 -; libsrc/jitcore.pla: 0070: is $7A // SAW -_B023 -; libsrc/jitcore.pla: 0071: is $7C // DAB -_B024 -; libsrc/jitcore.pla: 0072: is $7E // DAW -_B025 -; libsrc/jitcore.pla: 0073: is $B4 // ADDAB -_B026 -; libsrc/jitcore.pla: 0074: is $B6 // ADDAW -_B027 -; libsrc/jitcore.pla: 0075: is $BC // IDXAB -_B028 -; libsrc/jitcore.pla: 0076: is $BE // IDXAW -_B029 -; libsrc/jitcore.pla: 0077: i = i + 2 -; libsrc/jitcore.pla: 0078: break - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0079: // -; libsrc/jitcore.pla: 0080: // Multi-byte operands -; libsrc/jitcore.pla: 0081: // -; libsrc/jitcore.pla: 0082: is $2E // CS -_B030 -; libsrc/jitcore.pla: 0083: i = i + ^(bytecode+i+1) -; libsrc/jitcore.pla: 0084: // -; libsrc/jitcore.pla: 0085: // Single byte operands -; libsrc/jitcore.pla: 0086: // -; libsrc/jitcore.pla: 0087: is $2A // CB - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] -_B031 -; libsrc/jitcore.pla: 0088: is $28 // LLA -_B032 -; libsrc/jitcore.pla: 0089: is $38 // ADDI -_B033 -; libsrc/jitcore.pla: 0090: is $3A // SUBI -_B034 -; libsrc/jitcore.pla: 0091: is $3C // ANDI -_B035 -; libsrc/jitcore.pla: 0092: is $3E // ORI -_B036 -; libsrc/jitcore.pla: 0093: is $5A // LEAVE -_B037 -; libsrc/jitcore.pla: 0094: is $5E // CFFB -_B038 -; libsrc/jitcore.pla: 0095: is $64 // LLB -_B039 -; libsrc/jitcore.pla: 0096: is $66 // LLW -_B040 -; libsrc/jitcore.pla: 0097: is $6C // DLB -_B041 -; libsrc/jitcore.pla: 0098: is $6E // DLW -_B042 -; libsrc/jitcore.pla: 0099: is $74 // SLB -_B043 -; libsrc/jitcore.pla: 0100: is $76 // SLW -_B044 -; libsrc/jitcore.pla: 0101: is $B0 // ADDLB -_B045 -; libsrc/jitcore.pla: 0102: is $B2 // ADDLW -_B046 -; libsrc/jitcore.pla: 0103: is $B8 // IDXLB -_B047 -; libsrc/jitcore.pla: 0104: is $BA // IDXLW -_B048 -; libsrc/jitcore.pla: 0105: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0106: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0107: // -; libsrc/jitcore.pla: 0108: // Branches -; libsrc/jitcore.pla: 0109: // -; libsrc/jitcore.pla: 0110: is $50 // BRNCH -_B049 -; libsrc/jitcore.pla: 0111: is $22 // BREQ -_B050 -; libsrc/jitcore.pla: 0112: is $24 // BRNE -_B051 -; libsrc/jitcore.pla: 0113: is $4C // BRFLS -_B052 -; libsrc/jitcore.pla: 0114: is $4E // BRTRU -_B053 -; libsrc/jitcore.pla: 0115: is $A0 // BRGT -_B054 -; libsrc/jitcore.pla: 0116: is $A2 // BRLT -_B055 -; libsrc/jitcore.pla: 0117: is $A4 // INCBRLE -_B056 -; libsrc/jitcore.pla: 0118: is $A6 // ADDBRLE -_B057 -; libsrc/jitcore.pla: 0119: is $A8 // DECBRGE -_B058 -; libsrc/jitcore.pla: 0120: is $AA // SUBBRGE -_B059 -; libsrc/jitcore.pla: 0121: is $AC // BRAND -_B060 -; libsrc/jitcore.pla: 0122: is $AE // BROR -_B061 -; libsrc/jitcore.pla: 0123: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0124: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0125: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0126: ^(bytecode+dest) = ^(bytecode+dest) | 1 // Flag as branch dest -; libsrc/jitcore.pla: 0127: break - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0128: // -; libsrc/jitcore.pla: 0129: // SELect/caseblock -; libsrc/jitcore.pla: 0130: // -; libsrc/jitcore.pla: 0131: is $52 // SEL -_B062 -; libsrc/jitcore.pla: 0132: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0133: case = i + *(bytecode+i) -; libsrc/jitcore.pla: 0134: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0135: ^(isdata+case) = TRUE // Flag as data -; libsrc/jitcore.pla: 0136: j = ^(bytecode+case) -; libsrc/jitcore.pla: 0137: case++ - !BYTE $76,$08 ; SLW [8] - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0138: repeat - !BYTE $76,$0A ; SLW [10] -_B064 -; libsrc/jitcore.pla: 0139: *(isdata+case) = TRUE // Flag as data -; libsrc/jitcore.pla: 0140: case = case + 2 -; libsrc/jitcore.pla: 0141: dest = case + *(bytecode+case) -; libsrc/jitcore.pla: 0142: ^(bytecode+dest) = ^(bytecode+dest) | 1 // Flag as branch dest -; libsrc/jitcore.pla: 0143: *(isdata+case) = TRUE // Flag as data -; libsrc/jitcore.pla: 0144: case = case + 2 -; libsrc/jitcore.pla: 0145: j-- - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $70 ; SB - !BYTE $20 ; MINUS ONE - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$13 ; LLB [19] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0146: until not j - !BYTE $74,$13 ; SLB [19] -_B065 - !BYTE $64,$13 ; LLB [19] - !BYTE $4E ; BRTRU _B064 - !WORD _B064-* -_B063 -; libsrc/jitcore.pla: 0147: break - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -; libsrc/jitcore.pla: 0148: wend - !BYTE $50 ; BRNCH _B014 - !WORD _B014-* -_B015 - !BYTE $2F ; CASEBLOCK - !WORD $0022 - !WORD _B050-* - !WORD $0024 - !WORD _B051-* - !WORD $0026 - !WORD _B016-* - !WORD $0028 - !WORD _B032-* - !WORD $002A - !WORD _B031-* - !WORD $002C - !WORD _B017-* - !WORD $002E - !WORD _B030-* - !WORD $0038 - !WORD _B033-* - !WORD $003A - !WORD _B034-* - !WORD $003C - !WORD _B035-* - !WORD $003E - !WORD _B036-* - !WORD $004C - !WORD _B052-* - !WORD $004E - !WORD _B053-* - !WORD $0050 - !WORD _B049-* - !WORD $0052 - !WORD _B062-* - !WORD $0054 - !WORD _B018-* - !WORD $0058 - !WORD _B019-* - !WORD $005A - !WORD _B037-* - !WORD $005E - !WORD _B038-* - !WORD $0064 - !WORD _B039-* - !WORD $0066 - !WORD _B040-* - !WORD $0068 - !WORD _B020-* - !WORD $006A - !WORD _B021-* - !WORD $006C - !WORD _B041-* - !WORD $006E - !WORD _B042-* - !WORD $0074 - !WORD _B043-* - !WORD $0076 - !WORD _B044-* - !WORD $0078 - !WORD _B022-* - !WORD $007A - !WORD _B023-* - !WORD $007C - !WORD _B024-* - !WORD $007E - !WORD _B025-* - !WORD $00A0 - !WORD _B054-* - !WORD $00A2 - !WORD _B055-* - !WORD $00A4 - !WORD _B056-* - !WORD $00A6 - !WORD _B057-* - !WORD $00A8 - !WORD _B058-* - !WORD $00AA - !WORD _B059-* - !WORD $00AC - !WORD _B060-* - !WORD $00AE - !WORD _B061-* - !WORD $00B0 - !WORD _B045-* - !WORD $00B2 - !WORD _B046-* - !WORD $00B4 - !WORD _B026-* - !WORD $00B6 - !WORD _B027-* - !WORD $00B8 - !WORD _B047-* - !WORD $00BA - !WORD _B048-* - !WORD $00BC - !WORD _B028-* - !WORD $00BE - !WORD _B029-* -_B014 -; libsrc/jitcore.pla: 0149: fin -_B012 -_B013 -; libsrc/jitcore.pla: 0150: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0151: loop - !BYTE $76,$08 ; SLW [8] -_B011 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B009 - !WORD _B009-* -_B010 -; libsrc/jitcore.pla: 0152: // -; libsrc/jitcore.pla: 0153: // Compile the bytecodes -; libsrc/jitcore.pla: 0154: // -; libsrc/jitcore.pla: 0155: memset(addrxlate, 0, 512) // Clear xlate buffer -; libsrc/jitcore.pla: 0156: //puts("Bytecode: $"); puth(bytecode); putln; getc -; libsrc/jitcore.pla: 0157: codeptr = *jitcodeptr -; libsrc/jitcore.pla: 0158: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0159: VY = UNKNOWN // Virtual Y register -; libsrc/jitcore.pla: 0160: VX = 0 // Virtual X register -; libsrc/jitcore.pla: 0161: i = 0 -; libsrc/jitcore.pla: 0162: if ^bytecode == $58 -; libsrc/jitcore.pla: 0163: //putc('$'); puth(codeptr);//puts(":[0] ENTER "); puti(^(bytecode+1)); putc(',');puti(^(bytecode+2)); putln -; libsrc/jitcore.pla: 0164: // -; libsrc/jitcore.pla: 0165: // Call into VM -; libsrc/jitcore.pla: 0166: // -; libsrc/jitcore.pla: 0167: codeptr->0 = $20 // JSR INTERP -; libsrc/jitcore.pla: 0168: codeptr=>1 = directentry -; libsrc/jitcore.pla: 0169: codeptr->3 = $58 // ENTER CODE -; libsrc/jitcore.pla: 0170: codeptr=>4 = *(bytecode+1) // ENTER FRAME SIZE & ARG COUNT -; libsrc/jitcore.pla: 0171: codeptr->6 = $C0 // NATV CODE -; libsrc/jitcore.pla: 0172: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0173: i = 3 -; libsrc/jitcore.pla: 0174: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X017 -_F006 !WORD 0 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $2A,$58 ; CB 88 - !BYTE $24 ; BRNE _B066 - !WORD _B066-* - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D028+0 -_F007 !WORD _D028+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$58 ; CB 88 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $06 ; CN 3 - !BYTE $76,$08 ; SLW [8] -_B066 -_B067 -; libsrc/jitcore.pla: 0175: while isule(codeptr, codemax) - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B068 -; libsrc/jitcore.pla: 0176: //putc('$'); puth(codeptr); putc(':') -; libsrc/jitcore.pla: 0177: //putc('['); puti(i); //puts("] ") -; libsrc/jitcore.pla: 0178: opcode = ^(bytecode+i) -; libsrc/jitcore.pla: 0179: if opcode & 1 -; libsrc/jitcore.pla: 0180: // -; libsrc/jitcore.pla: 0181: // Optimization fence. Sync A and X registers -; libsrc/jitcore.pla: 0182: // -; libsrc/jitcore.pla: 0183: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0184: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0185: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0186: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0187: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $6C,$12 ; DLB [18] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F008 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B073 -_B074 -; libsrc/jitcore.pla: 0188: VY = UNKNOWN -; libsrc/jitcore.pla: 0189: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0190: opcode = opcode & $FE -; libsrc/jitcore.pla: 0191: fin - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $64,$12 ; LLB [18] - !BYTE $3C,$FE ; ANDI 254 - !BYTE $74,$12 ; SLB [18] -_B071 -_B072 -; libsrc/jitcore.pla: 0192: // -; libsrc/jitcore.pla: 0193: // Update bytecode->native code address translation. -; libsrc/jitcore.pla: 0194: // -; libsrc/jitcore.pla: 0195: // Here's how it works: -; libsrc/jitcore.pla: 0196: // -; libsrc/jitcore.pla: 0197: // The code buffer is above address $8000 so MSBit set. -; libsrc/jitcore.pla: 0198: // When we compile a bytecode, update the destination address in -; libsrc/jitcore.pla: 0199: // the address xlate buffer with actual address (MSBit set). But, if a branch -; libsrc/jitcore.pla: 0200: // opcode jumps to a bytecode address that hasn't been compiled yet, add the -; libsrc/jitcore.pla: 0201: // address offset in the code buffer to the list of addresses needing resolution. -; libsrc/jitcore.pla: 0202: // The offset will be less than $8000, so MSBit clear. This is how we know if -; libsrc/jitcore.pla: 0203: // an address has been resolved or is a list of addresses needing resolution. -; libsrc/jitcore.pla: 0204: // Before updating the address xlate buffer with the known address as we -; libsrc/jitcore.pla: 0205: // compile, look for existing resolution list and traverse it if there. -; libsrc/jitcore.pla: 0206: // -; libsrc/jitcore.pla: 0207: if addrxlate=>[i] -; libsrc/jitcore.pla: 0208: // -; libsrc/jitcore.pla: 0209: // Address list awaiting resolution -; libsrc/jitcore.pla: 0210: // -; libsrc/jitcore.pla: 0211: dest = addrxlate=>[i] + *jitcodeptr -; libsrc/jitcore.pla: 0212: repeat - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $B6,$F4,$A0 ; ADDAW 41204 - !BYTE $76,$0C ; SLW [12] -_B078 -; libsrc/jitcore.pla: 0213: case = *dest -; libsrc/jitcore.pla: 0214: *dest = codeptr -; libsrc/jitcore.pla: 0215: dest = case + *jitcodeptr -; libsrc/jitcore.pla: 0216: until not case - !BYTE $66,$0C ; LLW [12] - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0C ; LLW [12] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $B6,$F4,$A0 ; ADDAW 41204 - !BYTE $76,$0C ; SLW [12] -_B079 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B078 - !WORD _B078-* -_B077 -; libsrc/jitcore.pla: 0217: fin -_B075 -_B076 -; libsrc/jitcore.pla: 0218: // -; libsrc/jitcore.pla: 0219: // Update address translate buffer with bytecode->native address -; libsrc/jitcore.pla: 0220: // -; libsrc/jitcore.pla: 0221: addrxlate=>[i] = codeptr -; libsrc/jitcore.pla: 0222: // -; libsrc/jitcore.pla: 0223: // Compile this bad boy... -; libsrc/jitcore.pla: 0224: // -; libsrc/jitcore.pla: 0225: if opcode < $20 // CONSTANT NYBBLE -; libsrc/jitcore.pla: 0226: //puts("CN $"); putb(opcode/2) -; libsrc/jitcore.pla: 0227: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0228: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0229: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0230: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$20 ; CB 32 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B080 - !WORD _B080-* - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B082 -_B083 -; libsrc/jitcore.pla: 0231: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0232: if VY <> 0 -; libsrc/jitcore.pla: 0233: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0234: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0235: VY = 0 -; libsrc/jitcore.pla: 0236: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B084 - !WORD _B084-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B084 -_B085 -; libsrc/jitcore.pla: 0237: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0238: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0239: if opcode == 0 -; libsrc/jitcore.pla: 0240: ^codeptr = $98; codeptr++ // TYA -> LDA #$00 - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$12 ; LLB [18] - !BYTE $4E ; BRTRU _B086 - !WORD _B086-* - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0241: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B087 - !WORD _B087-* -_B086 -; libsrc/jitcore.pla: 0242: *codeptr = $A9+(opcode/2<<8) // LDA #(CN/2) -; libsrc/jitcore.pla: 0243: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0244: fin - !BYTE $2A,$A9 ; CB 169 - !BYTE $64,$12 ; LLB [18] - !BYTE $02 ; CN 1 - !BYTE $9C ; SHR - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B087 -; libsrc/jitcore.pla: 0245: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0246: else - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B081 - !WORD _B081-* -_B080 -; libsrc/jitcore.pla: 0247: when opcode - !BYTE $64,$12 ; LLB [18] - !BYTE $52 ; SEL - !WORD _B089-* -; libsrc/jitcore.pla: 0248: is $20 // MINUS ONE -_B090 -; libsrc/jitcore.pla: 0249: //puts("MINUS_ONE") -; libsrc/jitcore.pla: 0250: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0251: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0252: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0253: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B091 - !WORD _B091-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B091 -_B092 -; libsrc/jitcore.pla: 0254: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0255: codeptr=>0 = $FFA9 // LDA #$FF -; libsrc/jitcore.pla: 0256: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0257: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0258: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0259: break - !BYTE $76,$0E ; SLW [14] - !BYTE $5E,$A9 ; CFFB 65449 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0260: is $22 // BREQ -_B093 -; libsrc/jitcore.pla: 0261: is $24 // BRNE -_B094 -; libsrc/jitcore.pla: 0262: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0263: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0264: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0265: codeptr, VX = resolveX(codeptr, VX + 2) // INX; INX -; libsrc/jitcore.pla: 0266: if not A_IS_TOSL -; libsrc/jitcore.pla: 0267: *codeptr = estkl8+$B5-$0200//+(VX<<8) // LDA ESTKL-2,X -; libsrc/jitcore.pla: 0268: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0269: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C000 -_F009 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B095 - !WORD _B095-* - !BYTE $2C,$B5,$BE ; CW 48821 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B095 -_B096 -; libsrc/jitcore.pla: 0270: if opcode == $22 -; libsrc/jitcore.pla: 0271: //puts("BREQ "); puti(dest) -; libsrc/jitcore.pla: 0272: codeptr=>2 = $09D0 // BNE +9 -; libsrc/jitcore.pla: 0273: codeptr=>8 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 0274: else - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$22 ; CB 34 - !BYTE $24 ; BRNE _B097 - !WORD _B097-* - !BYTE $2C,$D0,$09 ; CW 2512 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B098 - !WORD _B098-* -_B097 -; libsrc/jitcore.pla: 0275: //puts("BRNE "); puti(dest) -; libsrc/jitcore.pla: 0276: codeptr=>2 = $06D0 // BNE +6 -; libsrc/jitcore.pla: 0277: codeptr=>8 = $03F0 // BEQ +3 -; libsrc/jitcore.pla: 0278: fin - !BYTE $2C,$D0,$06 ; CW 1744 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW -_B098 -; libsrc/jitcore.pla: 0279: codeptr=>0 = estkl8+$D5-$0100//+(VX<<8) // CMP ESTKL-1,X -; libsrc/jitcore.pla: 0280: codeptr=>4 = estkh8+$B5-$0200//+(VX<<8) // LDA ESTKH-2,X -; libsrc/jitcore.pla: 0281: codeptr=>6 = estkh8+$D5-$0100//+(VX<<8) // CMP ESTKH-1,X -; libsrc/jitcore.pla: 0282: codeptr->10 = $4C // JMP abs -; libsrc/jitcore.pla: 0283: codeptr=>11 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0284: if not (codeptr->12 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0285: addrxlate=>[dest] = codeptr + 11 - *jitcodeptr -; libsrc/jitcore.pla: 0286: fin - !BYTE $2C,$D5,$BF ; CW 49109 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$9E ; CW 40629 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D5,$9F ; CW 40917 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B099 - !WORD _B099-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B099 -_B100 -; libsrc/jitcore.pla: 0287: codeptr = codeptr + 13 -; libsrc/jitcore.pla: 0288: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0289: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0290: is $26 // LA -_B101 -; libsrc/jitcore.pla: 0291: is $2C // CW -_B102 -; libsrc/jitcore.pla: 0292: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0293: i = i + 2 -; libsrc/jitcore.pla: 0294: //puts("LA/CW $"); puth(dest) -; libsrc/jitcore.pla: 0295: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0296: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0297: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0298: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B103 -_B104 -; libsrc/jitcore.pla: 0299: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0300: codeptr=>0 = $A9+(dest&$FF00) // LDA #2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0302: codeptr=>4 = $A9+(dest<<8) // LDA #>VAL -; libsrc/jitcore.pla: 0303: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0304: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0305: break - !BYTE $76,$0E ; SLW [14] - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$0C ; LLW [12] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$0C ; LLW [12] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0306: is $28 // LLA -_B105 -; libsrc/jitcore.pla: 0307: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0308: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0309: //puts("LLA "); puti(^(bytecode+i)) -; libsrc/jitcore.pla: 0310: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0311: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0312: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0313: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B106 - !WORD _B106-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B106 -_B107 -; libsrc/jitcore.pla: 0314: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0315: if VY == j -; libsrc/jitcore.pla: 0316: ^codeptr = $98; codeptr++ // TYA -> LDA #imm - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $24 ; BRNE _B108 - !WORD _B108-* - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0317: else - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B109 - !WORD _B109-* -_B108 -; libsrc/jitcore.pla: 0318: *codeptr = $A9+(j<<8) // LDA #imm -; libsrc/jitcore.pla: 0319: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0320: fin - !BYTE $2A,$A9 ; CB 169 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B109 -; libsrc/jitcore.pla: 0321: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 0322: codeptr=>1 = ifpl8+$65 // ADC IFPL -; libsrc/jitcore.pla: 0323: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0324: if VY == 0 -; libsrc/jitcore.pla: 0325: codeptr->5 = $98 // TYA -> LDA #00 -; libsrc/jitcore.pla: 0326: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0327: else - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$65,$E0 ; CW 57445 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$10 ; LLW [16] - !BYTE $4E ; BRTRU _B110 - !WORD _B110-* - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B110 -; libsrc/jitcore.pla: 0328: codeptr=>5 = $00A9 // LDA #$00 -; libsrc/jitcore.pla: 0329: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0330: fin - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] -_B111 -; libsrc/jitcore.pla: 0331: codeptr=>0 = ifph8+$65 // ADC IFPH -; libsrc/jitcore.pla: 0332: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0333: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0334: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0335: break - !BYTE $2C,$65,$E1 ; CW 57701 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0336: is $2A // CB -_B112 -; libsrc/jitcore.pla: 0337: is $5E // CFFB -_B113 -; libsrc/jitcore.pla: 0338: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0339: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0340: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0341: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0342: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B114 -_B115 -; libsrc/jitcore.pla: 0343: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0344: if opcode == $2A -; libsrc/jitcore.pla: 0345: //puts("CB $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0346: if VY <> 0 -; libsrc/jitcore.pla: 0347: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0348: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0349: VY = 0 -; libsrc/jitcore.pla: 0350: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$2A ; CB 42 - !BYTE $24 ; BRNE _B116 - !WORD _B116-* - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B118 - !WORD _B118-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B118 -_B119 -; libsrc/jitcore.pla: 0351: codeptr=>0 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0352: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0353: else - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B117 - !WORD _B117-* -_B116 -; libsrc/jitcore.pla: 0354: //puts("CFFB $FF"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0355: codeptr=>0 = $FFA9 // LDA #$FF -; libsrc/jitcore.pla: 0356: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0357: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0358: fin - !BYTE $5E,$A9 ; CFFB 65449 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] -_B117 -; libsrc/jitcore.pla: 0359: *codeptr = $A9+(^(bytecode+i)<<8) // LDA #imm -; libsrc/jitcore.pla: 0360: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0361: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0362: break - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0363: is $2E // CS -_B120 -; libsrc/jitcore.pla: 0364: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0365: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0366: dest = codeptr + 10 + j -; libsrc/jitcore.pla: 0367: //puts("CS "); //puts(bytecode+i); //puts("-->"); puti(dest) -; libsrc/jitcore.pla: 0368: if isule(dest, codemax) -; libsrc/jitcore.pla: 0369: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0370: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0371: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0372: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $B0,$13 ; ADDLB [19] - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$00,$A0 ; CW 40960 - !BYTE $54 ; CALL _X027 -_F010 !WORD 0 - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B123 -_B124 -; libsrc/jitcore.pla: 0373: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0374: codeptr=>0 = $A9+((codeptr+9)&$FF00) // LDA #>STRING -; libsrc/jitcore.pla: 0375: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0376: codeptr=>4 = $A9+((codeptr+9)<<8) // LDA #6 = $4C // JMP abs -; libsrc/jitcore.pla: 0378: dest = codeptr + 10 + j -; libsrc/jitcore.pla: 0379: codeptr=>7 = dest -; libsrc/jitcore.pla: 0380: strcpy(codeptr + 9, bytecode + i) -; libsrc/jitcore.pla: 0381: i = i + j -; libsrc/jitcore.pla: 0382: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$A9 ; CB 169 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $B0,$13 ; ADDLB [19] - !BYTE $6E,$0C ; DLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $54 ; CALL _X019 -_F011 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$08 ; LLW [8] - !BYTE $B0,$13 ; ADDLB [19] - !BYTE $76,$08 ; SLW [8] -_B121 -_B122 -; libsrc/jitcore.pla: 0383: codeptr = dest -; libsrc/jitcore.pla: 0384: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0385: break - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0386: is $32 // DROP2 -_B125 -; libsrc/jitcore.pla: 0387: //puts("DROP2") -; libsrc/jitcore.pla: 0388: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0389: is $30 // DROP - !BYTE $76,$0E ; SLW [14] -_B126 -; libsrc/jitcore.pla: 0390: //puts("DROP") -; libsrc/jitcore.pla: 0391: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0392: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0393: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0394: is $34 // DUP -_B127 -; libsrc/jitcore.pla: 0395: //puts("DUP") -; libsrc/jitcore.pla: 0396: if not A_IS_TOSL -; libsrc/jitcore.pla: 0397: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0398: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0399: elsif A_IS_TOSL & TOS_DIRTY - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B128 - !WORD _B128-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B128 -; libsrc/jitcore.pla: 0400: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0401: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0402: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B130 - !WORD _B130-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B130 -_B129 -; libsrc/jitcore.pla: 0403: codeptr=>0 = estkh8+$B4+(VX<<8) // LDY ESTKH,X -; libsrc/jitcore.pla: 0404: VX-- // DEX - !BYTE $2C,$B4,$A0 ; CW 41140 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0405: codeptr=>2 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0406: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0407: VY = UNKNOWN -; libsrc/jitcore.pla: 0408: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0409: break - !BYTE $76,$0E ; SLW [14] - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0410: //is $36 -; libsrc/jitcore.pla: 0411: //puts("DIVMOD") -; libsrc/jitcore.pla: 0412: // -; libsrc/jitcore.pla: 0413: // Should never happen -; libsrc/jitcore.pla: 0414: // -; libsrc/jitcore.pla: 0415: //break -; libsrc/jitcore.pla: 0416: is $38 // ADDI -_B131 -; libsrc/jitcore.pla: 0417: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0418: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0419: //puts("ADDI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0420: is $8C // INCR - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] -_B132 -; libsrc/jitcore.pla: 0421: if opcode == $8C -; libsrc/jitcore.pla: 0422: //puts("INCR") -; libsrc/jitcore.pla: 0423: j = 1 -; libsrc/jitcore.pla: 0424: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$8C ; CB 140 - !BYTE $24 ; BRNE _B133 - !WORD _B133-* - !BYTE $02 ; CN 1 - !BYTE $74,$13 ; SLB [19] -_B133 -_B134 -; libsrc/jitcore.pla: 0425: if not A_IS_TOSL -; libsrc/jitcore.pla: 0426: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0427: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0428: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B135 - !WORD _B135-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B135 -_B136 -; libsrc/jitcore.pla: 0429: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 0430: codeptr=>1 = $69+(j<<8) // ADC #imm -; libsrc/jitcore.pla: 0431: codeptr=>3 = $0290 // BCC +2 -; libsrc/jitcore.pla: 0432: codeptr=>5 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 0433: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0434: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0435: break - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$69 ; CB 105 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0436: is $3A // SUBI -_B137 -; libsrc/jitcore.pla: 0437: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0438: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0439: //puts("SUBI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0440: is $8E // DECR - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] -_B138 -; libsrc/jitcore.pla: 0441: if opcode == $8E -; libsrc/jitcore.pla: 0442: //puts("DECR") -; libsrc/jitcore.pla: 0443: j = 1 -; libsrc/jitcore.pla: 0444: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$8E ; CB 142 - !BYTE $24 ; BRNE _B139 - !WORD _B139-* - !BYTE $02 ; CN 1 - !BYTE $74,$13 ; SLB [19] -_B139 -_B140 -; libsrc/jitcore.pla: 0445: if not A_IS_TOSL -; libsrc/jitcore.pla: 0446: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0447: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0448: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B141 - !WORD _B141-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B141 -_B142 -; libsrc/jitcore.pla: 0449: codeptr->0 = $38 // SEC -; libsrc/jitcore.pla: 0450: codeptr=>1 = $E9+(j<<8) // SBC #imm -; libsrc/jitcore.pla: 0451: codeptr=>3 = $02B0 // BCS +2 -; libsrc/jitcore.pla: 0452: codeptr=>5 = estkh8+$D6+(VX<<8) // DEC ESTKH,X -; libsrc/jitcore.pla: 0453: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0454: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0455: break - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$E9 ; CB 233 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$B0,$02 ; CW 688 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$D6,$A0 ; CW 41174 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0456: is $3C // ANDI -_B143 -; libsrc/jitcore.pla: 0457: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0458: //puts("ANDI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0459: if VY <> 0 -; libsrc/jitcore.pla: 0460: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0461: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0462: VY = 0 -; libsrc/jitcore.pla: 0463: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B144 -_B145 -; libsrc/jitcore.pla: 0464: if not A_IS_TOSL -; libsrc/jitcore.pla: 0465: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0466: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0467: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B146 - !WORD _B146-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B146 -_B147 -; libsrc/jitcore.pla: 0468: codeptr=>0 = $29+(^(bytecode+i)<<8) // AND #imm -; libsrc/jitcore.pla: 0469: codeptr=>2 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0470: codeptr = codeptr + 4 -; libsrc/jitcore.pla: 0471: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0472: break - !BYTE $2A,$29 ; CB 41 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0473: is $3E // ORI -_B148 -; libsrc/jitcore.pla: 0474: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0475: //puts("ORI $"); putb(^(bytecode+i)) -; libsrc/jitcore.pla: 0476: if not A_IS_TOSL -; libsrc/jitcore.pla: 0477: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0478: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0479: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B149 - !WORD _B149-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B149 -_B150 -; libsrc/jitcore.pla: 0480: *codeptr = $09+(^(bytecode+i)<<8) // ORA #imm -; libsrc/jitcore.pla: 0481: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0482: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0483: break - !BYTE $12 ; CN 9 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0484: is $40 // ISEQ -_B151 -; libsrc/jitcore.pla: 0485: is $42 // ISNE -_B152 -; libsrc/jitcore.pla: 0486: if VY <> 0 -; libsrc/jitcore.pla: 0487: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0488: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0489: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B153 -_B154 -; libsrc/jitcore.pla: 0490: if not A_IS_TOSL -; libsrc/jitcore.pla: 0491: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0492: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0493: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B155 - !WORD _B155-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B155 -_B156 -; libsrc/jitcore.pla: 0494: if opcode == $40 -; libsrc/jitcore.pla: 0495: //puts("ISEQ") -; libsrc/jitcore.pla: 0496: codeptr=>2 = $07D0 // BNE +7 -; libsrc/jitcore.pla: 0497: codeptr=>8 = $01D0 // BNE +1 -; libsrc/jitcore.pla: 0498: else - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B157 - !WORD _B157-* - !BYTE $2C,$D0,$07 ; CW 2000 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$D0,$01 ; CW 464 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -_B157 -; libsrc/jitcore.pla: 0499: //puts("ISNE") -; libsrc/jitcore.pla: 0500: codeptr=>2 = $06D0 // BNE +6 -; libsrc/jitcore.pla: 0501: codeptr=>8 = $01F0 // BEQ +1 -; libsrc/jitcore.pla: 0502: fin - !BYTE $2C,$D0,$06 ; CW 1744 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F0,$01 ; CW 496 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW -_B158 -; libsrc/jitcore.pla: 0503: codeptr=>0 = estkl8+$D5+$0100+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 0504: codeptr=>4 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0505: codeptr=>6 = estkh8+$D5+$0100+(VX<<8) // CMP ESTKH+1 -; libsrc/jitcore.pla: 0506: codeptr=>10 = $9888 // DEY; TYA -; libsrc/jitcore.pla: 0507: codeptr=>12 = estkh8+$94+$0100+(VX<<8) // STY ESTKH+1,X -; libsrc/jitcore.pla: 0508: codeptr = codeptr + 14 -; libsrc/jitcore.pla: 0509: VX++ // INX - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D5,$A1 ; CW 41429 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$94,$A1 ; CW 41364 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0510: VY = UNKNOWN -; libsrc/jitcore.pla: 0511: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0512: break - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0513: is $44 // ISGT -_B159 -; libsrc/jitcore.pla: 0514: is $4A // ISLE -_B160 -; libsrc/jitcore.pla: 0515: if VY <> 0 -; libsrc/jitcore.pla: 0516: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0517: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0518: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B161 -_B162 -; libsrc/jitcore.pla: 0519: if not A_IS_TOSL -; libsrc/jitcore.pla: 0520: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0521: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0522: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B163 - !WORD _B163-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B163 -_B164 -; libsrc/jitcore.pla: 0523: codeptr=>0 = estkl8+$D5+$0100+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 0524: codeptr=>2 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0525: codeptr=>4 = estkh8+$F5+$0100+(VX<<8) // SBC ESTKH+1 -; libsrc/jitcore.pla: 0526: codeptr=>6 = $0250 // BVC +2 -; libsrc/jitcore.pla: 0527: codeptr=>8 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 0528: if opcode == $44 -; libsrc/jitcore.pla: 0529: //puts("ISGT") -; libsrc/jitcore.pla: 0530: codeptr=>10 = $0110 // BPL +1 -; libsrc/jitcore.pla: 0531: else - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A1 ; CW 41461 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$44 ; CB 68 - !BYTE $24 ; BRNE _B165 - !WORD _B165-* - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B166 - !WORD _B166-* -_B165 -; libsrc/jitcore.pla: 0532: //puts("ISLE") -; libsrc/jitcore.pla: 0533: codeptr=>10 = $0130 // BMI +1 -; libsrc/jitcore.pla: 0534: fin - !BYTE $2C,$30,$01 ; CW 304 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW -_B166 -; libsrc/jitcore.pla: 0535: codeptr=>12 = $9888 // DEY TYA -; libsrc/jitcore.pla: 0536: codeptr=>14 = estkh8+$94+$0100+(VX<<8) // STY ESTKH+1,X -; libsrc/jitcore.pla: 0537: codeptr = codeptr + 16 -; libsrc/jitcore.pla: 0538: VX++ // INX - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2C,$94,$A1 ; CW 41364 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0539: VY = UNKNOWN -; libsrc/jitcore.pla: 0540: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0541: break - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0542: is $46 // ISLT -_B167 -; libsrc/jitcore.pla: 0543: is $48 // ISGE -_B168 -; libsrc/jitcore.pla: 0544: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0545: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0546: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0547: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B169 - !WORD _B169-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B169 -_B170 -; libsrc/jitcore.pla: 0548: if VY <> 0 -; libsrc/jitcore.pla: 0549: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0550: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0551: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B171 - !WORD _B171-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B171 -_B172 -; libsrc/jitcore.pla: 0552: codeptr=>0 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 0553: codeptr=>2 = estkl8+$D5+(VX<<8) // CMP ESTKL,X -; libsrc/jitcore.pla: 0554: codeptr=>4 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 0555: codeptr=>6 = estkh8+$F5+(VX<<8) // SBC ESTKH -; libsrc/jitcore.pla: 0556: codeptr=>8 = $0250 // BVC +2 -; libsrc/jitcore.pla: 0557: codeptr=>10 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 0558: if opcode == $46 -; libsrc/jitcore.pla: 0559: //puts("ISLT") -; libsrc/jitcore.pla: 0560: codeptr=>12 = $0110 // BPL +1 -; libsrc/jitcore.pla: 0561: else - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$C0 ; CW 49365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$46 ; CB 70 - !BYTE $24 ; BRNE _B173 - !WORD _B173-* - !BYTE $2C,$10,$01 ; CW 272 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B174 - !WORD _B174-* -_B173 -; libsrc/jitcore.pla: 0562: //puts("ISGE") -; libsrc/jitcore.pla: 0563: codeptr=>12 = $0130 // BMI +1 -; libsrc/jitcore.pla: 0564: fin - !BYTE $2C,$30,$01 ; CW 304 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW -_B174 -; libsrc/jitcore.pla: 0565: codeptr=>14 = $9888 // DEY; TYA -; libsrc/jitcore.pla: 0566: codeptr=>16 = estkh8+$94+$0100+(VX<<8) // STY ESTKH+1,X -; libsrc/jitcore.pla: 0567: codeptr = codeptr + 18 -; libsrc/jitcore.pla: 0568: VX++ // INX - !BYTE $2C,$88,$98 ; CW 39048 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $2C,$94,$A1 ; CW 41364 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0569: VY = UNKNOWN -; libsrc/jitcore.pla: 0570: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0571: break - !BYTE $76,$0E ; SLW [14] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0572: is $4C // BRFLS -_B175 -; libsrc/jitcore.pla: 0573: is $4E // BRTRU -_B176 -; libsrc/jitcore.pla: 0574: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0575: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0576: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0577: codeptr, VX = resolveX(codeptr, VX + 1) // INX -; libsrc/jitcore.pla: 0578: if not A_IS_TOSL -; libsrc/jitcore.pla: 0579: *codeptr = estkl8+$B5-$0100//+(VX<<8) // LDA ESTKL-1,X -; libsrc/jitcore.pla: 0580: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0581: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F012 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B177 - !WORD _B177-* - !BYTE $2C,$B5,$BF ; CW 49077 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B177 -_B178 -; libsrc/jitcore.pla: 0582: codeptr=>0 = estkh8+$15-$0100//+(VX<<8) // ORA ESTKH-1,X -; libsrc/jitcore.pla: 0583: if opcode == $4C -; libsrc/jitcore.pla: 0584: //puts("BRFLS "); puti(dest) -; libsrc/jitcore.pla: 0585: codeptr=>2 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 0586: else - !BYTE $2C,$15,$9F ; CW 40725 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$4C ; CB 76 - !BYTE $24 ; BRNE _B179 - !WORD _B179-* - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B180 - !WORD _B180-* -_B179 -; libsrc/jitcore.pla: 0587: //puts("BRTRU "); puti(dest) -; libsrc/jitcore.pla: 0588: codeptr=>2 = $03F0 // BEQ +3 -; libsrc/jitcore.pla: 0589: fin - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B180 -; libsrc/jitcore.pla: 0590: codeptr->4 = $4C // JMP abs -; libsrc/jitcore.pla: 0591: codeptr=>5 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0592: if not (codeptr->6 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0593: addrxlate=>[dest] = codeptr + 5 - *jitcodeptr -; libsrc/jitcore.pla: 0594: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B181 - !WORD _B181-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B181 -_B182 -; libsrc/jitcore.pla: 0595: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0596: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0597: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0598: is $50 // BRNCH -_B183 -; libsrc/jitcore.pla: 0599: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0600: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 0601: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0602: //puts("BRNCH "); puti(dest) -; libsrc/jitcore.pla: 0603: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0604: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0605: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0606: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0607: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F013 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B184 - !WORD _B184-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B184 -_B185 -; libsrc/jitcore.pla: 0608: codeptr->0 = $4C // JMP abs -; libsrc/jitcore.pla: 0609: codeptr=>1 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0610: if not (codeptr->2 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0611: addrxlate=>[dest] = codeptr + 1 - *jitcodeptr -; libsrc/jitcore.pla: 0612: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B186 - !WORD _B186-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B186 -_B187 -; libsrc/jitcore.pla: 0613: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0614: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0615: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0616: is $52 // SEL -_B188 -; libsrc/jitcore.pla: 0617: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0618: case = i + *(bytecode+i) -; libsrc/jitcore.pla: 0619: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0620: //puts("SEL "); puti(case); putln -; libsrc/jitcore.pla: 0621: j = ^(bytecode+case) -; libsrc/jitcore.pla: 0622: dest = codeptr + 9 + case * 11) -; libsrc/jitcore.pla: 0623: if isule(dest, codemax) -; libsrc/jitcore.pla: 0624: ^(bytecode+case) = $FE // Flag as NOP -; libsrc/jitcore.pla: 0625: case++ - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0A ; LLW [10] - !BYTE $16 ; CN 11 - !BYTE $86 ; MUL - !BYTE $82 ; ADD - !BYTE $6E,$0C ; DLW [12] - !BYTE $2C,$00,$A0 ; CW 40960 - !BYTE $54 ; CALL _X027 -_F014 !WORD 0 - !BYTE $4C ; BRFLS _B189 - !WORD _B189-* - !BYTE $2A,$FE ; CB 254 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0626: if not A_IS_TOSL -; libsrc/jitcore.pla: 0627: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0628: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0629: fin - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B191 - !WORD _B191-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B191 -_B192 -; libsrc/jitcore.pla: 0630: codeptr=>0 = estkh8+$B4+(VX<<8) // LDY ESTKH,X -; libsrc/jitcore.pla: 0631: codeptr, VX = resolveX(codeptr + 2, VX + 1) // INX -; libsrc/jitcore.pla: 0632: repeat - !BYTE $2C,$B4,$A0 ; CW 41140 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F015 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] -_B194 -; libsrc/jitcore.pla: 0633: dest = *(bytecode+case) -; libsrc/jitcore.pla: 0634: //puts(" $"); puth(dest) -; libsrc/jitcore.pla: 0635: codeptr=>0 = $C9+(dest<<8) // CMP #imm -; libsrc/jitcore.pla: 0636: codeptr=>2 = $07D0 // BNE +7 -; libsrc/jitcore.pla: 0637: codeptr=>4 = $C0+(dest&$FF00) // CPY #imm -; libsrc/jitcore.pla: 0638: codeptr=>6 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 0639: *(bytecode+case) = $FEFE -; libsrc/jitcore.pla: 0640: case = case + 2 -; libsrc/jitcore.pla: 0641: dest = case + *(bytecode+case) -; libsrc/jitcore.pla: 0642: //puts("-->"); puti(dest); putln -; libsrc/jitcore.pla: 0643: codeptr->8 = $4C // JMP abs -; libsrc/jitcore.pla: 0644: codeptr=>9 = addrxlate=>[dest] -; libsrc/jitcore.pla: 0645: if not (codeptr->10 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0646: addrxlate=>[dest] = codeptr + 9 - *jitcodeptr -; libsrc/jitcore.pla: 0647: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$C9 ; CB 201 - !BYTE $66,$0C ; LLW [12] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D0,$07 ; CW 2000 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$C0 ; CB 192 - !BYTE $66,$0C ; LLW [12] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$FE,$FE ; CW 65278 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B196 - !WORD _B196-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B196 -_B197 -; libsrc/jitcore.pla: 0648: codeptr = codeptr + 11 -; libsrc/jitcore.pla: 0649: *(bytecode+case) = $FEFE -; libsrc/jitcore.pla: 0650: case = case + 2 -; libsrc/jitcore.pla: 0651: j-- - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $2C,$FE,$FE ; CW 65278 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $64,$13 ; LLB [19] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0652: until not j - !BYTE $74,$13 ; SLB [19] -_B195 - !BYTE $64,$13 ; LLB [19] - !BYTE $4E ; BRTRU _B194 - !WORD _B194-* -_B193 -; libsrc/jitcore.pla: 0653: codeptr->0 = $4C // JMP abs -; libsrc/jitcore.pla: 0654: codeptr=>1 = addrxlate=>[case] -; libsrc/jitcore.pla: 0655: if not (codeptr->2 & $80) // Unresolved address list -; libsrc/jitcore.pla: 0656: addrxlate=>[case] = codeptr + 1 - *jitcodeptr -; libsrc/jitcore.pla: 0657: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B198 - !WORD _B198-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $72 ; SW -_B198 -_B199 -; libsrc/jitcore.pla: 0658: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0659: else - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B190 - !WORD _B190-* -_B189 -; libsrc/jitcore.pla: 0660: codeptr = dest -; libsrc/jitcore.pla: 0661: fin - !BYTE $66,$0C ; LLW [12] - !BYTE $76,$02 ; SLW [2] -_B190 -; libsrc/jitcore.pla: 0662: VY = UNKNOWN -; libsrc/jitcore.pla: 0663: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0664: break - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0665: is $54 // CALL -_B200 -; libsrc/jitcore.pla: 0666: //puts("CALL $"); puth(*(bytecode+i)) -; libsrc/jitcore.pla: 0667: // -; libsrc/jitcore.pla: 0668: // Call address -; libsrc/jitcore.pla: 0669: // -; libsrc/jitcore.pla: 0670: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0671: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0672: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0673: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0674: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F016 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B201 - !WORD _B201-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B201 -_B202 -; libsrc/jitcore.pla: 0675: codeptr->0 = $20 // JSR abs -; libsrc/jitcore.pla: 0676: codeptr=>1 = *(bytecode+i+1) -; libsrc/jitcore.pla: 0677: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0678: VY = UNKNOWN -; libsrc/jitcore.pla: 0679: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0680: i = i + 2 -; libsrc/jitcore.pla: 0681: break - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0682: is $56 // ICAL -_B203 -; libsrc/jitcore.pla: 0683: //puts("ICAL") -; libsrc/jitcore.pla: 0684: // -; libsrc/jitcore.pla: 0685: // Pull address off stack -; libsrc/jitcore.pla: 0686: // -; libsrc/jitcore.pla: 0687: if not A_IS_TOSL -; libsrc/jitcore.pla: 0688: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0689: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0690: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B204 - !WORD _B204-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B204 -_B205 -; libsrc/jitcore.pla: 0691: codeptr=>0 = tmpl8+$85 // STA $E7:TMPL -; libsrc/jitcore.pla: 0692: codeptr=>2 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0693: codeptr=>4 = tmph8+$85 // STA $E8:TMPH -; libsrc/jitcore.pla: 0694: codeptr, VX = resolveX(codeptr + 6, VX + 1) // INX -; libsrc/jitcore.pla: 0695: // -; libsrc/jitcore.pla: 0696: // Call through TMP -; libsrc/jitcore.pla: 0697: // -; libsrc/jitcore.pla: 0698: codeptr->0 = $20 // JSR abs -; libsrc/jitcore.pla: 0699: codeptr=>1 = jmptmp // $E6:JMPTMP -; libsrc/jitcore.pla: 0700: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0701: VY = UNKNOWN -; libsrc/jitcore.pla: 0702: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0703: break - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$85,$E8 ; CW 59525 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F017 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$E6 ; CB 230 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0704: is $5A // LEAVE -_B206 -; libsrc/jitcore.pla: 0705: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0706: //puts("LEAVE "); puti(^(bytecode+i)) -; libsrc/jitcore.pla: 0707: // -; libsrc/jitcore.pla: 0708: // Call into VM -; libsrc/jitcore.pla: 0709: // -; libsrc/jitcore.pla: 0710: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0711: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0712: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0713: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0714: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F018 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B207 - !WORD _B207-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B207 -_B208 -; libsrc/jitcore.pla: 0715: codeptr->0 = $20 // JSR abs -; libsrc/jitcore.pla: 0716: codeptr=>1 = directentry // INTERP -; libsrc/jitcore.pla: 0717: codeptr=>3 = $5A + (^(bytecode+i)<<8) // LEAVE CODE AND OPERAND -; libsrc/jitcore.pla: 0718: codeptr = codeptr + 5 -; libsrc/jitcore.pla: 0719: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0720: break - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D028+0 -_F019 !WORD _D028+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$5A ; CB 90 - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0721: is $5C // RET -_B209 -; libsrc/jitcore.pla: 0722: //puts("RET") -; libsrc/jitcore.pla: 0723: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 0724: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0725: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0726: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0727: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F020 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B210 - !WORD _B210-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B210 -_B211 -; libsrc/jitcore.pla: 0728: ^codeptr = $60; codeptr++ // RTS - !BYTE $2A,$60 ; CB 96 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0729: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0730: break - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0731: is $60 // LB -_B212 -; libsrc/jitcore.pla: 0732: //puts("LB") -; libsrc/jitcore.pla: 0733: if VY <> 0 -; libsrc/jitcore.pla: 0734: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0735: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0736: VY = 0 -; libsrc/jitcore.pla: 0737: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B213 - !WORD _B213-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B213 -_B214 -; libsrc/jitcore.pla: 0738: if not A_IS_TOSL -; libsrc/jitcore.pla: 0739: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0740: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0741: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B215 - !WORD _B215-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B215 -_B216 -; libsrc/jitcore.pla: 0742: codeptr=>0 = estkh8+$95-$0100+(VX<<8) // STA ESTKH-1,X -; libsrc/jitcore.pla: 0743: codeptr=>2 = estkh8+$A1-$0100+(VX<<8) // LDA (ESTKH-1,X) -; libsrc/jitcore.pla: 0744: codeptr=>4 = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0745: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0746: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0747: break - !BYTE $2C,$95,$9F ; CW 40853 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$A1,$9F ; CW 40865 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0748: is $62 // LW -_B217 -; libsrc/jitcore.pla: 0749: //puts("LW") -; libsrc/jitcore.pla: 0750: if not A_IS_TOSL -; libsrc/jitcore.pla: 0751: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0752: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0753: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B218 - !WORD _B218-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B218 -_B219 -; libsrc/jitcore.pla: 0754: codeptr=>0 = estkh8+$95-$0100+(VX<<8) // STA ESTKH-1,X -; libsrc/jitcore.pla: 0755: codeptr=>2 = estkh8+$A1-$0100+(VX<<8) // LDA (ESTKH-1,X) -; libsrc/jitcore.pla: 0756: codeptr=>4 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0757: codeptr=>6 = estkh8+$F6-$0100+(VX<<8) // INC ESTKH-1,X -; libsrc/jitcore.pla: 0758: codeptr=>8 = $02D0 // BNE +2 -; libsrc/jitcore.pla: 0759: codeptr=>10 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 0760: codeptr=>12 = estkh8+$A1-$0100+(VX<<8) // LDA (ESTKH-1,X) -; libsrc/jitcore.pla: 0761: codeptr=>14 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0762: codeptr = codeptr + 16 -; libsrc/jitcore.pla: 0763: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0764: break - !BYTE $2C,$95,$9F ; CW 40853 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$A1,$9F ; CW 40865 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F6,$9F ; CW 40950 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$D0,$02 ; CW 720 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$A1,$9F ; CW 40865 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0765: is $64 // LLB -_B220 -; libsrc/jitcore.pla: 0766: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0767: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0768: //puts("LLB "); puti(j) -; libsrc/jitcore.pla: 0769: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0770: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0771: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0772: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B221 - !WORD _B221-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B221 -_B222 -; libsrc/jitcore.pla: 0773: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0774: if VY <> j -; libsrc/jitcore.pla: 0775: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 0776: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0777: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B223 - !WORD _B223-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B223 -_B224 -; libsrc/jitcore.pla: 0778: *codeptr = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 0779: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0780: if j <> 0 -; libsrc/jitcore.pla: 0781: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0782: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0783: fin - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $4C ; BRFLS _B225 - !WORD _B225-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B225 -_B226 -; libsrc/jitcore.pla: 0784: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0785: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0786: VY = 0 -; libsrc/jitcore.pla: 0787: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0788: break - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0789: is $66 // LLW -_B227 -; libsrc/jitcore.pla: 0790: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0791: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0792: //puts("LLW "); puti(j) -; libsrc/jitcore.pla: 0793: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0794: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0795: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0796: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B228 - !WORD _B228-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B228 -_B229 -; libsrc/jitcore.pla: 0797: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0798: if VY <> j -; libsrc/jitcore.pla: 0799: *codeptr = $A0+((j+1)<<8) // LDY #imm -; libsrc/jitcore.pla: 0800: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0801: VY = j -; libsrc/jitcore.pla: 0802: else - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B230 - !WORD _B230-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $8C ; INCR - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B231 - !WORD _B231-* -_B230 -; libsrc/jitcore.pla: 0803: ^codeptr = $C8; codeptr++ // INY - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0804: fin - !BYTE $76,$02 ; SLW [2] -_B231 -; libsrc/jitcore.pla: 0805: codeptr=>0 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 0806: codeptr=>2 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0807: codeptr->4 = $88 // DEY -; libsrc/jitcore.pla: 0808: codeptr=>5 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 0809: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0810: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0811: break - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$88 ; CB 136 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0812: is $68 // LAB -_B232 -; libsrc/jitcore.pla: 0813: is $6A // LAW -_B233 -; libsrc/jitcore.pla: 0814: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0815: i = i + 2 -; libsrc/jitcore.pla: 0816: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0817: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0818: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0819: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B234 - !WORD _B234-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B234 -_B235 -; libsrc/jitcore.pla: 0820: VX-- // DEX - !BYTE $66,$0E ; LLW [14] - !BYTE $8E ; DECR -; libsrc/jitcore.pla: 0821: if opcode == $68 -; libsrc/jitcore.pla: 0822: //puts("LAB $"); puth(dest) -; libsrc/jitcore.pla: 0823: if VY <> 0 -; libsrc/jitcore.pla: 0824: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0825: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0826: VY = 0 -; libsrc/jitcore.pla: 0827: fin - !BYTE $76,$0E ; SLW [14] - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$68 ; CB 104 - !BYTE $24 ; BRNE _B236 - !WORD _B236-* - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B238 - !WORD _B238-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B238 -_B239 -; libsrc/jitcore.pla: 0828: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0829: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0830: else - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B237 - !WORD _B237-* -_B236 -; libsrc/jitcore.pla: 0831: //puts("LAW $"); puth(dest) -; libsrc/jitcore.pla: 0832: codeptr->0 = $AD // LDA abs+1 -; libsrc/jitcore.pla: 0833: codeptr=>1 = dest+1 -; libsrc/jitcore.pla: 0834: codeptr=>3 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 0835: codeptr = codeptr + 5 -; libsrc/jitcore.pla: 0836: fin - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] -_B237 -; libsrc/jitcore.pla: 0837: codeptr->0 = $AD // LDA abs -; libsrc/jitcore.pla: 0838: codeptr=>1 = dest -; libsrc/jitcore.pla: 0839: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0840: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 0841: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0842: is $6C // DLB -_B240 -; libsrc/jitcore.pla: 0843: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0844: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0845: //puts("DLB "); puti(j) -; libsrc/jitcore.pla: 0846: if not A_IS_TOSL -; libsrc/jitcore.pla: 0847: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0848: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0849: A_IS_TOSL = TOS_CLEAN -; libsrc/jitcore.pla: 0850: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B241 - !WORD _B241-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $74,$14 ; SLB [20] -_B241 -_B242 -; libsrc/jitcore.pla: 0851: if VY <> j -; libsrc/jitcore.pla: 0852: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 0853: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0854: VY = j -; libsrc/jitcore.pla: 0855: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B243 - !WORD _B243-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] -_B243 -_B244 -; libsrc/jitcore.pla: 0856: *codeptr = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0857: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0858: if VY <> 0 -; libsrc/jitcore.pla: 0859: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0860: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0861: VY = 0 -; libsrc/jitcore.pla: 0862: fin - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B245 - !WORD _B245-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B245 -_B246 -; libsrc/jitcore.pla: 0863: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0864: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0865: break - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0866: is $6E // DLW -_B247 -; libsrc/jitcore.pla: 0867: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0868: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0869: //puts("DLW "); puti(j) -; libsrc/jitcore.pla: 0870: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 0871: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 0872: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0873: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B248 - !WORD _B248-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B248 -_B249 -; libsrc/jitcore.pla: 0874: if VY <> j -; libsrc/jitcore.pla: 0875: *codeptr = $A0+((j+1)<<8) // LDY #imm -; libsrc/jitcore.pla: 0876: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0877: VY = j -; libsrc/jitcore.pla: 0878: else - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B250 - !WORD _B250-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $8C ; INCR - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] - !BYTE $50 ; BRNCH _B251 - !WORD _B251-* -_B250 -; libsrc/jitcore.pla: 0879: ^codeptr = $C8; codeptr++ // INY - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0880: fin - !BYTE $76,$02 ; SLW [2] -_B251 -; libsrc/jitcore.pla: 0881: codeptr=>0 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0882: codeptr=>2 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0883: codeptr->4 = $88 // DEY -; libsrc/jitcore.pla: 0884: codeptr=>5 = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0885: codeptr=>7 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0886: codeptr = codeptr + 9 -; libsrc/jitcore.pla: 0887: A_IS_TOSL = TOS_CLEAN -; libsrc/jitcore.pla: 0888: break - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$88 ; CB 136 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0889: is $70 // SB -_B252 -; libsrc/jitcore.pla: 0890: is $72 // SW -_B253 -; libsrc/jitcore.pla: 0891: if not A_IS_TOSL -; libsrc/jitcore.pla: 0892: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0893: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0894: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B254 - !WORD _B254-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B254 -_B255 -; libsrc/jitcore.pla: 0895: codeptr=>0 = estkh8+$95-$0100+(VX<<8) // STA ESTKH-1,X -; libsrc/jitcore.pla: 0896: codeptr=>2 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 0897: codeptr=>4 = estkh8+$81-$0100+(VX<<8) // STA (ESTKH-1,X) -; libsrc/jitcore.pla: 0898: if opcode == $70 -; libsrc/jitcore.pla: 0899: //puts("SB") -; libsrc/jitcore.pla: 0900: codeptr = codeptr + 6 -; libsrc/jitcore.pla: 0901: else - !BYTE $2C,$95,$9F ; CW 40853 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$81,$9F ; CW 40833 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$70 ; CB 112 - !BYTE $24 ; BRNE _B256 - !WORD _B256-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B257 - !WORD _B257-* -_B256 -; libsrc/jitcore.pla: 0902: //puts("SW") -; libsrc/jitcore.pla: 0903: codeptr=>6 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 0904: codeptr=>8 = estkh8+$F6-$0100+(VX<<8) // INC ESTKH-1,X -; libsrc/jitcore.pla: 0905: codeptr=>10 = $02D0 // BNE +2 -; libsrc/jitcore.pla: 0906: codeptr=>12 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 0907: codeptr=>14 = estkh8+$81-$0100+(VX<<8) // STA (ESTKH-1,X) -; libsrc/jitcore.pla: 0908: codeptr = codeptr + 16 -; libsrc/jitcore.pla: 0909: fin - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$F6,$9F ; CW 40950 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$D0,$02 ; CW 720 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2C,$81,$9F ; CW 40833 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$02 ; SLW [2] -_B257 -; libsrc/jitcore.pla: 0910: VX = VX + 2 // INX; INX -; libsrc/jitcore.pla: 0911: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0912: break - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0913: is $74 // SLB -_B258 -; libsrc/jitcore.pla: 0914: is $76 // SLW -_B259 -; libsrc/jitcore.pla: 0915: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0916: j = ^(bytecode+i) -; libsrc/jitcore.pla: 0917: if not A_IS_TOSL -; libsrc/jitcore.pla: 0918: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0919: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0920: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B260 - !WORD _B260-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B260 -_B261 -; libsrc/jitcore.pla: 0921: if VY <> j -; libsrc/jitcore.pla: 0922: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 0923: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0924: VY = j -; libsrc/jitcore.pla: 0925: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B262 - !WORD _B262-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] -_B262 -_B263 -; libsrc/jitcore.pla: 0926: codeptr=>0 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0927: if opcode == $74 -; libsrc/jitcore.pla: 0928: //puts("SLB "); puti(j) -; libsrc/jitcore.pla: 0929: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0930: else - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$74 ; CB 116 - !BYTE $24 ; BRNE _B264 - !WORD _B264-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B265 - !WORD _B265-* -_B264 -; libsrc/jitcore.pla: 0931: //puts("SLW "); puti(j) -; libsrc/jitcore.pla: 0932: codeptr->2 = $C8 // INY -; libsrc/jitcore.pla: 0933: codeptr=>3 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0934: codeptr=>5 = ifpl8+$91 // STA (IFP),Y -; libsrc/jitcore.pla: 0935: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 0936: VY++ - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$91,$E0 ; CW 57489 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0937: fin - !BYTE $76,$10 ; SLW [16] -_B265 -; libsrc/jitcore.pla: 0938: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0939: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0940: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0941: is $78 // SAB -_B266 -; libsrc/jitcore.pla: 0942: is $7A // SAW -_B267 -; libsrc/jitcore.pla: 0943: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0944: i = i + 2 -; libsrc/jitcore.pla: 0945: if not A_IS_TOSL -; libsrc/jitcore.pla: 0946: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0947: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0948: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B268 - !WORD _B268-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B268 -_B269 -; libsrc/jitcore.pla: 0949: codeptr->0 = $8D // STA abs -; libsrc/jitcore.pla: 0950: codeptr=>1 = dest -; libsrc/jitcore.pla: 0951: if opcode == $78 -; libsrc/jitcore.pla: 0952: //puts("SAB $"); puth(dest) -; libsrc/jitcore.pla: 0953: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0954: else - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$78 ; CB 120 - !BYTE $24 ; BRNE _B270 - !WORD _B270-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B271 - !WORD _B271-* -_B270 -; libsrc/jitcore.pla: 0955: //puts("SAW $"); puth(dest) -; libsrc/jitcore.pla: 0956: codeptr=>3 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 0957: codeptr->5 = $8D // STA abs+1 -; libsrc/jitcore.pla: 0958: codeptr=>6 = dest+1 -; libsrc/jitcore.pla: 0959: codeptr = codeptr + 8 -; libsrc/jitcore.pla: 0960: fin - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] -_B271 -; libsrc/jitcore.pla: 0961: VX++ // INX - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 0962: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 0963: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0964: is $7C // DAB -_B272 -; libsrc/jitcore.pla: 0965: is $7E // DAW -_B273 -; libsrc/jitcore.pla: 0966: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 0967: i = i + 2 -; libsrc/jitcore.pla: 0968: if not A_IS_TOSL -; libsrc/jitcore.pla: 0969: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0970: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0971: A_IS_TOSL = TOS_CLEAN -; libsrc/jitcore.pla: 0972: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B274 - !WORD _B274-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $04 ; CN 2 - !BYTE $74,$14 ; SLB [20] -_B274 -_B275 -; libsrc/jitcore.pla: 0973: codeptr->0 = $8D // STA abs -; libsrc/jitcore.pla: 0974: codeptr=>1 = dest -; libsrc/jitcore.pla: 0975: if opcode == $7C -; libsrc/jitcore.pla: 0976: //puts("DAB $"); puth(dest) -; libsrc/jitcore.pla: 0977: codeptr = codeptr + 3 -; libsrc/jitcore.pla: 0978: if VY <> 0 -; libsrc/jitcore.pla: 0979: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 0980: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0981: VY = 0 -; libsrc/jitcore.pla: 0982: fin - !BYTE $2A,$8D ; CB 141 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$7C ; CB 124 - !BYTE $24 ; BRNE _B276 - !WORD _B276-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B278 - !WORD _B278-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B278 -_B279 -; libsrc/jitcore.pla: 0983: *codeptr = estkh8+$94+(VX<<8) // STY ESTKH,X -; libsrc/jitcore.pla: 0984: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0985: else - !BYTE $2C,$94,$A0 ; CW 41108 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B277 - !WORD _B277-* -_B276 -; libsrc/jitcore.pla: 0986: //puts("DAW $"); puth(dest) -; libsrc/jitcore.pla: 0987: codeptr=>3 = estkh8+$B4+(VX<<8) // LDY ESTKH,X -; libsrc/jitcore.pla: 0988: codeptr->5 = $8C // STY abs+1 -; libsrc/jitcore.pla: 0989: codeptr=>6 = dest+1 -; libsrc/jitcore.pla: 0990: codeptr = codeptr + 8 -; libsrc/jitcore.pla: 0991: VY = UNKNOWN -; libsrc/jitcore.pla: 0992: fin - !BYTE $2C,$B4,$A0 ; CW 41140 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$8C ; CB 140 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] -_B277 -; libsrc/jitcore.pla: 0993: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 0994: is $80 // NOT -_B280 -; libsrc/jitcore.pla: 0995: //puts("NOT") -; libsrc/jitcore.pla: 0996: if not A_IS_TOSL -; libsrc/jitcore.pla: 0997: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 0998: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 0999: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B281 - !WORD _B281-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B281 -_B282 -; libsrc/jitcore.pla: 1000: codeptr=>0 = estkh8+$15+(VX<<8) // ORA ESTKH,X -; libsrc/jitcore.pla: 1001: codeptr=>2 = $02F0 // BEQ +2 -; libsrc/jitcore.pla: 1002: codeptr=>4 = $FFA9 // LDA #$FF -; libsrc/jitcore.pla: 1003: codeptr=>6 = $FF49 // EOR #$FF -; libsrc/jitcore.pla: 1004: codeptr=>8 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1005: codeptr = codeptr + 10 -; libsrc/jitcore.pla: 1006: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 1007: break - !BYTE $2C,$15,$A0 ; CW 40981 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$F0,$02 ; CW 752 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $5E,$A9 ; CFFB 65449 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $5E,$49 ; CFFB 65353 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1008: is $82 // ADD -_B283 -; libsrc/jitcore.pla: 1009: //puts("ADD") -; libsrc/jitcore.pla: 1010: if not A_IS_TOSL -; libsrc/jitcore.pla: 1011: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1012: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1013: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B284 - !WORD _B284-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B284 -_B285 -; libsrc/jitcore.pla: 1014: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1015: codeptr=>1 = estkl8+$75+$0100+(VX<<8) // ADC ESTKL+1,X -; libsrc/jitcore.pla: 1016: codeptr=>3 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1017: codeptr=>5 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1018: codeptr=>7 = estkh8+$75+$0100+(VX<<8) // ADC ESTKH+1,X -; libsrc/jitcore.pla: 1019: codeptr=>9 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1020: codeptr = codeptr + 11 -; libsrc/jitcore.pla: 1021: VX++ // INX - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$75,$C1 ; CW 49525 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$75,$A1 ; CW 41333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1022: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1023: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1024: is $84 // SUB -_B286 -; libsrc/jitcore.pla: 1025: //puts("SUB") -; libsrc/jitcore.pla: 1026: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1027: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1028: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1029: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B287 - !WORD _B287-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B287 -_B288 -; libsrc/jitcore.pla: 1030: codeptr=>0 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1031: codeptr->2 = $38 // SEC -; libsrc/jitcore.pla: 1032: codeptr=>3 = estkl8+$F5+(VX<<8) // SBC ESTKL,X -; libsrc/jitcore.pla: 1033: codeptr=>5 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1034: codeptr=>7 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1035: codeptr=>9 = estkh8+$F5+(VX<<8) // SBC ESTKH,X -; libsrc/jitcore.pla: 1036: codeptr=>11 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1037: codeptr = codeptr + 13 -; libsrc/jitcore.pla: 1038: VX++ // INX - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$F5,$C0 ; CW 49397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1039: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1040: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1041: is $86 // MUL -_B289 -; libsrc/jitcore.pla: 1042: is $88 // DIV -_B290 -; libsrc/jitcore.pla: 1043: is $8A // MOD -_B291 -; libsrc/jitcore.pla: 1044: is $9A // SHL -_B292 -; libsrc/jitcore.pla: 1045: is $9C // SHR -_B293 -; libsrc/jitcore.pla: 1046: //puts("MUL,DIV,MOD,SHL,SHR") -; libsrc/jitcore.pla: 1047: // when opcode -; libsrc/jitcore.pla: 1048: // is $86 -; libsrc/jitcore.pla: 1049: // //puts("MUL") -; libsrc/jitcore.pla: 1050: // is $88 -; libsrc/jitcore.pla: 1051: // //puts("DIV") -; libsrc/jitcore.pla: 1052: // is $8A -; libsrc/jitcore.pla: 1053: // //puts("MOD") -; libsrc/jitcore.pla: 1054: // is $9A -; libsrc/jitcore.pla: 1055: // //puts("SHL") -; libsrc/jitcore.pla: 1056: // is $9C -; libsrc/jitcore.pla: 1057: // //puts("SHR") -; libsrc/jitcore.pla: 1058: // wend -; libsrc/jitcore.pla: 1059: // -; libsrc/jitcore.pla: 1060: // Call into VM -; libsrc/jitcore.pla: 1061: // -; libsrc/jitcore.pla: 1062: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1063: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1064: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1065: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1066: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F021 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B294 - !WORD _B294-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B294 -_B295 -; libsrc/jitcore.pla: 1067: codeptr->0 = $20 // JSR INTERP -; libsrc/jitcore.pla: 1068: codeptr=>1 = directentry // INTERP -; libsrc/jitcore.pla: 1069: codeptr=>3 = $C000+opcode // OPCODE; NATV CODE -; libsrc/jitcore.pla: 1070: codeptr = codeptr + 5 -; libsrc/jitcore.pla: 1071: VY = UNKNOWN -; libsrc/jitcore.pla: 1072: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1073: break - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D028+0 -_F022 !WORD _D028+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $B0,$12 ; ADDLB [18] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1074: is $90 // NEG -_B296 -; libsrc/jitcore.pla: 1075: //puts("NEG") -; libsrc/jitcore.pla: 1076: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1077: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1078: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1079: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B297 - !WORD _B297-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B297 -_B298 -; libsrc/jitcore.pla: 1080: if VY <> 0 -; libsrc/jitcore.pla: 1081: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 1082: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1083: VY = 0 -; libsrc/jitcore.pla: 1084: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B299 - !WORD _B299-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] -_B299 -_B300 -; libsrc/jitcore.pla: 1085: codeptr=>0 = $3898 // TYA -> LDA #$00; SEC -; libsrc/jitcore.pla: 1086: codeptr=>2 = estkl8+$F5+(VX<<8) // SBC ESTKL,X -; libsrc/jitcore.pla: 1087: codeptr=>4 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1088: codeptr->6 = $98 // TYA -> LDA #00 -; libsrc/jitcore.pla: 1089: codeptr=>7 = estkh8+$F5+(VX<<8) // SBC ESTKH,X -; libsrc/jitcore.pla: 1090: codeptr=>9 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1091: codeptr = codeptr + 11 -; libsrc/jitcore.pla: 1092: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1093: break - !BYTE $2C,$98,$38 ; CW 14488 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$F5,$C0 ; CW 49397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1094: is $92 // COMP -_B301 -; libsrc/jitcore.pla: 1095: //puts("COMP") -; libsrc/jitcore.pla: 1096: if not A_IS_TOSL -; libsrc/jitcore.pla: 1097: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1098: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1099: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B302 - !WORD _B302-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B302 -_B303 -; libsrc/jitcore.pla: 1100: codeptr=>0 = $FF49 // EOR #$FF -; libsrc/jitcore.pla: 1101: codeptr=>2 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1102: codeptr=>4 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1103: codeptr=>6 = $FF49 // EOR #$FF -; libsrc/jitcore.pla: 1104: codeptr=>8 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1105: codeptr = codeptr + 10 -; libsrc/jitcore.pla: 1106: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1107: break - !BYTE $5E,$49 ; CFFB 65353 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $5E,$49 ; CFFB 65353 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1108: is $94 // AND -_B304 -; libsrc/jitcore.pla: 1109: is $96 // OR -_B305 -; libsrc/jitcore.pla: 1110: is $98 // XOR -_B306 -; libsrc/jitcore.pla: 1111: when opcode - !BYTE $64,$12 ; LLB [18] - !BYTE $52 ; SEL - !WORD _B308-* -; libsrc/jitcore.pla: 1112: is $94 -_B309 -; libsrc/jitcore.pla: 1113: //puts("AND") -; libsrc/jitcore.pla: 1114: j = $35 -; libsrc/jitcore.pla: 1115: break - !BYTE $2A,$35 ; CB 53 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -; libsrc/jitcore.pla: 1116: is $96 -_B310 -; libsrc/jitcore.pla: 1117: //puts("OR") -; libsrc/jitcore.pla: 1118: j = $15 -; libsrc/jitcore.pla: 1119: break - !BYTE $2A,$15 ; CB 21 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -; libsrc/jitcore.pla: 1120: is $98 -_B311 -; libsrc/jitcore.pla: 1121: //puts("XOR") -; libsrc/jitcore.pla: 1122: j = $55 -; libsrc/jitcore.pla: 1123: wend - !BYTE $2A,$55 ; CB 85 - !BYTE $74,$13 ; SLB [19] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -_B308 - !BYTE $03 ; CASEBLOCK - !WORD $0094 - !WORD _B309-* - !WORD $0096 - !WORD _B310-* - !WORD $0098 - !WORD _B311-* -_B307 -; libsrc/jitcore.pla: 1124: if not A_IS_TOSL -; libsrc/jitcore.pla: 1125: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1126: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1127: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B312 - !WORD _B312-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B312 -_B313 -; libsrc/jitcore.pla: 1128: codeptr->0 = j // OP -; libsrc/jitcore.pla: 1129: codeptr->1 = estkl+$01+VX // ESTKL+1,X -; libsrc/jitcore.pla: 1130: codeptr=>2 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1131: codeptr=>4 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1132: codeptr->6 = j // OP -; libsrc/jitcore.pla: 1133: codeptr->7 = estkh+$01+VX // ESTKH+1,X -; libsrc/jitcore.pla: 1134: codeptr=>8 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1135: codeptr = codeptr + 10 -; libsrc/jitcore.pla: 1136: VX++ // INX - !BYTE $64,$13 ; LLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2A,$C1 ; CB 193 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $64,$13 ; LLB [19] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $2A,$A1 ; CB 161 - !BYTE $B2,$0E ; ADDLW [14] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1137: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1138: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1139: is $9E // IDXW -_B314 -; libsrc/jitcore.pla: 1140: //puts("IDXW") -; libsrc/jitcore.pla: 1141: if not A_IS_TOSL -; libsrc/jitcore.pla: 1142: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1143: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1144: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B315 - !WORD _B315-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B315 -_B316 -; libsrc/jitcore.pla: 1145: codeptr->0 = $0A // ASL -; libsrc/jitcore.pla: 1146: codeptr=>1 = estkh8+$36+(VX<<8) // ROL ESTKH,X -; libsrc/jitcore.pla: 1147: codeptr->3 = $18 // CLC -; libsrc/jitcore.pla: 1148: codeptr=>4 = estkl8+$75+$0100+(VX<<8) // ADC ESTKL+1,X -; libsrc/jitcore.pla: 1149: codeptr=>6 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1150: codeptr=>8 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1151: codeptr=>10 = estkh8+$75+$0100+(VX<<8) // ADC ESTKH+1,X -; libsrc/jitcore.pla: 1152: codeptr=>12 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1153: codeptr = codeptr + 14 -; libsrc/jitcore.pla: 1154: VX++ // INX - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$36,$A0 ; CW 41014 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$75,$C1 ; CW 49525 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$75,$A1 ; CW 41333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1155: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1156: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1157: is $A0 // BRGT - FOR/NEXT SPECIFIC TEST & BRANCH -_B317 -; libsrc/jitcore.pla: 1158: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1159: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1160: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1161: //puts("BRGT "); puti(dest) -; libsrc/jitcore.pla: 1162: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1163: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1164: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1165: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1166: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F023 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B318 - !WORD _B318-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B318 -_B319 -; libsrc/jitcore.pla: 1167: codeptr=>0 = estkl8+$B5+$0100//+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1168: codeptr=>2 = estkl8+$D5//+(VX<<8) // CMP ESTKL,X -; libsrc/jitcore.pla: 1169: codeptr=>4 = estkh8+$B5+$0100//+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1170: codeptr=>6 = estkh8+$F5//+(VX<<8) // SBC ESTKH -; libsrc/jitcore.pla: 1171: codeptr=>8 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1172: codeptr=>10 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1173: codeptr=>12 = $0310 // BPL +3 -; libsrc/jitcore.pla: 1174: codeptr->14 = $4C // JMP abs -; libsrc/jitcore.pla: 1175: codeptr=>15 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1176: if not (codeptr->16 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1177: addrxlate=>[dest] = codeptr + 15 - *jitcodeptr -; libsrc/jitcore.pla: 1178: fin - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$C0 ; CW 49365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$10,$03 ; CW 784 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B320 - !WORD _B320-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B320 -_B321 -; libsrc/jitcore.pla: 1179: codeptr = codeptr + 17 -; libsrc/jitcore.pla: 1180: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1181: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1182: is $A2 // BRLT - FOR/NEXT SPECIFIC TEST & BRANCH -_B322 -; libsrc/jitcore.pla: 1183: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1184: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1185: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1186: //puts("BRLT "); puti(dest) -; libsrc/jitcore.pla: 1187: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1188: if not A_IS_TOSL -; libsrc/jitcore.pla: 1189: *codeptr = estkl8+$B5//+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1190: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1191: elsif A_IS_TOSL & TOS_DIRTY - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F024 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B323 - !WORD _B323-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B324 - !WORD _B324-* -_B323 -; libsrc/jitcore.pla: 1192: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1193: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1194: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B325 - !WORD _B325-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B325 -_B324 -; libsrc/jitcore.pla: 1195: codeptr=>0 = estkl8+$D5+$0100//+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 1196: codeptr=>2 = estkh8+$B5//+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1197: codeptr=>4 = estkh8+$F5+$0100//+(VX<<8) // SBC ESTKH+1 -; libsrc/jitcore.pla: 1198: codeptr=>6 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1199: codeptr=>8 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1200: codeptr=>10 = $0310 // BPL +3 -; libsrc/jitcore.pla: 1201: codeptr->12 = $4C // JMP abs -; libsrc/jitcore.pla: 1202: codeptr=>13 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1203: if not (codeptr->14 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1204: addrxlate=>[dest] = codeptr + 13 - *jitcodeptr -; libsrc/jitcore.pla: 1205: fin - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A1 ; CW 41461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$10,$03 ; CW 784 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B326 - !WORD _B326-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B326 -_B327 -; libsrc/jitcore.pla: 1206: codeptr = codeptr + 15 -; libsrc/jitcore.pla: 1207: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1208: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1209: is $A4 // INCBRLE - FOR/NEXT SPECIFIC INC & TEST & BRANCH -_B328 -; libsrc/jitcore.pla: 1210: is $A6 // ADDBRLE - FOR/NEXT SPECIFIC ADD & TEST & BRANCH -_B329 -; libsrc/jitcore.pla: 1211: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1212: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1213: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1214: if not A_IS_TOSL -; libsrc/jitcore.pla: 1215: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1216: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1217: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B330 - !WORD _B330-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B330 -_B331 -; libsrc/jitcore.pla: 1218: if opcode == $A4 -; libsrc/jitcore.pla: 1219: // -; libsrc/jitcore.pla: 1220: // INCR -; libsrc/jitcore.pla: 1221: // -; libsrc/jitcore.pla: 1222: //puts("INCBRLE "); puti(dest) -; libsrc/jitcore.pla: 1223: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1224: codeptr=>1 = $0169 // ADC #$01 -; libsrc/jitcore.pla: 1225: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1226: codeptr=>5 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1227: codeptr=>7 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 1228: codeptr, VX = resolveX(codeptr + 9, VX) -; libsrc/jitcore.pla: 1229: else - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$A4 ; CB 164 - !BYTE $24 ; BRNE _B332 - !WORD _B332-* - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$69,$01 ; CW 361 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F025 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -_B332 -; libsrc/jitcore.pla: 1230: // -; libsrc/jitcore.pla: 1231: // ADD -; libsrc/jitcore.pla: 1232: // -; libsrc/jitcore.pla: 1233: //puts("ADDBRLE "); puti(dest) -; libsrc/jitcore.pla: 1234: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1235: codeptr=>1 = estkl8+$75+$0100+(VX<<8) // ADC ESTKL+1,X -; libsrc/jitcore.pla: 1236: codeptr=>3 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1237: codeptr=>5 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1238: codeptr=>7 = estkh8+$75+$0100+(VX<<8) // ADC ESTKH+1,X -; libsrc/jitcore.pla: 1239: codeptr=>9 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1240: codeptr, VX = resolveX(codeptr + 11, VX + 1) // INX -; libsrc/jitcore.pla: 1241: fin - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$75,$C1 ; CW 49525 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$75,$A1 ; CW 41333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F026 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] -_B333 -; libsrc/jitcore.pla: 1242: // -; libsrc/jitcore.pla: 1243: // BRLE -; libsrc/jitcore.pla: 1244: // -; libsrc/jitcore.pla: 1245: codeptr=>0 = estkl8+$B5+$0100//+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1246: codeptr=>2 = estkl8+$D5//+(VX<<8) // CMP ESTKL,X -; libsrc/jitcore.pla: 1247: codeptr=>4 = estkh8+$B5+$0100//+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1248: codeptr=>6 = estkh8+$F5//+(VX<<8) // SBC ESTKH -; libsrc/jitcore.pla: 1249: codeptr=>8 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1250: codeptr=>10 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1251: codeptr=>12 = $0330 // BMI +3 -; libsrc/jitcore.pla: 1252: codeptr->14 = $4C // JMP abs -; libsrc/jitcore.pla: 1253: codeptr=>15 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1254: if not (codeptr->16 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1255: addrxlate=>[dest] = codeptr + 15 - *jitcodeptr -; libsrc/jitcore.pla: 1256: fin - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$D5,$C0 ; CW 49365 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$30,$03 ; CW 816 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B334 - !WORD _B334-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B334 -_B335 -; libsrc/jitcore.pla: 1257: codeptr = codeptr + 17 -; libsrc/jitcore.pla: 1258: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1259: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1260: is $A8 // DECBRGR - FOR/NEXT SPECIFIC DEC & TEST & BRANCH -_B336 -; libsrc/jitcore.pla: 1261: is $AA // SUBBRGE - FOR/NEXT SPECIFIC SUB & TEST & BRANCH -_B337 -; libsrc/jitcore.pla: 1262: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1263: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1264: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1265: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1266: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1267: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1268: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B338 - !WORD _B338-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B338 -_B339 -; libsrc/jitcore.pla: 1269: if opcode == $A8 -; libsrc/jitcore.pla: 1270: // -; libsrc/jitcore.pla: 1271: // DECR -; libsrc/jitcore.pla: 1272: // -; libsrc/jitcore.pla: 1273: //puts("DECBRGE "); puti(dest) -; libsrc/jitcore.pla: 1274: if not A_IS_TOSL -; libsrc/jitcore.pla: 1275: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1276: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1277: fin - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B340 - !WORD _B340-* - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B342 - !WORD _B342-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B342 -_B343 -; libsrc/jitcore.pla: 1278: codeptr->0 = $38 // SEC -; libsrc/jitcore.pla: 1279: codeptr=>1 = $01E9 // SBC #$01 -; libsrc/jitcore.pla: 1280: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1281: codeptr=>5 = $02B0 // BCS +2 -; libsrc/jitcore.pla: 1282: codeptr=>7 = estkh8+$D6+(VX<<8) // DEC ESTKH,X -; libsrc/jitcore.pla: 1283: codeptr, VX = resolveX(codeptr + 9, VX) -; libsrc/jitcore.pla: 1284: else - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$E9,$01 ; CW 489 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B0,$02 ; CW 688 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$D6,$A0 ; CW 41174 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F027 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B341 - !WORD _B341-* -_B340 -; libsrc/jitcore.pla: 1285: // -; libsrc/jitcore.pla: 1286: // SUB -; libsrc/jitcore.pla: 1287: // -; libsrc/jitcore.pla: 1288: //puts("SUBBRGE "); puti(dest) -; libsrc/jitcore.pla: 1289: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1290: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1291: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1292: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B344 - !WORD _B344-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B344 -_B345 -; libsrc/jitcore.pla: 1293: codeptr=>0 = estkl8+$B5+$0100+(VX<<8) // LDA ESTKL+1,X -; libsrc/jitcore.pla: 1294: codeptr->2 = $38 // SEC -; libsrc/jitcore.pla: 1295: codeptr=>3 = estkl8+$F5+(VX<<8) // SBC ESTKL,X -; libsrc/jitcore.pla: 1296: codeptr=>5 = estkl8+$95+$0100+(VX<<8) // STA ESTKL+1,X -; libsrc/jitcore.pla: 1297: codeptr=>7 = estkh8+$B5+$0100+(VX<<8) // LDA ESTKH+1,X -; libsrc/jitcore.pla: 1298: codeptr=>9 = estkh8+$F5+(VX<<8) // SBC ESTKH,X -; libsrc/jitcore.pla: 1299: codeptr=>11 = estkh8+$95+$0100+(VX<<8) // STA ESTKH+1,X -; libsrc/jitcore.pla: 1300: codeptr, VX = resolveX(codeptr + 13, VX + 1) // INX -; libsrc/jitcore.pla: 1301: *codeptr = estkl8+$B5//+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1302: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1303: fin - !BYTE $2C,$B5,$C1 ; CW 49589 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$F5,$C0 ; CW 49397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$95,$C1 ; CW 49557 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A1 ; CW 41397 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A0 ; CW 41205 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$95,$A1 ; CW 41365 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C000 -_F028 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B341 -; libsrc/jitcore.pla: 1304: // -; libsrc/jitcore.pla: 1305: // BRGE -; libsrc/jitcore.pla: 1306: // -; libsrc/jitcore.pla: 1307: codeptr=>0 = estkl8+$D5+$0100//+(VX<<8) // CMP ESTKL+1,X -; libsrc/jitcore.pla: 1308: codeptr=>2 = estkh8+$B5//+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1309: codeptr=>4 = estkh8+$F5+$0100//+(VX<<8) // SBC ESTKH+1,X -; libsrc/jitcore.pla: 1310: codeptr=>6 = $0250 // BVC +2 -; libsrc/jitcore.pla: 1311: codeptr=>8 = $8049 // EOR #$80 -; libsrc/jitcore.pla: 1312: codeptr=>10 = $0330 // BMI +3 -; libsrc/jitcore.pla: 1313: codeptr->12 = $4C // JMP abs -; libsrc/jitcore.pla: 1314: codeptr=>13 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1315: if not (codeptr->14 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1316: addrxlate=>[dest] = codeptr + 13 - *jitcodeptr -; libsrc/jitcore.pla: 1317: fin - !BYTE $2C,$D5,$C1 ; CW 49621 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2C,$F5,$A1 ; CW 41461 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$50,$02 ; CW 592 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$49,$80 ; CW 32841 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$30,$03 ; CW 816 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B346 - !WORD _B346-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B346 -_B347 -; libsrc/jitcore.pla: 1318: codeptr = codeptr + 15 -; libsrc/jitcore.pla: 1319: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1320: break - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1321: is $AC // BRAND - LOGICAL AND SPECIFIC BRANCH -_B348 -; libsrc/jitcore.pla: 1322: is $AE // BROR - LOGICAL OR SPECIFIC BRANCH -_B349 -; libsrc/jitcore.pla: 1323: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1324: dest = i + *(bytecode+i) -; libsrc/jitcore.pla: 1325: i++ - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1326: codeptr, VX = resolveX(codeptr, VX) -; libsrc/jitcore.pla: 1327: if not A_IS_TOSL -; libsrc/jitcore.pla: 1328: *codeptr = estkl8+$B5//+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1329: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1330: elsif A_IS_TOSL & TOS_DIRTY - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C000 -_F029 !WORD _C000 - !BYTE $76,$0E ; SLW [14] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B350 - !WORD _B350-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B351 - !WORD _B351-* -_B350 -; libsrc/jitcore.pla: 1331: *codeptr = estkl8+$95//+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1332: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1333: fin - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B352 - !WORD _B352-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B352 -_B351 -; libsrc/jitcore.pla: 1334: codeptr=>0 = estkh8+$15//+(VX<<8) // ORA ESTKH,X -; libsrc/jitcore.pla: 1335: if opcode == $AC -; libsrc/jitcore.pla: 1336: //puts("BRAND "); puti(dest) -; libsrc/jitcore.pla: 1337: codeptr=>2 = $03D0 // BNE +3 -; libsrc/jitcore.pla: 1338: else - !BYTE $2C,$15,$A0 ; CW 40981 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$AC ; CB 172 - !BYTE $24 ; BRNE _B353 - !WORD _B353-* - !BYTE $2C,$D0,$03 ; CW 976 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B354 - !WORD _B354-* -_B353 -; libsrc/jitcore.pla: 1339: //puts("BROR "); puti(dest) -; libsrc/jitcore.pla: 1340: codeptr=>2 = $03F0 // BEQ +3 -; libsrc/jitcore.pla: 1341: fin - !BYTE $2C,$F0,$03 ; CW 1008 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B354 -; libsrc/jitcore.pla: 1342: codeptr->4 = $4C // JMP abs -; libsrc/jitcore.pla: 1343: codeptr=>5 = addrxlate=>[dest] -; libsrc/jitcore.pla: 1344: if not (codeptr->6 & $80) // Unresolved address list -; libsrc/jitcore.pla: 1345: addrxlate=>[dest] = codeptr + 5 - *jitcodeptr -; libsrc/jitcore.pla: 1346: fin - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B355 - !WORD _B355-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $BA,$0C ; IDXLW [12] - !BYTE $72 ; SW -_B355 -_B356 -; libsrc/jitcore.pla: 1347: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 1348: VX++ // INX - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$0E ; LLW [14] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1349: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1350: break - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1351: is $B0 // ADDLB -_B357 -; libsrc/jitcore.pla: 1352: is $B2 // ADDLW -_B358 -; libsrc/jitcore.pla: 1353: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1354: j = ^(bytecode+i) -; libsrc/jitcore.pla: 1355: if not A_IS_TOSL -; libsrc/jitcore.pla: 1356: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1357: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1358: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B359 - !WORD _B359-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B359 -_B360 -; libsrc/jitcore.pla: 1359: if VY <> j -; libsrc/jitcore.pla: 1360: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 1361: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1362: VY = j -; libsrc/jitcore.pla: 1363: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B361 - !WORD _B361-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $76,$10 ; SLW [16] -_B361 -_B362 -; libsrc/jitcore.pla: 1364: codeptr->0 = $18 // CLC -; libsrc/jitcore.pla: 1365: codeptr=>1 = ifpl8+$71 // ADC (IFP),Y -; libsrc/jitcore.pla: 1366: if opcode == $B0 -; libsrc/jitcore.pla: 1367: //puts("ADDLB "); puti(j) -; libsrc/jitcore.pla: 1368: codeptr=>3 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1369: codeptr=>5 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 1370: codeptr = codeptr + 7 -; libsrc/jitcore.pla: 1371: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 1372: else - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$71,$E0 ; CW 57457 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$B0 ; CB 176 - !BYTE $24 ; BRNE _B363 - !WORD _B363-* - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B364 - !WORD _B364-* -_B363 -; libsrc/jitcore.pla: 1373: //puts("ADDLW "); puti(j) -; libsrc/jitcore.pla: 1374: codeptr=>3 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1375: codeptr=>5 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1376: codeptr->7 = $C8 // INY -; libsrc/jitcore.pla: 1377: codeptr=>8 = ifpl8+$71 // ADC (IFP),Y -; libsrc/jitcore.pla: 1378: codeptr=>10 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1379: codeptr = codeptr + 12 -; libsrc/jitcore.pla: 1380: VY++ - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB - !BYTE $2C,$71,$E0 ; CW 57457 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$10 ; LLW [16] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1381: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1382: fin - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] -_B364 -; libsrc/jitcore.pla: 1383: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1384: is $B4 // ADDAB -_B365 -; libsrc/jitcore.pla: 1385: is $B6 // ADDAW -_B366 -; libsrc/jitcore.pla: 1386: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 1387: i = i + 2 -; libsrc/jitcore.pla: 1388: if not A_IS_TOSL -; libsrc/jitcore.pla: 1389: *codeptr = estkl8+$B5+(VX<<8) // LDA ESTKL,X -; libsrc/jitcore.pla: 1390: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1391: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $4E ; BRTRU _B367 - !WORD _B367-* - !BYTE $2C,$B5,$C0 ; CW 49333 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B367 -_B368 -; libsrc/jitcore.pla: 1392: codeptr=>0 = $6D18 // CLC; ADC abs -; libsrc/jitcore.pla: 1393: codeptr=>2 = dest -; libsrc/jitcore.pla: 1394: if opcode == $B4 -; libsrc/jitcore.pla: 1395: //puts("ADDAB $"); puth(dest) -; libsrc/jitcore.pla: 1396: codeptr=>4 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1397: codeptr=>6 = estkh8+$F6+(VX<<8) // INC ESTKH,X -; libsrc/jitcore.pla: 1398: codeptr = codeptr + 8 -; libsrc/jitcore.pla: 1399: A_IS_TOSL = TOS_DIRTY // STA ESTKL,X -; libsrc/jitcore.pla: 1400: else - !BYTE $2C,$18,$6D ; CW 27928 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $64,$12 ; LLB [18] - !BYTE $2A,$B4 ; CB 180 - !BYTE $24 ; BRNE _B369 - !WORD _B369-* - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$F6,$A0 ; CW 41206 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B370 - !WORD _B370-* -_B369 -; libsrc/jitcore.pla: 1401: //puts("ADDAW $"); puth(dest) -; libsrc/jitcore.pla: 1402: codeptr=>4 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1403: codeptr=>6 = estkh8+$B5+(VX<<8) // LDA ESTKH,X -; libsrc/jitcore.pla: 1404: codeptr->8 = $6D // ADC abs -; libsrc/jitcore.pla: 1405: codeptr=>9 = dest+1 -; libsrc/jitcore.pla: 1406: codeptr=>11 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1407: codeptr = codeptr + 13 -; libsrc/jitcore.pla: 1408: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1409: fin - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$B5,$A0 ; CW 41141 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2A,$6D ; CB 109 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] -_B370 -; libsrc/jitcore.pla: 1410: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1411: is $B8 // IDXLB -_B371 -; libsrc/jitcore.pla: 1412: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1413: j = ^(bytecode+i) -; libsrc/jitcore.pla: 1414: //puts("IDXLB "); puti(j) -; libsrc/jitcore.pla: 1415: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1416: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1417: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1418: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B372 - !WORD _B372-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B372 -_B373 -; libsrc/jitcore.pla: 1419: if VY <> j -; libsrc/jitcore.pla: 1420: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 1421: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1422: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B374 - !WORD _B374-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B374 -_B375 -; libsrc/jitcore.pla: 1423: *codeptr = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 1424: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1425: if j <> 0 -; libsrc/jitcore.pla: 1426: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 1427: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1428: fin - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$13 ; LLB [19] - !BYTE $4C ; BRFLS _B376 - !WORD _B376-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B376 -_B377 -; libsrc/jitcore.pla: 1429: codeptr->0 = $0A // ASL -; libsrc/jitcore.pla: 1430: codeptr=>1 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1431: codeptr=>3 = $18C8 // INY; CLC -; libsrc/jitcore.pla: 1432: codeptr=>5 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1433: codeptr=>7 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1434: codeptr->9 = $98 // TYA -; libsrc/jitcore.pla: 1435: codeptr=>10 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1436: codeptr=>12 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1437: codeptr = codeptr + 14 -; libsrc/jitcore.pla: 1438: VY = UNKNOWN -; libsrc/jitcore.pla: 1439: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1440: break - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $2C,$C8,$18 ; CW 6344 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1441: is $BA // IDXLW -_B378 -; libsrc/jitcore.pla: 1442: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1443: j = ^(bytecode+i) -; libsrc/jitcore.pla: 1444: //puts("IDXLW "); puti(j) -; libsrc/jitcore.pla: 1445: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1446: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1447: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1448: fin - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $60 ; LB - !BYTE $74,$13 ; SLB [19] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B379 - !WORD _B379-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B379 -_B380 -; libsrc/jitcore.pla: 1449: if VY <> j -; libsrc/jitcore.pla: 1450: *codeptr = $A0+(j<<8) // LDY #imm -; libsrc/jitcore.pla: 1451: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1452: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $64,$13 ; LLB [19] - !BYTE $22 ; BREQ _B381 - !WORD _B381-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $64,$13 ; LLB [19] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B381 -_B382 -; libsrc/jitcore.pla: 1453: codeptr=>0 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 1454: codeptr->2 = $0A // ASL -; libsrc/jitcore.pla: 1455: codeptr=>3 = tmpl8+$85 // STA $E7:TMPL -; libsrc/jitcore.pla: 1456: codeptr->5 = $C8 // INY -; libsrc/jitcore.pla: 1457: codeptr=>6 = ifpl8+$B1 // LDA (IFP),Y -; libsrc/jitcore.pla: 1458: codeptr=>8 = $A82A // ROL; TAY -; libsrc/jitcore.pla: 1459: codeptr=>10 = tmpl8+$A5 // LDA $E7:TMPL -; libsrc/jitcore.pla: 1460: codeptr->12 = $18 // CLC -; libsrc/jitcore.pla: 1461: codeptr=>13 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1462: codeptr=>15 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1463: codeptr->17 = $98 // TYA -; libsrc/jitcore.pla: 1464: codeptr=>18 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1465: codeptr=>20 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1466: codeptr = codeptr + 22 -; libsrc/jitcore.pla: 1467: VY = UNKNOWN -; libsrc/jitcore.pla: 1468: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1469: break - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $2A,$C8 ; CB 200 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $2C,$B1,$E0 ; CW 57521 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$2A,$A8 ; CW 43050 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$A5,$E7 ; CW 59301 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$14 ; ADDI 20 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$16 ; ADDI 22 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1470: is $BC // IDXAB -_B383 -; libsrc/jitcore.pla: 1471: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 1472: i = i + 2 -; libsrc/jitcore.pla: 1473: //puts("IDXAB $"); puth(*(bytecode+i)) -; libsrc/jitcore.pla: 1474: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1475: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1476: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1477: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B384 - !WORD _B384-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B384 -_B385 -; libsrc/jitcore.pla: 1478: if VY <> 0 -; libsrc/jitcore.pla: 1479: *codeptr = $00A0 // LDY #$00 -; libsrc/jitcore.pla: 1480: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1481: fin - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B386 - !WORD _B386-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B386 -_B387 -; libsrc/jitcore.pla: 1482: codeptr->0 = $AD // LDA abs -; libsrc/jitcore.pla: 1483: codeptr=>1 = dest -; libsrc/jitcore.pla: 1484: codeptr->3 = $0A // ASL -; libsrc/jitcore.pla: 1485: codeptr=>4 = $0290 // BCC +2 -; libsrc/jitcore.pla: 1486: codeptr=>6 = $18C8 // INY; CLC -; libsrc/jitcore.pla: 1487: codeptr=>8 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1488: codeptr=>10 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1489: codeptr->12 = $98 // TYA -; libsrc/jitcore.pla: 1490: codeptr=>13 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1491: codeptr=>15 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1492: codeptr = codeptr + 17 -; libsrc/jitcore.pla: 1493: VY = UNKNOWN -; libsrc/jitcore.pla: 1494: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1495: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$90,$02 ; CW 656 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2C,$C8,$18 ; CW 6344 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$08 ; ADDI 8 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0A ; ADDI 10 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0C ; ADDI 12 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0F ; ADDI 15 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$11 ; ADDI 17 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1496: is $BE // IDXAW -_B388 -; libsrc/jitcore.pla: 1497: dest = *(bytecode+i+1) -; libsrc/jitcore.pla: 1498: i = i + 2 -; libsrc/jitcore.pla: 1499: //puts("IDXAW $"); puth(dest) -; libsrc/jitcore.pla: 1500: if A_IS_TOSL & TOS_DIRTY -; libsrc/jitcore.pla: 1501: *codeptr = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1502: codeptr = codeptr + 2 -; libsrc/jitcore.pla: 1503: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B389 - !WORD _B389-* - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] -_B389 -_B390 -; libsrc/jitcore.pla: 1504: codeptr->0 = $AD // LDA abs -; libsrc/jitcore.pla: 1505: codeptr=>1 = dest -; libsrc/jitcore.pla: 1506: codeptr->3 = $0A // ASL -; libsrc/jitcore.pla: 1507: codeptr=>4 = tmpl8+$85 // STA $E7:TMPL -; libsrc/jitcore.pla: 1508: codeptr->6 = $AD // LDA abs+1 -; libsrc/jitcore.pla: 1509: codeptr=>7 = dest+1 -; libsrc/jitcore.pla: 1510: codeptr=>9 = $A82A // ROL; TAY -; libsrc/jitcore.pla: 1511: codeptr=>11 = tmpl8+$A5 // LDA $E7:TMPL -; libsrc/jitcore.pla: 1512: codeptr->13 = $18 // CLC -; libsrc/jitcore.pla: 1513: codeptr=>14 = estkl8+$75+(VX<<8) // ADC ESTKL,X -; libsrc/jitcore.pla: 1514: codeptr=>16 = estkl8+$95+(VX<<8) // STA ESTKL,X -; libsrc/jitcore.pla: 1515: codeptr->18 = $98 // TYA -; libsrc/jitcore.pla: 1516: codeptr=>19 = estkh8+$75+(VX<<8) // ADC ESTKH,X -; libsrc/jitcore.pla: 1517: codeptr=>21 = estkh8+$95+(VX<<8) // STA ESTKH,X -; libsrc/jitcore.pla: 1518: codeptr = codeptr + 23 -; libsrc/jitcore.pla: 1519: VY = UNKNOWN -; libsrc/jitcore.pla: 1520: A_IS_TOSL = FALSE -; libsrc/jitcore.pla: 1521: break - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $14 ; CN 10 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $2C,$85,$E7 ; CW 59269 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $2A,$AD ; CB 173 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $2C,$2A,$A8 ; CW 43050 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$09 ; ADDI 9 - !BYTE $72 ; SW - !BYTE $2C,$A5,$E7 ; CW 59301 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0B ; ADDI 11 - !BYTE $72 ; SW - !BYTE $2A,$18 ; CB 24 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0D ; ADDI 13 - !BYTE $70 ; SB - !BYTE $2C,$75,$C0 ; CW 49269 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$0E ; ADDI 14 - !BYTE $72 ; SW - !BYTE $2C,$95,$C0 ; CW 49301 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$10 ; ADDI 16 - !BYTE $72 ; SW - !BYTE $2A,$98 ; CB 152 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$12 ; ADDI 18 - !BYTE $70 ; SB - !BYTE $2C,$75,$A0 ; CW 41077 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$13 ; ADDI 19 - !BYTE $72 ; SW - !BYTE $2C,$95,$A0 ; CW 41109 - !BYTE $66,$0E ; LLW [14] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$15 ; ADDI 21 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$17 ; ADDI 23 - !BYTE $76,$02 ; SLW [2] - !BYTE $20 ; MINUS ONE - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$14 ; SLB [20] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1522: is $FE // NOPed out earlier by SELect -_B391 -; libsrc/jitcore.pla: 1523: break - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -; libsrc/jitcore.pla: 1524: otherwise -_B089 - !BYTE $4F ; CASEBLOCK - !WORD $0020 - !WORD _B090-* - !WORD $0022 - !WORD _B093-* - !WORD $0024 - !WORD _B094-* - !WORD $0026 - !WORD _B101-* - !WORD $0028 - !WORD _B105-* - !WORD $002A - !WORD _B112-* - !WORD $002C - !WORD _B102-* - !WORD $002E - !WORD _B120-* - !WORD $0030 - !WORD _B126-* - !WORD $0032 - !WORD _B125-* - !WORD $0034 - !WORD _B127-* - !WORD $0038 - !WORD _B131-* - !WORD $003A - !WORD _B137-* - !WORD $003C - !WORD _B143-* - !WORD $003E - !WORD _B148-* - !WORD $0040 - !WORD _B151-* - !WORD $0042 - !WORD _B152-* - !WORD $0044 - !WORD _B159-* - !WORD $0046 - !WORD _B167-* - !WORD $0048 - !WORD _B168-* - !WORD $004A - !WORD _B160-* - !WORD $004C - !WORD _B175-* - !WORD $004E - !WORD _B176-* - !WORD $0050 - !WORD _B183-* - !WORD $0052 - !WORD _B188-* - !WORD $0054 - !WORD _B200-* - !WORD $0056 - !WORD _B203-* - !WORD $005A - !WORD _B206-* - !WORD $005C - !WORD _B209-* - !WORD $005E - !WORD _B113-* - !WORD $0060 - !WORD _B212-* - !WORD $0062 - !WORD _B217-* - !WORD $0064 - !WORD _B220-* - !WORD $0066 - !WORD _B227-* - !WORD $0068 - !WORD _B232-* - !WORD $006A - !WORD _B233-* - !WORD $006C - !WORD _B240-* - !WORD $006E - !WORD _B247-* - !WORD $0070 - !WORD _B252-* - !WORD $0072 - !WORD _B253-* - !WORD $0074 - !WORD _B258-* - !WORD $0076 - !WORD _B259-* - !WORD $0078 - !WORD _B266-* - !WORD $007A - !WORD _B267-* - !WORD $007C - !WORD _B272-* - !WORD $007E - !WORD _B273-* - !WORD $0080 - !WORD _B280-* - !WORD $0082 - !WORD _B283-* - !WORD $0084 - !WORD _B286-* - !WORD $0086 - !WORD _B289-* - !WORD $0088 - !WORD _B290-* - !WORD $008A - !WORD _B291-* - !WORD $008C - !WORD _B132-* - !WORD $008E - !WORD _B138-* - !WORD $0090 - !WORD _B296-* - !WORD $0092 - !WORD _B301-* - !WORD $0094 - !WORD _B304-* - !WORD $0096 - !WORD _B305-* - !WORD $0098 - !WORD _B306-* - !WORD $009A - !WORD _B292-* - !WORD $009C - !WORD _B293-* - !WORD $009E - !WORD _B314-* - !WORD $00A0 - !WORD _B317-* - !WORD $00A2 - !WORD _B322-* - !WORD $00A4 - !WORD _B328-* - !WORD $00A6 - !WORD _B329-* - !WORD $00A8 - !WORD _B336-* - !WORD $00AA - !WORD _B337-* - !WORD $00AC - !WORD _B348-* - !WORD $00AE - !WORD _B349-* - !WORD $00B0 - !WORD _B357-* - !WORD $00B2 - !WORD _B358-* - !WORD $00B4 - !WORD _B365-* - !WORD $00B6 - !WORD _B366-* - !WORD $00B8 - !WORD _B371-* - !WORD $00BA - !WORD _B378-* - !WORD $00BC - !WORD _B383-* - !WORD $00BE - !WORD _B388-* - !WORD $00FE - !WORD _B391-* -; libsrc/jitcore.pla: 1525: //puts("???: $"); puth(^(bytecode+i)); putln -; libsrc/jitcore.pla: 1526: wend -_B088 -; libsrc/jitcore.pla: 1527: fin -_B081 -; libsrc/jitcore.pla: 1528: //putln -; libsrc/jitcore.pla: 1529: i++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; libsrc/jitcore.pla: 1530: if i >= defptr->bytecodesize -; libsrc/jitcore.pla: 1531: // -; libsrc/jitcore.pla: 1532: // Done compiling. Update DEF entry with JMP to compiled code -; libsrc/jitcore.pla: 1533: // -; libsrc/jitcore.pla: 1534: defptr->interpjsr = $4C // JMP -; libsrc/jitcore.pla: 1535: defptr=>interpaddr = *jitcodeptr -; libsrc/jitcore.pla: 1536: *jitcodeptr = codeptr -; libsrc/jitcore.pla: 1537: //puts("Done compiling: $"); puth(defptr=>interpaddr) -; libsrc/jitcore.pla: 1538: //puts("->$"); puth(*jitcodeptr); putln -; libsrc/jitcore.pla: 1539: //getc -; libsrc/jitcore.pla: 1540: return - !BYTE $6E,$08 ; DLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B392 - !WORD _B392-* - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $6A,$F4,$A0 ; LAW 41204 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A,$F4,$A0 ; SAW 41204 - !BYTE $5A,$15 ; LEAVE 21 -; libsrc/jitcore.pla: 1541: fin -_B392 -_B393 -; libsrc/jitcore.pla: 1542: loop -_B070 - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$00,$A0 ; CW 40960 - !BYTE $54 ; CALL _X027 -_F030 !WORD 0 - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* -_B069 -; libsrc/jitcore.pla: 1543: // -; libsrc/jitcore.pla: 1544: // If we got here we ran out of code buffer space. -; libsrc/jitcore.pla: 1545: // -; libsrc/jitcore.pla: 1546: //puts("Ran out of code buffer\n") -; libsrc/jitcore.pla: 1547: //getc -; libsrc/jitcore.pla: 1548: end - !BYTE $5A,$15 ; LEAVE 21 -; vmsrc/apple/soscmdjit.pla: 0080: -; vmsrc/apple/soscmdjit.pla: 0081: // -; vmsrc/apple/soscmdjit.pla: 0082: // SOS routines -; vmsrc/apple/soscmdjit.pla: 0083: // FILE I/O -; vmsrc/apple/soscmdjit.pla: 0084: // -; vmsrc/apple/soscmdjit.pla: 0085: def getpfx(path)#1 - ; path -> [0] -_C002 ; getpfx() -; vmsrc/apple/soscmdjit.pla: 0086: byte params[4] - ; params -> [2] -; vmsrc/apple/soscmdjit.pla: 0087: -; vmsrc/apple/soscmdjit.pla: 0088: ^path = 0 - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/soscmdjit.pla: 0089: params.0 = 2 -; vmsrc/apple/soscmdjit.pla: 0090: params:1 = path -; vmsrc/apple/soscmdjit.pla: 0091: params.3 = 128 -; vmsrc/apple/soscmdjit.pla: 0092: syscall($C7, @params) -; vmsrc/apple/soscmdjit.pla: 0093: return path - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$05 ; SLB [5] - !BYTE $2A,$C7 ; CB 199 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F031 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/soscmdjit.pla: 0094: end -; vmsrc/apple/soscmdjit.pla: 0095: def setpfx(path)#1 - ; path -> [0] -_C003 ; setpfx() -; vmsrc/apple/soscmdjit.pla: 0096: byte params[6] - ; params -> [2] -; vmsrc/apple/soscmdjit.pla: 0097: byte fileinfo[2] - ; fileinfo -> [8] -; vmsrc/apple/soscmdjit.pla: 0098: -; vmsrc/apple/soscmdjit.pla: 0099: params.0 = 3 - !BYTE $58,$0A,$01 ; ENTER 10,1 -; vmsrc/apple/soscmdjit.pla: 0100: params:1 = path -; vmsrc/apple/soscmdjit.pla: 0101: params:3 = @fileinfo -; vmsrc/apple/soscmdjit.pla: 0102: params.5 = 2 -; vmsrc/apple/soscmdjit.pla: 0103: if not syscall($C4, @params) and (fileinfo.1 == $00 or fileinfo.1 == $0F) // Make sure it's a directory -; vmsrc/apple/soscmdjit.pla: 0104: params.0 = 1 -; vmsrc/apple/soscmdjit.pla: 0105: params:1 = path -; vmsrc/apple/soscmdjit.pla: 0106: syscall($C6, @params) -; vmsrc/apple/soscmdjit.pla: 0107: else - !BYTE $06 ; CN 3 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $28,$08 ; LLA [8] - !BYTE $76,$05 ; SLW [5] - !BYTE $04 ; CN 2 - !BYTE $74,$07 ; SLB [7] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F032 !WORD 0 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B394 - !WORD _B394-* - !BYTE $64,$09 ; LLB [9] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B395 - !WORD _B395-* - !BYTE $64,$09 ; LLB [9] - !BYTE $1E ; CN 15 - !BYTE $40 ; ISEQ -_B395 -_B394 - !BYTE $4C ; BRFLS _B396 - !WORD _B396-* - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $2A,$C6 ; CB 198 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X011 -_F033 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B397 - !WORD _B397-* -_B396 -; vmsrc/apple/soscmdjit.pla: 0108: getpfx(path) // Get current path -; vmsrc/apple/soscmdjit.pla: 0109: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F034 !WORD _C002 - !BYTE $30 ; DROP -_B397 -; vmsrc/apple/soscmdjit.pla: 0110: return path - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/soscmdjit.pla: 0111: end -; vmsrc/apple/soscmdjit.pla: 0112: def dev_info(devnum, name, list, listlen)#1 - ; devnum -> [0] - ; name -> [2] - ; list -> [4] - ; listlen -> [6] -_C004 ; dev_info() -; vmsrc/apple/soscmdjit.pla: 0113: byte params[7] - ; params -> [8] -; vmsrc/apple/soscmdjit.pla: 0114: -; vmsrc/apple/soscmdjit.pla: 0115: params.0 = 4 - !BYTE $58,$0F,$04 ; ENTER 15,4 -; vmsrc/apple/soscmdjit.pla: 0116: params.1 = devnum -; vmsrc/apple/soscmdjit.pla: 0117: params:2 = name -; vmsrc/apple/soscmdjit.pla: 0118: params:4 = list -; vmsrc/apple/soscmdjit.pla: 0119: params.6 = listlen -; vmsrc/apple/soscmdjit.pla: 0120: return syscall($85, @params) - !BYTE $08 ; CN 4 - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$09 ; SLB [9] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$06 ; LLW [6] - !BYTE $74,$0E ; SLB [14] - !BYTE $2A,$85 ; CB 133 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _X011 -_F035 !WORD 0 - !BYTE $5A,$0F ; LEAVE 15 -; vmsrc/apple/soscmdjit.pla: 0121: end -; vmsrc/apple/soscmdjit.pla: 0122: def volume(devname, volname)#1 - ; devname -> [0] - ; volname -> [2] -_C005 ; volume() -; vmsrc/apple/soscmdjit.pla: 0123: byte params[9] - ; params -> [4] -; vmsrc/apple/soscmdjit.pla: 0124: -; vmsrc/apple/soscmdjit.pla: 0125: params.0 = 4 - !BYTE $58,$0D,$02 ; ENTER 13,2 -; vmsrc/apple/soscmdjit.pla: 0126: params:1 = devname -; vmsrc/apple/soscmdjit.pla: 0127: params:3 = volname -; vmsrc/apple/soscmdjit.pla: 0128: params:5 = 0 -; vmsrc/apple/soscmdjit.pla: 0129: params:7 = 0 -; vmsrc/apple/soscmdjit.pla: 0130: return syscall($C5, @params) - !BYTE $08 ; CN 4 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$07 ; SLW [7] - !BYTE $00 ; CN 0 - !BYTE $76,$09 ; SLW [9] - !BYTE $00 ; CN 0 - !BYTE $76,$0B ; SLW [11] - !BYTE $2A,$C5 ; CB 197 - !BYTE $28,$04 ; LLA [4] - !BYTE $54 ; CALL _X011 -_F036 !WORD 0 - !BYTE $5A,$0D ; LEAVE 13 -; vmsrc/apple/soscmdjit.pla: 0131: end -; vmsrc/apple/soscmdjit.pla: 0132: // -; vmsrc/apple/soscmdjit.pla: 0133: // Command mode -; vmsrc/apple/soscmdjit.pla: 0134: // -; vmsrc/apple/soscmdjit.pla: 0135: def volumes()#0 -_C006 ; volumes() -; vmsrc/apple/soscmdjit.pla: 0136: byte info[11] - ; info -> [0] -; vmsrc/apple/soscmdjit.pla: 0137: byte devname[17] - ; devname -> [11] -; vmsrc/apple/soscmdjit.pla: 0138: byte volname[17] - ; volname -> [28] -; vmsrc/apple/soscmdjit.pla: 0139: byte i - ; i -> [45] -; vmsrc/apple/soscmdjit.pla: 0140: -; vmsrc/apple/soscmdjit.pla: 0141: for i = $01 to $18 - !BYTE $58,$2E,$00 ; ENTER 46,0 - !BYTE $2A,$18 ; CB 24 - !BYTE $02 ; CN 1 -_B399 - !BYTE $6C,$2D ; DLB [45] -; vmsrc/apple/soscmdjit.pla: 0142: if dev_info(i, @devname, @info, 11) == 0 -; vmsrc/apple/soscmdjit.pla: 0143: puts(@devname) -; vmsrc/apple/soscmdjit.pla: 0144: if volume(@devname, @volname) == 0 -; vmsrc/apple/soscmdjit.pla: 0145: puts(" => /") - !BYTE $64,$2D ; LLB [45] - !BYTE $28,$0B ; LLA [11] - !BYTE $28,$00 ; LLA [0] - !BYTE $16 ; CN 11 - !BYTE $54 ; CALL _C004 -_F037 !WORD _C004 - !BYTE $4E ; BRTRU _B401 - !WORD _B401-* - !BYTE $28,$0B ; LLA [11] - !BYTE $54 ; CALL _X004 -_F038 !WORD 0 - !BYTE $28,$0B ; LLA [11] - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _C005 -_F039 !WORD _C005 - !BYTE $4E ; BRTRU _B403 - !WORD _B403-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$3D,$3E,$20,$2F - !BYTE $54 ; CALL _X004 -_F040 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0146: puts(@volname) -; vmsrc/apple/soscmdjit.pla: 0147: putc('/') -; vmsrc/apple/soscmdjit.pla: 0148: fin - !BYTE $28,$1C ; LLA [28] - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F042 !WORD 0 -_B403 -_B404 -; vmsrc/apple/soscmdjit.pla: 0149: putln -; vmsrc/apple/soscmdjit.pla: 0150: fin - !BYTE $54 ; CALL _X003 -_F043 !WORD 0 -_B401 -_B402 -; vmsrc/apple/soscmdjit.pla: 0151: next -_B400 - !BYTE $A4 ; INCBRLE _B399 - !WORD _B399-* -_B398 - !BYTE $74,$2D ; SLB [45] - !BYTE $30 ; DROP -; vmsrc/apple/soscmdjit.pla: 0152: end - !BYTE $5A,$2E ; LEAVE 46 -; vmsrc/apple/soscmdjit.pla: 0153: def catalog(path)#0 - ; path -> [0] -_C007 ; catalog() -; vmsrc/apple/soscmdjit.pla: 0154: byte refnum - ; refnum -> [2] -; vmsrc/apple/soscmdjit.pla: 0155: byte firstblk - ; firstblk -> [3] -; vmsrc/apple/soscmdjit.pla: 0156: byte entrylen, entriesblk - ; entrylen -> [4] - ; entriesblk -> [5] -; vmsrc/apple/soscmdjit.pla: 0157: byte i, type, len - ; i -> [6] - ; type -> [7] - ; len -> [8] -; vmsrc/apple/soscmdjit.pla: 0158: word entry, catptr - ; entry -> [9] - ; catptr -> [11] -; vmsrc/apple/soscmdjit.pla: 0159: -; vmsrc/apple/soscmdjit.pla: 0160: if !^path - !BYTE $58,$0D,$01 ; ENTER 13,1 -; vmsrc/apple/soscmdjit.pla: 0161: getpfx(path) -; vmsrc/apple/soscmdjit.pla: 0162: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B405 - !WORD _B405-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F044 !WORD _C002 - !BYTE $30 ; DROP -_B405 -_B406 -; vmsrc/apple/soscmdjit.pla: 0163: refnum = cmdsys:sysopen(path) -; vmsrc/apple/soscmdjit.pla: 0164: if not refnum -; vmsrc/apple/soscmdjit.pla: 0165: return - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X000+8 -_F045 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6C,$02 ; DLB [2] - !BYTE $4E ; BRTRU _B407 - !WORD _B407-* - !BYTE $5A,$0D ; LEAVE 13 -; vmsrc/apple/soscmdjit.pla: 0166: fin -_B407 -_B408 -; vmsrc/apple/soscmdjit.pla: 0167: catptr = heapmark -; vmsrc/apple/soscmdjit.pla: 0168: firstblk = 1 -; vmsrc/apple/soscmdjit.pla: 0169: while cmdsys:sysread(refnum, catptr, 512) == 512 - !BYTE $54 ; CALL _X012 -_F046 !WORD 0 - !BYTE $76,$0B ; SLW [11] - !BYTE $02 ; CN 1 - !BYTE $74,$03 ; SLB [3] - !BYTE $50 ; BRNCH _B411 - !WORD _B411-* -_B409 -; vmsrc/apple/soscmdjit.pla: 0170: entry = catptr + 4 -; vmsrc/apple/soscmdjit.pla: 0171: if firstblk -; vmsrc/apple/soscmdjit.pla: 0172: entrylen = catptr->$23 -; vmsrc/apple/soscmdjit.pla: 0173: entriesblk = catptr->$24 - 1 -; vmsrc/apple/soscmdjit.pla: 0174: entry = entry + entrylen -; vmsrc/apple/soscmdjit.pla: 0175: fin - !BYTE $66,$0B ; LLW [11] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$09 ; SLW [9] - !BYTE $64,$03 ; LLB [3] - !BYTE $4C ; BRFLS _B412 - !WORD _B412-* - !BYTE $66,$0B ; LLW [11] - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$0B ; LLW [11] - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $8E ; DECR - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B412 -_B413 -; vmsrc/apple/soscmdjit.pla: 0176: for i = firstblk to entriesblk - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$03 ; LLB [3] - !BYTE $A0 ; BRGT _B414 - !WORD _B414-* -_B415 - !BYTE $6C,$06 ; DLB [6] -; vmsrc/apple/soscmdjit.pla: 0177: if ^entry -; vmsrc/apple/soscmdjit.pla: 0178: ^entry = ^entry & $0F -; vmsrc/apple/soscmdjit.pla: 0179: puts(entry) -; vmsrc/apple/soscmdjit.pla: 0180: type = ' ' -; vmsrc/apple/soscmdjit.pla: 0181: when entry->$10 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B417 - !WORD _B417-* - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$09 ; LLW [9] - !BYTE $70 ; SB - !BYTE $66,$09 ; LLW [9] - !BYTE $54 ; CALL _X004 -_F047 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$09 ; LLW [9] - !BYTE $38,$10 ; ADDI 16 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B420-* -; vmsrc/apple/soscmdjit.pla: 0182: is $0F // Is it a directory? -_B421 -; vmsrc/apple/soscmdjit.pla: 0183: type = '/' -; vmsrc/apple/soscmdjit.pla: 0184: break - !BYTE $2A,$2F ; CB 47 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B419 - !WORD _B419-* -; vmsrc/apple/soscmdjit.pla: 0185: is $FF // SYSTEM file -_B422 -; vmsrc/apple/soscmdjit.pla: 0186: type = '-' -; vmsrc/apple/soscmdjit.pla: 0187: break - !BYTE $2A,$2D ; CB 45 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B419 - !WORD _B419-* -; vmsrc/apple/soscmdjit.pla: 0188: is $FE // REL file -_B423 -; vmsrc/apple/soscmdjit.pla: 0189: type = '+' -; vmsrc/apple/soscmdjit.pla: 0190: wend - !BYTE $2A,$2B ; CB 43 - !BYTE $74,$07 ; SLB [7] - !BYTE $50 ; BRNCH _B419 - !WORD _B419-* -_B420 - !BYTE $03 ; CASEBLOCK - !WORD $000F - !WORD _B421-* - !WORD $00FE - !WORD _B423-* - !WORD $00FF - !WORD _B422-* -_B419 -; vmsrc/apple/soscmdjit.pla: 0191: putc(type) -; vmsrc/apple/soscmdjit.pla: 0192: for len = ^entry to 18 - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _X002 -_F048 !WORD 0 - !BYTE $2A,$12 ; CB 18 - !BYTE $66,$09 ; LLW [9] - !BYTE $60 ; LB - !BYTE $A0 ; BRGT _B424 - !WORD _B424-* -_B425 - !BYTE $6C,$08 ; DLB [8] -; vmsrc/apple/soscmdjit.pla: 0193: putc(' ') -; vmsrc/apple/soscmdjit.pla: 0194: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F049 !WORD 0 -_B426 - !BYTE $A4 ; INCBRLE _B425 - !WORD _B425-* -_B424 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; vmsrc/apple/soscmdjit.pla: 0195: fin -_B417 -_B418 -; vmsrc/apple/soscmdjit.pla: 0196: entry = entry + entrylen -; vmsrc/apple/soscmdjit.pla: 0197: next - !BYTE $66,$09 ; LLW [9] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $76,$09 ; SLW [9] -_B416 - !BYTE $A4 ; INCBRLE _B415 - !WORD _B415-* -_B414 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; vmsrc/apple/soscmdjit.pla: 0198: firstblk = 0 -; vmsrc/apple/soscmdjit.pla: 0199: loop - !BYTE $00 ; CN 0 - !BYTE $74,$03 ; SLB [3] -_B411 - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$0B ; LLW [11] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X000+12 -_F050 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B409 - !WORD _B409-* -_B410 -; vmsrc/apple/soscmdjit.pla: 0200: cmdsys:sysclose(refnum) -; vmsrc/apple/soscmdjit.pla: 0201: putln() -; vmsrc/apple/soscmdjit.pla: 0202: end - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X000+10 -_F051 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X003 -_F052 !WORD 0 - !BYTE $5A,$0D ; LEAVE 13 -; vmsrc/apple/soscmdjit.pla: 0203: def stripchars(strptr)#1 - ; strptr -> [0] -_C008 ; stripchars() -; vmsrc/apple/soscmdjit.pla: 0204: while ^strptr and ^(strptr + 1) > ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B429 - !WORD _B429-* -_B427 -; vmsrc/apple/soscmdjit.pla: 0205: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/soscmdjit.pla: 0206: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F053 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmdjit.pla: 0207: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B429 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B430 - !WORD _B430-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT -_B430 - !BYTE $4E ; BRTRU _B427 - !WORD _B427-* -_B428 -; vmsrc/apple/soscmdjit.pla: 0208: return ^strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/soscmdjit.pla: 0209: end -; vmsrc/apple/soscmdjit.pla: 0210: def stripspaces(strptr)#0 - ; strptr -> [0] -_C009 ; stripspaces() -; vmsrc/apple/soscmdjit.pla: 0211: while ^strptr and ^(strptr + ^strptr) <= ' ' - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B433 - !WORD _B433-* -_B431 -; vmsrc/apple/soscmdjit.pla: 0212: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmdjit.pla: 0213: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B433 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B434 - !WORD _B434-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B434 - !BYTE $4E ; BRTRU _B431 - !WORD _B431-* -_B432 -; vmsrc/apple/soscmdjit.pla: 0214: while ^strptr and ^(strptr + 1) <= ' ' - !BYTE $50 ; BRNCH _B437 - !WORD _B437-* -_B435 -; vmsrc/apple/soscmdjit.pla: 0215: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/soscmdjit.pla: 0216: ^strptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F054 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmdjit.pla: 0217: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B437 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B438 - !WORD _B438-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE -_B438 - !BYTE $4E ; BRTRU _B435 - !WORD _B435-* -_B436 -; vmsrc/apple/soscmdjit.pla: 0218: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/soscmdjit.pla: 0219: def striptrail(strptr)#1 - ; strptr -> [0] -_C010 ; striptrail() -; vmsrc/apple/soscmdjit.pla: 0220: byte i - ; i -> [2] -; vmsrc/apple/soscmdjit.pla: 0221: -; vmsrc/apple/soscmdjit.pla: 0222: for i = 1 to ^strptr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B439 - !WORD _B439-* -_B440 - !BYTE $6C,$02 ; DLB [2] -; vmsrc/apple/soscmdjit.pla: 0223: if ^(strptr + i) <= ' ' -; vmsrc/apple/soscmdjit.pla: 0224: ^strptr = i - 1 -; vmsrc/apple/soscmdjit.pla: 0225: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B442 - !WORD _B442-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B439 - !WORD _B439-* -; vmsrc/apple/soscmdjit.pla: 0226: fin -_B442 -_B443 -; vmsrc/apple/soscmdjit.pla: 0227: next -_B441 - !BYTE $A4 ; INCBRLE _B440 - !WORD _B440-* -_B439 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; vmsrc/apple/soscmdjit.pla: 0228: return strptr - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/soscmdjit.pla: 0229: end -; vmsrc/apple/soscmdjit.pla: 0230: def parsecmd(strptr)#1 - ; strptr -> [0] -_C011 ; parsecmd() -; vmsrc/apple/soscmdjit.pla: 0231: byte cmd - ; cmd -> [2] -; vmsrc/apple/soscmdjit.pla: 0232: -; vmsrc/apple/soscmdjit.pla: 0233: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/soscmdjit.pla: 0234: stripspaces(strptr) -; vmsrc/apple/soscmdjit.pla: 0235: if ^strptr -; vmsrc/apple/soscmdjit.pla: 0236: cmd = ^(strptr + 1) -; vmsrc/apple/soscmdjit.pla: 0237: memcpy(strptr + 1, strptr + 2, ^strptr) -; vmsrc/apple/soscmdjit.pla: 0238: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F055 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B444 - !WORD _B444-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F056 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; vmsrc/apple/soscmdjit.pla: 0239: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B444 -_B445 -; vmsrc/apple/soscmdjit.pla: 0240: stripspaces(strptr) -; vmsrc/apple/soscmdjit.pla: 0241: return cmd - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F057 !WORD _C009 - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/soscmdjit.pla: 0242: end -; vmsrc/apple/soscmdjit.pla: 0243: // -; vmsrc/apple/soscmdjit.pla: 0244: // Command line handler -; vmsrc/apple/soscmdjit.pla: 0245: // -; vmsrc/apple/soscmdjit.pla: 0246: def shell#1 -_C012 ; shell() -; vmsrc/apple/soscmdjit.pla: 0247: byte ref - ; ref -> [0] -; vmsrc/apple/soscmdjit.pla: 0248: byte prefix[64] - ; prefix -> [1] -; vmsrc/apple/soscmdjit.pla: 0249: byte err[] - ; err -> [65] -; vmsrc/apple/soscmdjit.pla: 0250: word cmdptr - ; cmdptr -> [65] -; vmsrc/apple/soscmdjit.pla: 0251: -; vmsrc/apple/soscmdjit.pla: 0252: // -; vmsrc/apple/soscmdjit.pla: 0253: // Copy AUTORUN commmand line -; vmsrc/apple/soscmdjit.pla: 0254: // -; vmsrc/apple/soscmdjit.pla: 0255: cmdptr = strcpy(heapmark, cmdsys:cmdline) - !BYTE $58,$43,$00 ; ENTER 67,0 -; vmsrc/apple/soscmdjit.pla: 0256: // -; vmsrc/apple/soscmdjit.pla: 0257: // Handle commands. -; vmsrc/apple/soscmdjit.pla: 0258: // -; vmsrc/apple/soscmdjit.pla: 0259: getpfx(@prefix) -; vmsrc/apple/soscmdjit.pla: 0260: repeat - !BYTE $54 ; CALL _X012 -_F058 !WORD 0 - !BYTE $6A ; LAW _X000+4 -_F059 !WORD 0+4 - !BYTE $54 ; CALL _X019 -_F060 !WORD 0 - !BYTE $76,$41 ; SLW [65] - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C002 -_F061 !WORD _C002 - !BYTE $30 ; DROP -_B447 -; vmsrc/apple/soscmdjit.pla: 0261: if ^cmdptr -; vmsrc/apple/soscmdjit.pla: 0262: when toupper(parsecmd(cmdptr)) - !BYTE $66,$41 ; LLW [65] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B449 - !WORD _B449-* - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C011 -_F062 !WORD _C011 - !BYTE $54 ; CALL _X021 -_F063 !WORD 0 - !BYTE $52 ; SEL - !WORD _B452-* -; vmsrc/apple/soscmdjit.pla: 0263: is 'C' -_B453 -; vmsrc/apple/soscmdjit.pla: 0264: catalog(cmdptr) -; vmsrc/apple/soscmdjit.pla: 0265: break - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C007 -_F064 !WORD _C007 - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0266: is 'P' -_B454 -; vmsrc/apple/soscmdjit.pla: 0267: if ^cmdptr and ^(cmdptr + 1) <> '/' and ^(cmdptr + 1) <> '.' -; vmsrc/apple/soscmdjit.pla: 0268: strcat(@prefix, cmdptr) -; vmsrc/apple/soscmdjit.pla: 0269: else - !BYTE $66,$41 ; LLW [65] - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B455 - !WORD _B455-* - !BYTE $66,$41 ; LLW [65] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B456 - !WORD _B456-* - !BYTE $66,$41 ; LLW [65] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE -_B456 -_B455 - !BYTE $4C ; BRFLS _B457 - !WORD _B457-* - !BYTE $28,$01 ; LLA [1] - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X020 -_F065 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B458 - !WORD _B458-* -_B457 -; vmsrc/apple/soscmdjit.pla: 0270: strcpy(@prefix, cmdptr) -; vmsrc/apple/soscmdjit.pla: 0271: fin - !BYTE $28,$01 ; LLA [1] - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X019 -_F066 !WORD 0 - !BYTE $30 ; DROP -_B458 -; vmsrc/apple/soscmdjit.pla: 0272: setpfx(@prefix) -; vmsrc/apple/soscmdjit.pla: 0273: break - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C003 -_F067 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0274: is '/' -_B459 -; vmsrc/apple/soscmdjit.pla: 0275: repeat -_B461 -; vmsrc/apple/soscmdjit.pla: 0276: prefix-- - !BYTE $64,$01 ; LLB [1] - !BYTE $8E ; DECR -; vmsrc/apple/soscmdjit.pla: 0277: until prefix[prefix] == '/' - !BYTE $74,$01 ; SLB [1] -_B462 - !BYTE $28,$01 ; LLA [1] - !BYTE $B0,$01 ; ADDLB [1] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B461 - !WORD _B461-* -_B460 -; vmsrc/apple/soscmdjit.pla: 0278: if prefix > 1 -; vmsrc/apple/soscmdjit.pla: 0279: setpfx(@prefix) -; vmsrc/apple/soscmdjit.pla: 0280: fin - !BYTE $64,$01 ; LLB [1] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B463 - !WORD _B463-* - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C003 -_F068 !WORD _C003 - !BYTE $30 ; DROP -_B463 -_B464 -; vmsrc/apple/soscmdjit.pla: 0281: break - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0282: is 'S' -_B465 -; vmsrc/apple/soscmdjit.pla: 0283: setpfx(cmdptr) -; vmsrc/apple/soscmdjit.pla: 0284: strcat(getpfx(cmdsys:syspath), "SYS/") - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C003 -_F069 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X000+2 -_F070 !WORD 0+2 - !BYTE $54 ; CALL _C002 -_F071 !WORD _C002 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $53,$59,$53,$2F - !BYTE $54 ; CALL _X020 -_F072 !WORD 0 - !BYTE $30 ; DROP -; vmsrc/apple/soscmdjit.pla: 0285: break - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0286: is 'V' -_B466 -; vmsrc/apple/soscmdjit.pla: 0287: volumes -; vmsrc/apple/soscmdjit.pla: 0288: break - !BYTE $54 ; CALL _C006 -_F073 !WORD _C006 - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0289: is '.' -_B467 -; vmsrc/apple/soscmdjit.pla: 0290: ref = cmdsys:sysopen(cmdptr) -; vmsrc/apple/soscmdjit.pla: 0291: if ref -; vmsrc/apple/soscmdjit.pla: 0292: ^cmdptr = cmdsys:sysread(ref, cmdptr+1, 81) -; vmsrc/apple/soscmdjit.pla: 0293: cmdsys:sysclose(0) -; vmsrc/apple/soscmdjit.pla: 0294: puts(cmdptr); putln -; vmsrc/apple/soscmdjit.pla: 0295: continue - !BYTE $66,$41 ; LLW [65] - !BYTE $6A ; LAW _X000+8 -_F074 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $6C,$00 ; DLB [0] - !BYTE $4C ; BRFLS _B468 - !WORD _B468-* - !BYTE $64,$00 ; LLB [0] - !BYTE $66,$41 ; LLW [65] - !BYTE $8C ; INCR - !BYTE $2A,$51 ; CB 81 - !BYTE $6A ; LAW _X000+12 -_F075 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $66,$41 ; LLW [65] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X000+10 -_F076 !WORD 0+10 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X004 -_F077 !WORD 0 - !BYTE $54 ; CALL _X003 -_F078 !WORD 0 - !BYTE $50 ; BRNCH _B448 - !WORD _B448-* -; vmsrc/apple/soscmdjit.pla: 0296: fin -_B468 -_B469 -; vmsrc/apple/soscmdjit.pla: 0297: break - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0298: is '+' -_B470 -; vmsrc/apple/soscmdjit.pla: 0299: *jitcodeptr = jitcbuf -; vmsrc/apple/soscmdjit.pla: 0300: return striptrail(cmdptr) - !BYTE $2C,$00,$90 ; CW 36864 - !BYTE $7A,$F4,$A0 ; SAW 41204 - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _C010 -_F079 !WORD _C010 - !BYTE $5A,$43 ; LEAVE 67 -; vmsrc/apple/soscmdjit.pla: 0301: break - !BYTE $50 ; BRNCH _B451 - !WORD _B451-* -; vmsrc/apple/soscmdjit.pla: 0302: otherwise -_B452 - !BYTE $07 ; CASEBLOCK - !WORD $002B - !WORD _B470-* - !WORD $002E - !WORD _B467-* - !WORD $002F - !WORD _B459-* - !WORD $0043 - !WORD _B453-* - !WORD $0050 - !WORD _B454-* - !WORD $0053 - !WORD _B465-* - !WORD $0056 - !WORD _B466-* -; vmsrc/apple/soscmdjit.pla: 0303: puts("?\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $3F,$0D - !BYTE $54 ; CALL _X004 -_F080 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0304: wend -_B451 -; vmsrc/apple/soscmdjit.pla: 0305: if cmdsys.syserr -; vmsrc/apple/soscmdjit.pla: 0306: err = cmdsys.syserr -; vmsrc/apple/soscmdjit.pla: 0307: puts("ERR:$") - !BYTE $68 ; LAB _X000+16 -_F081 !WORD 0+16 - !BYTE $4C ; BRFLS _B471 - !WORD _B471-* - !BYTE $68 ; LAB _X000+16 -_F082 !WORD 0+16 - !BYTE $74,$41 ; SLB [65] - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$52,$52,$3A,$24 - !BYTE $54 ; CALL _X004 -_F083 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0308: putb(err) -; vmsrc/apple/soscmdjit.pla: 0309: else - !BYTE $64,$41 ; LLB [65] - !BYTE $54 ; CALL _X008 -_F084 !WORD 0 - !BYTE $50 ; BRNCH _B472 - !WORD _B472-* -_B471 -; vmsrc/apple/soscmdjit.pla: 0310: puts("OK") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $4F,$4B - !BYTE $54 ; CALL _X004 -_F085 !WORD 0 -; vmsrc/apple/soscmdjit.pla: 0311: fin -_B472 -; vmsrc/apple/soscmdjit.pla: 0312: putln -; vmsrc/apple/soscmdjit.pla: 0313: fin - !BYTE $54 ; CALL _X003 -_F086 !WORD 0 -_B449 -_B450 -; vmsrc/apple/soscmdjit.pla: 0314: puts(getpfx(@prefix)) -; vmsrc/apple/soscmdjit.pla: 0315: cmdptr = gets($BA) -; vmsrc/apple/soscmdjit.pla: 0316: strcpy(cmdsys:cmdline, cmdptr) -; vmsrc/apple/soscmdjit.pla: 0317: until 0 - !BYTE $28,$01 ; LLA [1] - !BYTE $54 ; CALL _C002 -_F087 !WORD _C002 - !BYTE $54 ; CALL _X004 -_F088 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F089 !WORD 0 - !BYTE $76,$41 ; SLW [65] - !BYTE $6A ; LAW _X000+4 -_F090 !WORD 0+4 - !BYTE $66,$41 ; LLW [65] - !BYTE $54 ; CALL _X019 -_F091 !WORD 0 - !BYTE $30 ; DROP -_B448 - !BYTE $50 ; BRNCH _B447 - !WORD _B447-* -_B446 -; vmsrc/apple/soscmdjit.pla: 0318: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$43 ; LEAVE 67 -; vmsrc/apple/soscmdjit.pla: 0319: end -; vmsrc/apple/soscmdjit.pla: 0320: // -; vmsrc/apple/soscmdjit.pla: 0321: // Save pointer to command line handler -; vmsrc/apple/soscmdjit.pla: 0322: // -; vmsrc/apple/soscmdjit.pla: 0323: *cmdparser = @shell -_INIT -; vmsrc/apple/soscmdjit.pla: 0324: // -; vmsrc/apple/soscmdjit.pla: 0325: // Install JIT compiler -; vmsrc/apple/soscmdjit.pla: 0326: // -; vmsrc/apple/soscmdjit.pla: 0327: directentry = *sinterp -; vmsrc/apple/soscmdjit.pla: 0328: indirectentry = *xinterp -; vmsrc/apple/soscmdjit.pla: 0329: *jitcomp = @compiler -; vmsrc/apple/soscmdjit.pla: 0330: cmdsys.jitcount = 32 -; vmsrc/apple/soscmdjit.pla: 0331: cmdsys.jitsize = 255 -; vmsrc/apple/soscmdjit.pla: 0332: done - !BYTE $26 ; LA _C012+0 -_F092 !WORD _C012+0 - !BYTE $7A,$F0,$A0 ; SAW 41200 - !BYTE $6A,$F6,$A0 ; LAW 41206 - !BYTE $7A ; SAW _D028+0 -_F093 !WORD _D028+0 - !BYTE $6A,$F8,$A0 ; LAW 41208 - !BYTE $7A ; SAW _D029+0 -_F094 !WORD _D029+0 - !BYTE $26 ; LA _C001+0 -_F095 !WORD _C001+0 - !BYTE $7A,$F2,$A0 ; SAW 41202 - !BYTE $2A,$20 ; CB 32 - !BYTE $78 ; SAB _X000+17 -_F096 !WORD 0+17 - !BYTE $2A,$FF ; CB 255 - !BYTE $78 ; SAB _X000+18 -_F097 !WORD 0+18 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 14 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 27 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ISULE - !BYTE $C9,$D3,$D5,$CC,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 27 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/vmsrc/apple/sossys.a b/src/vmsrc/apple/sossys.a deleted file mode 100644 index b5a6093..0000000 --- a/src/vmsrc/apple/sossys.a +++ /dev/null @@ -1,3555 +0,0 @@ -; ACME COMPATIBLE OUTPUT - JMP _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/sossys.pla: 0001: const membank = $FFEF - ; membank = 65519 -; vmsrc/apple/sossys.pla: 0002: const RELADDR = $1000 - ; RELADDR = 4096 -; vmsrc/apple/sossys.pla: 0003: // -; vmsrc/apple/sossys.pla: 0004: // System flags: memory allocator screen holes. -; vmsrc/apple/sossys.pla: 0005: // -; vmsrc/apple/sossys.pla: 0006: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/sossys.pla: 0007: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/sossys.pla: 0008: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/sossys.pla: 0009: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/sossys.pla: 0010: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/sossys.pla: 0011: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/sossys.pla: 0012: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/sossys.pla: 0013: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/sossys.pla: 0014: // -; vmsrc/apple/sossys.pla: 0015: // Module don't free memory -; vmsrc/apple/sossys.pla: 0016: // -; vmsrc/apple/sossys.pla: 0017: const modflagkeep = $1000 - ; modflagkeep = 4096 -; vmsrc/apple/sossys.pla: 0018: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/sossys.pla: 0019: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/sossys.pla: 0020: // -; vmsrc/apple/sossys.pla: 0021: // 80 column flag -; vmsrc/apple/sossys.pla: 0022: // -; vmsrc/apple/sossys.pla: 0023: const vid80col = $0800 - ; vid80col = 2048 -; vmsrc/apple/sossys.pla: 0024: // -; vmsrc/apple/sossys.pla: 0025: // Private addresses -; vmsrc/apple/sossys.pla: 0026: // -; vmsrc/apple/sossys.pla: 0027: const instr = $A020 - ; instr = 40992 -; vmsrc/apple/sossys.pla: 0028: const cmdparser = $A0F0 - ; cmdparser = 41200 -; vmsrc/apple/sossys.pla: 0029: const xinterp = $A0F8 - ; xinterp = 41208 -; vmsrc/apple/sossys.pla: 0030: // -; vmsrc/apple/sossys.pla: 0031: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/sossys.pla: 0032: // -; vmsrc/apple/sossys.pla: 0033: struc t_defentry -; vmsrc/apple/sossys.pla: 0034: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/sossys.pla: 0035: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/sossys.pla: 0036: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/sossys.pla: 0037: byte bytecodexbyte - ; bytecodexbyte = 5 -; vmsrc/apple/sossys.pla: 0038: end - ; t_defentry = 6 -; vmsrc/apple/sossys.pla: 0039: // -; vmsrc/apple/sossys.pla: 0040: // Pedefined functions. -; vmsrc/apple/sossys.pla: 0041: // -; vmsrc/apple/sossys.pla: 0042: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/sossys.pla: 0043: predef crout()#0, cout(c)#0, prstr(s)#0, print(i)#0, prbyte(b)#0, prword(w)#0 -; vmsrc/apple/sossys.pla: 0044: predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/sossys.pla: 0045: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/sossys.pla: 0046: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 -; vmsrc/apple/sossys.pla: 0047: predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1, sext(a)#1, divmod(a,b)#2 -; vmsrc/apple/sossys.pla: 0048: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1, write(refnum, buff, len)#1 -; vmsrc/apple/sossys.pla: 0049: predef syslookuptbl(dci)#1 -; vmsrc/apple/sossys.pla: 0050: // -; vmsrc/apple/sossys.pla: 0051: // Exported CMDSYS table -; vmsrc/apple/sossys.pla: 0052: // -; vmsrc/apple/sossys.pla: 0053: word version = $0220 // 02.20 -_D032 ; version = $0220 // 02.20 - !WORD $0220 -; vmsrc/apple/sossys.pla: 0054: word syspath -_D033 !FILL 2 ; syspath -; vmsrc/apple/sossys.pla: 0055: word cmdlnptr -_D034 !FILL 2 ; cmdlnptr -; vmsrc/apple/sossys.pla: 0056: word = @execmod, @open, @close, @read, @write -_F000 !WORD _P026 -_F001 !WORD _P027 -_F002 !WORD _P028 -_F003 !WORD _P029 -_F004 !WORD _P030 -; vmsrc/apple/sossys.pla: 0057: byte perr -_D035 !FILL 1 ; perr -; vmsrc/apple/sossys.pla: 0058: byte jitcount = 0 -_D036 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0059: byte jitsize = 0 -_D037 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0060: byte refcons = 0 -_D038 ; refcons = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0061: byte devcons = 0 -_D039 ; devcons = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0062: word = @syslookuptbl -_F005 !WORD _P031 -; vmsrc/apple/sossys.pla: 0063: word systemflags = vid80col -_D040 ; systemflags = vid80col - !WORD $0800 -; vmsrc/apple/sossys.pla: 0064: // -; vmsrc/apple/sossys.pla: 0065: // String pool. -; vmsrc/apple/sossys.pla: 0066: // -; vmsrc/apple/sossys.pla: 0067: byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D041 ; hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' - !BYTE $30 - !BYTE $31 - !BYTE $32 - !BYTE $33 - !BYTE $34 - !BYTE $35 - !BYTE $36 - !BYTE $37 - !BYTE $38 - !BYTE $39 - !BYTE $41 - !BYTE $42 - !BYTE $43 - !BYTE $44 - !BYTE $45 - !BYTE $46 -; vmsrc/apple/sossys.pla: 0068: // -; vmsrc/apple/sossys.pla: 0069: // Exported Machine ID. -; vmsrc/apple/sossys.pla: 0070: // -; vmsrc/apple/sossys.pla: 0071: byte machid = $F2 // Apple ///, 80 columns -_D042 ; machid = $F2 // Apple ///, 80 columns - !BYTE $F2 -; vmsrc/apple/sossys.pla: 0072: // -; vmsrc/apple/sossys.pla: 0073: // Console and textmode control characters -; vmsrc/apple/sossys.pla: 0074: // -; vmsrc/apple/sossys.pla: 0075: byte console[] = ".CONSOLE" -_D043 ; console[] = ".CONSOLE" - !BYTE $08 - !BYTE $2E,$43,$4F,$4E,$53,$4F,$4C,$45 -; vmsrc/apple/sossys.pla: 0076: byte textmode[] = 16, 2, 15 -_D044 ; textmode[] = 16, 2, 15 - !BYTE $10 - !BYTE $02 - !BYTE $0F -; vmsrc/apple/sossys.pla: 0077: -; vmsrc/apple/sossys.pla: 0078: // -; vmsrc/apple/sossys.pla: 0079: // Working input buffer overlayed with strings table -; vmsrc/apple/sossys.pla: 0080: // -; vmsrc/apple/sossys.pla: 0081: byte cmdln = "" -_D045 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/sossys.pla: 0082: // -; vmsrc/apple/sossys.pla: 0083: // SOS.CMD as DCI string -; vmsrc/apple/sossys.pla: 0084: // -; vmsrc/apple/sossys.pla: 0085: byte soscmd = 'S'|$80,'O'|$80,'S'|$80,'.'|$80,'C'|$80,'M'|$80,'D' -_D046 ; soscmd = 'S'|$80,'O'|$80,'S'|$80,'.'|$80,'C'|$80,'M'|$80,'D' - !BYTE $D3 - !BYTE $CF - !BYTE $D3 - !BYTE $AE - !BYTE $C3 - !BYTE $CD - !BYTE $44 -; vmsrc/apple/sossys.pla: 0086: // -; vmsrc/apple/sossys.pla: 0087: // Standard Library exported functions. -; vmsrc/apple/sossys.pla: 0088: // -; vmsrc/apple/sossys.pla: 0089: byte sysmodstr[] = "CMDSYS" -_D047 ; sysmodstr[] = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/sossys.pla: 0090: byte machidstr[] = "MACHID" -_D048 ; machidstr[] = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/sossys.pla: 0091: byte sysstr[] = "SYSCALL" -_D049 ; sysstr[] = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/sossys.pla: 0092: byte callstr[] = "CALL" -_D050 ; callstr[] = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/sossys.pla: 0093: byte putcstr[] = "PUTC" -_D051 ; putcstr[] = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/sossys.pla: 0094: byte putlnstr[] = "PUTLN" -_D052 ; putlnstr[] = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/sossys.pla: 0095: byte putsstr[] = "PUTS" -_D053 ; putsstr[] = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/sossys.pla: 0096: byte putistr[] = "PUTI" -_D054 ; putistr[] = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/sossys.pla: 0097: byte putbstr[] = "PUTB" -_D055 ; putbstr[] = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/sossys.pla: 0098: byte putwstr[] = "PUTH" -_D056 ; putwstr[] = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/sossys.pla: 0099: byte getcstr[] = "GETC" -_D057 ; getcstr[] = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/sossys.pla: 0100: byte getsstr[] = "GETS" -_D058 ; getsstr[] = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/sossys.pla: 0101: byte toupstr[] = "TOUPPER" -_D059 ; toupstr[] = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/sossys.pla: 0102: byte strcpystr[] = "STRCPY" -_D060 ; strcpystr[] = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/sossys.pla: 0103: byte strcatstr[] = "STRCAT" -_D061 ; strcatstr[] = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/sossys.pla: 0104: byte hpmarkstr[] = "HEAPMARK" -_D062 ; hpmarkstr[] = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/sossys.pla: 0105: byte hpalignstr[] = "HEAPALLOCALIGN" -_D063 ; hpalignstr[] = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/sossys.pla: 0106: byte hpallocstr[] = "HEAPALLOC" -_D064 ; hpallocstr[] = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/sossys.pla: 0107: byte hprelstr[] = "HEAPRELEASE" -_D065 ; hprelstr[] = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/sossys.pla: 0108: byte hpavlstr[] = "HEAPAVAIL" -_D066 ; hpavlstr[] = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/sossys.pla: 0109: byte memsetstr[] = "MEMSET" -_D067 ; memsetstr[] = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/sossys.pla: 0110: byte memcpystr[] = "MEMCPY" -_D068 ; memcpystr[] = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/sossys.pla: 0111: byte uisgtstr[] = "ISUGT" -_D069 ; uisgtstr[] = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/sossys.pla: 0112: byte uisgestr[] = "ISUGE" -_D070 ; uisgestr[] = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/sossys.pla: 0113: byte uisltstr[] = "ISULT" -_D071 ; uisltstr[] = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/sossys.pla: 0114: byte uislestr[] = "ISULE" -_D072 ; uislestr[] = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/sossys.pla: 0115: byte sextstr[] = "SEXT" -_D073 ; sextstr[] = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/sossys.pla: 0116: byte divmodstr[] = "DIVMOD" -_D074 ; divmodstr[] = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/sossys.pla: 0117: word exports[] = @sysmodstr, @version -_D075 ; exports[] = @sysmodstr, @version -_F006 !WORD _D047 -_F007 !WORD _D032 -; vmsrc/apple/sossys.pla: 0118: word = @sysstr, @syscall -_F008 !WORD _D049 -_F009 !WORD _P000 -; vmsrc/apple/sossys.pla: 0119: word = @callstr, @call -_F010 !WORD _D050 -_F011 !WORD _P001 -; vmsrc/apple/sossys.pla: 0120: word = @putcstr, @cout -_F012 !WORD _D051 -_F013 !WORD _P003 -; vmsrc/apple/sossys.pla: 0121: word = @putlnstr, @crout -_F014 !WORD _D052 -_F015 !WORD _P002 -; vmsrc/apple/sossys.pla: 0122: word = @putsstr, @prstr -_F016 !WORD _D053 -_F017 !WORD _P004 -; vmsrc/apple/sossys.pla: 0123: word = @putistr, @print -_F018 !WORD _D054 -_F019 !WORD _P005 -; vmsrc/apple/sossys.pla: 0124: word = @putbstr, @prbyte -_F020 !WORD _D055 -_F021 !WORD _P006 -; vmsrc/apple/sossys.pla: 0125: word = @putwstr, @prword -_F022 !WORD _D056 -_F023 !WORD _P007 -; vmsrc/apple/sossys.pla: 0126: word = @getcstr, @cin -_F024 !WORD _D057 -_F025 !WORD _P008 -; vmsrc/apple/sossys.pla: 0127: word = @getsstr, @rdstr -_F026 !WORD _D058 -_F027 !WORD _P009 -; vmsrc/apple/sossys.pla: 0128: word = @toupstr, @toupper -_F028 !WORD _D059 -_F029 !WORD _P010 -; vmsrc/apple/sossys.pla: 0129: byte sysmods[] // overlay sys path with exports -_D076 ; sysmods[] // overlay sys path with exports -; vmsrc/apple/sossys.pla: 0130: word = @hpmarkstr, @markheap -_F030 !WORD _D062 -_F031 !WORD _P013 -; vmsrc/apple/sossys.pla: 0131: word = @hpallocstr,@allocheap -_F032 !WORD _D064 -_F033 !WORD _P014 -; vmsrc/apple/sossys.pla: 0132: word = @hpalignstr,@allocalignheap -_F034 !WORD _D063 -_F035 !WORD _P015 -; vmsrc/apple/sossys.pla: 0133: word = @hprelstr, @releaseheap -_F036 !WORD _D065 -_F037 !WORD _P016 -; vmsrc/apple/sossys.pla: 0134: word = @hpavlstr, @availheap -_F038 !WORD _D066 -_F039 !WORD _P017 -; vmsrc/apple/sossys.pla: 0135: word = @memsetstr, @memset -_F040 !WORD _D067 -_F041 !WORD _P018 -; vmsrc/apple/sossys.pla: 0136: word = @memcpystr, @memcpy -_F042 !WORD _D068 -_F043 !WORD _P019 -; vmsrc/apple/sossys.pla: 0137: word = @strcpystr, @strcpy -_F044 !WORD _D060 -_F045 !WORD _P011 -; vmsrc/apple/sossys.pla: 0138: word = @strcatstr, @strcat -_F046 !WORD _D061 -_F047 !WORD _P012 -; vmsrc/apple/sossys.pla: 0139: word = @uisgtstr, @uword_isgt -_F048 !WORD _D069 -_F049 !WORD _P020 -; vmsrc/apple/sossys.pla: 0140: word = @uisgestr, @uword_isge -_F050 !WORD _D070 -_F051 !WORD _P021 -; vmsrc/apple/sossys.pla: 0141: word = @uisltstr, @uword_islt -_F052 !WORD _D071 -_F053 !WORD _P022 -; vmsrc/apple/sossys.pla: 0142: word = @uislestr, @uword_isle -_F054 !WORD _D072 -_F055 !WORD _P023 -; vmsrc/apple/sossys.pla: 0143: word = @sextstr, @sext -_F056 !WORD _D073 -_F057 !WORD _P024 -; vmsrc/apple/sossys.pla: 0144: word = @divmodstr, @divmod -_F058 !WORD _D074 -_F059 !WORD _P025 -; vmsrc/apple/sossys.pla: 0145: word = @machidstr, @machid -_F060 !WORD _D048 -_F061 !WORD _D042 -; vmsrc/apple/sossys.pla: 0146: word = 0 - !WORD $0000 -; vmsrc/apple/sossys.pla: 0147: word sysmodsym = @exports -_D077 ; sysmodsym = @exports -_F062 !WORD _D075 -; vmsrc/apple/sossys.pla: 0148: // -; vmsrc/apple/sossys.pla: 0149: // System variables. -; vmsrc/apple/sossys.pla: 0150: // -; vmsrc/apple/sossys.pla: 0151: word heap = $2000 -_D078 ; heap = $2000 - !WORD $2000 -; vmsrc/apple/sossys.pla: 0152: byte autorun[] -_D079 ; autorun[] -; vmsrc/apple/sossys.pla: 0153: byte modseg[15] -_D080 !FILL 15 ; modseg[15] -; vmsrc/apple/sossys.pla: 0154: byte modid = 0 -_D081 ; modid = 0 - !BYTE $00 -; vmsrc/apple/sossys.pla: 0155: word symtbl, lastsym -_D082 !FILL 2 ; symtbl, lastsym -_D083 !FILL 2 ; lastsym -; vmsrc/apple/sossys.pla: 0156: // -; vmsrc/apple/sossys.pla: 0157: // CALL SOS -; vmsrc/apple/sossys.pla: 0158: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/sossys.pla: 0159: // -; vmsrc/apple/sossys.pla: 0160: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/sossys.pla: 0161: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0162: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/sossys.pla: 0163: STA PARAMS - STA PARAMS -; vmsrc/apple/sossys.pla: 0164: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/sossys.pla: 0165: INX - INX -; vmsrc/apple/sossys.pla: 0166: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0167: STA CMD - STA CMD -; vmsrc/apple/sossys.pla: 0168: BRK - BRK -; vmsrc/apple/sossys.pla: 0169: CMD !BYTE 00 -CMD !BYTE 00 -; vmsrc/apple/sossys.pla: 0170: PARAMS !WORD 0000 -PARAMS !WORD 0000 -; vmsrc/apple/sossys.pla: 0171: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0172: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0173: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0174: RTS - RTS -; vmsrc/apple/sossys.pla: 0175: end -; vmsrc/apple/sossys.pla: 0176: // -; vmsrc/apple/sossys.pla: 0177: // CALL 6502 ROUTINE -; vmsrc/apple/sossys.pla: 0178: // CALL(AREG, XREG, YREG, STATUS, ADDR) -; vmsrc/apple/sossys.pla: 0179: // -; vmsrc/apple/sossys.pla: 0180: asm call(addr,areg,xreg,yreg,sstatus)#1 -_P001 ; call(addr,areg,xreg,yreg,sstatus)#1() -_A001 ; call() -; vmsrc/apple/sossys.pla: 0181: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/sossys.pla: 0182: PHP - PHP -; vmsrc/apple/sossys.pla: 0183: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0184: STA TMPL - STA TMPL -; vmsrc/apple/sossys.pla: 0185: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0186: STA TMPH - STA TMPH -; vmsrc/apple/sossys.pla: 0187: INX - INX -; vmsrc/apple/sossys.pla: 0188: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0189: PHA - PHA -; vmsrc/apple/sossys.pla: 0190: INX - INX -; vmsrc/apple/sossys.pla: 0191: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossys.pla: 0192: INX - INX -; vmsrc/apple/sossys.pla: 0193: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0194: PHA - PHA -; vmsrc/apple/sossys.pla: 0195: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0196: INX - INX -; vmsrc/apple/sossys.pla: 0197: STX ESP - STX ESP -; vmsrc/apple/sossys.pla: 0198: TAX - TAX -; vmsrc/apple/sossys.pla: 0199: PLA - PLA -; vmsrc/apple/sossys.pla: 0200: PLP - PLP -; vmsrc/apple/sossys.pla: 0201: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/sossys.pla: 0202: PHP - PHP -; vmsrc/apple/sossys.pla: 0203: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/sossys.pla: 0204: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/sossys.pla: 0205: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/sossys.pla: 0206: PLA - PLA -; vmsrc/apple/sossys.pla: 0207: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/sossys.pla: 0208: LDX ESP - LDX ESP -; vmsrc/apple/sossys.pla: 0209: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/sossys.pla: 0211: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0212: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0213: PLP - PLP -; vmsrc/apple/sossys.pla: 0214: RTS - RTS -; vmsrc/apple/sossys.pla: 0215: end -; vmsrc/apple/sossys.pla: 0216: // -; vmsrc/apple/sossys.pla: 0217: // SET MEMORY TO VALUE -; vmsrc/apple/sossys.pla: 0218: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/sossys.pla: 0219: // With optimizations from Peter Ferrie -; vmsrc/apple/sossys.pla: 0220: // -; vmsrc/apple/sossys.pla: 0221: asm memset(addr,value,size)#0 -_P018 ; memset(addr,value,size)#0() -_A002 ; memset() -; vmsrc/apple/sossys.pla: 0222: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0223: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0224: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossys.pla: 0225: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0226: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossys.pla: 0227: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0228: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossys.pla: 0229: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0230: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0231: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/sossys.pla: 0232: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/sossys.pla: 0233: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0234: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/sossys.pla: 0235: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/sossys.pla: 0236: BEQ ++ - BEQ ++ -; vmsrc/apple/sossys.pla: 0237: - INY -- INY -; vmsrc/apple/sossys.pla: 0238: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0239: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/sossys.pla: 0240: SEC - SEC -; vmsrc/apple/sossys.pla: 0241: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0242: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/sossys.pla: 0243: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossys.pla: 0244: BNE -- - BNE -- -; vmsrc/apple/sossys.pla: 0245: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/sossys.pla: 0246: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0247: SETMEX INX -SETMEX INX -; vmsrc/apple/sossys.pla: 0248: INX - INX -; vmsrc/apple/sossys.pla: 0249: INX - INX -; vmsrc/apple/sossys.pla: 0250: RTS - RTS -; vmsrc/apple/sossys.pla: 0251: end -; vmsrc/apple/sossys.pla: 0252: // -; vmsrc/apple/sossys.pla: 0253: // COPY MEMORY -; vmsrc/apple/sossys.pla: 0254: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/sossys.pla: 0255: // -; vmsrc/apple/sossys.pla: 0256: asm memcpy(dst,src,size)#0 -_P019 ; memcpy(dst,src,size)#0() -_A003 ; memcpy() -; vmsrc/apple/sossys.pla: 0257: INX - INX -; vmsrc/apple/sossys.pla: 0258: INX - INX -; vmsrc/apple/sossys.pla: 0259: INX - INX -; vmsrc/apple/sossys.pla: 0260: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0261: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/sossys.pla: 0262: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/sossys.pla: 0263: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossys.pla: 0264: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/sossys.pla: 0265: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossys.pla: 0266: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/sossys.pla: 0267: BCC REVCPY - BCC REVCPY -; vmsrc/apple/sossys.pla: 0268: ; -; vmsrc/apple/sossys.pla: 0269: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/sossys.pla: 0270: ; -; vmsrc/apple/sossys.pla: 0271: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/sossys.pla: 0272: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0273: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/sossys.pla: 0274: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0275: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossys.pla: 0276: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0277: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossys.pla: 0278: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0279: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/sossys.pla: 0280: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/sossys.pla: 0281: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0282: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0283: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0284: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0285: INY - INY -; vmsrc/apple/sossys.pla: 0286: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0287: INC DSTH - INC DSTH -; vmsrc/apple/sossys.pla: 0288: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0289: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossys.pla: 0290: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossys.pla: 0291: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0292: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossys.pla: 0293: RTS - RTS -; vmsrc/apple/sossys.pla: 0294: ; -; vmsrc/apple/sossys.pla: 0295: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/sossys.pla: 0296: ; -; vmsrc/apple/sossys.pla: 0297: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/sossys.pla: 0298: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0299: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/sossys.pla: 0300: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0301: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossys.pla: 0302: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/sossys.pla: 0303: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0304: CLC - CLC -; vmsrc/apple/sossys.pla: 0305: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0306: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/sossys.pla: 0307: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0308: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossys.pla: 0309: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/sossys.pla: 0310: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0311: DEC DSTH - DEC DSTH -; vmsrc/apple/sossys.pla: 0312: DEC SRCH - DEC SRCH -; vmsrc/apple/sossys.pla: 0313: LDY #$FF - LDY #$FF -; vmsrc/apple/sossys.pla: 0314: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossys.pla: 0315: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/sossys.pla: 0316: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0317: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0318: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0319: DEY - DEY -; vmsrc/apple/sossys.pla: 0320: CPY #$FF - CPY #$FF -; vmsrc/apple/sossys.pla: 0321: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0322: DEC DSTH - DEC DSTH -; vmsrc/apple/sossys.pla: 0323: DEC SRCH - DEC SRCH -; vmsrc/apple/sossys.pla: 0324: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossys.pla: 0325: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossys.pla: 0326: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossys.pla: 0327: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossys.pla: 0328: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/sossys.pla: 0329: end -; vmsrc/apple/sossys.pla: 0330: // -; vmsrc/apple/sossys.pla: 0331: // COPY FROM MAIN MEM TO EXT MEM. -; vmsrc/apple/sossys.pla: 0332: // -; vmsrc/apple/sossys.pla: 0333: // MEMXCPY(DSTSEG, SRC, SIZE) -; vmsrc/apple/sossys.pla: 0334: // -; vmsrc/apple/sossys.pla: 0335: asm memxcpy(dst,src,size)#0 -_A004 ; memxcpy() -; vmsrc/apple/sossys.pla: 0336: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0337: ORA ESTKH,X - ORA ESTKH,X -; vmsrc/apple/sossys.pla: 0338: BEQ CPYXMEX - BEQ CPYXMEX -; vmsrc/apple/sossys.pla: 0339: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0340: STY DSTL - STY DSTL -; vmsrc/apple/sossys.pla: 0341: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossys.pla: 0342: CLC - CLC -; vmsrc/apple/sossys.pla: 0343: ADC #$60 - ADC #$60 -; vmsrc/apple/sossys.pla: 0344: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0345: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0346: CLC - CLC -; vmsrc/apple/sossys.pla: 0347: ADC #$7F - ADC #$7F -; vmsrc/apple/sossys.pla: 0348: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0349: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0350: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0351: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0352: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0353: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossys.pla: 0354: CPYXLP LDA (SRC),Y -CPYXLP LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0355: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0356: INY - INY -; vmsrc/apple/sossys.pla: 0357: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0358: INC DSTH - INC DSTH -; vmsrc/apple/sossys.pla: 0359: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0360: + DEC ESTKL,X -+ DEC ESTKL,X -; vmsrc/apple/sossys.pla: 0361: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossys.pla: 0362: DEC ESTKH,X - DEC ESTKH,X -; vmsrc/apple/sossys.pla: 0363: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossys.pla: 0364: LDA #$00 - LDA #$00 -; vmsrc/apple/sossys.pla: 0365: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0366: CPYXMEX INX -CPYXMEX INX -; vmsrc/apple/sossys.pla: 0367: INX - INX -; vmsrc/apple/sossys.pla: 0368: INX - INX -; vmsrc/apple/sossys.pla: 0369: RTS - RTS -; vmsrc/apple/sossys.pla: 0370: end -; vmsrc/apple/sossys.pla: 0371: // -; vmsrc/apple/sossys.pla: 0372: // POKE BYTE VAL INTO EXT MEM. -; vmsrc/apple/sossys.pla: 0373: // -; vmsrc/apple/sossys.pla: 0374: // XPOKEB(SEG, DST, BYTEVAL) -; vmsrc/apple/sossys.pla: 0375: // -; vmsrc/apple/sossys.pla: 0376: asm xpokeb(seg, dst, byteval)#0 -_A005 ; xpokeb() -; vmsrc/apple/sossys.pla: 0377: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0378: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0379: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0380: CLC - CLC -; vmsrc/apple/sossys.pla: 0381: ADC #$60 - ADC #$60 -; vmsrc/apple/sossys.pla: 0382: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0383: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0384: CLC - CLC -; vmsrc/apple/sossys.pla: 0385: ADC #$7F - ADC #$7F -; vmsrc/apple/sossys.pla: 0386: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0387: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0388: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0389: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0390: STY DSTX - STY DSTX -; vmsrc/apple/sossys.pla: 0391: INX - INX -; vmsrc/apple/sossys.pla: 0392: INX - INX -; vmsrc/apple/sossys.pla: 0393: INX - INX -; vmsrc/apple/sossys.pla: 0394: RTS - RTS -; vmsrc/apple/sossys.pla: 0395: end -; vmsrc/apple/sossys.pla: 0396: // -; vmsrc/apple/sossys.pla: 0397: // Unsigned word comparisons. -; vmsrc/apple/sossys.pla: 0398: // -; vmsrc/apple/sossys.pla: 0399: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A006 ; uword_isge() -; vmsrc/apple/sossys.pla: 0400: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0401: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossys.pla: 0402: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0403: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossys.pla: 0404: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0405: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0406: EOR #$FF - EOR #$FF -; vmsrc/apple/sossys.pla: 0407: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0408: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0409: INX - INX -; vmsrc/apple/sossys.pla: 0410: RTS - RTS -; vmsrc/apple/sossys.pla: 0411: end -; vmsrc/apple/sossys.pla: 0412: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A007 ; uword_isle() -; vmsrc/apple/sossys.pla: 0413: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0414: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossys.pla: 0415: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0416: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossys.pla: 0417: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0418: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0419: EOR #$FF - EOR #$FF -; vmsrc/apple/sossys.pla: 0420: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0421: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0422: INX - INX -; vmsrc/apple/sossys.pla: 0423: RTS - RTS -; vmsrc/apple/sossys.pla: 0424: end -; vmsrc/apple/sossys.pla: 0425: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A008 ; uword_isgt() -; vmsrc/apple/sossys.pla: 0426: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0427: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossys.pla: 0428: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0429: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossys.pla: 0430: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0431: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0432: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0433: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0434: INX - INX -; vmsrc/apple/sossys.pla: 0435: RTS - RTS -; vmsrc/apple/sossys.pla: 0436: end -; vmsrc/apple/sossys.pla: 0437: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A009 ; uword_islt() -; vmsrc/apple/sossys.pla: 0438: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0439: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossys.pla: 0440: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0441: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossys.pla: 0442: LDA #$FF - LDA #$FF -; vmsrc/apple/sossys.pla: 0443: ADC #$00 - ADC #$00 -; vmsrc/apple/sossys.pla: 0444: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0445: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0446: INX - INX -; vmsrc/apple/sossys.pla: 0447: RTS - RTS -; vmsrc/apple/sossys.pla: 0448: end -; vmsrc/apple/sossys.pla: 0449: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A010 ; divmod() -; vmsrc/apple/sossys.pla: 0450: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/sossys.pla: 0451: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/sossys.pla: 0452: end -; vmsrc/apple/sossys.pla: 0453: asm sext(a)#1 -_P024 ; sext(a)#1() -_A011 ; sext() -; vmsrc/apple/sossys.pla: 0454: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0455: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0456: BPL + - BPL + -; vmsrc/apple/sossys.pla: 0457: DEY - DEY -; vmsrc/apple/sossys.pla: 0458: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/sossys.pla: 0459: RTS - RTS -; vmsrc/apple/sossys.pla: 0460: end -; vmsrc/apple/sossys.pla: 0461: // -; vmsrc/apple/sossys.pla: 0462: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/sossys.pla: 0463: // More efficient than C or Pascal strings. -; vmsrc/apple/sossys.pla: 0464: // -; vmsrc/apple/sossys.pla: 0465: //def dcitos(dci, str) -; vmsrc/apple/sossys.pla: 0466: // byte len, c -; vmsrc/apple/sossys.pla: 0467: // len = 0 -; vmsrc/apple/sossys.pla: 0468: // repeat -; vmsrc/apple/sossys.pla: 0469: // c = (dci).[len] -; vmsrc/apple/sossys.pla: 0470: // len = len + 1 -; vmsrc/apple/sossys.pla: 0471: // (str).[len] = c & $7F -; vmsrc/apple/sossys.pla: 0472: // until !(c & $80) -; vmsrc/apple/sossys.pla: 0473: // ^str = len -; vmsrc/apple/sossys.pla: 0474: // return len -; vmsrc/apple/sossys.pla: 0475: //end -; vmsrc/apple/sossys.pla: 0476: asm dcitos(dci, str)#1 -_A012 ; dcitos() -; vmsrc/apple/sossys.pla: 0477: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0478: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0479: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0480: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0481: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0482: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0483: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0484: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0485: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0486: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0487: CMP #$80 - CMP #$80 -; vmsrc/apple/sossys.pla: 0488: AND #$7F - AND #$7F -; vmsrc/apple/sossys.pla: 0489: INY - INY -; vmsrc/apple/sossys.pla: 0490: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0491: BCS - - BCS - -; vmsrc/apple/sossys.pla: 0492: TYA - TYA -; vmsrc/apple/sossys.pla: 0493: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0494: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0495: INX - INX -; vmsrc/apple/sossys.pla: 0496: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0497: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0498: RTS - RTS -; vmsrc/apple/sossys.pla: 0499: end -; vmsrc/apple/sossys.pla: 0500: //def stodci(str, dci) -; vmsrc/apple/sossys.pla: 0501: // byte len, c -; vmsrc/apple/sossys.pla: 0502: // len = ^str -; vmsrc/apple/sossys.pla: 0503: // if len == 0 -; vmsrc/apple/sossys.pla: 0504: // return -; vmsrc/apple/sossys.pla: 0505: // fin -; vmsrc/apple/sossys.pla: 0506: // c = toupper((str).[len]) & $7F -; vmsrc/apple/sossys.pla: 0507: // len = len - 1 -; vmsrc/apple/sossys.pla: 0508: // (dci).[len] = c -; vmsrc/apple/sossys.pla: 0509: // while len -; vmsrc/apple/sossys.pla: 0510: // c = toupper((str).[len]) | $80 -; vmsrc/apple/sossys.pla: 0511: // len = len - 1 -; vmsrc/apple/sossys.pla: 0512: // (dci).[len] = c -; vmsrc/apple/sossys.pla: 0513: // loop -; vmsrc/apple/sossys.pla: 0514: // return ^str -; vmsrc/apple/sossys.pla: 0515: //end -; vmsrc/apple/sossys.pla: 0516: asm stodci(str, dci)#1 -_A013 ; stodci() -; vmsrc/apple/sossys.pla: 0517: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0518: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0519: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0520: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0521: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0522: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0523: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0524: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0525: INX - INX -; vmsrc/apple/sossys.pla: 0526: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0527: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0528: BEQ ++ - BEQ ++ -; vmsrc/apple/sossys.pla: 0529: TAY - TAY -; vmsrc/apple/sossys.pla: 0530: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0531: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossys.pla: 0532: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0533: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0534: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossys.pla: 0535: ORA #$80 - ORA #$80 -; vmsrc/apple/sossys.pla: 0536: + DEY -+ DEY -; vmsrc/apple/sossys.pla: 0537: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossys.pla: 0538: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0539: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0540: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/sossys.pla: 0541: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0542: RTS - RTS -; vmsrc/apple/sossys.pla: 0543: end -; vmsrc/apple/sossys.pla: 0544: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A014 ; toupper() -; vmsrc/apple/sossys.pla: 0545: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0546: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/sossys.pla: 0547: CMP #'a' - CMP #'a' -; vmsrc/apple/sossys.pla: 0548: BCC + - BCC + -; vmsrc/apple/sossys.pla: 0549: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/sossys.pla: 0550: BCS + - BCS + -; vmsrc/apple/sossys.pla: 0551: SBC #$1F - SBC #$1F -; vmsrc/apple/sossys.pla: 0552: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/sossys.pla: 0553: RTS - RTS -; vmsrc/apple/sossys.pla: 0554: end -; vmsrc/apple/sossys.pla: 0555: // -; vmsrc/apple/sossys.pla: 0556: // Lookup routines. -; vmsrc/apple/sossys.pla: 0557: // -; vmsrc/apple/sossys.pla: 0558: //def lookuptbl(dci, tbl) -; vmsrc/apple/sossys.pla: 0559: // word match -; vmsrc/apple/sossys.pla: 0560: // while ^tbl -; vmsrc/apple/sossys.pla: 0561: // match = dci -; vmsrc/apple/sossys.pla: 0562: // while ^tbl == ^match -; vmsrc/apple/sossys.pla: 0563: // if !(^tbl & $80) -; vmsrc/apple/sossys.pla: 0564: // return (tbl):1 -; vmsrc/apple/sossys.pla: 0565: // fin -; vmsrc/apple/sossys.pla: 0566: // tbl = tbl + 1 -; vmsrc/apple/sossys.pla: 0567: // match = match + 1 -; vmsrc/apple/sossys.pla: 0568: // loop -; vmsrc/apple/sossys.pla: 0569: // while (^tbl & $80) -; vmsrc/apple/sossys.pla: 0570: // tbl = tbl + 1 -; vmsrc/apple/sossys.pla: 0571: // loop -; vmsrc/apple/sossys.pla: 0572: // tbl = tbl + 3 -; vmsrc/apple/sossys.pla: 0573: // loop -; vmsrc/apple/sossys.pla: 0574: // return 0 -; vmsrc/apple/sossys.pla: 0575: asm lookuptbl(dci, tbl)#1 -_A015 ; lookuptbl() -; vmsrc/apple/sossys.pla: 0576: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0577: STY DSTL - STY DSTL -; vmsrc/apple/sossys.pla: 0578: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0579: CLC - CLC -; vmsrc/apple/sossys.pla: 0580: ADC #$60 - ADC #$60 -; vmsrc/apple/sossys.pla: 0581: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0582: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0583: CLC - CLC -; vmsrc/apple/sossys.pla: 0584: ADC #$7F - ADC #$7F -; vmsrc/apple/sossys.pla: 0585: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0586: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0587: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0588: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0589: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0590: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/sossys.pla: 0591: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0592: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/sossys.pla: 0593: BNE ++ - BNE ++ -; vmsrc/apple/sossys.pla: 0594: INY - INY -; vmsrc/apple/sossys.pla: 0595: ASL - ASL -; vmsrc/apple/sossys.pla: 0596: BCS - - BCS - -; vmsrc/apple/sossys.pla: 0597: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0598: PHA - PHA -; vmsrc/apple/sossys.pla: 0599: INY - INY -; vmsrc/apple/sossys.pla: 0600: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0601: TAY - TAY -; vmsrc/apple/sossys.pla: 0602: PLA - PLA -; vmsrc/apple/sossys.pla: 0603: + INX -+ INX -; vmsrc/apple/sossys.pla: 0604: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0605: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0606: LDA #$00 - LDA #$00 -; vmsrc/apple/sossys.pla: 0607: STA DSTX - STA DSTX -; vmsrc/apple/sossys.pla: 0608: RTS - RTS -; vmsrc/apple/sossys.pla: 0609: ++ LDY #$00 -++ LDY #$00 -; vmsrc/apple/sossys.pla: 0610: -- LDA (DST),Y --- LDA (DST),Y -; vmsrc/apple/sossys.pla: 0611: INC DSTL - INC DSTL -; vmsrc/apple/sossys.pla: 0612: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0613: --- ASL ---- ASL -; vmsrc/apple/sossys.pla: 0614: BCS -- - BCS -- -; vmsrc/apple/sossys.pla: 0615: LDA #$02 - LDA #$02 -; vmsrc/apple/sossys.pla: 0616: ADC DSTL - ADC DSTL -; vmsrc/apple/sossys.pla: 0617: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0618: BCC - - BCC - -; vmsrc/apple/sossys.pla: 0619: INC DSTH - INC DSTH -; vmsrc/apple/sossys.pla: 0620: BCS - - BCS - -; vmsrc/apple/sossys.pla: 0621: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossys.pla: 0622: BNE --- - BNE --- -; vmsrc/apple/sossys.pla: 0623: end -; vmsrc/apple/sossys.pla: 0624: // def lookupidx(esd, index) -; vmsrc/apple/sossys.pla: 0625: // word sym -; vmsrc/apple/sossys.pla: 0626: // while ^esd -; vmsrc/apple/sossys.pla: 0627: // sym = esd -; vmsrc/apple/sossys.pla: 0628: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/sossys.pla: 0629: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/sossys.pla: 0630: // return sym -; vmsrc/apple/sossys.pla: 0631: // fin -; vmsrc/apple/sossys.pla: 0632: // esd = esd + 3 -; vmsrc/apple/sossys.pla: 0633: // loop -; vmsrc/apple/sossys.pla: 0634: //end -; vmsrc/apple/sossys.pla: 0635: asm lookupidx(esd, index)#1 -_A016 ; lookupidx() -; vmsrc/apple/sossys.pla: 0636: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0637: STA TMPL - STA TMPL -; vmsrc/apple/sossys.pla: 0638: INX - INX -; vmsrc/apple/sossys.pla: 0639: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0640: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0641: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0642: -- STA SRCL --- STA SRCL -; vmsrc/apple/sossys.pla: 0643: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0644: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0645: BPL + - BPL + -; vmsrc/apple/sossys.pla: 0646: INY - INY -; vmsrc/apple/sossys.pla: 0647: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0648: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/sossys.pla: 0649: INY - INY -; vmsrc/apple/sossys.pla: 0650: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0651: INY - INY -; vmsrc/apple/sossys.pla: 0652: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/sossys.pla: 0653: BEQ + - BEQ + -; vmsrc/apple/sossys.pla: 0654: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0655: CMP TMPL - CMP TMPL -; vmsrc/apple/sossys.pla: 0656: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/sossys.pla: 0657: + INY -+ INY -; vmsrc/apple/sossys.pla: 0658: TYA - TYA -; vmsrc/apple/sossys.pla: 0659: SEC - SEC -; vmsrc/apple/sossys.pla: 0660: ADC SRCL - ADC SRCL -; vmsrc/apple/sossys.pla: 0661: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/sossys.pla: 0662: BCC -- - BCC -- -; vmsrc/apple/sossys.pla: 0663: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/sossys.pla: 0664: BNE --- - BNE --- -; vmsrc/apple/sossys.pla: 0665: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/sossys.pla: 0666: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossys.pla: 0667: +++ RTS -+++ RTS -; vmsrc/apple/sossys.pla: 0668: end -; vmsrc/apple/sossys.pla: 0669: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/sossys.pla: 0670: // while deftbl->0 == $20 -; vmsrc/apple/sossys.pla: 0671: // if deftbl=>3 == addr -; vmsrc/apple/sossys.pla: 0672: // return deftbl -; vmsrc/apple/sossys.pla: 0673: // fin -; vmsrc/apple/sossys.pla: 0674: // deftbl = deftbl + t_defentry -; vmsrc/apple/sossys.pla: 0675: // loop -; vmsrc/apple/sossys.pla: 0676: // return 0 -; vmsrc/apple/sossys.pla: 0677: //end -; vmsrc/apple/sossys.pla: 0678: asm lookupdef(addr, deftbl)#1 -_A017 ; lookupdef() -; vmsrc/apple/sossys.pla: 0679: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0680: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0681: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0682: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0683: INX - INX -; vmsrc/apple/sossys.pla: 0684: - LDY #$00 -- LDY #$00 -; vmsrc/apple/sossys.pla: 0685: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0686: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/sossys.pla: 0687: BNE ++ - BNE ++ -; vmsrc/apple/sossys.pla: 0688: LDY #$03 - LDY #$03 -; vmsrc/apple/sossys.pla: 0689: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0690: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossys.pla: 0691: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0692: INY - INY -; vmsrc/apple/sossys.pla: 0693: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0694: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/sossys.pla: 0695: BNE + - BNE + -; vmsrc/apple/sossys.pla: 0696: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/sossys.pla: 0697: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0698: LDA SRCH - LDA SRCH -; vmsrc/apple/sossys.pla: 0699: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossys.pla: 0700: RTS - RTS -; vmsrc/apple/sossys.pla: 0701: + LDA #$06 ; T_DEFENTRY -+ LDA #$06 ; T_DEFENTRY -; vmsrc/apple/sossys.pla: 0702: CLC - CLC -; vmsrc/apple/sossys.pla: 0703: ADC SRCL - ADC SRCL -; vmsrc/apple/sossys.pla: 0704: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0705: BCC - - BCC - -; vmsrc/apple/sossys.pla: 0706: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0707: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0708: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/sossys.pla: 0709: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossys.pla: 0710: RTS - RTS -; vmsrc/apple/sossys.pla: 0711: end -; vmsrc/apple/sossys.pla: 0712: // -; vmsrc/apple/sossys.pla: 0713: // Reloc internal data -; vmsrc/apple/sossys.pla: 0714: // -; vmsrc/apple/sossys.pla: 0715: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/sossys.pla: 0716: // word addr, fixup -; vmsrc/apple/sossys.pla: 0717: // while ^rld -; vmsrc/apple/sossys.pla: 0718: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/sossys.pla: 0719: // return rld, addr, fixup -; vmsrc/apple/sossys.pla: 0720: // fin -; vmsrc/apple/sossys.pla: 0721: // addr = rld=>1 + modfix -; vmsrc/apple/sossys.pla: 0722: // fixup = *addr + modofst -; vmsrc/apple/sossys.pla: 0723: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/sossys.pla: 0724: // return rld, addr, fixup -; vmsrc/apple/sossys.pla: 0725: // fin -; vmsrc/apple/sossys.pla: 0726: // *addr = fixup -; vmsrc/apple/sossys.pla: 0727: // rld = rld + 4 -; vmsrc/apple/sossys.pla: 0728: // loop -; vmsrc/apple/sossys.pla: 0729: // return rld, addr, fixup -; vmsrc/apple/sossys.pla: 0730: //end -; vmsrc/apple/sossys.pla: 0731: asm reloc(modfix, modofst, bytecode, rld)#3 -_A018 ; reloc() -; vmsrc/apple/sossys.pla: 0732: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossys.pla: 0733: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0734: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossys.pla: 0735: STA SRCH - STA SRCH -; vmsrc/apple/sossys.pla: 0736: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0737: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0738: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/sossys.pla: 0739: INY - INY -; vmsrc/apple/sossys.pla: 0740: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0741: CLC - CLC -; vmsrc/apple/sossys.pla: 0742: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/sossys.pla: 0743: STA DSTL - STA DSTL -; vmsrc/apple/sossys.pla: 0744: INY - INY -; vmsrc/apple/sossys.pla: 0745: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0746: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/sossys.pla: 0747: STA DSTH - STA DSTH -; vmsrc/apple/sossys.pla: 0748: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0749: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0750: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/sossys.pla: 0751: BNE RLDEX - BNE RLDEX -; vmsrc/apple/sossys.pla: 0752: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossys.pla: 0753: BMI FIX16 - BMI FIX16 -; vmsrc/apple/sossys.pla: 0754: AND #$40 - AND #$40 -; vmsrc/apple/sossys.pla: 0755: BNE FIXMSB - BNE FIXMSB -; vmsrc/apple/sossys.pla: 0756: FIXLSB LDA (DST),Y -FIXLSB LDA (DST),Y -; vmsrc/apple/sossys.pla: 0757: CLC - CLC -; vmsrc/apple/sossys.pla: 0758: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossys.pla: 0759: CLC - CLC -; vmsrc/apple/sossys.pla: 0760: BCC FIX8 - BCC FIX8 -; vmsrc/apple/sossys.pla: 0761: FIXMSB LDY #$03 -FIXMSB LDY #$03 -; vmsrc/apple/sossys.pla: 0762: LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) - LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) -; vmsrc/apple/sossys.pla: 0763: CLC - CLC -; vmsrc/apple/sossys.pla: 0764: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossys.pla: 0765: LDY #$00 - LDY #$00 -; vmsrc/apple/sossys.pla: 0766: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0767: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/sossys.pla: 0768: CLC - CLC -; vmsrc/apple/sossys.pla: 0769: BCC FIX8 - BCC FIX8 -; vmsrc/apple/sossys.pla: 0770: FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/sossys.pla: 0771: CLC - CLC -; vmsrc/apple/sossys.pla: 0772: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossys.pla: 0773: STA TMPL - STA TMPL -; vmsrc/apple/sossys.pla: 0774: INY - INY -; vmsrc/apple/sossys.pla: 0775: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossys.pla: 0776: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/sossys.pla: 0777: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/sossys.pla: 0778: BCC + - BCC + -; vmsrc/apple/sossys.pla: 0779: STA TMPH - STA TMPH -; vmsrc/apple/sossys.pla: 0780: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/sossys.pla: 0781: LDA TMPL - LDA TMPL -; vmsrc/apple/sossys.pla: 0782: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossys.pla: 0783: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/sossys.pla: 0784: LDA TMPH - LDA TMPH -; vmsrc/apple/sossys.pla: 0785: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/sossys.pla: 0786: DEY - DEY -; vmsrc/apple/sossys.pla: 0787: LDA TMPL - LDA TMPL -; vmsrc/apple/sossys.pla: 0788: FIX8 STA (DST),Y -FIX8 STA (DST),Y -; vmsrc/apple/sossys.pla: 0789: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/sossys.pla: 0790: ; CLC -; CLC -; vmsrc/apple/sossys.pla: 0791: ADC #$04 - ADC #$04 -; vmsrc/apple/sossys.pla: 0792: STA SRCL - STA SRCL -; vmsrc/apple/sossys.pla: 0793: BCC - - BCC - -; vmsrc/apple/sossys.pla: 0794: INC SRCH - INC SRCH -; vmsrc/apple/sossys.pla: 0795: BNE - - BNE - -; vmsrc/apple/sossys.pla: 0796: RLDEX INX -RLDEX INX -; vmsrc/apple/sossys.pla: 0797: LDA TMPL - LDA TMPL -; vmsrc/apple/sossys.pla: 0798: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossys.pla: 0799: LDA TMPH - LDA TMPH -; vmsrc/apple/sossys.pla: 0800: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossys.pla: 0801: LDA DSTL - LDA DSTL -; vmsrc/apple/sossys.pla: 0802: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossys.pla: 0803: LDA DSTH - LDA DSTH -; vmsrc/apple/sossys.pla: 0804: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossys.pla: 0805: LDA SRCL - LDA SRCL -; vmsrc/apple/sossys.pla: 0806: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/sossys.pla: 0807: LDA SRCH - LDA SRCH -; vmsrc/apple/sossys.pla: 0808: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/sossys.pla: 0809: RTS - RTS -; vmsrc/apple/sossys.pla: 0810: end -; vmsrc/apple/sossys.pla: 0811: def syslookuptbl(dci)#1 - ; dci -> [0] -_P031 ; syslookuptbl(dci)#1() -_C000 ; syslookuptbl() - JSR INTERP -; vmsrc/apple/sossys.pla: 0812: return lookuptbl(dci, symtbl) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D082+0 -_F063 !WORD _D082+0 - !BYTE $54 ; CALL _A015 -_F064 !WORD _A015 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0813: end -; vmsrc/apple/sossys.pla: 0814: // -; vmsrc/apple/sossys.pla: 0815: // SOS routines -; vmsrc/apple/sossys.pla: 0816: // FILE I/O -; vmsrc/apple/sossys.pla: 0817: // -; vmsrc/apple/sossys.pla: 0818: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C001 ; open() - JSR INTERP -; vmsrc/apple/sossys.pla: 0819: byte params[7] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0820: -; vmsrc/apple/sossys.pla: 0821: params.0 = 4 - !BYTE $58,$09,$01 ; ENTER 9,1 -; vmsrc/apple/sossys.pla: 0822: params:1 = path -; vmsrc/apple/sossys.pla: 0823: params.3 = 0 -; vmsrc/apple/sossys.pla: 0824: params:4 = 0 -; vmsrc/apple/sossys.pla: 0825: params.6 = 0 -; vmsrc/apple/sossys.pla: 0826: perr = syscall($C8, @params) -; vmsrc/apple/sossys.pla: 0827: return params.3 - !BYTE $08 ; CN 4 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $2A,$C8 ; CB 200 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F065 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F066 !WORD _D035+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$09 ; LEAVE 9 -; vmsrc/apple/sossys.pla: 0828: end -; vmsrc/apple/sossys.pla: 0829: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C002 ; close() - JSR INTERP -; vmsrc/apple/sossys.pla: 0830: byte params[2] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0831: -; vmsrc/apple/sossys.pla: 0832: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossys.pla: 0833: params.1 = refnum -; vmsrc/apple/sossys.pla: 0834: perr = syscall($CC, @params) -; vmsrc/apple/sossys.pla: 0835: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$CC ; CB 204 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F067 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F068 !WORD _D035+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0836: end -; vmsrc/apple/sossys.pla: 0837: def read(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P029 ; read(refnum, buff, len)#1() -_C003 ; read() - JSR INTERP -; vmsrc/apple/sossys.pla: 0838: byte params[8] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0839: -; vmsrc/apple/sossys.pla: 0840: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/sossys.pla: 0841: params.1 = refnum -; vmsrc/apple/sossys.pla: 0842: params:2 = buff -; vmsrc/apple/sossys.pla: 0843: params:4 = len -; vmsrc/apple/sossys.pla: 0844: params:6 = 0 -; vmsrc/apple/sossys.pla: 0845: perr = syscall($CA, @params) -; vmsrc/apple/sossys.pla: 0846: return params:6 - !BYTE $08 ; CN 4 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$CA ; CB 202 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F069 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F070 !WORD _D035+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/sossys.pla: 0847: end -; vmsrc/apple/sossys.pla: 0848: def write(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P030 ; write(refnum, buff, len)#1() -_C004 ; write() - JSR INTERP -; vmsrc/apple/sossys.pla: 0849: byte params[6] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0850: -; vmsrc/apple/sossys.pla: 0851: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/sossys.pla: 0852: params.1 = refnum -; vmsrc/apple/sossys.pla: 0853: params:2 = buff -; vmsrc/apple/sossys.pla: 0854: params:4 = len -; vmsrc/apple/sossys.pla: 0855: perr = syscall($CB, @params) -; vmsrc/apple/sossys.pla: 0856: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F071 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F072 !WORD _D035+0 - !BYTE $5A,$0C ; LEAVE 12 -; vmsrc/apple/sossys.pla: 0857: end -; vmsrc/apple/sossys.pla: 0858: // -; vmsrc/apple/sossys.pla: 0859: // CONSOLE I/O -; vmsrc/apple/sossys.pla: 0860: // -; vmsrc/apple/sossys.pla: 0861: def dev_control(devnum, code, list)#1 - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C005 ; dev_control() - JSR INTERP -; vmsrc/apple/sossys.pla: 0862: byte params[5] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0863: -; vmsrc/apple/sossys.pla: 0864: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; vmsrc/apple/sossys.pla: 0865: params.1 = devnum -; vmsrc/apple/sossys.pla: 0866: params.2 = code -; vmsrc/apple/sossys.pla: 0867: params:3 = list -; vmsrc/apple/sossys.pla: 0868: return syscall($83, @params) - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$09 ; SLW [9] - !BYTE $2A,$83 ; CB 131 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F073 !WORD _A000 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/sossys.pla: 0869: end -; vmsrc/apple/sossys.pla: 0870: def dev_getnum(name)#1 - ; name -> [0] -_C006 ; dev_getnum() - JSR INTERP -; vmsrc/apple/sossys.pla: 0871: byte params[4] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0872: -; vmsrc/apple/sossys.pla: 0873: params.0 = 2 - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/sossys.pla: 0874: params:1 = name -; vmsrc/apple/sossys.pla: 0875: params.3 = 0 -; vmsrc/apple/sossys.pla: 0876: syscall($84, @params) -; vmsrc/apple/sossys.pla: 0877: return params.3 - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $2A,$84 ; CB 132 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F074 !WORD _A000 - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/sossys.pla: 0878: end -; vmsrc/apple/sossys.pla: 0879: def init_cons()#0 -_C007 ; init_cons() - JSR INTERP -; vmsrc/apple/sossys.pla: 0880: byte nlmode[2] - ; nlmode -> [0] -; vmsrc/apple/sossys.pla: 0881: -; vmsrc/apple/sossys.pla: 0882: refcons = open(@console) - !BYTE $58,$02,$00 ; ENTER 2,0 -; vmsrc/apple/sossys.pla: 0883: devcons = dev_getnum(@console) -; vmsrc/apple/sossys.pla: 0884: nlmode:0 = $0D80 -; vmsrc/apple/sossys.pla: 0885: //nlmode.0 = $80 -; vmsrc/apple/sossys.pla: 0886: //nlmode.1 = $0D -; vmsrc/apple/sossys.pla: 0887: dev_control(devcons, $02, @nlmode) -; vmsrc/apple/sossys.pla: 0888: write(refcons, @textmode, 3) -; vmsrc/apple/sossys.pla: 0889: end - !BYTE $26 ; LA _D043+0 -_F075 !WORD _D043+0 - !BYTE $54 ; CALL _C001 -_F076 !WORD _C001 - !BYTE $78 ; SAB _D038+0 -_F077 !WORD _D038+0 - !BYTE $26 ; LA _D043+0 -_F078 !WORD _D043+0 - !BYTE $54 ; CALL _C006 -_F079 !WORD _C006 - !BYTE $78 ; SAB _D039+0 -_F080 !WORD _D039+0 - !BYTE $2C,$80,$0D ; CW 3456 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D039+0 -_F081 !WORD _D039+0 - !BYTE $04 ; CN 2 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C005 -_F082 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D038+0 -_F083 !WORD _D038+0 - !BYTE $26 ; LA _D044+0 -_F084 !WORD _D044+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C004 -_F085 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0890: // -; vmsrc/apple/sossys.pla: 0891: // MEMORY CALLS -; vmsrc/apple/sossys.pla: 0892: // -; vmsrc/apple/sossys.pla: 0893: def seg_find(search, pages, id)#3 - ; search -> [0] - ; pages -> [2] - ; id -> [4] -_C008 ; seg_find() - JSR INTERP -; vmsrc/apple/sossys.pla: 0894: byte params[10] - ; params -> [6] -; vmsrc/apple/sossys.pla: 0895: -; vmsrc/apple/sossys.pla: 0896: params.0 = 6 - !BYTE $58,$10,$03 ; ENTER 16,3 -; vmsrc/apple/sossys.pla: 0897: params.1 = search -; vmsrc/apple/sossys.pla: 0898: params.2 = id -; vmsrc/apple/sossys.pla: 0899: params:3 = pages -; vmsrc/apple/sossys.pla: 0900: params:5 = 0 -; vmsrc/apple/sossys.pla: 0901: params:7 = 0 -; vmsrc/apple/sossys.pla: 0902: params.9 = 0 -; vmsrc/apple/sossys.pla: 0903: perr = syscall($41, @params) -; vmsrc/apple/sossys.pla: 0904: return params.9, params:5, params:7 - !BYTE $0C ; CN 6 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$09 ; SLW [9] - !BYTE $00 ; CN 0 - !BYTE $76,$0B ; SLW [11] - !BYTE $00 ; CN 0 - !BYTE $76,$0D ; SLW [13] - !BYTE $00 ; CN 0 - !BYTE $74,$0F ; SLB [15] - !BYTE $2A,$41 ; CB 65 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F086 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F087 !WORD _D035+0 - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$0B ; LLW [11] - !BYTE $66,$0D ; LLW [13] - !BYTE $5A,$10 ; LEAVE 16 -; vmsrc/apple/sossys.pla: 0905: end -; vmsrc/apple/sossys.pla: 0906: def seg_release(segnum)#1 - ; segnum -> [0] -_C009 ; seg_release() - JSR INTERP -; vmsrc/apple/sossys.pla: 0907: byte params[2] - ; params -> [2] -; vmsrc/apple/sossys.pla: 0908: -; vmsrc/apple/sossys.pla: 0909: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossys.pla: 0910: params.1 = segnum -; vmsrc/apple/sossys.pla: 0911: perr = syscall($45, @params) -; vmsrc/apple/sossys.pla: 0912: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$45 ; CB 69 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F088 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F089 !WORD _D035+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0913: end -; vmsrc/apple/sossys.pla: 0914: // -; vmsrc/apple/sossys.pla: 0915: // CONSOLE I/O -; vmsrc/apple/sossys.pla: 0916: // -; vmsrc/apple/sossys.pla: 0917: def cout(ch)#0 - ; ch -> [0] -_P003 ; cout(ch)#0() -_C010 ; cout() - JSR INTERP -; vmsrc/apple/sossys.pla: 0918: byte nc - ; nc -> [2] -; vmsrc/apple/sossys.pla: 0919: -; vmsrc/apple/sossys.pla: 0920: nc = 1 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/sossys.pla: 0921: if ch == $0D -; vmsrc/apple/sossys.pla: 0922: ch = $0A0D -; vmsrc/apple/sossys.pla: 0923: nc = 2 -; vmsrc/apple/sossys.pla: 0924: fin - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B001 - !WORD _B001-* - !BYTE $2C,$0D,$0A ; CW 2573 - !BYTE $76,$00 ; SLW [0] - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] -_B001 -_B002 -; vmsrc/apple/sossys.pla: 0925: write(refcons, @ch, nc) -; vmsrc/apple/sossys.pla: 0926: end - !BYTE $68 ; LAB _D038+0 -_F090 !WORD _D038+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C004 -_F091 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/sossys.pla: 0927: def crout()#0 -_P002 ; crout()#0() -_C011 ; crout() - JSR INTERP -; vmsrc/apple/sossys.pla: 0928: cout($0D) -; vmsrc/apple/sossys.pla: 0929: end - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _C010 -_F092 !WORD _C010 - !BYTE $5C ; RET -; vmsrc/apple/sossys.pla: 0930: def cin()#1 -_P008 ; cin()#1() -_C012 ; cin() - JSR INTERP -; vmsrc/apple/sossys.pla: 0931: byte ch - ; ch -> [0] -; vmsrc/apple/sossys.pla: 0932: read(refcons, @ch, 1) - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/sossys.pla: 0933: return ch & $7F - !BYTE $68 ; LAB _D038+0 -_F093 !WORD _D038+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C003 -_F094 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossys.pla: 0934: end -; vmsrc/apple/sossys.pla: 0935: def prstr(str)#0 - ; str -> [0] -_P004 ; prstr(str)#0() -_C013 ; prstr() - JSR INTERP -; vmsrc/apple/sossys.pla: 0936: write(refcons, str + 1, ^str) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0937: if str->[^str] == $0D -; vmsrc/apple/sossys.pla: 0938: cout($0A) -; vmsrc/apple/sossys.pla: 0939: fin - !BYTE $68 ; LAB _D038+0 -_F095 !WORD _D038+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C004 -_F096 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B003 - !WORD _B003-* - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _C010 -_F097 !WORD _C010 -_B003 -_B004 -; vmsrc/apple/sossys.pla: 0940: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0941: def print(i)#0 - ; i -> [0] -_P005 ; print(i)#0() -_C014 ; print() - JSR INTERP -; vmsrc/apple/sossys.pla: 0942: if i < 0; cout('-'); i = -i; fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _C010 -_F098 !WORD _C010 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B005 -_B006 -; vmsrc/apple/sossys.pla: 0943: if i >= 10; print(i / 10); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _C014 -_F099 !WORD _C014 -_B007 -_B008 -; vmsrc/apple/sossys.pla: 0944: cout(i % 10 + '0') -; vmsrc/apple/sossys.pla: 0945: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _C010 -_F100 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0946: def rdstr(prompt)#1 - ; prompt -> [0] -_P009 ; rdstr(prompt)#1() -_C015 ; rdstr() - JSR INTERP -; vmsrc/apple/sossys.pla: 0947: cout(prompt) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0948: ^instr = read(refcons, instr+1, 128) -; vmsrc/apple/sossys.pla: 0949: if instr->[^instr] == $0D -; vmsrc/apple/sossys.pla: 0950: ^instr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C010 -_F101 !WORD _C010 - !BYTE $68 ; LAB _D038+0 -_F102 !WORD _D038+0 - !BYTE $2C,$21,$A0 ; CW 40993 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C003 -_F103 !WORD _C003 - !BYTE $78,$20,$A0 ; SAB 40992 - !BYTE $2C,$20,$A0 ; CW 40992 - !BYTE $B4,$20,$A0 ; ADDAB 40992 - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B009 - !WORD _B009-* - !BYTE $68,$20,$A0 ; LAB 40992 - !BYTE $8E ; DECR -; vmsrc/apple/sossys.pla: 0951: fin - !BYTE $78,$20,$A0 ; SAB 40992 -_B009 -_B010 -; vmsrc/apple/sossys.pla: 0952: crout -; vmsrc/apple/sossys.pla: 0953: return instr - !BYTE $54 ; CALL _C011 -_F104 !WORD _C011 - !BYTE $2C,$20,$A0 ; CW 40992 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0954: end -; vmsrc/apple/sossys.pla: 0955: def prbyte(v)#0 - ; v -> [0] -_P006 ; prbyte(v)#0() -_C016 ; prbyte() - JSR INTERP -; vmsrc/apple/sossys.pla: 0956: cout(hexchar[(v >> 4) & $0F]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0957: cout(hexchar[v & $0F]) -; vmsrc/apple/sossys.pla: 0958: end - !BYTE $26 ; LA _D041+0 -_F105 !WORD _D041+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C010 -_F106 !WORD _C010 - !BYTE $26 ; LA _D041+0 -_F107 !WORD _D041+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C010 -_F108 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0959: def prword(v)#0 - ; v -> [0] -_P007 ; prword(v)#0() -_C017 ; prword() - JSR INTERP -; vmsrc/apple/sossys.pla: 0960: prbyte(v >> 8) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0961: prbyte(v) -; vmsrc/apple/sossys.pla: 0962: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C016 -_F109 !WORD _C016 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F110 !WORD _C016 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0963: // -; vmsrc/apple/sossys.pla: 0964: // Heap routines. -; vmsrc/apple/sossys.pla: 0965: // -; vmsrc/apple/sossys.pla: 0966: def availheap()#1 -_P017 ; availheap()#1() -_C018 ; availheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0967: byte fp - ; fp -> [0] -; vmsrc/apple/sossys.pla: 0968: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D078+0 -_F111 !WORD _D078+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossys.pla: 0969: end -; vmsrc/apple/sossys.pla: 0970: def allocheap(size)#1 - ; size -> [0] -_P014 ; allocheap(size)#1() -_C019 ; allocheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0971: word addr - ; addr -> [2] -; vmsrc/apple/sossys.pla: 0972: addr = heap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossys.pla: 0973: heap = heap + size -; vmsrc/apple/sossys.pla: 0974: if uword_isge(heap, @addr) -; vmsrc/apple/sossys.pla: 0975: heap = addr -; vmsrc/apple/sossys.pla: 0976: return 0 - !BYTE $6A ; LAW _D078+0 -_F112 !WORD _D078+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D078+0 -_F113 !WORD _D078+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D078+0 -_F114 !WORD _D078+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A006 -_F115 !WORD _A006 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D078+0 -_F116 !WORD _D078+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0977: fin -_B011 -_B012 -; vmsrc/apple/sossys.pla: 0978: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 0979: end -; vmsrc/apple/sossys.pla: 0980: def allocalignheap(size, pow2, freeaddr)#1 - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P015 ; allocalignheap(size, pow2, freeaddr)#1() -_C020 ; allocalignheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0981: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/sossys.pla: 0982: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/sossys.pla: 0983: *freeaddr = heap -; vmsrc/apple/sossys.pla: 0984: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D078+0 -_F117 !WORD _D078+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B013 -_B014 -; vmsrc/apple/sossys.pla: 0985: align = (1 << pow2) - 1 -; vmsrc/apple/sossys.pla: 0986: addr = (heap | align) + 1 -; vmsrc/apple/sossys.pla: 0987: heap = addr + size -; vmsrc/apple/sossys.pla: 0988: if uword_isge(heap, @addr) -; vmsrc/apple/sossys.pla: 0989: return 0 - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $9A ; SHL - !BYTE $8E ; DECR - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D078+0 -_F118 !WORD _D078+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $96 ; OR - !BYTE $8C ; INCR - !BYTE $6E,$08 ; DLW [8] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D078+0 -_F119 !WORD _D078+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A006 -_F120 !WORD _A006 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossys.pla: 0990: fin -_B015 -_B016 -; vmsrc/apple/sossys.pla: 0991: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossys.pla: 0992: end -; vmsrc/apple/sossys.pla: 0993: def markheap()#1 -_P013 ; markheap()#1() -_C021 ; markheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0994: return heap - !BYTE $6A ; LAW _D078+0 -_F121 !WORD _D078+0 - !BYTE $5C ; RET -; vmsrc/apple/sossys.pla: 0995: end -; vmsrc/apple/sossys.pla: 0996: def releaseheap(newheap)#1 - ; newheap -> [0] -_P016 ; releaseheap(newheap)#1() -_C022 ; releaseheap() - JSR INTERP -; vmsrc/apple/sossys.pla: 0997: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossys.pla: 0998: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D078+0 -_F122 !WORD _D078+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D078+0 -_F123 !WORD _D078+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossys.pla: 0999: end -; vmsrc/apple/sossys.pla: 1000: // -; vmsrc/apple/sossys.pla: 1001: // Symbol table routines. -; vmsrc/apple/sossys.pla: 1002: // -; vmsrc/apple/sossys.pla: 1003: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C023 ; addsym() - JSR INTERP -; vmsrc/apple/sossys.pla: 1004: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B017 -; vmsrc/apple/sossys.pla: 1005: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossys.pla: 1006: lastsym = lastsym + 1 -; vmsrc/apple/sossys.pla: 1007: sym = sym + 1 -; vmsrc/apple/sossys.pla: 1008: loop - !BYTE $68 ; LAB _D082+0 -_F124 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F125 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F126 !WORD _A005 - !BYTE $6A ; LAW _D083+0 -_F127 !WORD _D083+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D083+0 -_F128 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B019 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* -_B018 -; vmsrc/apple/sossys.pla: 1009: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossys.pla: 1010: xpokeb(symtbl.0, lastsym + 1, addr.0) -; vmsrc/apple/sossys.pla: 1011: xpokeb(symtbl.0, lastsym + 2, addr.1) -; vmsrc/apple/sossys.pla: 1012: xpokeb(symtbl.0, lastsym + 3, 0) -; vmsrc/apple/sossys.pla: 1013: lastsym = lastsym + 3 -; vmsrc/apple/sossys.pla: 1014: end - !BYTE $68 ; LAB _D082+0 -_F129 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F130 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F131 !WORD _A005 - !BYTE $68 ; LAB _D082+0 -_F132 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F133 !WORD _D083+0 - !BYTE $8C ; INCR - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _A005 -_F134 !WORD _A005 - !BYTE $68 ; LAB _D082+0 -_F135 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F136 !WORD _D083+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _A005 -_F137 !WORD _A005 - !BYTE $68 ; LAB _D082+0 -_F138 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F139 !WORD _D083+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F140 !WORD _A005 - !BYTE $6A ; LAW _D083+0 -_F141 !WORD _D083+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D083+0 -_F142 !WORD _D083+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 1015: // -; vmsrc/apple/sossys.pla: 1016: // String routines. -; vmsrc/apple/sossys.pla: 1017: // -; vmsrc/apple/sossys.pla: 1018: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P011 ; strcpy(dst, src)#1() -_C024 ; strcpy() - JSR INTERP -; vmsrc/apple/sossys.pla: 1019: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossys.pla: 1020: ^dst = ^src -; vmsrc/apple/sossys.pla: 1021: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A003 -_F143 !WORD _A003 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 1022: end -; vmsrc/apple/sossys.pla: 1023: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P012 ; strcat(dst, src)#1() -_C025 ; strcat() - JSR INTERP -; vmsrc/apple/sossys.pla: 1024: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossys.pla: 1025: ^dst = ^dst + ^src -; vmsrc/apple/sossys.pla: 1026: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A003 -_F144 !WORD _A003 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossys.pla: 1027: end -; vmsrc/apple/sossys.pla: 1028: // -; vmsrc/apple/sossys.pla: 1029: // Module routines. -; vmsrc/apple/sossys.pla: 1030: // -; vmsrc/apple/sossys.pla: 1031: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C026 ; lookupextern() - JSR INTERP -; vmsrc/apple/sossys.pla: 1032: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/sossys.pla: 1033: byte str[33] - ; str -> [8] -; vmsrc/apple/sossys.pla: 1034: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/sossys.pla: 1035: if sym -; vmsrc/apple/sossys.pla: 1036: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/sossys.pla: 1037: if !addr -; vmsrc/apple/sossys.pla: 1038: perr = $81 -; vmsrc/apple/sossys.pla: 1039: dcitos(sym, @str) -; vmsrc/apple/sossys.pla: 1040: cout('?'); prstr(@str); crout -; vmsrc/apple/sossys.pla: 1041: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A016 -_F145 !WORD _A016 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D082+0 -_F146 !WORD _D082+0 - !BYTE $54 ; CALL _A015 -_F147 !WORD _A015 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D035+0 -_F148 !WORD _D035+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F149 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _C010 -_F150 !WORD _C010 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C013 -_F151 !WORD _C013 - !BYTE $54 ; CALL _C011 -_F152 !WORD _C011 -_B022 -_B023 -; vmsrc/apple/sossys.pla: 1042: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossys.pla: 1043: fin -_B020 -_B021 -; vmsrc/apple/sossys.pla: 1044: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossys.pla: 1045: end -; vmsrc/apple/sossys.pla: 1046: def adddef(ext, addr, deflast)#1 - ; ext -> [0] - ; addr -> [2] - ; deflast -> [4] -_C027 ; adddef() - JSR INTERP -; vmsrc/apple/sossys.pla: 1047: word preventry, defentry, defsize - ; preventry -> [6] - ; defentry -> [8] - ; defsize -> [10] -; vmsrc/apple/sossys.pla: 1048: defentry = *deflast - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/sossys.pla: 1049: *deflast = defentry + t_defentry -; vmsrc/apple/sossys.pla: 1050: defentry->interpjsr = $20 // JSR -; vmsrc/apple/sossys.pla: 1051: defentry=>interpaddr = *xinterp // XINTERP -; vmsrc/apple/sossys.pla: 1052: defentry=>bytecodeaddr = addr -; vmsrc/apple/sossys.pla: 1053: defentry->bytecodexbyte = ext -; vmsrc/apple/sossys.pla: 1054: defentry->t_defentry = 0 -; vmsrc/apple/sossys.pla: 1055: return defentry - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $6E,$08 ; DLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $6A,$F8,$A0 ; LAW 41208 - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0C ; LEAVE 12 -; vmsrc/apple/sossys.pla: 1056: end -; vmsrc/apple/sossys.pla: 1057: def loadmod(mod)#1 - ; mod -> [0] -_C028 ; loadmod() - JSR INTERP -; vmsrc/apple/sossys.pla: 1058: word refnum, rdlen, modsize, bytecode, codefix, defofst, defcnt, init, initcode[], fixup - ; refnum -> [2] - ; rdlen -> [4] - ; modsize -> [6] - ; bytecode -> [8] - ; codefix -> [10] - ; defofst -> [12] - ; defcnt -> [14] - ; init -> [16] - ; initcode -> [18] - ; fixup -> [18] -; vmsrc/apple/sossys.pla: 1059: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [20] - ; defaddr -> [22] - ; modaddr -> [24] - ; modfix -> [26] - ; modofst -> [28] - ; modend -> [30] -; vmsrc/apple/sossys.pla: 1060: word deftbl, deflast, codeseg - ; deftbl -> [32] - ; deflast -> [34] - ; codeseg -> [36] -; vmsrc/apple/sossys.pla: 1061: word moddep, rld, esd, sym - ; moddep -> [38] - ; rld -> [40] - ; esd -> [42] - ; sym -> [44] -; vmsrc/apple/sossys.pla: 1062: byte lerr, defext, fileinfo[], str[16], filename[33] - ; lerr -> [46] - ; defext -> [47] - ; fileinfo -> [48] - ; str -> [48] - ; filename -> [64] -; vmsrc/apple/sossys.pla: 1063: byte header[128] - ; header -> [97] -; vmsrc/apple/sossys.pla: 1064: lerr = 0 - !BYTE $58,$E1,$01 ; ENTER 225,1 -; vmsrc/apple/sossys.pla: 1065: // -; vmsrc/apple/sossys.pla: 1066: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/sossys.pla: 1067: // -; vmsrc/apple/sossys.pla: 1068: dcitos(mod, @filename) -; vmsrc/apple/sossys.pla: 1069: refnum = open(@filename) -; vmsrc/apple/sossys.pla: 1070: if !refnum and filename < 16 -; vmsrc/apple/sossys.pla: 1071: // -; vmsrc/apple/sossys.pla: 1072: // Try system path -; vmsrc/apple/sossys.pla: 1073: // -; vmsrc/apple/sossys.pla: 1074: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/sossys.pla: 1075: fin - !BYTE $00 ; CN 0 - !BYTE $74,$2E ; SLB [46] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _A012 -_F153 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _C001 -_F154 !WORD _C001 - !BYTE $6E,$02 ; DLW [2] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B024 - !WORD _B024-* - !BYTE $64,$40 ; LLB [64] - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT -_B024 - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $28,$40 ; LLA [64] - !BYTE $28,$61 ; LLA [97] - !BYTE $26 ; LA _D076+0 -_F155 !WORD _D076+0 - !BYTE $54 ; CALL _C024 -_F156 !WORD _C024 - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _C025 -_F157 !WORD _C025 - !BYTE $54 ; CALL _C024 -_F158 !WORD _C024 - !BYTE $54 ; CALL _C001 -_F159 !WORD _C001 - !BYTE $76,$02 ; SLW [2] -_B025 -_B026 -; vmsrc/apple/sossys.pla: 1076: if refnum -; vmsrc/apple/sossys.pla: 1077: header.0 = 3 -; vmsrc/apple/sossys.pla: 1078: header:1 = @filename -; vmsrc/apple/sossys.pla: 1079: header:3 = @fileinfo -; vmsrc/apple/sossys.pla: 1080: header.5 = 2 -; vmsrc/apple/sossys.pla: 1081: if not syscall($C4, @header) and fileinfo.1 <> $FE // Make sure it's a REL module -; vmsrc/apple/sossys.pla: 1082: close(refnum) -; vmsrc/apple/sossys.pla: 1083: perr = $4A // Incompatible type -; vmsrc/apple/sossys.pla: 1084: return -perr - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $06 ; CN 3 - !BYTE $74,$61 ; SLB [97] - !BYTE $28,$40 ; LLA [64] - !BYTE $76,$62 ; SLW [98] - !BYTE $28,$30 ; LLA [48] - !BYTE $76,$64 ; SLW [100] - !BYTE $04 ; CN 2 - !BYTE $74,$66 ; SLB [102] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$61 ; LLA [97] - !BYTE $54 ; CALL _A000 -_F160 !WORD _A000 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B029 - !WORD _B029-* - !BYTE $64,$31 ; LLB [49] - !BYTE $2A,$FE ; CB 254 - !BYTE $42 ; ISNE -_B029 - !BYTE $4C ; BRFLS _B030 - !WORD _B030-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F161 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D035+0 -_F162 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1085: fin -_B030 -_B031 -; vmsrc/apple/sossys.pla: 1086: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossys.pla: 1087: modsize = header:0 -; vmsrc/apple/sossys.pla: 1088: moddep = @header.1 -; vmsrc/apple/sossys.pla: 1089: defofst = modsize + RELADDR -; vmsrc/apple/sossys.pla: 1090: defext = 0 -; vmsrc/apple/sossys.pla: 1091: init = 0 -; vmsrc/apple/sossys.pla: 1092: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/sossys.pla: 1093: // -; vmsrc/apple/sossys.pla: 1094: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/sossys.pla: 1095: // -; vmsrc/apple/sossys.pla: 1096: systemflags = header.4 | systemflags -; vmsrc/apple/sossys.pla: 1097: defofst = header:6 -; vmsrc/apple/sossys.pla: 1098: defcnt = header:8 -; vmsrc/apple/sossys.pla: 1099: init = header:10 -; vmsrc/apple/sossys.pla: 1100: moddep = @header.12 -; vmsrc/apple/sossys.pla: 1101: // -; vmsrc/apple/sossys.pla: 1102: // Load module dependencies. -; vmsrc/apple/sossys.pla: 1103: // -; vmsrc/apple/sossys.pla: 1104: while ^moddep - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$61 ; LLA [97] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C003 -_F163 !WORD _C003 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$61 ; LLW [97] - !BYTE $76,$06 ; SLW [6] - !BYTE $28,$62 ; LLA [98] - !BYTE $76,$26 ; SLW [38] - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $74,$2F ; SLB [47] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$04 ; LLW [4] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B032 - !WORD _B032-* - !BYTE $66,$63 ; LLW [99] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $40 ; ISEQ -_B032 - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $64,$65 ; LLB [101] - !BYTE $6A ; LAW _D040+0 -_F164 !WORD _D040+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D040+0 -_F165 !WORD _D040+0 - !BYTE $66,$67 ; LLW [103] - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$69 ; LLW [105] - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$6B ; LLW [107] - !BYTE $76,$10 ; SLW [16] - !BYTE $28,$6D ; LLA [109] - !BYTE $76,$26 ; SLW [38] - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B035 -; vmsrc/apple/sossys.pla: 1105: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/sossys.pla: 1106: if refnum -; vmsrc/apple/sossys.pla: 1107: close(refnum) -; vmsrc/apple/sossys.pla: 1108: refnum = 0 -; vmsrc/apple/sossys.pla: 1109: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $6A ; LAW _D082+0 -_F166 !WORD _D082+0 - !BYTE $54 ; CALL _A015 -_F167 !WORD _A015 - !BYTE $4E ; BRTRU _B038 - !WORD _B038-* - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F168 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B040 -_B041 -; vmsrc/apple/sossys.pla: 1110: if loadmod(moddep) < 0 -; vmsrc/apple/sossys.pla: 1111: return -perr - !BYTE $66,$26 ; LLW [38] - !BYTE $54 ; CALL _C028 -_F169 !WORD _C028 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $68 ; LAB _D035+0 -_F170 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1112: fin -_B042 -_B043 -; vmsrc/apple/sossys.pla: 1113: fin -_B038 -_B039 -; vmsrc/apple/sossys.pla: 1114: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/sossys.pla: 1115: loop - !BYTE $66,$26 ; LLW [38] - !BYTE $34 ; DUP - !BYTE $28,$30 ; LLA [48] - !BYTE $54 ; CALL _A012 -_F171 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $76,$26 ; SLW [38] -_B037 - !BYTE $66,$26 ; LLW [38] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B035 - !WORD _B035-* -_B036 -; vmsrc/apple/sossys.pla: 1116: // -; vmsrc/apple/sossys.pla: 1117: // Init def table. -; vmsrc/apple/sossys.pla: 1118: // -; vmsrc/apple/sossys.pla: 1119: deftbl = allocheap(defcnt * t_defentry + 1) -; vmsrc/apple/sossys.pla: 1120: deflast = deftbl -; vmsrc/apple/sossys.pla: 1121: ^deflast = 0 -; vmsrc/apple/sossys.pla: 1122: if !refnum -; vmsrc/apple/sossys.pla: 1123: // -; vmsrc/apple/sossys.pla: 1124: // Reset read pointer. -; vmsrc/apple/sossys.pla: 1125: // -; vmsrc/apple/sossys.pla: 1126: refnum = open(@filename) -; vmsrc/apple/sossys.pla: 1127: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossys.pla: 1128: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $0C ; CN 6 - !BYTE $86 ; MUL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C019 -_F172 !WORD _C019 - !BYTE $6E,$20 ; DLW [32] - !BYTE $76,$22 ; SLW [34] - !BYTE $00 ; CN 0 - !BYTE $66,$22 ; LLW [34] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B044 - !WORD _B044-* - !BYTE $28,$40 ; LLA [64] - !BYTE $54 ; CALL _C001 -_F173 !WORD _C001 - !BYTE $6E,$02 ; DLW [2] - !BYTE $28,$61 ; LLA [97] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C003 -_F174 !WORD _C003 - !BYTE $76,$04 ; SLW [4] -_B044 -_B045 -; vmsrc/apple/sossys.pla: 1129: fin -_B033 -_B034 -; vmsrc/apple/sossys.pla: 1130: // -; vmsrc/apple/sossys.pla: 1131: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/sossys.pla: 1132: // -; vmsrc/apple/sossys.pla: 1133: moddep++ - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR -; vmsrc/apple/sossys.pla: 1134: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/sossys.pla: 1135: modsize = modsize - modfix -; vmsrc/apple/sossys.pla: 1136: rdlen = rdlen - modfix - 2 -; vmsrc/apple/sossys.pla: 1137: modaddr = allocheap(modsize) -; vmsrc/apple/sossys.pla: 1138: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/sossys.pla: 1139: // -; vmsrc/apple/sossys.pla: 1140: // Read in remainder of module into memory for fixups. -; vmsrc/apple/sossys.pla: 1141: // -; vmsrc/apple/sossys.pla: 1142: addr = modaddr -; vmsrc/apple/sossys.pla: 1143: repeat - !BYTE $6E,$26 ; DLW [38] - !BYTE $28,$63 ; LLA [99] - !BYTE $84 ; SUB - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$1A ; LLW [26] - !BYTE $84 ; SUB - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$1A ; LLW [26] - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C019 -_F175 !WORD _C019 - !BYTE $6E,$18 ; DLW [24] - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A003 -_F176 !WORD _A003 - !BYTE $66,$18 ; LLW [24] - !BYTE $76,$14 ; SLW [20] -_B047 -; vmsrc/apple/sossys.pla: 1144: addr = addr + rdlen -; vmsrc/apple/sossys.pla: 1145: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/sossys.pla: 1146: until rdlen <= 0 - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$14 ; LLW [20] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C003 -_F177 !WORD _C003 - !BYTE $76,$04 ; SLW [4] -_B048 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* -_B046 -; vmsrc/apple/sossys.pla: 1147: close(refnum) -; vmsrc/apple/sossys.pla: 1148: // -; vmsrc/apple/sossys.pla: 1149: // Add module to symbol table. -; vmsrc/apple/sossys.pla: 1150: // -; vmsrc/apple/sossys.pla: 1151: addsym(mod, modaddr) -; vmsrc/apple/sossys.pla: 1152: // -; vmsrc/apple/sossys.pla: 1153: // Apply all fixups and symbol import/export. -; vmsrc/apple/sossys.pla: 1154: // -; vmsrc/apple/sossys.pla: 1155: modfix = modaddr - modfix -; vmsrc/apple/sossys.pla: 1156: modofst = modfix - RELADDR -; vmsrc/apple/sossys.pla: 1157: modend = modaddr + modsize -; vmsrc/apple/sossys.pla: 1158: bytecode = defofst + modofst -; vmsrc/apple/sossys.pla: 1159: rld = modend // Re-Locatable Directory -; vmsrc/apple/sossys.pla: 1160: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/sossys.pla: 1161: while ^esd // Scan to end of ESD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F178 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C023 -_F179 !WORD _C023 - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$1A ; LLW [26] - !BYTE $84 ; SUB - !BYTE $6E,$1A ; DLW [26] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$18 ; LLW [24] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$1E ; SLW [30] - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$1C ; ADDLW [28] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$1E ; LLW [30] - !BYTE $6E,$28 ; DLW [40] - !BYTE $76,$2A ; SLW [42] - !BYTE $50 ; BRNCH _B051 - !WORD _B051-* -_B049 -; vmsrc/apple/sossys.pla: 1162: esd = esd + 4 -; vmsrc/apple/sossys.pla: 1163: loop - !BYTE $66,$2A ; LLW [42] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$2A ; SLW [42] -_B051 - !BYTE $66,$2A ; LLW [42] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B049 - !WORD _B049-* -_B050 -; vmsrc/apple/sossys.pla: 1164: esd++ - !BYTE $66,$2A ; LLW [42] - !BYTE $8C ; INCR -; vmsrc/apple/sossys.pla: 1165: if defcnt -; vmsrc/apple/sossys.pla: 1166: // -; vmsrc/apple/sossys.pla: 1167: // Locate bytecode defs in allocated segment. -; vmsrc/apple/sossys.pla: 1168: // -; vmsrc/apple/sossys.pla: 1169: modseg[modid], codeseg, drop = seg_find($00, (rld - bytecode + 255) >> 8, modid + $12) -; vmsrc/apple/sossys.pla: 1170: if perr -; vmsrc/apple/sossys.pla: 1171: return -perr - !BYTE $76,$2A ; SLW [42] - !BYTE $66,$0E ; LLW [14] - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $00 ; CN 0 - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $38,$FF ; ADDI 255 - !BYTE $10 ; CN 8 - !BYTE $9C ; SHR - !BYTE $68 ; LAB _D081+0 -_F180 !WORD _D081+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $54 ; CALL _C008 -_F181 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $76,$24 ; SLW [36] - !BYTE $26 ; LA _D080+0 -_F182 !WORD _D080+0 - !BYTE $B4 ; ADDAB _D081+0 -_F183 !WORD _D081+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D035+0 -_F184 !WORD _D035+0 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $68 ; LAB _D035+0 -_F185 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1172: fin -_B054 -_B055 -; vmsrc/apple/sossys.pla: 1173: modid++ - !BYTE $68 ; LAB _D081+0 -_F186 !WORD _D081+0 - !BYTE $8C ; INCR -; vmsrc/apple/sossys.pla: 1174: defext = codeseg.0 + $7F // (codeseg.0 | $80) - 1 -; vmsrc/apple/sossys.pla: 1175: defaddr = (codeseg & $FF00) + $6000 -; vmsrc/apple/sossys.pla: 1176: codefix = defaddr - bytecode -; vmsrc/apple/sossys.pla: 1177: defofst = defaddr - defofst -; vmsrc/apple/sossys.pla: 1178: fin - !BYTE $78 ; SAB _D081+0 -_F187 !WORD _D081+0 - !BYTE $64,$24 ; LLB [36] - !BYTE $38,$7F ; ADDI 127 - !BYTE $74,$2F ; SLB [47] - !BYTE $66,$24 ; LLW [36] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $82 ; ADD - !BYTE $6E,$16 ; DLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$0C ; LLW [12] - !BYTE $84 ; SUB - !BYTE $76,$0C ; SLW [12] -_B052 -_B053 -; vmsrc/apple/sossys.pla: 1179: // -; vmsrc/apple/sossys.pla: 1180: // Run through the DeFinition Dictionary. -; vmsrc/apple/sossys.pla: 1181: // -; vmsrc/apple/sossys.pla: 1182: while ^rld == $02 - !BYTE $50 ; BRNCH _B058 - !WORD _B058-* -_B056 -; vmsrc/apple/sossys.pla: 1183: // -; vmsrc/apple/sossys.pla: 1184: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/sossys.pla: 1185: // -; vmsrc/apple/sossys.pla: 1186: adddef(defext, rld=>1 + defofst, @deflast) -; vmsrc/apple/sossys.pla: 1187: rld = rld + 4 -; vmsrc/apple/sossys.pla: 1188: loop - !BYTE $64,$2F ; LLB [47] - !BYTE $66,$28 ; LLW [40] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _C027 -_F188 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $66,$28 ; LLW [40] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$28 ; SLW [40] -_B058 - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B056 - !WORD _B056-* -_B057 -; vmsrc/apple/sossys.pla: 1189: // -; vmsrc/apple/sossys.pla: 1190: // Run through the Re-Location Dictionary. -; vmsrc/apple/sossys.pla: 1191: // -; vmsrc/apple/sossys.pla: 1192: while ^rld - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -_B059 -; vmsrc/apple/sossys.pla: 1193: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/sossys.pla: 1194: if ^rld -; vmsrc/apple/sossys.pla: 1195: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/sossys.pla: 1196: rld = rld + 4 -; vmsrc/apple/sossys.pla: 1197: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $66,$1C ; LLW [28] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$28 ; LLW [40] - !BYTE $54 ; CALL _A018 -_F189 !WORD _A018 - !BYTE $76,$12 ; SLW [18] - !BYTE $76,$14 ; SLW [20] - !BYTE $6E,$28 ; DLW [40] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B064 - !WORD _B064-* - !BYTE $66,$14 ; LLW [20] - !BYTE $62 ; LW - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$28 ; LLW [40] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C026 -_F190 !WORD _C026 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B064 - !BYTE $66,$12 ; LLW [18] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A017 -_F191 !WORD _A017 -_B065 - !BYTE $66,$14 ; LLW [20] - !BYTE $72 ; SW - !BYTE $66,$28 ; LLW [40] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$28 ; SLW [40] -_B062 -_B063 -; vmsrc/apple/sossys.pla: 1198: loop -_B061 - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B059 - !WORD _B059-* -_B060 -; vmsrc/apple/sossys.pla: 1199: // -; vmsrc/apple/sossys.pla: 1200: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/sossys.pla: 1201: // -; vmsrc/apple/sossys.pla: 1202: while ^esd - !BYTE $50 ; BRNCH _B068 - !WORD _B068-* -_B066 -; vmsrc/apple/sossys.pla: 1203: sym = esd -; vmsrc/apple/sossys.pla: 1204: esd = esd + dcitos(esd, @str) -; vmsrc/apple/sossys.pla: 1205: if ^esd & $08 -; vmsrc/apple/sossys.pla: 1206: // -; vmsrc/apple/sossys.pla: 1207: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/sossys.pla: 1208: // -; vmsrc/apple/sossys.pla: 1209: addr = esd=>1 + modofst -; vmsrc/apple/sossys.pla: 1210: if uword_isge(addr, bytecode) -; vmsrc/apple/sossys.pla: 1211: // -; vmsrc/apple/sossys.pla: 1212: // Use the def directory address for bytecode. -; vmsrc/apple/sossys.pla: 1213: // -; vmsrc/apple/sossys.pla: 1214: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/sossys.pla: 1215: fin - !BYTE $66,$2A ; LLW [42] - !BYTE $76,$2C ; SLW [44] - !BYTE $66,$2A ; LLW [42] - !BYTE $34 ; DUP - !BYTE $28,$30 ; LLA [48] - !BYTE $54 ; CALL _A012 -_F192 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $6E,$2A ; DLW [42] - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $66,$2A ; LLW [42] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$1C ; ADDLW [28] - !BYTE $6E,$14 ; DLW [20] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A006 -_F193 !WORD _A006 - !BYTE $4C ; BRFLS _B071 - !WORD _B071-* - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A017 -_F194 !WORD _A017 - !BYTE $76,$14 ; SLW [20] -_B071 -_B072 -; vmsrc/apple/sossys.pla: 1216: addsym(sym, addr) -; vmsrc/apple/sossys.pla: 1217: fin - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C023 -_F195 !WORD _C023 -_B069 -_B070 -; vmsrc/apple/sossys.pla: 1218: esd = esd + 3 -; vmsrc/apple/sossys.pla: 1219: loop - !BYTE $66,$2A ; LLW [42] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$2A ; SLW [42] -_B068 - !BYTE $66,$2A ; LLW [42] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B066 - !WORD _B066-* -_B067 -; vmsrc/apple/sossys.pla: 1220: if defext -; vmsrc/apple/sossys.pla: 1221: // -; vmsrc/apple/sossys.pla: 1222: // Copy bytecode to code segment. -; vmsrc/apple/sossys.pla: 1223: // -; vmsrc/apple/sossys.pla: 1224: memxcpy(codeseg, bytecode, modsize - (bytecode - modaddr)) -; vmsrc/apple/sossys.pla: 1225: fin - !BYTE $64,$2F ; LLB [47] - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$18 ; LLW [24] - !BYTE $84 ; SUB - !BYTE $84 ; SUB - !BYTE $54 ; CALL _A004 -_F196 !WORD _A004 -_B073 -_B074 -; vmsrc/apple/sossys.pla: 1226: else - !BYTE $50 ; BRNCH _B028 - !WORD _B028-* -_B027 -; vmsrc/apple/sossys.pla: 1227: lerr = $46 -; vmsrc/apple/sossys.pla: 1228: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $74,$2E ; SLB [46] -_B028 -; vmsrc/apple/sossys.pla: 1229: if lerr -; vmsrc/apple/sossys.pla: 1230: return -lerr - !BYTE $64,$2E ; LLB [46] - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $64,$2E ; LLB [46] - !BYTE $90 ; NEG - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1231: fin -_B075 -_B076 -; vmsrc/apple/sossys.pla: 1232: // -; vmsrc/apple/sossys.pla: 1233: // Free up end-of-module main memory. -; vmsrc/apple/sossys.pla: 1234: // -; vmsrc/apple/sossys.pla: 1235: releaseheap(bytecode) -; vmsrc/apple/sossys.pla: 1236: // -; vmsrc/apple/sossys.pla: 1237: // Call init routine if it exists. -; vmsrc/apple/sossys.pla: 1238: // -; vmsrc/apple/sossys.pla: 1239: initcode = modkeep -; vmsrc/apple/sossys.pla: 1240: if init -; vmsrc/apple/sossys.pla: 1241: initcode = adddef(defext, init + defofst, @deflast)() -; vmsrc/apple/sossys.pla: 1242: if initcode < 0 -; vmsrc/apple/sossys.pla: 1243: perr = -initcode -; vmsrc/apple/sossys.pla: 1244: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C022 -_F197 !WORD _C022 - !BYTE $30 ; DROP - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $64,$2F ; LLB [47] - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _C027 -_F198 !WORD _C027 - !BYTE $56 ; ICAL - !BYTE $6E,$12 ; DLW [18] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* - !BYTE $66,$12 ; LLW [18] - !BYTE $90 ; NEG - !BYTE $78 ; SAB _D035+0 -_F199 !WORD _D035+0 -_B079 -_B080 -; vmsrc/apple/sossys.pla: 1245: fin -_B077 -_B078 -; vmsrc/apple/sossys.pla: 1246: return initcode - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$E1 ; LEAVE 225 -; vmsrc/apple/sossys.pla: 1247: end -; vmsrc/apple/sossys.pla: 1248: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C029 ; execmod() - JSR INTERP -; vmsrc/apple/sossys.pla: 1249: byte moddci[63] - ; moddci -> [2] -; vmsrc/apple/sossys.pla: 1250: word keep, saveheap, savesym, saveflags, savemodid - ; keep -> [65] - ; saveheap -> [67] - ; savesym -> [69] - ; saveflags -> [71] - ; savemodid -> [73] -; vmsrc/apple/sossys.pla: 1251: -; vmsrc/apple/sossys.pla: 1252: perr = 1 - !BYTE $58,$4B,$01 ; ENTER 75,1 -; vmsrc/apple/sossys.pla: 1253: if stodci(modfile, @moddci) -; vmsrc/apple/sossys.pla: 1254: saveheap = heap -; vmsrc/apple/sossys.pla: 1255: savesym = lastsym -; vmsrc/apple/sossys.pla: 1256: saveflags = systemflags -; vmsrc/apple/sossys.pla: 1257: savemodid = modid -; vmsrc/apple/sossys.pla: 1258: keep = loadmod(@moddci) -; vmsrc/apple/sossys.pla: 1259: if keep < modkeep -; vmsrc/apple/sossys.pla: 1260: if not (keep & modflagkeep) -; vmsrc/apple/sossys.pla: 1261: systemflags = saveflags -; vmsrc/apple/sossys.pla: 1262: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D035+0 -_F200 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A013 -_F201 !WORD _A013 - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $6A ; LAW _D078+0 -_F202 !WORD _D078+0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _D083+0 -_F203 !WORD _D083+0 - !BYTE $76,$45 ; SLW [69] - !BYTE $6A ; LAW _D040+0 -_F204 !WORD _D040+0 - !BYTE $76,$47 ; SLW [71] - !BYTE $68 ; LAB _D081+0 -_F205 !WORD _D081+0 - !BYTE $76,$49 ; SLW [73] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C028 -_F206 !WORD _C028 - !BYTE $6E,$41 ; DLW [65] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $66,$41 ; LLW [65] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B085 - !WORD _B085-* - !BYTE $66,$47 ; LLW [71] - !BYTE $7A ; SAW _D040+0 -_F207 !WORD _D040+0 -_B085 -_B086 -; vmsrc/apple/sossys.pla: 1263: while modid > savemodid - !BYTE $50 ; BRNCH _B089 - !WORD _B089-* -_B087 -; vmsrc/apple/sossys.pla: 1264: modid-- - !BYTE $68 ; LAB _D081+0 -_F208 !WORD _D081+0 - !BYTE $8E ; DECR -; vmsrc/apple/sossys.pla: 1265: seg_release(modseg[modid]) -; vmsrc/apple/sossys.pla: 1266: loop - !BYTE $78 ; SAB _D081+0 -_F209 !WORD _D081+0 - !BYTE $26 ; LA _D080+0 -_F210 !WORD _D080+0 - !BYTE $B4 ; ADDAB _D081+0 -_F211 !WORD _D081+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C009 -_F212 !WORD _C009 - !BYTE $30 ; DROP -_B089 - !BYTE $68 ; LAB _D081+0 -_F213 !WORD _D081+0 - !BYTE $66,$49 ; LLW [73] - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B087 - !WORD _B087-* -_B088 -; vmsrc/apple/sossys.pla: 1267: heap = saveheap -; vmsrc/apple/sossys.pla: 1268: lastsym = savesym -; vmsrc/apple/sossys.pla: 1269: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossys.pla: 1270: fin - !BYTE $66,$43 ; LLW [67] - !BYTE $7A ; SAW _D078+0 -_F214 !WORD _D078+0 - !BYTE $66,$45 ; LLW [69] - !BYTE $7A ; SAW _D083+0 -_F215 !WORD _D083+0 - !BYTE $68 ; LAB _D082+0 -_F216 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F217 !WORD _D083+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F218 !WORD _A005 -_B083 -_B084 -; vmsrc/apple/sossys.pla: 1271: fin -_B081 -_B082 -; vmsrc/apple/sossys.pla: 1272: return -perr - !BYTE $68 ; LAB _D035+0 -_F219 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$4B ; LEAVE 75 -; vmsrc/apple/sossys.pla: 1273: end -; vmsrc/apple/sossys.pla: 1274: // -; vmsrc/apple/sossys.pla: 1275: // Init 2K symbol table. -; vmsrc/apple/sossys.pla: 1276: // -; vmsrc/apple/sossys.pla: 1277: drop, symtbl, drop = seg_find($00, $08, $11) -_INIT - JSR INTERP -; vmsrc/apple/sossys.pla: 1278: lastsym = symtbl & $FF00 -; vmsrc/apple/sossys.pla: 1279: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossys.pla: 1280: while *sysmodsym - !BYTE $00 ; CN 0 - !BYTE $10 ; CN 8 - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _C008 -_F220 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $7A ; SAW _D082+0 -_F221 !WORD _D082+0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D082+0 -_F222 !WORD _D082+0 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D083+0 -_F223 !WORD _D083+0 - !BYTE $68 ; LAB _D082+0 -_F224 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F225 !WORD _D083+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F226 !WORD _A005 - !BYTE $50 ; BRNCH _B092 - !WORD _B092-* -_B090 -; vmsrc/apple/sossys.pla: 1281: stodci(sysmodsym=>0, heap) -; vmsrc/apple/sossys.pla: 1282: addsym(heap, sysmodsym=>2) -; vmsrc/apple/sossys.pla: 1283: sysmodsym = sysmodsym + 4 -; vmsrc/apple/sossys.pla: 1284: loop - !BYTE $6A ; LAW _D077+0 -_F227 !WORD _D077+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D078+0 -_F228 !WORD _D078+0 - !BYTE $54 ; CALL _A013 -_F229 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D078+0 -_F230 !WORD _D078+0 - !BYTE $6A ; LAW _D077+0 -_F231 !WORD _D077+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C023 -_F232 !WORD _C023 - !BYTE $6A ; LAW _D077+0 -_F233 !WORD _D077+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D077+0 -_F234 !WORD _D077+0 -_B092 - !BYTE $6A ; LAW _D077+0 -_F235 !WORD _D077+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B090 - !WORD _B090-* -_B091 -; vmsrc/apple/sossys.pla: 1285: // -; vmsrc/apple/sossys.pla: 1286: // Clear system path and command line -; vmsrc/apple/sossys.pla: 1287: // -; vmsrc/apple/sossys.pla: 1288: sysmods = 0 -; vmsrc/apple/sossys.pla: 1289: syspath = @sysmods -; vmsrc/apple/sossys.pla: 1290: cmdlnptr = @cmdln -; vmsrc/apple/sossys.pla: 1291: // -; vmsrc/apple/sossys.pla: 1292: // Print PLASMA version -; vmsrc/apple/sossys.pla: 1293: // -; vmsrc/apple/sossys.pla: 1294: init_cons -; vmsrc/apple/sossys.pla: 1295: prstr("PLEIADES VM v2.20\n") - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D076+0 -_F236 !WORD _D076+0 - !BYTE $26 ; LA _D076+0 -_F237 !WORD _D076+0 - !BYTE $7A ; SAW _D033+0 -_F238 !WORD _D033+0 - !BYTE $26 ; LA _D045+0 -_F239 !WORD _D045+0 - !BYTE $7A ; SAW _D034+0 -_F240 !WORD _D034+0 - !BYTE $54 ; CALL _C007 -_F241 !WORD _C007 - !BYTE $2E ; CS - !BYTE $12 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$56,$4D,$20,$76,$32,$2E,$32 - !BYTE $30,$0D - !BYTE $54 ; CALL _C013 -_F242 !WORD _C013 -; vmsrc/apple/sossys.pla: 1296: prstr("MEM:$"); prword(availheap); crout - !BYTE $2E ; CS - !BYTE $05 - !BYTE $4D,$45,$4D,$3A,$24 - !BYTE $54 ; CALL _C013 -_F243 !WORD _C013 -; vmsrc/apple/sossys.pla: 1297: // -; vmsrc/apple/sossys.pla: 1298: // Exec command line parser -; vmsrc/apple/sossys.pla: 1299: // -; vmsrc/apple/sossys.pla: 1300: loadmod(@soscmd) -; vmsrc/apple/sossys.pla: 1301: modid = 0 -; vmsrc/apple/sossys.pla: 1302: autorun = open("AUTORUN") - !BYTE $54 ; CALL _C018 -_F244 !WORD _C018 - !BYTE $54 ; CALL _C017 -_F245 !WORD _C017 - !BYTE $54 ; CALL _C011 -_F246 !WORD _C011 - !BYTE $26 ; LA _D046+0 -_F247 !WORD _D046+0 - !BYTE $54 ; CALL _C028 -_F248 !WORD _C028 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D081+0 -_F249 !WORD _D081+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E - !BYTE $54 ; CALL _C001 -_F250 !WORD _C001 - !BYTE $78 ; SAB _D079+0 -_F251 !WORD _D079+0 -; vmsrc/apple/sossys.pla: 1303: if autorun > 0 -; vmsrc/apple/sossys.pla: 1304: cmdln = read(autorun, @cmdln.1, 64) -; vmsrc/apple/sossys.pla: 1305: close(autorun) -; vmsrc/apple/sossys.pla: 1306: fin - !BYTE $68 ; LAB _D079+0 -_F252 !WORD _D079+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $68 ; LAB _D079+0 -_F253 !WORD _D079+0 - !BYTE $26 ; LA _D045+1 -_F254 !WORD _D045+1 - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C003 -_F255 !WORD _C003 - !BYTE $78 ; SAB _D045+0 -_F256 !WORD _D045+0 - !BYTE $68 ; LAB _D079+0 -_F257 !WORD _D079+0 - !BYTE $54 ; CALL _C002 -_F258 !WORD _C002 - !BYTE $30 ; DROP -_B093 -_B094 -; vmsrc/apple/sossys.pla: 1307: // -; vmsrc/apple/sossys.pla: 1308: // Call cmd line parser -; vmsrc/apple/sossys.pla: 1309: // -; vmsrc/apple/sossys.pla: 1310: repeat -_B096 -; vmsrc/apple/sossys.pla: 1311: execmod((*cmdparser)()) -; vmsrc/apple/sossys.pla: 1312: write(refcons, @textmode, 3) -; vmsrc/apple/sossys.pla: 1313: cmdln = 0 -; vmsrc/apple/sossys.pla: 1314: until 0 - !BYTE $6A,$F0,$A0 ; LAW 41200 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C029 -_F259 !WORD _C029 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D038+0 -_F260 !WORD _D038+0 - !BYTE $26 ; LA _D044+0 -_F261 !WORD _D044+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C004 -_F262 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D045+0 -_F263 !WORD _D045+0 -_B097 - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B095 -; vmsrc/apple/sossys.pla: 1315: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/apple/sossysjit.a b/src/vmsrc/apple/sossysjit.a deleted file mode 100644 index a242a17..0000000 --- a/src/vmsrc/apple/sossysjit.a +++ /dev/null @@ -1,3635 +0,0 @@ -; ACME COMPATIBLE OUTPUT - JMP _INIT ; MODULE INITIALIZATION ROUTINE -; vmsrc/apple/sossysjit.pla: 0001: const membank = $FFEF - ; membank = 65519 -; vmsrc/apple/sossysjit.pla: 0002: const RELADDR = $1000 - ; RELADDR = 4096 -; vmsrc/apple/sossysjit.pla: 0003: // -; vmsrc/apple/sossysjit.pla: 0004: // System flags: memory allocator screen holes. -; vmsrc/apple/sossysjit.pla: 0005: // -; vmsrc/apple/sossysjit.pla: 0006: const restxt1 = $0001 - ; restxt1 = 1 -; vmsrc/apple/sossysjit.pla: 0007: const restxt2 = $0002 - ; restxt2 = 2 -; vmsrc/apple/sossysjit.pla: 0008: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; vmsrc/apple/sossysjit.pla: 0009: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; vmsrc/apple/sossysjit.pla: 0010: const reshgr1 = $0010 - ; reshgr1 = 16 -; vmsrc/apple/sossysjit.pla: 0011: const reshgr2 = $0020 - ; reshgr2 = 32 -; vmsrc/apple/sossysjit.pla: 0012: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; vmsrc/apple/sossysjit.pla: 0013: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; vmsrc/apple/sossysjit.pla: 0014: const nojitc = $0100 - ; nojitc = 256 -; vmsrc/apple/sossysjit.pla: 0015: // -; vmsrc/apple/sossysjit.pla: 0016: // Module don't free memory -; vmsrc/apple/sossysjit.pla: 0017: // -; vmsrc/apple/sossysjit.pla: 0018: const modflagkeep = $1000 - ; modflagkeep = 4096 -; vmsrc/apple/sossysjit.pla: 0019: const modkeep = $2000 - ; modkeep = 8192 -; vmsrc/apple/sossysjit.pla: 0020: const modinitkeep = $4000 - ; modinitkeep = 16384 -; vmsrc/apple/sossysjit.pla: 0021: // -; vmsrc/apple/sossysjit.pla: 0022: // 80 column flag -; vmsrc/apple/sossysjit.pla: 0023: // -; vmsrc/apple/sossysjit.pla: 0024: const vid80col = $0800 - ; vid80col = 2048 -; vmsrc/apple/sossysjit.pla: 0025: // -; vmsrc/apple/sossysjit.pla: 0026: // Private addresses -; vmsrc/apple/sossysjit.pla: 0027: // -; vmsrc/apple/sossysjit.pla: 0028: const instr = $A020 - ; instr = 40992 -; vmsrc/apple/sossysjit.pla: 0029: const cmdparser = $A0F0 - ; cmdparser = 41200 -; vmsrc/apple/sossysjit.pla: 0030: const xinterp = $A0F8 - ; xinterp = 41208 -; vmsrc/apple/sossysjit.pla: 0031: const jitinterp = $A0FA - ; jitinterp = 41210 -; vmsrc/apple/sossysjit.pla: 0032: // -; vmsrc/apple/sossysjit.pla: 0033: // Indirect interpreter DEFinition entrypoint -; vmsrc/apple/sossysjit.pla: 0034: // -; vmsrc/apple/sossysjit.pla: 0035: struc t_defentry -; vmsrc/apple/sossysjit.pla: 0036: byte interpjsr - ; interpjsr = 0 -; vmsrc/apple/sossysjit.pla: 0037: word interpaddr - ; interpaddr = 1 -; vmsrc/apple/sossysjit.pla: 0038: word bytecodeaddr - ; bytecodeaddr = 3 -; vmsrc/apple/sossysjit.pla: 0039: byte bytecodexbyte - ; bytecodexbyte = 5 -; vmsrc/apple/sossysjit.pla: 0040: byte callcount - ; callcount = 6 -; vmsrc/apple/sossysjit.pla: 0041: byte bytecodesize - ; bytecodesize = 7 -; vmsrc/apple/sossysjit.pla: 0042: end - ; t_defentry = 8 -; vmsrc/apple/sossysjit.pla: 0043: // -; vmsrc/apple/sossysjit.pla: 0044: // JIT compiler values -; vmsrc/apple/sossysjit.pla: 0045: // -; vmsrc/apple/sossysjit.pla: 0046: const jitcbuf = $9000 - ; jitcbuf = 36864 -; vmsrc/apple/sossysjit.pla: 0047: const jitcomp = $A0F2 - ; jitcomp = 41202 -; vmsrc/apple/sossysjit.pla: 0048: const jitcodeptr = $A0F4 - ; jitcodeptr = 41204 -; vmsrc/apple/sossysjit.pla: 0049: const codemax = $A000 - ; codemax = 40960 -; vmsrc/apple/sossysjit.pla: 0050: // -; vmsrc/apple/sossysjit.pla: 0051: // Pedefined functions. -; vmsrc/apple/sossysjit.pla: 0052: // -; vmsrc/apple/sossysjit.pla: 0053: predef syscall(cmd,params)#1, call(addr,areg,xreg,yreg,status)#1 -; vmsrc/apple/sossysjit.pla: 0054: predef crout()#0, cout(c)#0, prstr(s)#0, print(i)#0, prbyte(b)#0, prword(w)#0 -; vmsrc/apple/sossysjit.pla: 0055: predef cin()#1, rdstr(p)#1, toupper(c)#1, strcpy(dst,src)#1, strcat(dst,src)#1 -; vmsrc/apple/sossysjit.pla: 0056: predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr), releaseheap(newheap)#1, availheap()#1 -; vmsrc/apple/sossysjit.pla: 0057: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0 -; vmsrc/apple/sossysjit.pla: 0058: predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1, sext(a)#1, divmod(a,b)#2 -; vmsrc/apple/sossysjit.pla: 0059: predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1, write(refnum, buff, len)#1 -; vmsrc/apple/sossysjit.pla: 0060: predef syslookuptbl(dci)#1 -; vmsrc/apple/sossysjit.pla: 0061: // -; vmsrc/apple/sossysjit.pla: 0062: // Exported CMDSYS table -; vmsrc/apple/sossysjit.pla: 0063: // -; vmsrc/apple/sossysjit.pla: 0064: word version = $0220 // 02.20 -_D032 ; version = $0220 // 02.20 - !WORD $0220 -; vmsrc/apple/sossysjit.pla: 0065: word syspath -_D033 !FILL 2 ; syspath -; vmsrc/apple/sossysjit.pla: 0066: word cmdlnptr -_D034 !FILL 2 ; cmdlnptr -; vmsrc/apple/sossysjit.pla: 0067: word = @execmod, @open, @close, @read, @write -_F000 !WORD _P026 -_F001 !WORD _P027 -_F002 !WORD _P028 -_F003 !WORD _P029 -_F004 !WORD _P030 -; vmsrc/apple/sossysjit.pla: 0068: byte perr -_D035 !FILL 1 ; perr -; vmsrc/apple/sossysjit.pla: 0069: byte jitcount = 0 -_D036 ; jitcount = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0070: byte jitsize = 0 -_D037 ; jitsize = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0071: byte refcons = 0 -_D038 ; refcons = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0072: byte devcons = 0 -_D039 ; devcons = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0073: word = @syslookuptbl -_F005 !WORD _P031 -; vmsrc/apple/sossysjit.pla: 0074: word systemflags = vid80col -_D040 ; systemflags = vid80col - !WORD $0800 -; vmsrc/apple/sossysjit.pla: 0075: // -; vmsrc/apple/sossysjit.pla: 0076: // String pool. -; vmsrc/apple/sossysjit.pla: 0077: // -; vmsrc/apple/sossysjit.pla: 0078: byte hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' -_D041 ; hexchar[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' - !BYTE $30 - !BYTE $31 - !BYTE $32 - !BYTE $33 - !BYTE $34 - !BYTE $35 - !BYTE $36 - !BYTE $37 - !BYTE $38 - !BYTE $39 - !BYTE $41 - !BYTE $42 - !BYTE $43 - !BYTE $44 - !BYTE $45 - !BYTE $46 -; vmsrc/apple/sossysjit.pla: 0079: // -; vmsrc/apple/sossysjit.pla: 0080: // Exported Machine ID. -; vmsrc/apple/sossysjit.pla: 0081: // -; vmsrc/apple/sossysjit.pla: 0082: byte machid = $F2 // Apple ///, 80 columns -_D042 ; machid = $F2 // Apple ///, 80 columns - !BYTE $F2 -; vmsrc/apple/sossysjit.pla: 0083: // -; vmsrc/apple/sossysjit.pla: 0084: // Console and textmode control characters -; vmsrc/apple/sossysjit.pla: 0085: // -; vmsrc/apple/sossysjit.pla: 0086: byte console[] = ".CONSOLE" -_D043 ; console[] = ".CONSOLE" - !BYTE $08 - !BYTE $2E,$43,$4F,$4E,$53,$4F,$4C,$45 -; vmsrc/apple/sossysjit.pla: 0087: byte textmode[] = 16, 2, 15 -_D044 ; textmode[] = 16, 2, 15 - !BYTE $10 - !BYTE $02 - !BYTE $0F -; vmsrc/apple/sossysjit.pla: 0088: -; vmsrc/apple/sossysjit.pla: 0089: // -; vmsrc/apple/sossysjit.pla: 0090: // Working input buffer overlayed with strings table -; vmsrc/apple/sossysjit.pla: 0091: // -; vmsrc/apple/sossysjit.pla: 0092: byte cmdln = "" -_D045 ; cmdln = "" - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0093: // -; vmsrc/apple/sossysjit.pla: 0094: // SOS.CMD as DCI string -; vmsrc/apple/sossysjit.pla: 0095: // -; vmsrc/apple/sossysjit.pla: 0096: byte soscmd = 'S'|$80,'O'|$80,'S'|$80,'.'|$80,'C'|$80,'M'|$80,'D'|$80,'J'|$80,'I'|$80,'T' -_D046 ; soscmd = 'S'|$80,'O'|$80,'S'|$80,'.'|$80,'C'|$80,'M'|$80,'D'|$80,'J'|$80,'I'|$80,'T' - !BYTE $D3 - !BYTE $CF - !BYTE $D3 - !BYTE $AE - !BYTE $C3 - !BYTE $CD - !BYTE $C4 - !BYTE $CA - !BYTE $C9 - !BYTE $54 -; vmsrc/apple/sossysjit.pla: 0097: // -; vmsrc/apple/sossysjit.pla: 0098: // Standard Library exported functions. -; vmsrc/apple/sossysjit.pla: 0099: // -; vmsrc/apple/sossysjit.pla: 0100: byte sysmodstr[] = "CMDSYS" -_D047 ; sysmodstr[] = "CMDSYS" - !BYTE $06 - !BYTE $43,$4D,$44,$53,$59,$53 -; vmsrc/apple/sossysjit.pla: 0101: byte machidstr[] = "MACHID" -_D048 ; machidstr[] = "MACHID" - !BYTE $06 - !BYTE $4D,$41,$43,$48,$49,$44 -; vmsrc/apple/sossysjit.pla: 0102: byte sysstr[] = "SYSCALL" -_D049 ; sysstr[] = "SYSCALL" - !BYTE $07 - !BYTE $53,$59,$53,$43,$41,$4C,$4C -; vmsrc/apple/sossysjit.pla: 0103: byte callstr[] = "CALL" -_D050 ; callstr[] = "CALL" - !BYTE $04 - !BYTE $43,$41,$4C,$4C -; vmsrc/apple/sossysjit.pla: 0104: byte putcstr[] = "PUTC" -_D051 ; putcstr[] = "PUTC" - !BYTE $04 - !BYTE $50,$55,$54,$43 -; vmsrc/apple/sossysjit.pla: 0105: byte putlnstr[] = "PUTLN" -_D052 ; putlnstr[] = "PUTLN" - !BYTE $05 - !BYTE $50,$55,$54,$4C,$4E -; vmsrc/apple/sossysjit.pla: 0106: byte putsstr[] = "PUTS" -_D053 ; putsstr[] = "PUTS" - !BYTE $04 - !BYTE $50,$55,$54,$53 -; vmsrc/apple/sossysjit.pla: 0107: byte putistr[] = "PUTI" -_D054 ; putistr[] = "PUTI" - !BYTE $04 - !BYTE $50,$55,$54,$49 -; vmsrc/apple/sossysjit.pla: 0108: byte putbstr[] = "PUTB" -_D055 ; putbstr[] = "PUTB" - !BYTE $04 - !BYTE $50,$55,$54,$42 -; vmsrc/apple/sossysjit.pla: 0109: byte putwstr[] = "PUTH" -_D056 ; putwstr[] = "PUTH" - !BYTE $04 - !BYTE $50,$55,$54,$48 -; vmsrc/apple/sossysjit.pla: 0110: byte getcstr[] = "GETC" -_D057 ; getcstr[] = "GETC" - !BYTE $04 - !BYTE $47,$45,$54,$43 -; vmsrc/apple/sossysjit.pla: 0111: byte getsstr[] = "GETS" -_D058 ; getsstr[] = "GETS" - !BYTE $04 - !BYTE $47,$45,$54,$53 -; vmsrc/apple/sossysjit.pla: 0112: byte toupstr[] = "TOUPPER" -_D059 ; toupstr[] = "TOUPPER" - !BYTE $07 - !BYTE $54,$4F,$55,$50,$50,$45,$52 -; vmsrc/apple/sossysjit.pla: 0113: byte strcpystr[] = "STRCPY" -_D060 ; strcpystr[] = "STRCPY" - !BYTE $06 - !BYTE $53,$54,$52,$43,$50,$59 -; vmsrc/apple/sossysjit.pla: 0114: byte strcatstr[] = "STRCAT" -_D061 ; strcatstr[] = "STRCAT" - !BYTE $06 - !BYTE $53,$54,$52,$43,$41,$54 -; vmsrc/apple/sossysjit.pla: 0115: byte hpmarkstr[] = "HEAPMARK" -_D062 ; hpmarkstr[] = "HEAPMARK" - !BYTE $08 - !BYTE $48,$45,$41,$50,$4D,$41,$52,$4B -; vmsrc/apple/sossysjit.pla: 0116: byte hpalignstr[] = "HEAPALLOCALIGN" -_D063 ; hpalignstr[] = "HEAPALLOCALIGN" - !BYTE $0E - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43,$41,$4C,$49,$47,$4E -; vmsrc/apple/sossysjit.pla: 0117: byte hpallocstr[] = "HEAPALLOC" -_D064 ; hpallocstr[] = "HEAPALLOC" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$4C,$4C,$4F - !BYTE $43 -; vmsrc/apple/sossysjit.pla: 0118: byte hprelstr[] = "HEAPRELEASE" -_D065 ; hprelstr[] = "HEAPRELEASE" - !BYTE $0B - !BYTE $48,$45,$41,$50,$52,$45,$4C,$45 - !BYTE $41,$53,$45 -; vmsrc/apple/sossysjit.pla: 0119: byte hpavlstr[] = "HEAPAVAIL" -_D066 ; hpavlstr[] = "HEAPAVAIL" - !BYTE $09 - !BYTE $48,$45,$41,$50,$41,$56,$41,$49 - !BYTE $4C -; vmsrc/apple/sossysjit.pla: 0120: byte memsetstr[] = "MEMSET" -_D067 ; memsetstr[] = "MEMSET" - !BYTE $06 - !BYTE $4D,$45,$4D,$53,$45,$54 -; vmsrc/apple/sossysjit.pla: 0121: byte memcpystr[] = "MEMCPY" -_D068 ; memcpystr[] = "MEMCPY" - !BYTE $06 - !BYTE $4D,$45,$4D,$43,$50,$59 -; vmsrc/apple/sossysjit.pla: 0122: byte uisgtstr[] = "ISUGT" -_D069 ; uisgtstr[] = "ISUGT" - !BYTE $05 - !BYTE $49,$53,$55,$47,$54 -; vmsrc/apple/sossysjit.pla: 0123: byte uisgestr[] = "ISUGE" -_D070 ; uisgestr[] = "ISUGE" - !BYTE $05 - !BYTE $49,$53,$55,$47,$45 -; vmsrc/apple/sossysjit.pla: 0124: byte uisltstr[] = "ISULT" -_D071 ; uisltstr[] = "ISULT" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$54 -; vmsrc/apple/sossysjit.pla: 0125: byte uislestr[] = "ISULE" -_D072 ; uislestr[] = "ISULE" - !BYTE $05 - !BYTE $49,$53,$55,$4C,$45 -; vmsrc/apple/sossysjit.pla: 0126: byte sextstr[] = "SEXT" -_D073 ; sextstr[] = "SEXT" - !BYTE $04 - !BYTE $53,$45,$58,$54 -; vmsrc/apple/sossysjit.pla: 0127: byte divmodstr[] = "DIVMOD" -_D074 ; divmodstr[] = "DIVMOD" - !BYTE $06 - !BYTE $44,$49,$56,$4D,$4F,$44 -; vmsrc/apple/sossysjit.pla: 0128: word exports[] = @sysmodstr, @version -_D075 ; exports[] = @sysmodstr, @version -_F006 !WORD _D047 -_F007 !WORD _D032 -; vmsrc/apple/sossysjit.pla: 0129: word = @sysstr, @syscall -_F008 !WORD _D049 -_F009 !WORD _P000 -; vmsrc/apple/sossysjit.pla: 0130: word = @callstr, @call -_F010 !WORD _D050 -_F011 !WORD _P001 -; vmsrc/apple/sossysjit.pla: 0131: word = @putcstr, @cout -_F012 !WORD _D051 -_F013 !WORD _P003 -; vmsrc/apple/sossysjit.pla: 0132: word = @putlnstr, @crout -_F014 !WORD _D052 -_F015 !WORD _P002 -; vmsrc/apple/sossysjit.pla: 0133: word = @putsstr, @prstr -_F016 !WORD _D053 -_F017 !WORD _P004 -; vmsrc/apple/sossysjit.pla: 0134: word = @putistr, @print -_F018 !WORD _D054 -_F019 !WORD _P005 -; vmsrc/apple/sossysjit.pla: 0135: word = @putbstr, @prbyte -_F020 !WORD _D055 -_F021 !WORD _P006 -; vmsrc/apple/sossysjit.pla: 0136: word = @putwstr, @prword -_F022 !WORD _D056 -_F023 !WORD _P007 -; vmsrc/apple/sossysjit.pla: 0137: word = @getcstr, @cin -_F024 !WORD _D057 -_F025 !WORD _P008 -; vmsrc/apple/sossysjit.pla: 0138: word = @getsstr, @rdstr -_F026 !WORD _D058 -_F027 !WORD _P009 -; vmsrc/apple/sossysjit.pla: 0139: word = @toupstr, @toupper -_F028 !WORD _D059 -_F029 !WORD _P010 -; vmsrc/apple/sossysjit.pla: 0140: byte sysmods[] // overlay sys path with exports -_D076 ; sysmods[] // overlay sys path with exports -; vmsrc/apple/sossysjit.pla: 0141: word = @hpmarkstr, @markheap -_F030 !WORD _D062 -_F031 !WORD _P013 -; vmsrc/apple/sossysjit.pla: 0142: word = @hpallocstr,@allocheap -_F032 !WORD _D064 -_F033 !WORD _P014 -; vmsrc/apple/sossysjit.pla: 0143: word = @hpalignstr,@allocalignheap -_F034 !WORD _D063 -_F035 !WORD _P015 -; vmsrc/apple/sossysjit.pla: 0144: word = @hprelstr, @releaseheap -_F036 !WORD _D065 -_F037 !WORD _P016 -; vmsrc/apple/sossysjit.pla: 0145: word = @hpavlstr, @availheap -_F038 !WORD _D066 -_F039 !WORD _P017 -; vmsrc/apple/sossysjit.pla: 0146: word = @memsetstr, @memset -_F040 !WORD _D067 -_F041 !WORD _P018 -; vmsrc/apple/sossysjit.pla: 0147: word = @memcpystr, @memcpy -_F042 !WORD _D068 -_F043 !WORD _P019 -; vmsrc/apple/sossysjit.pla: 0148: word = @strcpystr, @strcpy -_F044 !WORD _D060 -_F045 !WORD _P011 -; vmsrc/apple/sossysjit.pla: 0149: word = @strcatstr, @strcat -_F046 !WORD _D061 -_F047 !WORD _P012 -; vmsrc/apple/sossysjit.pla: 0150: word = @uisgtstr, @uword_isgt -_F048 !WORD _D069 -_F049 !WORD _P020 -; vmsrc/apple/sossysjit.pla: 0151: word = @uisgestr, @uword_isge -_F050 !WORD _D070 -_F051 !WORD _P021 -; vmsrc/apple/sossysjit.pla: 0152: word = @uisltstr, @uword_islt -_F052 !WORD _D071 -_F053 !WORD _P022 -; vmsrc/apple/sossysjit.pla: 0153: word = @uislestr, @uword_isle -_F054 !WORD _D072 -_F055 !WORD _P023 -; vmsrc/apple/sossysjit.pla: 0154: word = @sextstr, @sext -_F056 !WORD _D073 -_F057 !WORD _P024 -; vmsrc/apple/sossysjit.pla: 0155: word = @divmodstr, @divmod -_F058 !WORD _D074 -_F059 !WORD _P025 -; vmsrc/apple/sossysjit.pla: 0156: word = @machidstr, @machid -_F060 !WORD _D048 -_F061 !WORD _D042 -; vmsrc/apple/sossysjit.pla: 0157: word = 0 - !WORD $0000 -; vmsrc/apple/sossysjit.pla: 0158: word sysmodsym = @exports -_D077 ; sysmodsym = @exports -_F062 !WORD _D075 -; vmsrc/apple/sossysjit.pla: 0159: // -; vmsrc/apple/sossysjit.pla: 0160: // System variables. -; vmsrc/apple/sossysjit.pla: 0161: // -; vmsrc/apple/sossysjit.pla: 0162: word heap = $2000 -_D078 ; heap = $2000 - !WORD $2000 -; vmsrc/apple/sossysjit.pla: 0163: byte autorun[] -_D079 ; autorun[] -; vmsrc/apple/sossysjit.pla: 0164: byte modseg[15] -_D080 !FILL 15 ; modseg[15] -; vmsrc/apple/sossysjit.pla: 0165: byte modid = 0 -_D081 ; modid = 0 - !BYTE $00 -; vmsrc/apple/sossysjit.pla: 0166: word symtbl, lastsym -_D082 !FILL 2 ; symtbl, lastsym -_D083 !FILL 2 ; lastsym -; vmsrc/apple/sossysjit.pla: 0167: // -; vmsrc/apple/sossysjit.pla: 0168: // CALL SOS -; vmsrc/apple/sossysjit.pla: 0169: // SYSCALL(CMD, PARAMS) -; vmsrc/apple/sossysjit.pla: 0170: // -; vmsrc/apple/sossysjit.pla: 0171: asm syscall(cmd,params)#1 -_P000 ; syscall(cmd,params)#1() -_A000 ; syscall() -; vmsrc/apple/sossysjit.pla: 0172: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0173: LDY ESTKH,X - LDY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0174: STA PARAMS - STA PARAMS -; vmsrc/apple/sossysjit.pla: 0175: STY PARAMS+1 - STY PARAMS+1 -; vmsrc/apple/sossysjit.pla: 0176: INX - INX -; vmsrc/apple/sossysjit.pla: 0177: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0178: STA CMD - STA CMD -; vmsrc/apple/sossysjit.pla: 0179: BRK - BRK -; vmsrc/apple/sossysjit.pla: 0180: CMD !BYTE 00 -CMD !BYTE 00 -; vmsrc/apple/sossysjit.pla: 0181: PARAMS !WORD 0000 -PARAMS !WORD 0000 -; vmsrc/apple/sossysjit.pla: 0182: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0183: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0184: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0185: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0186: end -; vmsrc/apple/sossysjit.pla: 0187: // -; vmsrc/apple/sossysjit.pla: 0188: // CALL 6502 ROUTINE -; vmsrc/apple/sossysjit.pla: 0189: // CALL(AREG, XREG, YREG, STATUS, ADDR) -; vmsrc/apple/sossysjit.pla: 0190: // -; vmsrc/apple/sossysjit.pla: 0191: asm call(addr,areg,xreg,yreg,sstatus)#1 -_P001 ; call(addr,areg,xreg,yreg,sstatus)#1() -_A001 ; call() -; vmsrc/apple/sossysjit.pla: 0192: REGVALS = SRC -REGVALS = SRC -; vmsrc/apple/sossysjit.pla: 0193: PHP - PHP -; vmsrc/apple/sossysjit.pla: 0194: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0195: STA TMPL - STA TMPL -; vmsrc/apple/sossysjit.pla: 0196: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0197: STA TMPH - STA TMPH -; vmsrc/apple/sossysjit.pla: 0198: INX - INX -; vmsrc/apple/sossysjit.pla: 0199: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0200: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0201: INX - INX -; vmsrc/apple/sossysjit.pla: 0202: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossysjit.pla: 0203: INX - INX -; vmsrc/apple/sossysjit.pla: 0204: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0205: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0206: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0207: INX - INX -; vmsrc/apple/sossysjit.pla: 0208: STX ESP - STX ESP -; vmsrc/apple/sossysjit.pla: 0209: TAX - TAX -; vmsrc/apple/sossysjit.pla: 0210: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0211: PLP - PLP -; vmsrc/apple/sossysjit.pla: 0212: JSR JMPTMP - JSR JMPTMP -; vmsrc/apple/sossysjit.pla: 0213: PHP - PHP -; vmsrc/apple/sossysjit.pla: 0214: STA REGVALS+0 - STA REGVALS+0 -; vmsrc/apple/sossysjit.pla: 0215: STX REGVALS+1 - STX REGVALS+1 -; vmsrc/apple/sossysjit.pla: 0216: STY REGVALS+2 - STY REGVALS+2 -; vmsrc/apple/sossysjit.pla: 0217: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0218: STA REGVALS+3 - STA REGVALS+3 -; vmsrc/apple/sossysjit.pla: 0219: LDX ESP - LDX ESP -; vmsrc/apple/sossysjit.pla: 0220: LDA #REGVALS - LDY #>REGVALS -; vmsrc/apple/sossysjit.pla: 0222: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0223: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0224: PLP - PLP -; vmsrc/apple/sossysjit.pla: 0225: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0226: end -; vmsrc/apple/sossysjit.pla: 0227: // -; vmsrc/apple/sossysjit.pla: 0228: // SET MEMORY TO VALUE -; vmsrc/apple/sossysjit.pla: 0229: // MEMSET(ADDR, VALUE, SIZE) -; vmsrc/apple/sossysjit.pla: 0230: // With optimizations from Peter Ferrie -; vmsrc/apple/sossysjit.pla: 0231: // -; vmsrc/apple/sossysjit.pla: 0232: asm memset(addr,value,size)#0 -_P018 ; memset(addr,value,size)#0() -_A002 ; memset() -; vmsrc/apple/sossysjit.pla: 0233: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0234: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0235: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0236: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0237: LDY ESTKL,X - LDY ESTKL,X -; vmsrc/apple/sossysjit.pla: 0238: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0239: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0240: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0241: + LDA ESTKH,X -+ LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0242: BEQ SETMEX - BEQ SETMEX -; vmsrc/apple/sossysjit.pla: 0243: SETMLPL CLC -SETMLPL CLC -; vmsrc/apple/sossysjit.pla: 0244: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0245: SETMLPH STA (DST),Y -SETMLPH STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0246: DEC ESTKL,X - DEC ESTKL,X -; vmsrc/apple/sossysjit.pla: 0247: BEQ ++ - BEQ ++ -; vmsrc/apple/sossysjit.pla: 0248: - INY -- INY -; vmsrc/apple/sossysjit.pla: 0249: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0250: -- BCS SETMLPL --- BCS SETMLPL -; vmsrc/apple/sossysjit.pla: 0251: SEC - SEC -; vmsrc/apple/sossysjit.pla: 0252: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0253: BCS SETMLPH - BCS SETMLPH -; vmsrc/apple/sossysjit.pla: 0254: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossysjit.pla: 0255: BNE -- - BNE -- -; vmsrc/apple/sossysjit.pla: 0256: ++ DEC ESTKH,X -++ DEC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0257: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0258: SETMEX INX -SETMEX INX -; vmsrc/apple/sossysjit.pla: 0259: INX - INX -; vmsrc/apple/sossysjit.pla: 0260: INX - INX -; vmsrc/apple/sossysjit.pla: 0261: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0262: end -; vmsrc/apple/sossysjit.pla: 0263: // -; vmsrc/apple/sossysjit.pla: 0264: // COPY MEMORY -; vmsrc/apple/sossysjit.pla: 0265: // MEMCPY(DSTADDR, SRCADDR, SIZE) -; vmsrc/apple/sossysjit.pla: 0266: // -; vmsrc/apple/sossysjit.pla: 0267: asm memcpy(dst,src,size)#0 -_P019 ; memcpy(dst,src,size)#0() -_A003 ; memcpy() -; vmsrc/apple/sossysjit.pla: 0268: INX - INX -; vmsrc/apple/sossysjit.pla: 0269: INX - INX -; vmsrc/apple/sossysjit.pla: 0270: INX - INX -; vmsrc/apple/sossysjit.pla: 0271: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0272: ORA ESTKH-3,X - ORA ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0273: BEQ CPYMEX - BEQ CPYMEX -; vmsrc/apple/sossysjit.pla: 0274: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossysjit.pla: 0275: CMP ESTKL-1,X - CMP ESTKL-1,X -; vmsrc/apple/sossysjit.pla: 0276: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossysjit.pla: 0277: SBC ESTKH-1,X - SBC ESTKH-1,X -; vmsrc/apple/sossysjit.pla: 0278: BCC REVCPY - BCC REVCPY -; vmsrc/apple/sossysjit.pla: 0279: ; -; vmsrc/apple/sossysjit.pla: 0280: ; FORWARD COPY -; FORWARD COPY -; vmsrc/apple/sossysjit.pla: 0281: ; -; vmsrc/apple/sossysjit.pla: 0282: LDA ESTKL-1,X - LDA ESTKL-1,X -; vmsrc/apple/sossysjit.pla: 0283: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0284: LDA ESTKH-1,X - LDA ESTKH-1,X -; vmsrc/apple/sossysjit.pla: 0285: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0286: LDA ESTKL-2,X - LDA ESTKL-2,X -; vmsrc/apple/sossysjit.pla: 0287: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0288: LDA ESTKH-2,X - LDA ESTKH-2,X -; vmsrc/apple/sossysjit.pla: 0289: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0290: LDY ESTKL-3,X - LDY ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0291: BEQ FORCPYLP - BEQ FORCPYLP -; vmsrc/apple/sossysjit.pla: 0292: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0293: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0294: FORCPYLP LDA (SRC),Y -FORCPYLP LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0295: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0296: INY - INY -; vmsrc/apple/sossysjit.pla: 0297: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0298: INC DSTH - INC DSTH -; vmsrc/apple/sossysjit.pla: 0299: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0300: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0301: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossysjit.pla: 0302: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0303: BNE FORCPYLP - BNE FORCPYLP -; vmsrc/apple/sossysjit.pla: 0304: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0305: ; -; vmsrc/apple/sossysjit.pla: 0306: ; REVERSE COPY -; REVERSE COPY -; vmsrc/apple/sossysjit.pla: 0307: ; -; vmsrc/apple/sossysjit.pla: 0308: REVCPY ;CLC -REVCPY ;CLC -; vmsrc/apple/sossysjit.pla: 0309: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0310: ADC ESTKL-1,X - ADC ESTKL-1,X -; vmsrc/apple/sossysjit.pla: 0311: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0312: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0313: ADC ESTKH-1,X - ADC ESTKH-1,X -; vmsrc/apple/sossysjit.pla: 0314: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0315: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0316: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0317: ADC ESTKL-2,X - ADC ESTKL-2,X -; vmsrc/apple/sossysjit.pla: 0318: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0319: LDA ESTKH-3,X - LDA ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0320: ADC ESTKH-2,X - ADC ESTKH-2,X -; vmsrc/apple/sossysjit.pla: 0321: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0322: DEC DSTH - DEC DSTH -; vmsrc/apple/sossysjit.pla: 0323: DEC SRCH - DEC SRCH -; vmsrc/apple/sossysjit.pla: 0324: LDY #$FF - LDY #$FF -; vmsrc/apple/sossysjit.pla: 0325: LDA ESTKL-3,X - LDA ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0326: BEQ REVCPYLP - BEQ REVCPYLP -; vmsrc/apple/sossysjit.pla: 0327: INC ESTKH-3,X - INC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0328: REVCPYLP LDA (SRC),Y -REVCPYLP LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0329: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0330: DEY - DEY -; vmsrc/apple/sossysjit.pla: 0331: CPY #$FF - CPY #$FF -; vmsrc/apple/sossysjit.pla: 0332: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0333: DEC DSTH - DEC DSTH -; vmsrc/apple/sossysjit.pla: 0334: DEC SRCH - DEC SRCH -; vmsrc/apple/sossysjit.pla: 0335: + DEC ESTKL-3,X -+ DEC ESTKL-3,X -; vmsrc/apple/sossysjit.pla: 0336: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossysjit.pla: 0337: DEC ESTKH-3,X - DEC ESTKH-3,X -; vmsrc/apple/sossysjit.pla: 0338: BNE REVCPYLP - BNE REVCPYLP -; vmsrc/apple/sossysjit.pla: 0339: CPYMEX RTS -CPYMEX RTS -; vmsrc/apple/sossysjit.pla: 0340: end -; vmsrc/apple/sossysjit.pla: 0341: // -; vmsrc/apple/sossysjit.pla: 0342: // COPY FROM MAIN MEM TO EXT MEM. -; vmsrc/apple/sossysjit.pla: 0343: // -; vmsrc/apple/sossysjit.pla: 0344: // MEMXCPY(DSTSEG, SRC, SIZE) -; vmsrc/apple/sossysjit.pla: 0345: // -; vmsrc/apple/sossysjit.pla: 0346: asm memxcpy(dst,src,size)#0 -_A004 ; memxcpy() -; vmsrc/apple/sossysjit.pla: 0347: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0348: ORA ESTKH,X - ORA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0349: BEQ CPYXMEX - BEQ CPYXMEX -; vmsrc/apple/sossysjit.pla: 0350: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0351: STY DSTL - STY DSTL -; vmsrc/apple/sossysjit.pla: 0352: LDA ESTKH+2,X - LDA ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0353: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0354: ADC #$60 - ADC #$60 -; vmsrc/apple/sossysjit.pla: 0355: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0356: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0357: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0358: ADC #$7F - ADC #$7F -; vmsrc/apple/sossysjit.pla: 0359: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0360: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0361: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0362: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0363: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0364: INC ESTKH,X - INC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0365: CPYXLP LDA (SRC),Y -CPYXLP LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0366: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0367: INY - INY -; vmsrc/apple/sossysjit.pla: 0368: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0369: INC DSTH - INC DSTH -; vmsrc/apple/sossysjit.pla: 0370: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0371: + DEC ESTKL,X -+ DEC ESTKL,X -; vmsrc/apple/sossysjit.pla: 0372: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossysjit.pla: 0373: DEC ESTKH,X - DEC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0374: BNE CPYXLP - BNE CPYXLP -; vmsrc/apple/sossysjit.pla: 0375: LDA #$00 - LDA #$00 -; vmsrc/apple/sossysjit.pla: 0376: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0377: CPYXMEX INX -CPYXMEX INX -; vmsrc/apple/sossysjit.pla: 0378: INX - INX -; vmsrc/apple/sossysjit.pla: 0379: INX - INX -; vmsrc/apple/sossysjit.pla: 0380: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0381: end -; vmsrc/apple/sossysjit.pla: 0382: // -; vmsrc/apple/sossysjit.pla: 0383: // POKE BYTE VAL INTO EXT MEM. -; vmsrc/apple/sossysjit.pla: 0384: // -; vmsrc/apple/sossysjit.pla: 0385: // XPOKEB(SEG, DST, BYTEVAL) -; vmsrc/apple/sossysjit.pla: 0386: // -; vmsrc/apple/sossysjit.pla: 0387: asm xpokeb(seg, dst, byteval)#0 -_A005 ; xpokeb() -; vmsrc/apple/sossysjit.pla: 0388: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0389: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0390: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0391: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0392: ADC #$60 - ADC #$60 -; vmsrc/apple/sossysjit.pla: 0393: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0394: LDA ESTKL+2,X - LDA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0395: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0396: ADC #$7F - ADC #$7F -; vmsrc/apple/sossysjit.pla: 0397: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0398: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0399: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0400: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0401: STY DSTX - STY DSTX -; vmsrc/apple/sossysjit.pla: 0402: INX - INX -; vmsrc/apple/sossysjit.pla: 0403: INX - INX -; vmsrc/apple/sossysjit.pla: 0404: INX - INX -; vmsrc/apple/sossysjit.pla: 0405: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0406: end -; vmsrc/apple/sossysjit.pla: 0407: // -; vmsrc/apple/sossysjit.pla: 0408: // Unsigned word comparisons. -; vmsrc/apple/sossysjit.pla: 0409: // -; vmsrc/apple/sossysjit.pla: 0410: asm uword_isge(a,b)#1 -_P021 ; uword_isge(a,b)#1() -_A006 ; uword_isge() -; vmsrc/apple/sossysjit.pla: 0411: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0412: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossysjit.pla: 0413: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0414: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0415: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0416: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0417: EOR #$FF - EOR #$FF -; vmsrc/apple/sossysjit.pla: 0418: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0419: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0420: INX - INX -; vmsrc/apple/sossysjit.pla: 0421: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0422: end -; vmsrc/apple/sossysjit.pla: 0423: asm uword_isle(a,b)#1 -_P023 ; uword_isle(a,b)#1() -_A007 ; uword_isle() -; vmsrc/apple/sossysjit.pla: 0424: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0425: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0426: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0427: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0428: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0429: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0430: EOR #$FF - EOR #$FF -; vmsrc/apple/sossysjit.pla: 0431: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0432: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0433: INX - INX -; vmsrc/apple/sossysjit.pla: 0434: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0435: end -; vmsrc/apple/sossysjit.pla: 0436: asm uword_isgt(a,b)#1 -_P020 ; uword_isgt(a,b)#1() -_A008 ; uword_isgt() -; vmsrc/apple/sossysjit.pla: 0437: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0438: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0439: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0440: SBC ESTKH+1,X - SBC ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0441: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0442: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0443: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0444: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0445: INX - INX -; vmsrc/apple/sossysjit.pla: 0446: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0447: end -; vmsrc/apple/sossysjit.pla: 0448: asm uword_islt(a,b)#1 -_P022 ; uword_islt(a,b)#1() -_A009 ; uword_islt() -; vmsrc/apple/sossysjit.pla: 0449: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0450: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossysjit.pla: 0451: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0452: SBC ESTKH,X - SBC ESTKH,X -; vmsrc/apple/sossysjit.pla: 0453: LDA #$FF - LDA #$FF -; vmsrc/apple/sossysjit.pla: 0454: ADC #$00 - ADC #$00 -; vmsrc/apple/sossysjit.pla: 0455: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0456: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0457: INX - INX -; vmsrc/apple/sossysjit.pla: 0458: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0459: end -; vmsrc/apple/sossysjit.pla: 0460: asm divmod(a,b)#2 -_P025 ; divmod(a,b)#2() -_A010 ; divmod() -; vmsrc/apple/sossysjit.pla: 0461: JSR INTERP ; CALL INTERP - JSR INTERP ; CALL INTERP -; vmsrc/apple/sossysjit.pla: 0462: !BYTE $36, $5C ; DIVMOD, RET - !BYTE $36, $5C ; DIVMOD, RET -; vmsrc/apple/sossysjit.pla: 0463: end -; vmsrc/apple/sossysjit.pla: 0464: asm sext(a)#1 -_P024 ; sext(a)#1() -_A011 ; sext() -; vmsrc/apple/sossysjit.pla: 0465: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0466: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0467: BPL + - BPL + -; vmsrc/apple/sossysjit.pla: 0468: DEY - DEY -; vmsrc/apple/sossysjit.pla: 0469: + STY ESTKH,X -+ STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0470: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0471: end -; vmsrc/apple/sossysjit.pla: 0472: // -; vmsrc/apple/sossysjit.pla: 0473: // A DCI string is one that has the high bit set for every character except the last. -; vmsrc/apple/sossysjit.pla: 0474: // More efficient than C or Pascal strings. -; vmsrc/apple/sossysjit.pla: 0475: // -; vmsrc/apple/sossysjit.pla: 0476: //def dcitos(dci, str) -; vmsrc/apple/sossysjit.pla: 0477: // byte len, c -; vmsrc/apple/sossysjit.pla: 0478: // len = 0 -; vmsrc/apple/sossysjit.pla: 0479: // repeat -; vmsrc/apple/sossysjit.pla: 0480: // c = (dci).[len] -; vmsrc/apple/sossysjit.pla: 0481: // len = len + 1 -; vmsrc/apple/sossysjit.pla: 0482: // (str).[len] = c & $7F -; vmsrc/apple/sossysjit.pla: 0483: // until !(c & $80) -; vmsrc/apple/sossysjit.pla: 0484: // ^str = len -; vmsrc/apple/sossysjit.pla: 0485: // return len -; vmsrc/apple/sossysjit.pla: 0486: //end -; vmsrc/apple/sossysjit.pla: 0487: asm dcitos(dci, str)#1 -_A012 ; dcitos() -; vmsrc/apple/sossysjit.pla: 0488: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0489: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0490: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0491: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0492: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0493: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0494: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0495: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0496: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0497: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0498: CMP #$80 - CMP #$80 -; vmsrc/apple/sossysjit.pla: 0499: AND #$7F - AND #$7F -; vmsrc/apple/sossysjit.pla: 0500: INY - INY -; vmsrc/apple/sossysjit.pla: 0501: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0502: BCS - - BCS - -; vmsrc/apple/sossysjit.pla: 0503: TYA - TYA -; vmsrc/apple/sossysjit.pla: 0504: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0505: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0506: INX - INX -; vmsrc/apple/sossysjit.pla: 0507: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0508: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0509: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0510: end -; vmsrc/apple/sossysjit.pla: 0511: //def stodci(str, dci) -; vmsrc/apple/sossysjit.pla: 0512: // byte len, c -; vmsrc/apple/sossysjit.pla: 0513: // len = ^str -; vmsrc/apple/sossysjit.pla: 0514: // if len == 0 -; vmsrc/apple/sossysjit.pla: 0515: // return -; vmsrc/apple/sossysjit.pla: 0516: // fin -; vmsrc/apple/sossysjit.pla: 0517: // c = toupper((str).[len]) & $7F -; vmsrc/apple/sossysjit.pla: 0518: // len = len - 1 -; vmsrc/apple/sossysjit.pla: 0519: // (dci).[len] = c -; vmsrc/apple/sossysjit.pla: 0520: // while len -; vmsrc/apple/sossysjit.pla: 0521: // c = toupper((str).[len]) | $80 -; vmsrc/apple/sossysjit.pla: 0522: // len = len - 1 -; vmsrc/apple/sossysjit.pla: 0523: // (dci).[len] = c -; vmsrc/apple/sossysjit.pla: 0524: // loop -; vmsrc/apple/sossysjit.pla: 0525: // return ^str -; vmsrc/apple/sossysjit.pla: 0526: //end -; vmsrc/apple/sossysjit.pla: 0527: asm stodci(str, dci)#1 -_A013 ; stodci() -; vmsrc/apple/sossysjit.pla: 0528: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0529: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0530: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0531: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0532: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0533: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0534: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0535: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0536: INX - INX -; vmsrc/apple/sossysjit.pla: 0537: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0538: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0539: BEQ ++ - BEQ ++ -; vmsrc/apple/sossysjit.pla: 0540: TAY - TAY -; vmsrc/apple/sossysjit.pla: 0541: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0542: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossysjit.pla: 0543: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0544: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0545: JSR TOUPR - JSR TOUPR -; vmsrc/apple/sossysjit.pla: 0546: ORA #$80 - ORA #$80 -; vmsrc/apple/sossysjit.pla: 0547: + DEY -+ DEY -; vmsrc/apple/sossysjit.pla: 0548: STA (DST),Y - STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0549: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0550: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0551: ++ STA ESTKL,X -++ STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0552: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0553: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0554: end -; vmsrc/apple/sossysjit.pla: 0555: asm toupper(c)#1 -_P010 ; toupper(c)#1() -_A014 ; toupper() -; vmsrc/apple/sossysjit.pla: 0556: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0557: TOUPR AND #$7F -TOUPR AND #$7F -; vmsrc/apple/sossysjit.pla: 0558: CMP #'a' - CMP #'a' -; vmsrc/apple/sossysjit.pla: 0559: BCC + - BCC + -; vmsrc/apple/sossysjit.pla: 0560: CMP #'z'+1 - CMP #'z'+1 -; vmsrc/apple/sossysjit.pla: 0561: BCS + - BCS + -; vmsrc/apple/sossysjit.pla: 0562: SBC #$1F - SBC #$1F -; vmsrc/apple/sossysjit.pla: 0563: + STA ESTKL,X -+ STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0564: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0565: end -; vmsrc/apple/sossysjit.pla: 0566: // -; vmsrc/apple/sossysjit.pla: 0567: // Lookup routines. -; vmsrc/apple/sossysjit.pla: 0568: // -; vmsrc/apple/sossysjit.pla: 0569: //def lookuptbl(dci, tbl) -; vmsrc/apple/sossysjit.pla: 0570: // word match -; vmsrc/apple/sossysjit.pla: 0571: // while ^tbl -; vmsrc/apple/sossysjit.pla: 0572: // match = dci -; vmsrc/apple/sossysjit.pla: 0573: // while ^tbl == ^match -; vmsrc/apple/sossysjit.pla: 0574: // if !(^tbl & $80) -; vmsrc/apple/sossysjit.pla: 0575: // return (tbl):1 -; vmsrc/apple/sossysjit.pla: 0576: // fin -; vmsrc/apple/sossysjit.pla: 0577: // tbl = tbl + 1 -; vmsrc/apple/sossysjit.pla: 0578: // match = match + 1 -; vmsrc/apple/sossysjit.pla: 0579: // loop -; vmsrc/apple/sossysjit.pla: 0580: // while (^tbl & $80) -; vmsrc/apple/sossysjit.pla: 0581: // tbl = tbl + 1 -; vmsrc/apple/sossysjit.pla: 0582: // loop -; vmsrc/apple/sossysjit.pla: 0583: // tbl = tbl + 3 -; vmsrc/apple/sossysjit.pla: 0584: // loop -; vmsrc/apple/sossysjit.pla: 0585: // return 0 -; vmsrc/apple/sossysjit.pla: 0586: asm lookuptbl(dci, tbl)#1 -_A015 ; lookuptbl() -; vmsrc/apple/sossysjit.pla: 0587: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0588: STY DSTL - STY DSTL -; vmsrc/apple/sossysjit.pla: 0589: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0590: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0591: ADC #$60 - ADC #$60 -; vmsrc/apple/sossysjit.pla: 0592: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0593: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0594: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0595: ADC #$7F - ADC #$7F -; vmsrc/apple/sossysjit.pla: 0596: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0597: LDA ESTKL+1,X - LDA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0598: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0599: LDA ESTKH+1,X - LDA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0600: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0601: - LDA (DST),Y -- LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0602: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0603: CMP (SRC),Y - CMP (SRC),Y -; vmsrc/apple/sossysjit.pla: 0604: BNE ++ - BNE ++ -; vmsrc/apple/sossysjit.pla: 0605: INY - INY -; vmsrc/apple/sossysjit.pla: 0606: ASL - ASL -; vmsrc/apple/sossysjit.pla: 0607: BCS - - BCS - -; vmsrc/apple/sossysjit.pla: 0608: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0609: PHA - PHA -; vmsrc/apple/sossysjit.pla: 0610: INY - INY -; vmsrc/apple/sossysjit.pla: 0611: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0612: TAY - TAY -; vmsrc/apple/sossysjit.pla: 0613: PLA - PLA -; vmsrc/apple/sossysjit.pla: 0614: + INX -+ INX -; vmsrc/apple/sossysjit.pla: 0615: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0616: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0617: LDA #$00 - LDA #$00 -; vmsrc/apple/sossysjit.pla: 0618: STA DSTX - STA DSTX -; vmsrc/apple/sossysjit.pla: 0619: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0620: ++ LDY #$00 -++ LDY #$00 -; vmsrc/apple/sossysjit.pla: 0621: -- LDA (DST),Y --- LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0622: INC DSTL - INC DSTL -; vmsrc/apple/sossysjit.pla: 0623: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0624: --- ASL ---- ASL -; vmsrc/apple/sossysjit.pla: 0625: BCS -- - BCS -- -; vmsrc/apple/sossysjit.pla: 0626: LDA #$02 - LDA #$02 -; vmsrc/apple/sossysjit.pla: 0627: ADC DSTL - ADC DSTL -; vmsrc/apple/sossysjit.pla: 0628: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0629: BCC - - BCC - -; vmsrc/apple/sossysjit.pla: 0630: INC DSTH - INC DSTH -; vmsrc/apple/sossysjit.pla: 0631: BCS - - BCS - -; vmsrc/apple/sossysjit.pla: 0632: + INC DSTH -+ INC DSTH -; vmsrc/apple/sossysjit.pla: 0633: BNE --- - BNE --- -; vmsrc/apple/sossysjit.pla: 0634: end -; vmsrc/apple/sossysjit.pla: 0635: // def lookupidx(esd, index) -; vmsrc/apple/sossysjit.pla: 0636: // word sym -; vmsrc/apple/sossysjit.pla: 0637: // while ^esd -; vmsrc/apple/sossysjit.pla: 0638: // sym = esd -; vmsrc/apple/sossysjit.pla: 0639: // esd = sym + dcitos(sym, @str) -; vmsrc/apple/sossysjit.pla: 0640: // if esd->0 & $10 and esd->1 == index -; vmsrc/apple/sossysjit.pla: 0641: // return sym -; vmsrc/apple/sossysjit.pla: 0642: // fin -; vmsrc/apple/sossysjit.pla: 0643: // esd = esd + 3 -; vmsrc/apple/sossysjit.pla: 0644: // loop -; vmsrc/apple/sossysjit.pla: 0645: //end -; vmsrc/apple/sossysjit.pla: 0646: asm lookupidx(esd, index)#1 -_A016 ; lookupidx() -; vmsrc/apple/sossysjit.pla: 0647: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0648: STA TMPL - STA TMPL -; vmsrc/apple/sossysjit.pla: 0649: INX - INX -; vmsrc/apple/sossysjit.pla: 0650: --- LDA ESTKH,X ---- LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0651: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0652: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0653: -- STA SRCL --- STA SRCL -; vmsrc/apple/sossysjit.pla: 0654: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0655: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0656: BPL + - BPL + -; vmsrc/apple/sossysjit.pla: 0657: INY - INY -; vmsrc/apple/sossysjit.pla: 0658: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0659: + BEQ ++ ; END OF ESD -+ BEQ ++ ; END OF ESD -; vmsrc/apple/sossysjit.pla: 0660: INY - INY -; vmsrc/apple/sossysjit.pla: 0661: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0662: INY - INY -; vmsrc/apple/sossysjit.pla: 0663: AND #$10 ; EXTERN FLAG? - AND #$10 ; EXTERN FLAG? -; vmsrc/apple/sossysjit.pla: 0664: BEQ + - BEQ + -; vmsrc/apple/sossysjit.pla: 0665: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0666: CMP TMPL - CMP TMPL -; vmsrc/apple/sossysjit.pla: 0667: BEQ +++ ; MATCH - BEQ +++ ; MATCH -; vmsrc/apple/sossysjit.pla: 0668: + INY -+ INY -; vmsrc/apple/sossysjit.pla: 0669: TYA - TYA -; vmsrc/apple/sossysjit.pla: 0670: SEC - SEC -; vmsrc/apple/sossysjit.pla: 0671: ADC SRCL - ADC SRCL -; vmsrc/apple/sossysjit.pla: 0672: STA ESTKL,X ; SYM PTRL - STA ESTKL,X ; SYM PTRL -; vmsrc/apple/sossysjit.pla: 0673: BCC -- - BCC -- -; vmsrc/apple/sossysjit.pla: 0674: INC ESTKH,X ; SYM PTRH - INC ESTKH,X ; SYM PTRH -; vmsrc/apple/sossysjit.pla: 0675: BNE --- - BNE --- -; vmsrc/apple/sossysjit.pla: 0676: ++ STA ESTKL,X ; END OF ESD -++ STA ESTKL,X ; END OF ESD -; vmsrc/apple/sossysjit.pla: 0677: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0678: +++ RTS -+++ RTS -; vmsrc/apple/sossysjit.pla: 0679: end -; vmsrc/apple/sossysjit.pla: 0680: //def lookupdef(addr, deftbl)#1 -; vmsrc/apple/sossysjit.pla: 0681: // while deftbl->0 == $20 -; vmsrc/apple/sossysjit.pla: 0682: // if deftbl=>3 == addr -; vmsrc/apple/sossysjit.pla: 0683: // return deftbl -; vmsrc/apple/sossysjit.pla: 0684: // fin -; vmsrc/apple/sossysjit.pla: 0685: // deftbl = deftbl + t_defentry -; vmsrc/apple/sossysjit.pla: 0686: // loop -; vmsrc/apple/sossysjit.pla: 0687: // return 0 -; vmsrc/apple/sossysjit.pla: 0688: //end -; vmsrc/apple/sossysjit.pla: 0689: asm lookupdef(addr, deftbl)#1 -_A017 ; lookupdef() -; vmsrc/apple/sossysjit.pla: 0690: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0691: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0692: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0693: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0694: INX - INX -; vmsrc/apple/sossysjit.pla: 0695: - LDY #$00 -- LDY #$00 -; vmsrc/apple/sossysjit.pla: 0696: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0697: CMP #$20 ; JSR OPCODE? - CMP #$20 ; JSR OPCODE? -; vmsrc/apple/sossysjit.pla: 0698: BNE ++ - BNE ++ -; vmsrc/apple/sossysjit.pla: 0699: LDY #$03 - LDY #$03 -; vmsrc/apple/sossysjit.pla: 0700: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0701: CMP ESTKL,X - CMP ESTKL,X -; vmsrc/apple/sossysjit.pla: 0702: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0703: INY - INY -; vmsrc/apple/sossysjit.pla: 0704: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0705: CMP ESTKH,X - CMP ESTKH,X -; vmsrc/apple/sossysjit.pla: 0706: BNE + - BNE + -; vmsrc/apple/sossysjit.pla: 0707: LDA SRCL ; MATCH - LDA SRCL ; MATCH -; vmsrc/apple/sossysjit.pla: 0708: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0709: LDA SRCH - LDA SRCH -; vmsrc/apple/sossysjit.pla: 0710: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0711: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0712: + LDA #$08 ; T_DEFENTRY -+ LDA #$08 ; T_DEFENTRY -; vmsrc/apple/sossysjit.pla: 0713: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0714: ADC SRCL - ADC SRCL -; vmsrc/apple/sossysjit.pla: 0715: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0716: BCC - - BCC - -; vmsrc/apple/sossysjit.pla: 0717: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0718: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0719: ++ STY ESTKL,X -++ STY ESTKL,X -; vmsrc/apple/sossysjit.pla: 0720: STY ESTKH,X - STY ESTKH,X -; vmsrc/apple/sossysjit.pla: 0721: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0722: end -; vmsrc/apple/sossysjit.pla: 0723: // -; vmsrc/apple/sossysjit.pla: 0724: // Reloc internal data -; vmsrc/apple/sossysjit.pla: 0725: // -; vmsrc/apple/sossysjit.pla: 0726: //def reloc(modfix, modofst, bytecode, rld)#3 -; vmsrc/apple/sossysjit.pla: 0727: // word addr, fixup -; vmsrc/apple/sossysjit.pla: 0728: // while ^rld -; vmsrc/apple/sossysjit.pla: 0729: // if ^rld & $10 // EXTERN reference. -; vmsrc/apple/sossysjit.pla: 0730: // return rld, addr, fixup -; vmsrc/apple/sossysjit.pla: 0731: // fin -; vmsrc/apple/sossysjit.pla: 0732: // addr = rld=>1 + modfix -; vmsrc/apple/sossysjit.pla: 0733: // fixup = *addr + modofst -; vmsrc/apple/sossysjit.pla: 0734: // if uword_isge(fixup, bytecode) // Bytecode address. -; vmsrc/apple/sossysjit.pla: 0735: // return rld, addr, fixup -; vmsrc/apple/sossysjit.pla: 0736: // fin -; vmsrc/apple/sossysjit.pla: 0737: // *addr = fixup -; vmsrc/apple/sossysjit.pla: 0738: // rld = rld + 4 -; vmsrc/apple/sossysjit.pla: 0739: // loop -; vmsrc/apple/sossysjit.pla: 0740: // return rld, addr, fixup -; vmsrc/apple/sossysjit.pla: 0741: //end -; vmsrc/apple/sossysjit.pla: 0742: asm reloc(modfix, modofst, bytecode, rld)#3 -_A018 ; reloc() -; vmsrc/apple/sossysjit.pla: 0743: LDA ESTKL,X - LDA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0744: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0745: LDA ESTKH,X - LDA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0746: STA SRCH - STA SRCH -; vmsrc/apple/sossysjit.pla: 0747: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0748: - LDA (SRC),Y -- LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0749: BEQ RLDEX ; END OF RLD - BEQ RLDEX ; END OF RLD -; vmsrc/apple/sossysjit.pla: 0750: INY - INY -; vmsrc/apple/sossysjit.pla: 0751: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0752: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0753: ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX - ADC ESTKL+3,X ; ADDR=ENTRY=>1+MODFIX -; vmsrc/apple/sossysjit.pla: 0754: STA DSTL - STA DSTL -; vmsrc/apple/sossysjit.pla: 0755: INY - INY -; vmsrc/apple/sossysjit.pla: 0756: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0757: ADC ESTKH+3,X - ADC ESTKH+3,X -; vmsrc/apple/sossysjit.pla: 0758: STA DSTH - STA DSTH -; vmsrc/apple/sossysjit.pla: 0759: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0760: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0761: AND #$10 ; EXTERN REF - EXIT - AND #$10 ; EXTERN REF - EXIT -; vmsrc/apple/sossysjit.pla: 0762: BNE RLDEX - BNE RLDEX -; vmsrc/apple/sossysjit.pla: 0763: LDA (SRC),Y - LDA (SRC),Y -; vmsrc/apple/sossysjit.pla: 0764: BMI FIX16 - BMI FIX16 -; vmsrc/apple/sossysjit.pla: 0765: AND #$40 - AND #$40 -; vmsrc/apple/sossysjit.pla: 0766: BNE FIXMSB - BNE FIXMSB -; vmsrc/apple/sossysjit.pla: 0767: FIXLSB LDA (DST),Y -FIXLSB LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0768: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0769: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0770: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0771: BCC FIX8 - BCC FIX8 -; vmsrc/apple/sossysjit.pla: 0772: FIXMSB LDY #$03 -FIXMSB LDY #$03 -; vmsrc/apple/sossysjit.pla: 0773: LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) - LDA (SRC),Y ; FIXUPH=(ENTRY->3+MODOFSTL)+(^ADDR+MODOFSTH) -; vmsrc/apple/sossysjit.pla: 0774: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0775: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0776: LDY #$00 - LDY #$00 -; vmsrc/apple/sossysjit.pla: 0777: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0778: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0779: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0780: BCC FIX8 - BCC FIX8 -; vmsrc/apple/sossysjit.pla: 0781: FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -FIX16 LDA (DST),Y ; FIXUP=*ADDR+MODOFST -; vmsrc/apple/sossysjit.pla: 0782: CLC - CLC -; vmsrc/apple/sossysjit.pla: 0783: ADC ESTKL+2,X - ADC ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0784: STA TMPL - STA TMPL -; vmsrc/apple/sossysjit.pla: 0785: INY - INY -; vmsrc/apple/sossysjit.pla: 0786: LDA (DST),Y - LDA (DST),Y -; vmsrc/apple/sossysjit.pla: 0787: ADC ESTKH+2,X - ADC ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0788: CMP ESTKH+1,X ; FIXUP >= BYTECODE? - CMP ESTKH+1,X ; FIXUP >= BYTECODE? -; vmsrc/apple/sossysjit.pla: 0789: BCC + - BCC + -; vmsrc/apple/sossysjit.pla: 0790: STA TMPH - STA TMPH -; vmsrc/apple/sossysjit.pla: 0791: BNE RLDEX ; YEP, EXIT - BNE RLDEX ; YEP, EXIT -; vmsrc/apple/sossysjit.pla: 0792: LDA TMPL - LDA TMPL -; vmsrc/apple/sossysjit.pla: 0793: CMP ESTKL+1,X - CMP ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0794: BCS RLDEX ; YEP, EXIT - BCS RLDEX ; YEP, EXIT -; vmsrc/apple/sossysjit.pla: 0795: LDA TMPH - LDA TMPH -; vmsrc/apple/sossysjit.pla: 0796: + STA (DST),Y ; *ADDR=FIXUP -+ STA (DST),Y ; *ADDR=FIXUP -; vmsrc/apple/sossysjit.pla: 0797: DEY - DEY -; vmsrc/apple/sossysjit.pla: 0798: LDA TMPL - LDA TMPL -; vmsrc/apple/sossysjit.pla: 0799: FIX8 STA (DST),Y -FIX8 STA (DST),Y -; vmsrc/apple/sossysjit.pla: 0800: LDA SRCL ; NEXT ENTRY - LDA SRCL ; NEXT ENTRY -; vmsrc/apple/sossysjit.pla: 0801: ; CLC -; CLC -; vmsrc/apple/sossysjit.pla: 0802: ADC #$04 - ADC #$04 -; vmsrc/apple/sossysjit.pla: 0803: STA SRCL - STA SRCL -; vmsrc/apple/sossysjit.pla: 0804: BCC - - BCC - -; vmsrc/apple/sossysjit.pla: 0805: INC SRCH - INC SRCH -; vmsrc/apple/sossysjit.pla: 0806: BNE - - BNE - -; vmsrc/apple/sossysjit.pla: 0807: RLDEX INX -RLDEX INX -; vmsrc/apple/sossysjit.pla: 0808: LDA TMPL - LDA TMPL -; vmsrc/apple/sossysjit.pla: 0809: STA ESTKL,X - STA ESTKL,X -; vmsrc/apple/sossysjit.pla: 0810: LDA TMPH - LDA TMPH -; vmsrc/apple/sossysjit.pla: 0811: STA ESTKH,X - STA ESTKH,X -; vmsrc/apple/sossysjit.pla: 0812: LDA DSTL - LDA DSTL -; vmsrc/apple/sossysjit.pla: 0813: STA ESTKL+1,X - STA ESTKL+1,X -; vmsrc/apple/sossysjit.pla: 0814: LDA DSTH - LDA DSTH -; vmsrc/apple/sossysjit.pla: 0815: STA ESTKH+1,X - STA ESTKH+1,X -; vmsrc/apple/sossysjit.pla: 0816: LDA SRCL - LDA SRCL -; vmsrc/apple/sossysjit.pla: 0817: STA ESTKL+2,X - STA ESTKL+2,X -; vmsrc/apple/sossysjit.pla: 0818: LDA SRCH - LDA SRCH -; vmsrc/apple/sossysjit.pla: 0819: STA ESTKH+2,X - STA ESTKH+2,X -; vmsrc/apple/sossysjit.pla: 0820: RTS - RTS -; vmsrc/apple/sossysjit.pla: 0821: end -; vmsrc/apple/sossysjit.pla: 0822: def syslookuptbl(dci)#1 - ; dci -> [0] -_P031 ; syslookuptbl(dci)#1() -_C000 ; syslookuptbl() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0823: return lookuptbl(dci, symtbl) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D082+0 -_F063 !WORD _D082+0 - !BYTE $54 ; CALL _A015 -_F064 !WORD _A015 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0824: end -; vmsrc/apple/sossysjit.pla: 0825: // -; vmsrc/apple/sossysjit.pla: 0826: // SOS routines -; vmsrc/apple/sossysjit.pla: 0827: // FILE I/O -; vmsrc/apple/sossysjit.pla: 0828: // -; vmsrc/apple/sossysjit.pla: 0829: def open(path)#1 - ; path -> [0] -_P027 ; open(path)#1() -_C001 ; open() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0830: byte params[7] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0831: -; vmsrc/apple/sossysjit.pla: 0832: params.0 = 4 - !BYTE $58,$09,$01 ; ENTER 9,1 -; vmsrc/apple/sossysjit.pla: 0833: params:1 = path -; vmsrc/apple/sossysjit.pla: 0834: params.3 = 0 -; vmsrc/apple/sossysjit.pla: 0835: params:4 = 0 -; vmsrc/apple/sossysjit.pla: 0836: params.6 = 0 -; vmsrc/apple/sossysjit.pla: 0837: perr = syscall($C8, @params) -; vmsrc/apple/sossysjit.pla: 0838: return params.3 - !BYTE $08 ; CN 4 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $00 ; CN 0 - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $2A,$C8 ; CB 200 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F065 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F066 !WORD _D035+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$09 ; LEAVE 9 -; vmsrc/apple/sossysjit.pla: 0839: end -; vmsrc/apple/sossysjit.pla: 0840: def close(refnum)#1 - ; refnum -> [0] -_P028 ; close(refnum)#1() -_C002 ; close() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0841: byte params[2] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0842: -; vmsrc/apple/sossysjit.pla: 0843: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossysjit.pla: 0844: params.1 = refnum -; vmsrc/apple/sossysjit.pla: 0845: perr = syscall($CC, @params) -; vmsrc/apple/sossysjit.pla: 0846: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$CC ; CB 204 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F067 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F068 !WORD _D035+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0847: end -; vmsrc/apple/sossysjit.pla: 0848: def read(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P029 ; read(refnum, buff, len)#1() -_C003 ; read() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0849: byte params[8] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0850: -; vmsrc/apple/sossysjit.pla: 0851: params.0 = 4 - !BYTE $58,$0E,$03 ; ENTER 14,3 -; vmsrc/apple/sossysjit.pla: 0852: params.1 = refnum -; vmsrc/apple/sossysjit.pla: 0853: params:2 = buff -; vmsrc/apple/sossysjit.pla: 0854: params:4 = len -; vmsrc/apple/sossysjit.pla: 0855: params:6 = 0 -; vmsrc/apple/sossysjit.pla: 0856: perr = syscall($CA, @params) -; vmsrc/apple/sossysjit.pla: 0857: return params:6 - !BYTE $08 ; CN 4 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $2A,$CA ; CB 202 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F069 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F070 !WORD _D035+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/sossysjit.pla: 0858: end -; vmsrc/apple/sossysjit.pla: 0859: def write(refnum, buff, len)#1 - ; refnum -> [0] - ; buff -> [2] - ; len -> [4] -_P030 ; write(refnum, buff, len)#1() -_C004 ; write() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0860: byte params[6] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0861: -; vmsrc/apple/sossysjit.pla: 0862: params.0 = 3 - !BYTE $58,$0C,$03 ; ENTER 12,3 -; vmsrc/apple/sossysjit.pla: 0863: params.1 = refnum -; vmsrc/apple/sossysjit.pla: 0864: params:2 = buff -; vmsrc/apple/sossysjit.pla: 0865: params:4 = len -; vmsrc/apple/sossysjit.pla: 0866: perr = syscall($CB, @params) -; vmsrc/apple/sossysjit.pla: 0867: return perr - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $2A,$CB ; CB 203 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F071 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F072 !WORD _D035+0 - !BYTE $5A,$0C ; LEAVE 12 -; vmsrc/apple/sossysjit.pla: 0868: end -; vmsrc/apple/sossysjit.pla: 0869: // -; vmsrc/apple/sossysjit.pla: 0870: // CONSOLE I/O -; vmsrc/apple/sossysjit.pla: 0871: // -; vmsrc/apple/sossysjit.pla: 0872: def dev_control(devnum, code, list)#1 - ; devnum -> [0] - ; code -> [2] - ; list -> [4] -_C005 ; dev_control() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0873: byte params[5] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0874: -; vmsrc/apple/sossysjit.pla: 0875: params.0 = 3 - !BYTE $58,$0B,$03 ; ENTER 11,3 -; vmsrc/apple/sossysjit.pla: 0876: params.1 = devnum -; vmsrc/apple/sossysjit.pla: 0877: params.2 = code -; vmsrc/apple/sossysjit.pla: 0878: params:3 = list -; vmsrc/apple/sossysjit.pla: 0879: return syscall($83, @params) - !BYTE $06 ; CN 3 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$09 ; SLW [9] - !BYTE $2A,$83 ; CB 131 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F073 !WORD _A000 - !BYTE $5A,$0B ; LEAVE 11 -; vmsrc/apple/sossysjit.pla: 0880: end -; vmsrc/apple/sossysjit.pla: 0881: def dev_getnum(name)#1 - ; name -> [0] -_C006 ; dev_getnum() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0882: byte params[4] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0883: -; vmsrc/apple/sossysjit.pla: 0884: params.0 = 2 - !BYTE $58,$06,$01 ; ENTER 6,1 -; vmsrc/apple/sossysjit.pla: 0885: params:1 = name -; vmsrc/apple/sossysjit.pla: 0886: params.3 = 0 -; vmsrc/apple/sossysjit.pla: 0887: syscall($84, @params) -; vmsrc/apple/sossysjit.pla: 0888: return params.3 - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$03 ; SLW [3] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $2A,$84 ; CB 132 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F074 !WORD _A000 - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $5A,$06 ; LEAVE 6 -; vmsrc/apple/sossysjit.pla: 0889: end -; vmsrc/apple/sossysjit.pla: 0890: def init_cons()#0 -_C007 ; init_cons() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0891: byte nlmode[2] - ; nlmode -> [0] -; vmsrc/apple/sossysjit.pla: 0892: -; vmsrc/apple/sossysjit.pla: 0893: refcons = open(@console) - !BYTE $58,$02,$00 ; ENTER 2,0 -; vmsrc/apple/sossysjit.pla: 0894: devcons = dev_getnum(@console) -; vmsrc/apple/sossysjit.pla: 0895: nlmode:0 = $0D80 -; vmsrc/apple/sossysjit.pla: 0896: //nlmode.0 = $80 -; vmsrc/apple/sossysjit.pla: 0897: //nlmode.1 = $0D -; vmsrc/apple/sossysjit.pla: 0898: dev_control(devcons, $02, @nlmode) -; vmsrc/apple/sossysjit.pla: 0899: write(refcons, @textmode, 3) -; vmsrc/apple/sossysjit.pla: 0900: end - !BYTE $26 ; LA _D043+0 -_F075 !WORD _D043+0 - !BYTE $54 ; CALL _C001 -_F076 !WORD _C001 - !BYTE $78 ; SAB _D038+0 -_F077 !WORD _D038+0 - !BYTE $26 ; LA _D043+0 -_F078 !WORD _D043+0 - !BYTE $54 ; CALL _C006 -_F079 !WORD _C006 - !BYTE $78 ; SAB _D039+0 -_F080 !WORD _D039+0 - !BYTE $2C,$80,$0D ; CW 3456 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D039+0 -_F081 !WORD _D039+0 - !BYTE $04 ; CN 2 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C005 -_F082 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D038+0 -_F083 !WORD _D038+0 - !BYTE $26 ; LA _D044+0 -_F084 !WORD _D044+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C004 -_F085 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0901: // -; vmsrc/apple/sossysjit.pla: 0902: // MEMORY CALLS -; vmsrc/apple/sossysjit.pla: 0903: // -; vmsrc/apple/sossysjit.pla: 0904: def seg_find(search, pages, id)#3 - ; search -> [0] - ; pages -> [2] - ; id -> [4] -_C008 ; seg_find() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0905: byte params[10] - ; params -> [6] -; vmsrc/apple/sossysjit.pla: 0906: -; vmsrc/apple/sossysjit.pla: 0907: params.0 = 6 - !BYTE $58,$10,$03 ; ENTER 16,3 -; vmsrc/apple/sossysjit.pla: 0908: params.1 = search -; vmsrc/apple/sossysjit.pla: 0909: params.2 = id -; vmsrc/apple/sossysjit.pla: 0910: params:3 = pages -; vmsrc/apple/sossysjit.pla: 0911: params:5 = 0 -; vmsrc/apple/sossysjit.pla: 0912: params:7 = 0 -; vmsrc/apple/sossysjit.pla: 0913: params.9 = 0 -; vmsrc/apple/sossysjit.pla: 0914: perr = syscall($41, @params) -; vmsrc/apple/sossysjit.pla: 0915: return params.9, params:5, params:7 - !BYTE $0C ; CN 6 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$04 ; LLW [4] - !BYTE $74,$08 ; SLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$09 ; SLW [9] - !BYTE $00 ; CN 0 - !BYTE $76,$0B ; SLW [11] - !BYTE $00 ; CN 0 - !BYTE $76,$0D ; SLW [13] - !BYTE $00 ; CN 0 - !BYTE $74,$0F ; SLB [15] - !BYTE $2A,$41 ; CB 65 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _A000 -_F086 !WORD _A000 - !BYTE $78 ; SAB _D035+0 -_F087 !WORD _D035+0 - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$0B ; LLW [11] - !BYTE $66,$0D ; LLW [13] - !BYTE $5A,$10 ; LEAVE 16 -; vmsrc/apple/sossysjit.pla: 0916: end -; vmsrc/apple/sossysjit.pla: 0917: def seg_release(segnum)#1 - ; segnum -> [0] -_C009 ; seg_release() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0918: byte params[2] - ; params -> [2] -; vmsrc/apple/sossysjit.pla: 0919: -; vmsrc/apple/sossysjit.pla: 0920: params.0 = 1 - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossysjit.pla: 0921: params.1 = segnum -; vmsrc/apple/sossysjit.pla: 0922: perr = syscall($45, @params) -; vmsrc/apple/sossysjit.pla: 0923: return perr - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $74,$03 ; SLB [3] - !BYTE $2A,$45 ; CB 69 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A000 -_F088 !WORD _A000 - !BYTE $7C ; DAB _D035+0 -_F089 !WORD _D035+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0924: end -; vmsrc/apple/sossysjit.pla: 0925: // -; vmsrc/apple/sossysjit.pla: 0926: // CONSOLE I/O -; vmsrc/apple/sossysjit.pla: 0927: // -; vmsrc/apple/sossysjit.pla: 0928: def cout(ch)#0 - ; ch -> [0] -_P003 ; cout(ch)#0() -_C010 ; cout() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0929: byte nc - ; nc -> [2] -; vmsrc/apple/sossysjit.pla: 0930: -; vmsrc/apple/sossysjit.pla: 0931: nc = 1 - !BYTE $58,$03,$01 ; ENTER 3,1 -; vmsrc/apple/sossysjit.pla: 0932: if ch == $0D -; vmsrc/apple/sossysjit.pla: 0933: ch = $0A0D -; vmsrc/apple/sossysjit.pla: 0934: nc = 2 -; vmsrc/apple/sossysjit.pla: 0935: fin - !BYTE $02 ; CN 1 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B001 - !WORD _B001-* - !BYTE $2C,$0D,$0A ; CW 2573 - !BYTE $76,$00 ; SLW [0] - !BYTE $04 ; CN 2 - !BYTE $74,$02 ; SLB [2] -_B001 -_B002 -; vmsrc/apple/sossysjit.pla: 0936: write(refcons, @ch, nc) -; vmsrc/apple/sossysjit.pla: 0937: end - !BYTE $68 ; LAB _D038+0 -_F090 !WORD _D038+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _C004 -_F091 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; vmsrc/apple/sossysjit.pla: 0938: def crout()#0 -_P002 ; crout()#0() -_C011 ; crout() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0939: cout($0D) -; vmsrc/apple/sossysjit.pla: 0940: end - !BYTE $1A ; CN 13 - !BYTE $54 ; CALL _C010 -_F092 !WORD _C010 - !BYTE $5C ; RET -; vmsrc/apple/sossysjit.pla: 0941: def cin()#1 -_P008 ; cin()#1() -_C012 ; cin() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0942: byte ch - ; ch -> [0] -; vmsrc/apple/sossysjit.pla: 0943: read(refcons, @ch, 1) - !BYTE $58,$01,$00 ; ENTER 1,0 -; vmsrc/apple/sossysjit.pla: 0944: return ch & $7F - !BYTE $68 ; LAB _D038+0 -_F093 !WORD _D038+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C003 -_F094 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossysjit.pla: 0945: end -; vmsrc/apple/sossysjit.pla: 0946: def prstr(str)#0 - ; str -> [0] -_P004 ; prstr(str)#0() -_C013 ; prstr() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0947: write(refcons, str + 1, ^str) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0948: if str->[^str] == $0D -; vmsrc/apple/sossysjit.pla: 0949: cout($0A) -; vmsrc/apple/sossysjit.pla: 0950: fin - !BYTE $68 ; LAB _D038+0 -_F095 !WORD _D038+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C004 -_F096 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B003 - !WORD _B003-* - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _C010 -_F097 !WORD _C010 -_B003 -_B004 -; vmsrc/apple/sossysjit.pla: 0951: end - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0952: def print(i)#0 - ; i -> [0] -_P005 ; print(i)#0() -_C014 ; print() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0953: if i < 0; cout('-'); i = -i; fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $2A,$2D ; CB 45 - !BYTE $54 ; CALL _C010 -_F098 !WORD _C010 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $76,$00 ; SLW [0] -_B005 -_B006 -; vmsrc/apple/sossysjit.pla: 0954: if i >= 10; print(i / 10); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $88 ; DIV - !BYTE $54 ; CALL _C014 -_F099 !WORD _C014 -_B007 -_B008 -; vmsrc/apple/sossysjit.pla: 0955: cout(i % 10 + '0') -; vmsrc/apple/sossysjit.pla: 0956: end - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $8A ; MOD - !BYTE $38,$30 ; ADDI 48 - !BYTE $54 ; CALL _C010 -_F100 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0957: def rdstr(prompt)#1 - ; prompt -> [0] -_P009 ; rdstr(prompt)#1() -_C015 ; rdstr() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0958: cout(prompt) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0959: ^instr = read(refcons, instr+1, 128) -; vmsrc/apple/sossysjit.pla: 0960: if instr->[^instr] == $0D -; vmsrc/apple/sossysjit.pla: 0961: ^instr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C010 -_F101 !WORD _C010 - !BYTE $68 ; LAB _D038+0 -_F102 !WORD _D038+0 - !BYTE $2C,$21,$A0 ; CW 40993 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C003 -_F103 !WORD _C003 - !BYTE $78,$20,$A0 ; SAB 40992 - !BYTE $2C,$20,$A0 ; CW 40992 - !BYTE $B4,$20,$A0 ; ADDAB 40992 - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B009 - !WORD _B009-* - !BYTE $68,$20,$A0 ; LAB 40992 - !BYTE $8E ; DECR -; vmsrc/apple/sossysjit.pla: 0962: fin - !BYTE $78,$20,$A0 ; SAB 40992 -_B009 -_B010 -; vmsrc/apple/sossysjit.pla: 0963: crout -; vmsrc/apple/sossysjit.pla: 0964: return instr - !BYTE $54 ; CALL _C011 -_F104 !WORD _C011 - !BYTE $2C,$20,$A0 ; CW 40992 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0965: end -; vmsrc/apple/sossysjit.pla: 0966: def prbyte(v)#0 - ; v -> [0] -_P006 ; prbyte(v)#0() -_C016 ; prbyte() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0967: cout(hexchar[(v >> 4) & $0F]) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0968: cout(hexchar[v & $0F]) -; vmsrc/apple/sossysjit.pla: 0969: end - !BYTE $26 ; LA _D041+0 -_F105 !WORD _D041+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C010 -_F106 !WORD _C010 - !BYTE $26 ; LA _D041+0 -_F107 !WORD _D041+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _C010 -_F108 !WORD _C010 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0970: def prword(v)#0 - ; v -> [0] -_P007 ; prword(v)#0() -_C017 ; prword() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0971: prbyte(v >> 8) - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 0972: prbyte(v) -; vmsrc/apple/sossysjit.pla: 0973: end - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C016 -_F109 !WORD _C016 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F110 !WORD _C016 - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 0974: // -; vmsrc/apple/sossysjit.pla: 0975: // Heap routines. -; vmsrc/apple/sossysjit.pla: 0976: // -; vmsrc/apple/sossysjit.pla: 0977: def availheap()#1 -_P017 ; availheap()#1() -_C018 ; availheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0978: byte fp - ; fp -> [0] -; vmsrc/apple/sossysjit.pla: 0979: return @fp - heap - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D078+0 -_F111 !WORD _D078+0 - !BYTE $84 ; SUB - !BYTE $5A,$01 ; LEAVE 1 -; vmsrc/apple/sossysjit.pla: 0980: end -; vmsrc/apple/sossysjit.pla: 0981: def allocheap(size)#1 - ; size -> [0] -_P014 ; allocheap(size)#1() -_C019 ; allocheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0982: word addr - ; addr -> [2] -; vmsrc/apple/sossysjit.pla: 0983: addr = heap - !BYTE $58,$04,$01 ; ENTER 4,1 -; vmsrc/apple/sossysjit.pla: 0984: heap = heap + size -; vmsrc/apple/sossysjit.pla: 0985: if uword_isge(heap, @addr) -; vmsrc/apple/sossysjit.pla: 0986: heap = addr -; vmsrc/apple/sossysjit.pla: 0987: return 0 - !BYTE $6A ; LAW _D078+0 -_F112 !WORD _D078+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D078+0 -_F113 !WORD _D078+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D078+0 -_F114 !WORD _D078+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A006 -_F115 !WORD _A006 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D078+0 -_F116 !WORD _D078+0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0988: fin -_B011 -_B012 -; vmsrc/apple/sossysjit.pla: 0989: return addr - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 0990: end -; vmsrc/apple/sossysjit.pla: 0991: def allocalignheap(size, pow2, freeaddr)#1 - ; size -> [0] - ; pow2 -> [2] - ; freeaddr -> [4] -_P015 ; allocalignheap(size, pow2, freeaddr)#1() -_C020 ; allocalignheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 0992: word align, addr - ; align -> [6] - ; addr -> [8] -; vmsrc/apple/sossysjit.pla: 0993: if freeaddr - !BYTE $58,$0A,$03 ; ENTER 10,3 -; vmsrc/apple/sossysjit.pla: 0994: *freeaddr = heap -; vmsrc/apple/sossysjit.pla: 0995: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $6A ; LAW _D078+0 -_F117 !WORD _D078+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B013 -_B014 -; vmsrc/apple/sossysjit.pla: 0996: align = (1 << pow2) - 1 -; vmsrc/apple/sossysjit.pla: 0997: addr = (heap | align) + 1 -; vmsrc/apple/sossysjit.pla: 0998: heap = addr + size -; vmsrc/apple/sossysjit.pla: 0999: if uword_isge(heap, @addr) -; vmsrc/apple/sossysjit.pla: 1000: return 0 - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $9A ; SHL - !BYTE $8E ; DECR - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D078+0 -_F118 !WORD _D078+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $96 ; OR - !BYTE $8C ; INCR - !BYTE $6E,$08 ; DLW [8] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D078+0 -_F119 !WORD _D078+0 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A006 -_F120 !WORD _A006 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossysjit.pla: 1001: fin -_B015 -_B016 -; vmsrc/apple/sossysjit.pla: 1002: return addr - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; vmsrc/apple/sossysjit.pla: 1003: end -; vmsrc/apple/sossysjit.pla: 1004: def markheap()#1 -_P013 ; markheap()#1() -_C021 ; markheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1005: return heap - !BYTE $6A ; LAW _D078+0 -_F121 !WORD _D078+0 - !BYTE $5C ; RET -; vmsrc/apple/sossysjit.pla: 1006: end -; vmsrc/apple/sossysjit.pla: 1007: def releaseheap(newheap)#1 - ; newheap -> [0] -_P016 ; releaseheap(newheap)#1() -_C022 ; releaseheap() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1008: heap = newheap - !BYTE $58,$02,$01 ; ENTER 2,1 -; vmsrc/apple/sossysjit.pla: 1009: return @newheap - heap - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D078+0 -_F122 !WORD _D078+0 - !BYTE $28,$00 ; LLA [0] - !BYTE $6A ; LAW _D078+0 -_F123 !WORD _D078+0 - !BYTE $84 ; SUB - !BYTE $5A,$02 ; LEAVE 2 -; vmsrc/apple/sossysjit.pla: 1010: end -; vmsrc/apple/sossysjit.pla: 1011: // -; vmsrc/apple/sossysjit.pla: 1012: // Symbol table routines. -; vmsrc/apple/sossysjit.pla: 1013: // -; vmsrc/apple/sossysjit.pla: 1014: def addsym(sym, addr)#0 - ; sym -> [0] - ; addr -> [2] -_C023 ; addsym() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1015: while ^sym & $80 - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -_B017 -; vmsrc/apple/sossysjit.pla: 1016: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossysjit.pla: 1017: lastsym = lastsym + 1 -; vmsrc/apple/sossysjit.pla: 1018: sym = sym + 1 -; vmsrc/apple/sossysjit.pla: 1019: loop - !BYTE $68 ; LAB _D082+0 -_F124 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F125 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F126 !WORD _A005 - !BYTE $6A ; LAW _D083+0 -_F127 !WORD _D083+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D083+0 -_F128 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B019 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* -_B018 -; vmsrc/apple/sossysjit.pla: 1020: xpokeb(symtbl.0, lastsym, ^sym) -; vmsrc/apple/sossysjit.pla: 1021: xpokeb(symtbl.0, lastsym + 1, addr.0) -; vmsrc/apple/sossysjit.pla: 1022: xpokeb(symtbl.0, lastsym + 2, addr.1) -; vmsrc/apple/sossysjit.pla: 1023: xpokeb(symtbl.0, lastsym + 3, 0) -; vmsrc/apple/sossysjit.pla: 1024: lastsym = lastsym + 3 -; vmsrc/apple/sossysjit.pla: 1025: end - !BYTE $68 ; LAB _D082+0 -_F129 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F130 !WORD _D083+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A005 -_F131 !WORD _A005 - !BYTE $68 ; LAB _D082+0 -_F132 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F133 !WORD _D083+0 - !BYTE $8C ; INCR - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _A005 -_F134 !WORD _A005 - !BYTE $68 ; LAB _D082+0 -_F135 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F136 !WORD _D083+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $64,$03 ; LLB [3] - !BYTE $54 ; CALL _A005 -_F137 !WORD _A005 - !BYTE $68 ; LAB _D082+0 -_F138 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F139 !WORD _D083+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F140 !WORD _A005 - !BYTE $6A ; LAW _D083+0 -_F141 !WORD _D083+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D083+0 -_F142 !WORD _D083+0 - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 1026: // -; vmsrc/apple/sossysjit.pla: 1027: // String routines. -; vmsrc/apple/sossysjit.pla: 1028: // -; vmsrc/apple/sossysjit.pla: 1029: def strcpy(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P011 ; strcpy(dst, src)#1() -_C024 ; strcpy() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1030: memcpy(dst+1, src+1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossysjit.pla: 1031: ^dst = ^src -; vmsrc/apple/sossysjit.pla: 1032: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A003 -_F143 !WORD _A003 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 1033: end -; vmsrc/apple/sossysjit.pla: 1034: def strcat(dst, src)#1 - ; dst -> [0] - ; src -> [2] -_P012 ; strcat(dst, src)#1() -_C025 ; strcat() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1035: memcpy(dst + ^dst + 1, src + 1, ^src) - !BYTE $58,$04,$02 ; ENTER 4,2 -; vmsrc/apple/sossysjit.pla: 1036: ^dst = ^dst + ^src -; vmsrc/apple/sossysjit.pla: 1037: return dst - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A003 -_F144 !WORD _A003 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; vmsrc/apple/sossysjit.pla: 1038: end -; vmsrc/apple/sossysjit.pla: 1039: // -; vmsrc/apple/sossysjit.pla: 1040: // Module routines. -; vmsrc/apple/sossysjit.pla: 1041: // -; vmsrc/apple/sossysjit.pla: 1042: def lookupextern(esd, index)#1 - ; esd -> [0] - ; index -> [2] -_C026 ; lookupextern() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1043: word sym, addr - ; sym -> [4] - ; addr -> [6] -; vmsrc/apple/sossysjit.pla: 1044: byte str[33] - ; str -> [8] -; vmsrc/apple/sossysjit.pla: 1045: sym = lookupidx(esd, index) - !BYTE $58,$29,$02 ; ENTER 41,2 -; vmsrc/apple/sossysjit.pla: 1046: if sym -; vmsrc/apple/sossysjit.pla: 1047: addr = lookuptbl(sym, symtbl) -; vmsrc/apple/sossysjit.pla: 1048: if !addr -; vmsrc/apple/sossysjit.pla: 1049: perr = $81 -; vmsrc/apple/sossysjit.pla: 1050: dcitos(sym, @str) -; vmsrc/apple/sossysjit.pla: 1051: cout('?'); prstr(@str); crout -; vmsrc/apple/sossysjit.pla: 1052: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A016 -_F145 !WORD _A016 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D082+0 -_F146 !WORD _D082+0 - !BYTE $54 ; CALL _A015 -_F147 !WORD _A015 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B022 - !WORD _B022-* - !BYTE $2A,$81 ; CB 129 - !BYTE $78 ; SAB _D035+0 -_F148 !WORD _D035+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _A012 -_F149 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _C010 -_F150 !WORD _C010 - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C013 -_F151 !WORD _C013 - !BYTE $54 ; CALL _C011 -_F152 !WORD _C011 -_B022 -_B023 -; vmsrc/apple/sossysjit.pla: 1053: return addr - !BYTE $66,$06 ; LLW [6] - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossysjit.pla: 1054: fin -_B020 -_B021 -; vmsrc/apple/sossysjit.pla: 1055: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$29 ; LEAVE 41 -; vmsrc/apple/sossysjit.pla: 1056: end -; vmsrc/apple/sossysjit.pla: 1057: def adddef(isfirst, ext, addr, deflast)#1 - ; isfirst -> [0] - ; ext -> [2] - ; addr -> [4] - ; deflast -> [6] -_C027 ; adddef() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1058: word preventry, defentry, defsize - ; preventry -> [8] - ; defentry -> [10] - ; defsize -> [12] -; vmsrc/apple/sossysjit.pla: 1059: defentry = *deflast - !BYTE $58,$0E,$04 ; ENTER 14,4 -; vmsrc/apple/sossysjit.pla: 1060: *deflast = defentry + t_defentry -; vmsrc/apple/sossysjit.pla: 1061: if not isfirst -; vmsrc/apple/sossysjit.pla: 1062: preventry = defentry - t_defentry -; vmsrc/apple/sossysjit.pla: 1063: defsize = addr - preventry=>bytecodeaddr -; vmsrc/apple/sossysjit.pla: 1064: if defsize <= jitsize -; vmsrc/apple/sossysjit.pla: 1065: preventry=>interpaddr = *jitinterp // JSR JITINTRP -; vmsrc/apple/sossysjit.pla: 1066: preventry->callcount = jitcount // Set JIT countdown -; vmsrc/apple/sossysjit.pla: 1067: preventry->bytecodesize = defsize // Set size -; vmsrc/apple/sossysjit.pla: 1068: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $62 ; LW - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$08 ; ADDI 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B024 - !WORD _B024-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3A,$08 ; SUBI 8 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$03 ; ADDI 3 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $6E,$0C ; DLW [12] - !BYTE $68 ; LAB _D037+0 -_F153 !WORD _D037+0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B026 - !WORD _B026-* - !BYTE $6A,$FA,$A0 ; LAW 41210 - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $68 ; LAB _D036+0 -_F154 !WORD _D036+0 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$0C ; LLW [12] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $70 ; SB -_B026 -_B027 -; vmsrc/apple/sossysjit.pla: 1069: fin -_B024 -_B025 -; vmsrc/apple/sossysjit.pla: 1070: defentry->interpjsr = $20 // JSR -; vmsrc/apple/sossysjit.pla: 1071: defentry=>interpaddr = *xinterp // XINTERP -; vmsrc/apple/sossysjit.pla: 1072: defentry=>bytecodeaddr = addr -; vmsrc/apple/sossysjit.pla: 1073: defentry->bytecodexbyte = ext -; vmsrc/apple/sossysjit.pla: 1074: defentry->t_defentry = 0 -; vmsrc/apple/sossysjit.pla: 1075: return defentry - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $6A,$F8,$A0 ; LAW 41208 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$03 ; ADDI 3 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$08 ; ADDI 8 - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$0E ; LEAVE 14 -; vmsrc/apple/sossysjit.pla: 1076: end -; vmsrc/apple/sossysjit.pla: 1077: def loadmod(mod)#1 - ; mod -> [0] -_C028 ; loadmod() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1078: word refnum[], deffirst, rdlen, modsize, bytecode, codefix, defofst, defcnt, init, initcode[], fixup - ; refnum -> [2] - ; deffirst -> [2] - ; rdlen -> [4] - ; modsize -> [6] - ; bytecode -> [8] - ; codefix -> [10] - ; defofst -> [12] - ; defcnt -> [14] - ; init -> [16] - ; initcode -> [18] - ; fixup -> [18] -; vmsrc/apple/sossysjit.pla: 1079: word addr, defaddr, modaddr, modfix, modofst, modend - ; addr -> [20] - ; defaddr -> [22] - ; modaddr -> [24] - ; modfix -> [26] - ; modofst -> [28] - ; modend -> [30] -; vmsrc/apple/sossysjit.pla: 1080: word deftbl, deflast, codeseg - ; deftbl -> [32] - ; deflast -> [34] - ; codeseg -> [36] -; vmsrc/apple/sossysjit.pla: 1081: word moddep, rld, esd, sym - ; moddep -> [38] - ; rld -> [40] - ; esd -> [42] - ; sym -> [44] -; vmsrc/apple/sossysjit.pla: 1082: byte lerr, defext, skipjit, fileinfo[], str[16], filename[33] - ; lerr -> [46] - ; defext -> [47] - ; skipjit -> [48] - ; fileinfo -> [49] - ; str -> [49] - ; filename -> [65] -; vmsrc/apple/sossysjit.pla: 1083: byte header[128] - ; header -> [98] -; vmsrc/apple/sossysjit.pla: 1084: lerr = 0 - !BYTE $58,$E2,$01 ; ENTER 226,1 -; vmsrc/apple/sossysjit.pla: 1085: // -; vmsrc/apple/sossysjit.pla: 1086: // Read the RELocatable module header (first 128 bytes) -; vmsrc/apple/sossysjit.pla: 1087: // -; vmsrc/apple/sossysjit.pla: 1088: dcitos(mod, @filename) -; vmsrc/apple/sossysjit.pla: 1089: refnum = open(@filename) -; vmsrc/apple/sossysjit.pla: 1090: if !refnum and filename < 16 -; vmsrc/apple/sossysjit.pla: 1091: // -; vmsrc/apple/sossysjit.pla: 1092: // Try system path -; vmsrc/apple/sossysjit.pla: 1093: // -; vmsrc/apple/sossysjit.pla: 1094: refnum = open(strcpy(@filename,strcat(strcpy(@header, @sysmods), @filename))) -; vmsrc/apple/sossysjit.pla: 1095: fin - !BYTE $00 ; CN 0 - !BYTE $74,$2E ; SLB [46] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _A012 -_F155 !WORD _A012 - !BYTE $30 ; DROP - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _C001 -_F156 !WORD _C001 - !BYTE $6E,$02 ; DLW [2] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B028 - !WORD _B028-* - !BYTE $64,$41 ; LLB [65] - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT -_B028 - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $28,$41 ; LLA [65] - !BYTE $28,$62 ; LLA [98] - !BYTE $26 ; LA _D076+0 -_F157 !WORD _D076+0 - !BYTE $54 ; CALL _C024 -_F158 !WORD _C024 - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _C025 -_F159 !WORD _C025 - !BYTE $54 ; CALL _C024 -_F160 !WORD _C024 - !BYTE $54 ; CALL _C001 -_F161 !WORD _C001 - !BYTE $76,$02 ; SLW [2] -_B029 -_B030 -; vmsrc/apple/sossysjit.pla: 1096: if refnum -; vmsrc/apple/sossysjit.pla: 1097: header.0 = 3 -; vmsrc/apple/sossysjit.pla: 1098: header:1 = @filename -; vmsrc/apple/sossysjit.pla: 1099: header:3 = @fileinfo -; vmsrc/apple/sossysjit.pla: 1100: header.5 = 2 -; vmsrc/apple/sossysjit.pla: 1101: if not syscall($C4, @header) and fileinfo.1 <> $FE // Make sure it's a REL module -; vmsrc/apple/sossysjit.pla: 1102: close(refnum) -; vmsrc/apple/sossysjit.pla: 1103: perr = $4A // Incompatible type -; vmsrc/apple/sossysjit.pla: 1104: return -perr - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $06 ; CN 3 - !BYTE $74,$62 ; SLB [98] - !BYTE $28,$41 ; LLA [65] - !BYTE $76,$63 ; SLW [99] - !BYTE $28,$31 ; LLA [49] - !BYTE $76,$65 ; SLW [101] - !BYTE $04 ; CN 2 - !BYTE $74,$67 ; SLB [103] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$62 ; LLA [98] - !BYTE $54 ; CALL _A000 -_F162 !WORD _A000 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B033 - !WORD _B033-* - !BYTE $64,$32 ; LLB [50] - !BYTE $2A,$FE ; CB 254 - !BYTE $42 ; ISNE -_B033 - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F163 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $2A,$4A ; CB 74 - !BYTE $7C ; DAB _D035+0 -_F164 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1105: fin -_B034 -_B035 -; vmsrc/apple/sossysjit.pla: 1106: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossysjit.pla: 1107: modsize = header:0 -; vmsrc/apple/sossysjit.pla: 1108: moddep = @header.1 -; vmsrc/apple/sossysjit.pla: 1109: defofst = modsize + RELADDR -; vmsrc/apple/sossysjit.pla: 1110: defext = 0 -; vmsrc/apple/sossysjit.pla: 1111: init = 0 -; vmsrc/apple/sossysjit.pla: 1112: if rdlen > 4 and header:2 == $6502 // magic number -; vmsrc/apple/sossysjit.pla: 1113: // -; vmsrc/apple/sossysjit.pla: 1114: // This is an EXTended RELocatable (data+bytecode) module. -; vmsrc/apple/sossysjit.pla: 1115: // -; vmsrc/apple/sossysjit.pla: 1116: systemflags = header.4 | systemflags -; vmsrc/apple/sossysjit.pla: 1117: skipjit = header.5 & (nojitc >> 8) -; vmsrc/apple/sossysjit.pla: 1118: defofst = header:6 -; vmsrc/apple/sossysjit.pla: 1119: defcnt = header:8 -; vmsrc/apple/sossysjit.pla: 1120: init = header:10 -; vmsrc/apple/sossysjit.pla: 1121: moddep = @header.12 -; vmsrc/apple/sossysjit.pla: 1122: // -; vmsrc/apple/sossysjit.pla: 1123: // Load module dependencies. -; vmsrc/apple/sossysjit.pla: 1124: // -; vmsrc/apple/sossysjit.pla: 1125: while ^moddep - !BYTE $66,$02 ; LLW [2] - !BYTE $28,$62 ; LLA [98] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C003 -_F165 !WORD _C003 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$62 ; LLW [98] - !BYTE $76,$06 ; SLW [6] - !BYTE $28,$63 ; LLA [99] - !BYTE $76,$26 ; SLW [38] - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $74,$2F ; SLB [47] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$04 ; LLW [4] - !BYTE $08 ; CN 4 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B036 - !WORD _B036-* - !BYTE $66,$64 ; LLW [100] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $40 ; ISEQ -_B036 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $64,$66 ; LLB [102] - !BYTE $6A ; LAW _D040+0 -_F166 !WORD _D040+0 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D040+0 -_F167 !WORD _D040+0 - !BYTE $64,$67 ; LLB [103] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $74,$30 ; SLB [48] - !BYTE $66,$68 ; LLW [104] - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$6A ; LLW [106] - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$6C ; LLW [108] - !BYTE $76,$10 ; SLW [16] - !BYTE $28,$6E ; LLA [110] - !BYTE $76,$26 ; SLW [38] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B039 -; vmsrc/apple/sossysjit.pla: 1126: if !lookuptbl(moddep, symtbl) -; vmsrc/apple/sossysjit.pla: 1127: if refnum -; vmsrc/apple/sossysjit.pla: 1128: close(refnum) -; vmsrc/apple/sossysjit.pla: 1129: refnum = 0 -; vmsrc/apple/sossysjit.pla: 1130: fin - !BYTE $66,$26 ; LLW [38] - !BYTE $6A ; LAW _D082+0 -_F168 !WORD _D082+0 - !BYTE $54 ; CALL _A015 -_F169 !WORD _A015 - !BYTE $4E ; BRTRU _B042 - !WORD _B042-* - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F170 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] -_B044 -_B045 -; vmsrc/apple/sossysjit.pla: 1131: if loadmod(moddep) < 0 -; vmsrc/apple/sossysjit.pla: 1132: return -perr - !BYTE $66,$26 ; LLW [38] - !BYTE $54 ; CALL _C028 -_F171 !WORD _C028 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $68 ; LAB _D035+0 -_F172 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1133: fin -_B046 -_B047 -; vmsrc/apple/sossysjit.pla: 1134: fin -_B042 -_B043 -; vmsrc/apple/sossysjit.pla: 1135: moddep = moddep + dcitos(moddep, @str) -; vmsrc/apple/sossysjit.pla: 1136: loop - !BYTE $66,$26 ; LLW [38] - !BYTE $34 ; DUP - !BYTE $28,$31 ; LLA [49] - !BYTE $54 ; CALL _A012 -_F173 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $76,$26 ; SLW [38] -_B041 - !BYTE $66,$26 ; LLW [38] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B039 - !WORD _B039-* -_B040 -; vmsrc/apple/sossysjit.pla: 1137: // -; vmsrc/apple/sossysjit.pla: 1138: // Init def table. -; vmsrc/apple/sossysjit.pla: 1139: // -; vmsrc/apple/sossysjit.pla: 1140: deftbl = allocheap(defcnt * t_defentry + 1) -; vmsrc/apple/sossysjit.pla: 1141: deflast = deftbl -; vmsrc/apple/sossysjit.pla: 1142: ^deflast = 0 -; vmsrc/apple/sossysjit.pla: 1143: if !refnum -; vmsrc/apple/sossysjit.pla: 1144: // -; vmsrc/apple/sossysjit.pla: 1145: // Reset read pointer. -; vmsrc/apple/sossysjit.pla: 1146: // -; vmsrc/apple/sossysjit.pla: 1147: refnum = open(@filename) -; vmsrc/apple/sossysjit.pla: 1148: rdlen = read(refnum, @header, 128) -; vmsrc/apple/sossysjit.pla: 1149: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $06 ; CN 3 - !BYTE $9A ; SHL - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C019 -_F174 !WORD _C019 - !BYTE $6E,$20 ; DLW [32] - !BYTE $76,$22 ; SLW [34] - !BYTE $00 ; CN 0 - !BYTE $66,$22 ; LLW [34] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B048 - !WORD _B048-* - !BYTE $28,$41 ; LLA [65] - !BYTE $54 ; CALL _C001 -_F175 !WORD _C001 - !BYTE $6E,$02 ; DLW [2] - !BYTE $28,$62 ; LLA [98] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C003 -_F176 !WORD _C003 - !BYTE $76,$04 ; SLW [4] -_B048 -_B049 -; vmsrc/apple/sossysjit.pla: 1150: fin -_B037 -_B038 -; vmsrc/apple/sossysjit.pla: 1151: // -; vmsrc/apple/sossysjit.pla: 1152: // Alloc heap space for relocated module (data + bytecode). -; vmsrc/apple/sossysjit.pla: 1153: // -; vmsrc/apple/sossysjit.pla: 1154: moddep++ - !BYTE $66,$26 ; LLW [38] - !BYTE $8C ; INCR -; vmsrc/apple/sossysjit.pla: 1155: modfix = moddep - @header.2 // Adjust to skip header -; vmsrc/apple/sossysjit.pla: 1156: modsize = modsize - modfix -; vmsrc/apple/sossysjit.pla: 1157: rdlen = rdlen - modfix - 2 -; vmsrc/apple/sossysjit.pla: 1158: modaddr = allocheap(modsize) -; vmsrc/apple/sossysjit.pla: 1159: memcpy(modaddr, moddep, rdlen) -; vmsrc/apple/sossysjit.pla: 1160: // -; vmsrc/apple/sossysjit.pla: 1161: // Read in remainder of module into memory for fixups. -; vmsrc/apple/sossysjit.pla: 1162: // -; vmsrc/apple/sossysjit.pla: 1163: addr = modaddr -; vmsrc/apple/sossysjit.pla: 1164: repeat - !BYTE $6E,$26 ; DLW [38] - !BYTE $28,$64 ; LLA [100] - !BYTE $84 ; SUB - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$1A ; LLW [26] - !BYTE $84 ; SUB - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$1A ; LLW [26] - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C019 -_F177 !WORD _C019 - !BYTE $6E,$18 ; DLW [24] - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A003 -_F178 !WORD _A003 - !BYTE $66,$18 ; LLW [24] - !BYTE $76,$14 ; SLW [20] -_B051 -; vmsrc/apple/sossysjit.pla: 1165: addr = addr + rdlen -; vmsrc/apple/sossysjit.pla: 1166: rdlen = read(refnum, addr, 4096) -; vmsrc/apple/sossysjit.pla: 1167: until rdlen <= 0 - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$14 ; SLW [20] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$14 ; LLW [20] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $54 ; CALL _C003 -_F179 !WORD _C003 - !BYTE $76,$04 ; SLW [4] -_B052 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* -_B050 -; vmsrc/apple/sossysjit.pla: 1168: close(refnum) -; vmsrc/apple/sossysjit.pla: 1169: // -; vmsrc/apple/sossysjit.pla: 1170: // Add module to symbol table. -; vmsrc/apple/sossysjit.pla: 1171: // -; vmsrc/apple/sossysjit.pla: 1172: addsym(mod, modaddr) -; vmsrc/apple/sossysjit.pla: 1173: // -; vmsrc/apple/sossysjit.pla: 1174: // Apply all fixups and symbol import/export. -; vmsrc/apple/sossysjit.pla: 1175: // -; vmsrc/apple/sossysjit.pla: 1176: modfix = modaddr - modfix -; vmsrc/apple/sossysjit.pla: 1177: modofst = modfix - RELADDR -; vmsrc/apple/sossysjit.pla: 1178: modend = modaddr + modsize -; vmsrc/apple/sossysjit.pla: 1179: bytecode = defofst + modofst -; vmsrc/apple/sossysjit.pla: 1180: rld = modend // Re-Locatable Directory -; vmsrc/apple/sossysjit.pla: 1181: esd = rld // Extern+Entry Symbol Directory -; vmsrc/apple/sossysjit.pla: 1182: while ^esd // Scan to end of ESD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F180 !WORD _C002 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C023 -_F181 !WORD _C023 - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$1A ; LLW [26] - !BYTE $84 ; SUB - !BYTE $6E,$1A ; DLW [26] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $84 ; SUB - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$18 ; LLW [24] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $76,$1E ; SLW [30] - !BYTE $66,$0C ; LLW [12] - !BYTE $B2,$1C ; ADDLW [28] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$1E ; LLW [30] - !BYTE $6E,$28 ; DLW [40] - !BYTE $76,$2A ; SLW [42] - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -_B053 -; vmsrc/apple/sossysjit.pla: 1183: esd = esd + 4 -; vmsrc/apple/sossysjit.pla: 1184: loop - !BYTE $66,$2A ; LLW [42] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$2A ; SLW [42] -_B055 - !BYTE $66,$2A ; LLW [42] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B053 - !WORD _B053-* -_B054 -; vmsrc/apple/sossysjit.pla: 1185: esd++ - !BYTE $66,$2A ; LLW [42] - !BYTE $8C ; INCR -; vmsrc/apple/sossysjit.pla: 1186: if defcnt -; vmsrc/apple/sossysjit.pla: 1187: // -; vmsrc/apple/sossysjit.pla: 1188: // Locate bytecode defs in allocated segment. -; vmsrc/apple/sossysjit.pla: 1189: // -; vmsrc/apple/sossysjit.pla: 1190: modseg[modid], codeseg, drop = seg_find($00, (rld - bytecode + 255) >> 8, modid + $12) -; vmsrc/apple/sossysjit.pla: 1191: if perr -; vmsrc/apple/sossysjit.pla: 1192: return -perr - !BYTE $76,$2A ; SLW [42] - !BYTE $66,$0E ; LLW [14] - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $00 ; CN 0 - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $38,$FF ; ADDI 255 - !BYTE $10 ; CN 8 - !BYTE $9C ; SHR - !BYTE $68 ; LAB _D081+0 -_F182 !WORD _D081+0 - !BYTE $38,$12 ; ADDI 18 - !BYTE $54 ; CALL _C008 -_F183 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $76,$24 ; SLW [36] - !BYTE $26 ; LA _D080+0 -_F184 !WORD _D080+0 - !BYTE $B4 ; ADDAB _D081+0 -_F185 !WORD _D081+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D035+0 -_F186 !WORD _D035+0 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $68 ; LAB _D035+0 -_F187 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1193: fin -_B058 -_B059 -; vmsrc/apple/sossysjit.pla: 1194: modid++ - !BYTE $68 ; LAB _D081+0 -_F188 !WORD _D081+0 - !BYTE $8C ; INCR -; vmsrc/apple/sossysjit.pla: 1195: defext = codeseg.0 + $7F // (codeseg.0 | $80) - 1 -; vmsrc/apple/sossysjit.pla: 1196: defaddr = (codeseg & $FF00) + $6000 -; vmsrc/apple/sossysjit.pla: 1197: codefix = defaddr - bytecode -; vmsrc/apple/sossysjit.pla: 1198: defofst = defaddr - defofst -; vmsrc/apple/sossysjit.pla: 1199: fin - !BYTE $78 ; SAB _D081+0 -_F189 !WORD _D081+0 - !BYTE $64,$24 ; LLB [36] - !BYTE $38,$7F ; ADDI 127 - !BYTE $74,$2F ; SLB [47] - !BYTE $66,$24 ; LLW [36] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $82 ; ADD - !BYTE $6E,$16 ; DLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $84 ; SUB - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$0C ; LLW [12] - !BYTE $84 ; SUB - !BYTE $76,$0C ; SLW [12] -_B056 -_B057 -; vmsrc/apple/sossysjit.pla: 1200: // -; vmsrc/apple/sossysjit.pla: 1201: // Run through the DeFinition Dictionary. -; vmsrc/apple/sossysjit.pla: 1202: // -; vmsrc/apple/sossysjit.pla: 1203: deffirst = 1 -; vmsrc/apple/sossysjit.pla: 1204: while ^rld == $02 - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B062 - !WORD _B062-* -_B060 -; vmsrc/apple/sossysjit.pla: 1205: // -; vmsrc/apple/sossysjit.pla: 1206: // This is a bytcode def entry - add it to the def directory. -; vmsrc/apple/sossysjit.pla: 1207: // -; vmsrc/apple/sossysjit.pla: 1208: adddef(deffirst, defext, rld=>1 + defofst, @deflast) -; vmsrc/apple/sossysjit.pla: 1209: deffirst = skipjit // Calculate JIT potential or not -; vmsrc/apple/sossysjit.pla: 1210: rld = rld + 4 -; vmsrc/apple/sossysjit.pla: 1211: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$2F ; LLB [47] - !BYTE $66,$28 ; LLW [40] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _C027 -_F190 !WORD _C027 - !BYTE $30 ; DROP - !BYTE $64,$30 ; LLB [48] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$28 ; LLW [40] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$28 ; SLW [40] -_B062 - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B060 - !WORD _B060-* -_B061 -; vmsrc/apple/sossysjit.pla: 1212: // -; vmsrc/apple/sossysjit.pla: 1213: // Run through the Re-Location Dictionary. -; vmsrc/apple/sossysjit.pla: 1214: // -; vmsrc/apple/sossysjit.pla: 1215: while ^rld - !BYTE $50 ; BRNCH _B065 - !WORD _B065-* -_B063 -; vmsrc/apple/sossysjit.pla: 1216: rld, addr, fixup = reloc(modfix, modofst, bytecode, rld) -; vmsrc/apple/sossysjit.pla: 1217: if ^rld -; vmsrc/apple/sossysjit.pla: 1218: *addr = ^rld & $10 ?? *addr + lookupextern(esd, rld->3) :: lookupdef(fixup + codefix, deftbl) -; vmsrc/apple/sossysjit.pla: 1219: rld = rld + 4 -; vmsrc/apple/sossysjit.pla: 1220: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $66,$1C ; LLW [28] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$28 ; LLW [40] - !BYTE $54 ; CALL _A018 -_F191 !WORD _A018 - !BYTE $76,$12 ; SLW [18] - !BYTE $76,$14 ; SLW [20] - !BYTE $6E,$28 ; DLW [40] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B066 - !WORD _B066-* - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $66,$14 ; LLW [20] - !BYTE $62 ; LW - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$28 ; LLW [40] - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C026 -_F192 !WORD _C026 - !BYTE $82 ; ADD - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B068 - !BYTE $66,$12 ; LLW [18] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A017 -_F193 !WORD _A017 -_B069 - !BYTE $66,$14 ; LLW [20] - !BYTE $72 ; SW - !BYTE $66,$28 ; LLW [40] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$28 ; SLW [40] -_B066 -_B067 -; vmsrc/apple/sossysjit.pla: 1221: loop -_B065 - !BYTE $66,$28 ; LLW [40] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B063 - !WORD _B063-* -_B064 -; vmsrc/apple/sossysjit.pla: 1222: // -; vmsrc/apple/sossysjit.pla: 1223: // Run through the External/Entry Symbol Directory. -; vmsrc/apple/sossysjit.pla: 1224: // -; vmsrc/apple/sossysjit.pla: 1225: while ^esd - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B070 -; vmsrc/apple/sossysjit.pla: 1226: sym = esd -; vmsrc/apple/sossysjit.pla: 1227: esd = esd + dcitos(esd, @str) -; vmsrc/apple/sossysjit.pla: 1228: if ^esd & $08 -; vmsrc/apple/sossysjit.pla: 1229: // -; vmsrc/apple/sossysjit.pla: 1230: // EXPORT symbol - add it to the global symbol table. -; vmsrc/apple/sossysjit.pla: 1231: // -; vmsrc/apple/sossysjit.pla: 1232: addr = esd=>1 + modofst -; vmsrc/apple/sossysjit.pla: 1233: if uword_isge(addr, bytecode) -; vmsrc/apple/sossysjit.pla: 1234: // -; vmsrc/apple/sossysjit.pla: 1235: // Use the def directory address for bytecode. -; vmsrc/apple/sossysjit.pla: 1236: // -; vmsrc/apple/sossysjit.pla: 1237: addr = lookupdef(addr + codefix, deftbl) -; vmsrc/apple/sossysjit.pla: 1238: fin - !BYTE $66,$2A ; LLW [42] - !BYTE $76,$2C ; SLW [44] - !BYTE $66,$2A ; LLW [42] - !BYTE $34 ; DUP - !BYTE $28,$31 ; LLA [49] - !BYTE $54 ; CALL _A012 -_F194 !WORD _A012 - !BYTE $82 ; ADD - !BYTE $6E,$2A ; DLW [42] - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B073 - !WORD _B073-* - !BYTE $66,$2A ; LLW [42] - !BYTE $8C ; INCR - !BYTE $62 ; LW - !BYTE $B2,$1C ; ADDLW [28] - !BYTE $6E,$14 ; DLW [20] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A006 -_F195 !WORD _A006 - !BYTE $4C ; BRFLS _B075 - !WORD _B075-* - !BYTE $66,$14 ; LLW [20] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _A017 -_F196 !WORD _A017 - !BYTE $76,$14 ; SLW [20] -_B075 -_B076 -; vmsrc/apple/sossysjit.pla: 1239: addsym(sym, addr) -; vmsrc/apple/sossysjit.pla: 1240: fin - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C023 -_F197 !WORD _C023 -_B073 -_B074 -; vmsrc/apple/sossysjit.pla: 1241: esd = esd + 3 -; vmsrc/apple/sossysjit.pla: 1242: loop - !BYTE $66,$2A ; LLW [42] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$2A ; SLW [42] -_B072 - !BYTE $66,$2A ; LLW [42] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B070 - !WORD _B070-* -_B071 -; vmsrc/apple/sossysjit.pla: 1243: if defext -; vmsrc/apple/sossysjit.pla: 1244: // -; vmsrc/apple/sossysjit.pla: 1245: // Copy bytecode to code segment. -; vmsrc/apple/sossysjit.pla: 1246: // -; vmsrc/apple/sossysjit.pla: 1247: memxcpy(codeseg, bytecode, modsize - (bytecode - modaddr)) -; vmsrc/apple/sossysjit.pla: 1248: fin - !BYTE $64,$2F ; LLB [47] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$18 ; LLW [24] - !BYTE $84 ; SUB - !BYTE $84 ; SUB - !BYTE $54 ; CALL _A004 -_F198 !WORD _A004 -_B077 -_B078 -; vmsrc/apple/sossysjit.pla: 1249: else - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 -; vmsrc/apple/sossysjit.pla: 1250: lerr = $46 -; vmsrc/apple/sossysjit.pla: 1251: fin - !BYTE $2A,$46 ; CB 70 - !BYTE $74,$2E ; SLB [46] -_B032 -; vmsrc/apple/sossysjit.pla: 1252: if lerr -; vmsrc/apple/sossysjit.pla: 1253: return -lerr - !BYTE $64,$2E ; LLB [46] - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* - !BYTE $64,$2E ; LLB [46] - !BYTE $90 ; NEG - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1254: fin -_B079 -_B080 -; vmsrc/apple/sossysjit.pla: 1255: // -; vmsrc/apple/sossysjit.pla: 1256: // Free up end-of-module main memory. -; vmsrc/apple/sossysjit.pla: 1257: // -; vmsrc/apple/sossysjit.pla: 1258: releaseheap(bytecode) -; vmsrc/apple/sossysjit.pla: 1259: // -; vmsrc/apple/sossysjit.pla: 1260: // Call init routine if it exists. -; vmsrc/apple/sossysjit.pla: 1261: // -; vmsrc/apple/sossysjit.pla: 1262: initcode = modkeep -; vmsrc/apple/sossysjit.pla: 1263: if init -; vmsrc/apple/sossysjit.pla: 1264: initcode = adddef(deffirst, defext, init + defofst, @deflast)() -; vmsrc/apple/sossysjit.pla: 1265: if initcode < 0 -; vmsrc/apple/sossysjit.pla: 1266: perr = -initcode -; vmsrc/apple/sossysjit.pla: 1267: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C022 -_F199 !WORD _C022 - !BYTE $30 ; DROP - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $76,$12 ; SLW [18] - !BYTE $66,$10 ; LLW [16] - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$2F ; LLB [47] - !BYTE $66,$10 ; LLW [16] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $28,$22 ; LLA [34] - !BYTE $54 ; CALL _C027 -_F200 !WORD _C027 - !BYTE $56 ; ICAL - !BYTE $6E,$12 ; DLW [18] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $66,$12 ; LLW [18] - !BYTE $90 ; NEG - !BYTE $78 ; SAB _D035+0 -_F201 !WORD _D035+0 -_B083 -_B084 -; vmsrc/apple/sossysjit.pla: 1268: fin -_B081 -_B082 -; vmsrc/apple/sossysjit.pla: 1269: return initcode - !BYTE $66,$12 ; LLW [18] - !BYTE $5A,$E2 ; LEAVE 226 -; vmsrc/apple/sossysjit.pla: 1270: end -; vmsrc/apple/sossysjit.pla: 1271: def execmod(modfile)#1 - ; modfile -> [0] -_P026 ; execmod(modfile)#1() -_C029 ; execmod() - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1272: byte moddci[63] - ; moddci -> [2] -; vmsrc/apple/sossysjit.pla: 1273: word keep, saveheap, savesym, saveflags, savemodid - ; keep -> [65] - ; saveheap -> [67] - ; savesym -> [69] - ; saveflags -> [71] - ; savemodid -> [73] -; vmsrc/apple/sossysjit.pla: 1274: -; vmsrc/apple/sossysjit.pla: 1275: perr = 1 - !BYTE $58,$4B,$01 ; ENTER 75,1 -; vmsrc/apple/sossysjit.pla: 1276: if stodci(modfile, @moddci) -; vmsrc/apple/sossysjit.pla: 1277: saveheap = heap -; vmsrc/apple/sossysjit.pla: 1278: savesym = lastsym -; vmsrc/apple/sossysjit.pla: 1279: saveflags = systemflags -; vmsrc/apple/sossysjit.pla: 1280: savemodid = modid -; vmsrc/apple/sossysjit.pla: 1281: keep = loadmod(@moddci) -; vmsrc/apple/sossysjit.pla: 1282: if keep < modkeep -; vmsrc/apple/sossysjit.pla: 1283: if not (keep & modflagkeep) -; vmsrc/apple/sossysjit.pla: 1284: systemflags = saveflags -; vmsrc/apple/sossysjit.pla: 1285: fin - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D035+0 -_F202 !WORD _D035+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _A013 -_F203 !WORD _A013 - !BYTE $4C ; BRFLS _B085 - !WORD _B085-* - !BYTE $6A ; LAW _D078+0 -_F204 !WORD _D078+0 - !BYTE $76,$43 ; SLW [67] - !BYTE $6A ; LAW _D083+0 -_F205 !WORD _D083+0 - !BYTE $76,$45 ; SLW [69] - !BYTE $6A ; LAW _D040+0 -_F206 !WORD _D040+0 - !BYTE $76,$47 ; SLW [71] - !BYTE $68 ; LAB _D081+0 -_F207 !WORD _D081+0 - !BYTE $76,$49 ; SLW [73] - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _C028 -_F208 !WORD _C028 - !BYTE $6E,$41 ; DLW [65] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $66,$41 ; LLW [65] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B089 - !WORD _B089-* - !BYTE $66,$47 ; LLW [71] - !BYTE $7A ; SAW _D040+0 -_F209 !WORD _D040+0 -_B089 -_B090 -; vmsrc/apple/sossysjit.pla: 1286: while modid > savemodid - !BYTE $50 ; BRNCH _B093 - !WORD _B093-* -_B091 -; vmsrc/apple/sossysjit.pla: 1287: modid-- - !BYTE $68 ; LAB _D081+0 -_F210 !WORD _D081+0 - !BYTE $8E ; DECR -; vmsrc/apple/sossysjit.pla: 1288: seg_release(modseg[modid]) -; vmsrc/apple/sossysjit.pla: 1289: loop - !BYTE $78 ; SAB _D081+0 -_F211 !WORD _D081+0 - !BYTE $26 ; LA _D080+0 -_F212 !WORD _D080+0 - !BYTE $B4 ; ADDAB _D081+0 -_F213 !WORD _D081+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C009 -_F214 !WORD _C009 - !BYTE $30 ; DROP -_B093 - !BYTE $68 ; LAB _D081+0 -_F215 !WORD _D081+0 - !BYTE $66,$49 ; LLW [73] - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B091 - !WORD _B091-* -_B092 -; vmsrc/apple/sossysjit.pla: 1290: heap = saveheap -; vmsrc/apple/sossysjit.pla: 1291: lastsym = savesym -; vmsrc/apple/sossysjit.pla: 1292: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossysjit.pla: 1293: fin - !BYTE $66,$43 ; LLW [67] - !BYTE $7A ; SAW _D078+0 -_F216 !WORD _D078+0 - !BYTE $66,$45 ; LLW [69] - !BYTE $7A ; SAW _D083+0 -_F217 !WORD _D083+0 - !BYTE $68 ; LAB _D082+0 -_F218 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F219 !WORD _D083+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F220 !WORD _A005 -_B087 -_B088 -; vmsrc/apple/sossysjit.pla: 1294: fin -_B085 -_B086 -; vmsrc/apple/sossysjit.pla: 1295: return -perr - !BYTE $68 ; LAB _D035+0 -_F221 !WORD _D035+0 - !BYTE $90 ; NEG - !BYTE $5A,$4B ; LEAVE 75 -; vmsrc/apple/sossysjit.pla: 1296: end -; vmsrc/apple/sossysjit.pla: 1297: // -; vmsrc/apple/sossysjit.pla: 1298: // Init 2K symbol table. -; vmsrc/apple/sossysjit.pla: 1299: // -; vmsrc/apple/sossysjit.pla: 1300: drop, symtbl, drop = seg_find($00, $08, $11) -_INIT - JSR INTERP -; vmsrc/apple/sossysjit.pla: 1301: lastsym = symtbl & $FF00 -; vmsrc/apple/sossysjit.pla: 1302: xpokeb(symtbl.0, lastsym, 0) -; vmsrc/apple/sossysjit.pla: 1303: while *sysmodsym - !BYTE $00 ; CN 0 - !BYTE $10 ; CN 8 - !BYTE $2A,$11 ; CB 17 - !BYTE $54 ; CALL _C008 -_F222 !WORD _C008 - !BYTE $30 ; DROP - !BYTE $7A ; SAW _D082+0 -_F223 !WORD _D082+0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D082+0 -_F224 !WORD _D082+0 - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $7A ; SAW _D083+0 -_F225 !WORD _D083+0 - !BYTE $68 ; LAB _D082+0 -_F226 !WORD _D082+0 - !BYTE $6A ; LAW _D083+0 -_F227 !WORD _D083+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _A005 -_F228 !WORD _A005 - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B094 -; vmsrc/apple/sossysjit.pla: 1304: stodci(sysmodsym=>0, heap) -; vmsrc/apple/sossysjit.pla: 1305: addsym(heap, sysmodsym=>2) -; vmsrc/apple/sossysjit.pla: 1306: sysmodsym = sysmodsym + 4 -; vmsrc/apple/sossysjit.pla: 1307: loop - !BYTE $6A ; LAW _D077+0 -_F229 !WORD _D077+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D078+0 -_F230 !WORD _D078+0 - !BYTE $54 ; CALL _A013 -_F231 !WORD _A013 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D078+0 -_F232 !WORD _D078+0 - !BYTE $6A ; LAW _D077+0 -_F233 !WORD _D077+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C023 -_F234 !WORD _C023 - !BYTE $6A ; LAW _D077+0 -_F235 !WORD _D077+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $7A ; SAW _D077+0 -_F236 !WORD _D077+0 -_B096 - !BYTE $6A ; LAW _D077+0 -_F237 !WORD _D077+0 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B094 - !WORD _B094-* -_B095 -; vmsrc/apple/sossysjit.pla: 1308: // -; vmsrc/apple/sossysjit.pla: 1309: // Clear system path and command line -; vmsrc/apple/sossysjit.pla: 1310: // -; vmsrc/apple/sossysjit.pla: 1311: sysmods = 0 -; vmsrc/apple/sossysjit.pla: 1312: syspath = @sysmods -; vmsrc/apple/sossysjit.pla: 1313: cmdlnptr = @cmdln -; vmsrc/apple/sossysjit.pla: 1314: // -; vmsrc/apple/sossysjit.pla: 1315: // Print PLASMA version -; vmsrc/apple/sossysjit.pla: 1316: // -; vmsrc/apple/sossysjit.pla: 1317: init_cons -; vmsrc/apple/sossysjit.pla: 1318: prstr("PLEIADES JITC VM v2.20\n") - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D076+0 -_F238 !WORD _D076+0 - !BYTE $26 ; LA _D076+0 -_F239 !WORD _D076+0 - !BYTE $7A ; SAW _D033+0 -_F240 !WORD _D033+0 - !BYTE $26 ; LA _D045+0 -_F241 !WORD _D045+0 - !BYTE $7A ; SAW _D034+0 -_F242 !WORD _D034+0 - !BYTE $54 ; CALL _C007 -_F243 !WORD _C007 - !BYTE $2E ; CS - !BYTE $17 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$4A,$49,$54,$43,$20,$56,$4D - !BYTE $20,$76,$32,$2E,$32,$30,$0D - !BYTE $54 ; CALL _C013 -_F244 !WORD _C013 -; vmsrc/apple/sossysjit.pla: 1319: prstr("MEM:$"); prword(availheap); crout - !BYTE $2E ; CS - !BYTE $05 - !BYTE $4D,$45,$4D,$3A,$24 - !BYTE $54 ; CALL _C013 -_F245 !WORD _C013 -; vmsrc/apple/sossysjit.pla: 1320: // -; vmsrc/apple/sossysjit.pla: 1321: // Exec command line parser -; vmsrc/apple/sossysjit.pla: 1322: // -; vmsrc/apple/sossysjit.pla: 1323: loadmod(@soscmd) -; vmsrc/apple/sossysjit.pla: 1324: modid = 0 -; vmsrc/apple/sossysjit.pla: 1325: autorun = open("AUTORUN") - !BYTE $54 ; CALL _C018 -_F246 !WORD _C018 - !BYTE $54 ; CALL _C017 -_F247 !WORD _C017 - !BYTE $54 ; CALL _C011 -_F248 !WORD _C011 - !BYTE $26 ; LA _D046+0 -_F249 !WORD _D046+0 - !BYTE $54 ; CALL _C028 -_F250 !WORD _C028 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D081+0 -_F251 !WORD _D081+0 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $41,$55,$54,$4F,$52,$55,$4E - !BYTE $54 ; CALL _C001 -_F252 !WORD _C001 - !BYTE $78 ; SAB _D079+0 -_F253 !WORD _D079+0 -; vmsrc/apple/sossysjit.pla: 1326: if autorun > 0 -; vmsrc/apple/sossysjit.pla: 1327: cmdln = read(autorun, @cmdln.1, 64) -; vmsrc/apple/sossysjit.pla: 1328: close(autorun) -; vmsrc/apple/sossysjit.pla: 1329: fin - !BYTE $68 ; LAB _D079+0 -_F254 !WORD _D079+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $68 ; LAB _D079+0 -_F255 !WORD _D079+0 - !BYTE $26 ; LA _D045+1 -_F256 !WORD _D045+1 - !BYTE $2A,$40 ; CB 64 - !BYTE $54 ; CALL _C003 -_F257 !WORD _C003 - !BYTE $78 ; SAB _D045+0 -_F258 !WORD _D045+0 - !BYTE $68 ; LAB _D079+0 -_F259 !WORD _D079+0 - !BYTE $54 ; CALL _C002 -_F260 !WORD _C002 - !BYTE $30 ; DROP -_B097 -_B098 -; vmsrc/apple/sossysjit.pla: 1330: // -; vmsrc/apple/sossysjit.pla: 1331: // Call cmd line parser -; vmsrc/apple/sossysjit.pla: 1332: // -; vmsrc/apple/sossysjit.pla: 1333: repeat -_B100 -; vmsrc/apple/sossysjit.pla: 1334: execmod((*cmdparser)()) -; vmsrc/apple/sossysjit.pla: 1335: write(refcons, @textmode, 3) -; vmsrc/apple/sossysjit.pla: 1336: cmdln = 0 -; vmsrc/apple/sossysjit.pla: 1337: until 0 - !BYTE $6A,$F0,$A0 ; LAW 41200 - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _C029 -_F261 !WORD _C029 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D038+0 -_F262 !WORD _D038+0 - !BYTE $26 ; LA _D044+0 -_F263 !WORD _D044+0 - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C004 -_F264 !WORD _C004 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D045+0 -_F265 !WORD _D045+0 -_B101 - !BYTE $50 ; BRNCH _B100 - !WORD _B100-* -_B099 -; vmsrc/apple/sossysjit.pla: 1338: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 diff --git a/src/vmsrc/lib6502/lib6502.a b/src/vmsrc/lib6502/lib6502.a deleted file mode 100644 index 659fd66ff7ce2ca4f6294c8a9e05facf646e6141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90968 zcmdSC30z#&`9FN`ondBRAPYML0%QfUkuV96mF#3EkeJ07l0XcEtUwaTN_5oGpdkho zQ#4pXl~!7*r73N(rFB$PtfNj+miPOdd+*%KKuG-k-~aozlg~NN zbDr~@=bZDL?KulKQFC|ZWoFO!8asX3jJQbUH$7oiQheNu>88ZU$eD4|5g|rTkBggS zGDSvCPnsn$@9@gVn3}$2&61_dBGcEUZCJX5!!MaU{0uzD4U=G$1gA(aQG$ylxK@Jq zN-!HRW6i9YaWgWqcJJF=u-g^N$={iuzkC0#eG2Kw{zGzfPTpY|J+S+j3*Db1qj|gY zcNe$VHpeCE@C8402(=(=RPDv z%N2_;qMwnGdGJ8KA}}MPzdTtE6M`fSnNlUyLR9!bc}o^(|qPmwak~$6jsBZW*?iZo#OJq3+{blXmb!1P*zJrzy`4N3>t5dp&0?Yxo+A9s??tHc2bH%oD=Uw9+~vLSM=@n0 zO;Y%+_^SxB=keVCi2ZL+c?Wjx-<=OucX@3ei0QlhMQHxS)fGj8Tad=b{zE%63o?!z zIF@rDDxb@y6xug`{c+Qj8CK<*hU-1e_PEyB3BhE{XgN&i#Ru+x&UCEE0;pM|6z14R) zEhcAgp{Ea5RIkZ+kI6>fw@v^5Qobt(%NONdSrq0f+hcA#eGdx1?LMfza%+#r6=#O- z%2%88R~+jMS9(r(Ug=pZT=3kNd?j~5@&$t-`KDLT!V4e2#9gs#G*^uLq6>!L6zG?8_ zM())_pX<~Zu5RX+Bt>Yr!}g%dp;w0&r|lKIyo{O<-@Uw7Y`TXbcJ@|bW@iw0)4&y{ z#m-B9a&PY5MD&x=T*xed%&#?`S8qYihdOR#u@Lc|GlF}~;l+)#oHnH2L|!p^Zv9?O z(zz70Wweo7pQDL6X9Aw13!9ORGEn>5jVRO2ovk^yp zfQ8jO=YPAp<)Vz8sKaCEulqEU&z(bAKY}i(&c~g7rqinYNalG#$)Cdi^i;xBo_xdY z^ZFS1>_tAgnn~vhRr$>Rvd@%-e5f8&UIU+K|i(;m|)GDsI6&QE?aCpRaN{}dTTX%ubsO1H4$_smPllKS}B3J}S!@tp3*I{`zP2 z@8~ntLq_)47>u3dBm>5Nbd(|1z|S-qkbjQ{=YNyNh$i?d7u?1ohgWaK+-qyP`y8u`fxm-m>{;bJ<&6q^Zh8I*w-tZi;v*B!zr&k8v3NU&%-K`eAOl9?YA{!7J&3jnAQU z(Kv^%`LyLe=y((EWUI#6YJnjD|ZZ zrFZ&FL6RAkCMfxYuZ&Q;*G?NPAvt3rgocZ?C$`zLg!X z=veMs)L)iaY&hlxPdZ{|D?}!)J=}kmj+oUq`nkAb>O@o`dXhU6SCB{)5oxR(qTK@ znjp;l7&gHLrSH16)6D*BlB?aZc2DZx&uHx3qtYv@w>;mt@qP&V#kI~)3Q2fjcz>M@ zSyxGBHtMQgpQ*1NME>vTxb?2NdzUzO|8+E%_YrJFKM$|i8y|6|80bT4|2x-L(rwD* zf$cQ=`+X*Fsh#3^!yVU{(8oCwHZ$leVZO&->NDxx+J$V|d(bX_75dw>Zwrb|d+AD_ zX_Tw{gRf_HtY<-<+{jzkI8(=MbsOBjZPEW-w#)c|>(!0#_L+VQS+^TEA7ky7<7hnb zBu{RuvHjah-Tv`oLlUASxzuN9o)~ltO0pU!^p_R?4dwxhTiWSLf4y@*kn%UU$)J8W zS(0-%<Kl|H#Vsw3-O;M_u6A?dlkM~Paj?z3Ie#l` zngErpbXBsIuBvRM*=2pEHE7@4?Niiyha;-J!`6#^rj1hHmHWf(*5PRARJK>;HG$X}>vM?o00Vljfz1sGrj)&Pn<24^Qyz>kE?S6t7HiPKk(6=9KF_{LI_c?d( z8El^?>B}11zZ_{OgLWe+^{o=TP~&>5%Hb5P8eC z8um_im`e+tcIbo7Bc9JfiS|H^^dnt9lmh(xU5t6V0{Bj$ybG@A* zz6P8{Tn<;(q2s?As-3)9e`&bY7esS}T2HdQO=BT|_Ch#Q!~N_9f1Ih+j+X5>?Deo0 zdqFzKkk{D|%o9(bY=g<8IaFD*aXzQA2`$t6*OhD#3-o_It}bEi&Rj0J^=aoJy zWY#aie>;0eZOg9R;QSHgQ};b~zIR)lV11f>m-93D+~?t~=>48tI2v+4%;Xqq>iQ z7L<|nd8f3EXk+)ZzeCz2I9q=*Exc2#u_H7!ikN4(7 z;xBp_V=ryxOy|I_UZ1HS$m6BoIj1zPQ{3#-b!a>FdOY+Q4d!jwRd>_xv%%-y@6|RK zmAT)%bKA9Ir?YX8{m>$13?))|{9%tg1$*Y^i;J!pijFufNJI5HD~%a>tqXSDD;;r0 zgNNeP_i6Heb;$7~wV@U1)oG~>k9+r-dR2DgQ1c11E9CL*w$~?Fpi*rSm5Dv-xP~#_g`nl_q5s$L0Wa8ueY9eI+;Gu8r#82YbhWd&gkanUI%WJTLJ& zquife()5`crTVkJDD^wL`#GU%kN6{;69(PZ&K%?{Q z;C+dDZZC#Bs;fL7DsgUi;!y+FG}^Q1rM^TmsDIqi9-GPCes1Ju#me@WWhQs+NN!@{ z_n~81Hpa@}=Z5n95U$LpuJ!-JUen*DzBlB2C5;!0k2v<_xiANPLeBq=Yo9#kLi?{< zzsB1I)%xKYZx-;;c&zT-Z zpCB9Jta+l~df51RY>*|DUfEBfNJ z9KqAeD=XA@1@9T_1)Y(8=x#6`cZ1j8=`{sQbF4hq%X83Rw%&^^&g`zWHWm=*k$ipLbw`sJ_LIePaBiAz~QUc?*`brE111&guSc0e<3+!?^XtJ8*-2?duMWzWnM@E)zxe6!1r#kuzTqZ7`?Tl zH+S^*ZWe4~vW4fPE!}JgWt-`?ZGp$wbJevGzsB{8^)=`Sxz~ zE8jyke%^Pj8ha1b9OAN7te^H>qjDGJ7AAJXUiebucXj58hY&>LyM6hx5Hf(9*&Jc_V@7UQvcODa+U-kvjdp_9~qdtBU<&kwny1QFD*vj>vziE#{XHn7|5qkyinrIBrc{7ax`EH!` z|5tlWo6)9ZE8F)hxdB<+E2hn@G{ucw5=U!8p-^f$QMc}Fm=eAk= zOT2NVx1l)gagT#upP_DNc;WE5>5qr5()PEj>KIsjf zA!-BGFV9$N+t6N)-MPy1v%3Ai)P!91Lc1T4^1D^pYx*|wbLEfl^9Uc2#)Uj4$d0Bl zA)o)ymg3aW+cr@i+8QvKQnw zIVQD94s`Mn%Gf834YX0bdz)N(w%2r-wJU8di9y4RG(=%UQK)xqqidQJB*`Tff>*xYmDVy`I)yz03;8ag`yoeedYlg`}F z5U3x^a|`K=+Et!UV*2S!oKtR{?={6C?<44^)W)*T2I~)(p6E3V|6l0hMoF*9kLf}j z8(R_X!MkQz$2ZRPnrt%J~$y{3nxa#hd zoJ%%&4CeV5HqS@0c|HbXHh$)#p~sK+nhvPaToJfcS21S{mF7lauW2XJ9Ce%X2GjNN zV;Hx0$s2mK*R)DimN!wBx9(7u;{{m%k*3hCEQ9s!(EMIgyd+;998UdMkkEX+3-Yk4l#@h7m3AC%VdCamEfpFJ0P0PFY}tl4h^pNjST zK<mRJ&W?+jV*C~Td%2DrJuVQE1~!Hn(~q6ZpQ8PExo2}H(kD)^53J& z>*>9wWh(vLt(|deeXnWmUFzskYOg5*y#4kuc*8(@9D8doJ9E2}4WQo3gs$y18D*WT z&a2~v;Di+HDU7_)n9D~R4QFS;MH)+V#c3;fZ?7}bxy*jdF$co+>5ZpSR;Gl&#>GC< z5Vgwqq4c+1|EYVFt;>2%f53aMZ@Ndhw4~ScTcjIQ|1JLu{V(b@y`(C~-HfT@$*}*W zH1e8qaoT^+I5|GM*L3n5*7-&v)_+x+yRjK&C-j;&sM6f+csxE6`v_UTl0ABH+<%dN zr}dh~$>o>E^u^KtMdgp_H92q>r?w+52LBh8e=N=oSosSR>3!K(*w5XKt$01E*JMSy z|3CJSH^Q;+M&5U`P9G2JHJz5)ht`_AnX_($_L>f}G~^TfILKXr`W`nt!I z#mX)2QSU}~Tfgcttx=_c?(cX8aoy2lO1_Q04UOMi-?RVKW10+k@)_Fo&wEVKtW0;` z2SU4gOruowz?tfu&tE?6F%47Yd+U=PlNZ9S^JRo}->@7vKJGEygw5|ZE?Hl+zxT~` zv-QIs(?1~ZZq}n)AM}`RfS2yqcHr)y-}@)*i3)N4O!qc)4@Kwl^vw-Am-oWAHpFxJ z&FozMQW`gt_C_>T2RoOiu{`dxz99LGb9P6MsSf$ddb|Gj9#bvC@?G9w=e}cH_ZJwW zm^b8mb@{A(mwcxr-Cs-^^!_4DydN5cH-hawrdN2VZ z9d5Pun0A5JWf!3x|Gzq05B+_QX^X61)!Fn#|Nn6PzSCpE_aVOd{`S{BrVyknbh}F! z>}+#(Q;!LsadMquUw^yDTy zb2r&(r){ z(_>nXJU@If`AXu=Gf4(~E2;6vJ=fSesK*^>&zU58*PS$+TTkEb2^h;6>8<#c`JAs| z4Zb5Y$a`^|1t!s2Bfl9>!uuH$-p{;`H1uYi-nKaaY0aSbGwpaUPH$i=q2ilyi!kub zcnIFk;QNaHU!&ZzO^VNsu`sQTA8GurUXK`h{o9T9x1%lw_9mUfn{*Cu(mA|I=aT46 zqbJH4gmV53a@BmTs<07ngIZK!y!lG{6nE=t{=wviL2i>O9X`+2FMluO{R>sR7vit0 z!ZQDNK@;E9_fPMS^uN7}a)h89SKZ`>Ko74Ek=6*=*Ac%G=~htwaLeKFHAerXaQHBu z|6;gBa0}s*;TFKnhnojC7j6#RY`7%2M7RXFS#UGqOmOjV_y(Q-bhz8;@*}hn>50D2 z#&N~I@chTaje{EtHwG>WE)p&RZZuptTo~LaIDFC0KLifnuk#Or3xo@R!zTg#{os7z z@SemU-@Eh2J(NE_J?QTPhq=Tb-!1dU8wY>9d&FLo^QXRuPbd1*n_cRM8aM$C-_P^^ z0%I3ErPR+javWEt4rh;zKWF$nBhjwmU~+P$DDws4L7mb_mtD~HXK>W7K7s3m`xx#c zxDVm%a38?^lknU0=K$zw8f3Z02co}EaHHdUOG%_NnKuA^kMt#n<-YeJ#s4tNY<#>Efwcj{Uw{ax&(Q{%2zH66)@7pcMckY(qdv{B(bRS%D z1>e8BK;P&aY%GKzk73YFwlvPEe+RgY^I-HL(qkkb>9J44|Msg*Jn|Co4L!}3o?mbm z4EW}t|H7zq79lz53ypA9e)IYmK8ZM~D7$c_r}11eAAxU+iGQ!DZqIg{vrwCgbyy6! zi%^G!SC9`Yx18p6*eWvq4E8KCzEp)%yUX-c75%gdKcK<`RQR7%XRF&(I=_!)hhn?RQTsA{70&K9Z|`AOU3i53g4&V zc|%2iK_w?s#Y1nrn_(T;xPK6h#(jHaee^k{yU4`RYrLJ~-O~pT4C3Ay{zEg!) zs&HE4WSw)WwD~HYTX?rA^DI!&zoo)ISMi)s(bf6dRXl^uH9LMDdCuaMob;$JImtee zyCSbG>VBQ2k{zbPx2tdu6`rTU532BQlK&i4x(8JHQkN@K#Y5}5tgkc`-KwhpAr;RG z70(AMdWQ=CT!oKS@y}M_zf$phrNYOlc<>owSJ`f<@Msl}Lq#8>qBpDPKULwhUzO{N zwbq3iPOT75yU>PIjd%zgLBCQ0dd6qOVoaUsTc6Wmu}>xouydeyFl> z)bqNUF0YlW|GK4VQ{|6ORJ-c&Llyp}3csz~LB@r8UVL69<9-!RHm$5XvT0@fNflnG z!u#-UQ|3|Y?xKokp9;@W;bd3IY00jZ@e3-vK!u-E;YlidxeEW2syw?@^i?YScPgHD zRJgkCq*u8-)Lvg|c>FDdf!R1>yVWOI@!c~6{uWH#2I{)1=|i=7hN^68J=`|^AZ<&w zzg*shD*U!G-1?n*UcYUcLGmS=ZwIqmZ*TL_oSfgtuf+lKL7ZoPbTRQKRPegQ;rMI zdz{|wvp5gLh2^b8SWGu6?-QJJiE&!Qh338GCB|W`J^UtQJo>_;mp+`Najl2#Qorpv zu^jfexQ}pV)WJUQZ~v3cPyL*}Lqc{uuf=zzp`UgwSA+Zgt55S>O%Ui`a@;kFkK!s> zJpGO9*FwaMXF|ExU~+-+H*qbW6q2QEA5APKUdKL$$G5<_3nYua`EBP$;7ybv z!OC+9H2!){EX2O#=T`9h@9+}$so6M#G4u_ewL_@T?=@|U>1 zp#OyHAOBzn@P8*1&o4zeacu|1}5uiaW&L;xKOT^X2yfZszUWa2D3^0X$9&@M|FtzpNM$ zR;&?W!D!cHl@Rg%{l zCDL0YK8uvzd#p%r!(j{k@U2GnvqXVCe@=rDzA1eW8>na zaDgPhL4r;x{ah)2uB6{`9JtZ1P^zB^hjR3bHi)p?OM+5-Ck;6KHjEeHT&X@KQvAs= zBE4mV2+b1xkd*&PDQuSHw@CV`lj!U}yFgOAq~``HACr_m8{>?A8>D_zDz$%y6rUpT zXX!=0a(@w8CHVysU#Fx$yt@#8lKwg+y&RJ04oQE-Qu=xcnxe#HBc%MQC3>7xe|v}+ zZN&lUao-3qye8+|T@b}E@ zS0>4ox{DqNXe2pA0=_gehzXbte{0K>YvlQRxEz+&hJZO;Oos!<@@Sc8+lH6b^ z-X!ryOa1$#G)_{a_~1yEj7ydD-YCIDDLz%o*CyrDCACMf6z?syr%94)lj7r~_+(j* zkC;z~q`yLmK37VQ?^m;5oYW2*r1;Ge)JpBrC6%vPs%ME5wo2*tN&F3Ryj1=rl3o*~ z{QYIQa=T0V*(|kJtCW75q}LW7v3&Ud7T9lzl)ghsUoMruRpMVQ#d}Nekkk%!QaQpT zdV^FiZ<#L1kCfskORz-ZE0yMfHmQ7GM-F7|z90XYQdVRR{$I4bBbfy`2MzwYvP zXL4D)cXD|JIo$4pdE7oQAIjcIa3{AH|6AU!qnVJO17Z=F^0}Q^nOuIsaYz6ogaAs_ zqTc5i_aDqF z^5R~c!Eqk=BkcQ>A0jz! z3f4xlE0(~e!<~k^0{04BJzOK)AK*TL`x4GLk>jG^65tlVZG+2$I}i6AxR>F60ry9^ z&)~eH!3(zxZV#LV?h4#1a6gCpJDfHKd~o4#Q{nD~+XwdmTm{_AaM$2|3imGD2XH-b z9h+_P{mz+HiR1@1MtH{jlc`z_ob z;ogV)5bkq0{UrRqhHyb}5pWaXrokn^Er44Nw+?O-Tn5}8xPx%V;LgB30(Tzn8Mw=E z*Wi8z_a@xCaDRsT0Pb@*pUKDvE(&fE+)TIya4X=_;qHUm19uqi5x5uOUWR)U?p?S) z!+ij!nF3jGW8oISt$^DNcLMGixR>GT;ku@BTx1;D5w37L`VicY;NF4zBiyHOUg&ER z;1_GTF^tnT2$hvQpDU60Tu$30vOc&=uAY0nivx8VOJu*%HZTYg-~~#v)WZwq`tm@s>D%lDOtM0QNbx^8lLXH7o#V zTu`+XplYdoDZg85Us}Hgq53r)Yxu3&jy0VW>Re-8i;#6~&3c3!>$}qdy3@-yfLOPo zZZksWEu~ukO1IQ);kRh(wp46GsA5~=HiR0tRc=S9a(mNugqpTj??9+}N9zuRT6a|K zLa1|>H4C6Ct3Df`IlFox961|L8$6T`B8xKqYXzvY&hyThLE|irU;;+ z$Z?!PCoHD{nooD10q8zsE9TuY0HygXkI443eDy^9ge9HwEb%Cz|f+}3#EoF>S#X#9nTX2-+Y-zgTikIg3?~*JAq`&o$G$7bL~dwYSV(#p>^m1$_>RvfJS4N z4-tJ@hXHgCv-twpd>eg*^TFCi-%39OtNcpF0F;g~PoU5Qb2NeIt{8x>n3`DRS`%9~ z1);JjZBvBv(b~2t-4wJ5QVdw$yjfXd{Wg#a}RI~J0(j)k2RtX6`k z!IBl7D*-xJT2>L&vZ`ejf*q@h*8vo-D_=*{@^!XU1Rd+0>j9kWt!YHHrrFXFw52=J zDdTd6baGM|lTB+8*P(A0rCWs(kr(*7Cm9IWtawj7|+YsZ-<73g^SnDa#B9mK!WafJUR!ha!C}!zj`+%sC9f?qRjV z0qTaA`T~@)J{pETS`&z1ZD3b8fFrzaJn@XLnm{S5CRisRXq`~Yg0&NBCL&lfu_~Iy zM%$wiv`1IRpbJ;Wv`;~(eTr==McSr1rXuK^YMusQW?eW8UAS{Pf?di#irlh;{BTbZ%=3g4HQD0=ATr6_li8MaxPATUcL5uB%E` zAy~4i16@B1eZFQjf;Fq{t0`z--M$vV_O&zw!Y~9{QxU|vlm=i;D^CX~XI&p{lis=k zLG#A$jR4&nsn3U@&)083koEa&^!cW32-V-`+z#MmeI6+@+7BYwe$aM^lGqMml14Dk zmd}DT1|auD=?My!o~WZ>9UBW_7z-_@5o|t#>6a3nv z9^^4Zhy>7vkpixVc?=dJ0XQv0f{$TCBmgHy4@i&l7(hgl#u3{19N&V`1C2_fCrpdc zLvuRRD2*QE^CaK-B$42^T@)o;WCIEkp5{x+8A+VeNxU?ovgHw#EsrQ@{}SJb5ryvm zJR4e=%f;CpI=akbP*HjShdjO0h{~2mR3=80Rm*2$By|J;bOp4{0kF?$oCnZ2uX&!& zgZOT|`z>a7*`0#w}FaIc%F zhI`w0A*ORzM-~8E+#!kZ}IidG2zd#wHzv7t?gELG(2WgNNX1tc+^6iQ=vK0jLhV;PFS16 zAK|Rm$WD3<-dO%Jvn@46K)N*D8dwqCm~;6obQGr+A*Z(3gWm(s?4fxCOlFT#50Fbe z%EWM)MoL_2}?mvN}BMM7Dc4i0triQpo9H)*)opS#$_lbfpw3)s^X(K{(Y%ThBJ!303R2V4UP-Q@Tm7&eR;@b@EL~b`Yi0m+w zd5Y3K%RNCZ_pI~;xze*$B)59D5xLE?#EY?&c$IsJ(!DCYNV->*7fJVO6XV;wI*8n8 zY%&5g8M};#?J_!zEVa{E<;_x8dE2}ZZ}YZ$vk1F)Cxtt`i+#Xf>{H{z$TdE-J|Nfn z)DyYh$03p(KIUN{n}=D3F*eJv5(<|LYY@ZT!-|I^Ts+(|9LX%h>xMJ7y5WsPZX8}b zf`yAmm`9M95jA4CW<))O>qj(?K(gi$=8=reJhF5o$fYAIM}k~AvPmR2jcg`z^T<{r zw~j3FW!xpc<-Q;{`nC{g@oo1-Y`brV7~A1%C$inQ%8zkZ`C0uCw))xpz-IGn7s>5@ zokZ^Ra}wF%`#1R`zRBMlAeJ=15&*I#pdtX|ihyR3+#Jvq zz>;+ZbW?nHfF%&|mcZITmaIL{5eTv)&=N%CpxPitt_^ArV#(TrI)f138RVpRXHa!8 zi?0s01%qr0ZV3jtCAdu_w*^;*uw)G(O(Bf2DWo|BjLjh(Az6nT! zAXkjBjse*^rdlLdkEtbc?U)84H;m~L$z5Z*iQGNLG8SaZ*xIp7h<$AFIFO6Sm5c+q zWL(`iG0Sm|ajZy=aZZYNjx&!(ym@@>cottfzHvOrjj-=nxN1W61ca+6)JyeY*F@x| zxE3O}#F?ivZtL{g=^&TQsGI>%Iiqz3%dmAuJB8b4*k^#-4ttn!H^eu`gWMc%HnFhT zRANH7g!X#K3wAOix0u?A+-~Y3a+j%MCL>qOteOdO)y(RdAXmeTX5`vg_#a}?_OrTX zvAnxxIVkLyRh_`%s}pPq2-_0uV%VNgn#dSS6Dt!DQJGksNb+EZGk$YYX%fh#Nfk*T zS0puyg0}O7Vb#yqHtGocQV+zlWhwb*|red z3Un*lR-l_Ks$Im$*k3GSh3Ht+xd;)K#TAPIDi+%oBeiXD`(nn{u%vwn$n8rymw?>4 zqeRASkjql7sf=t*ts!zvYI7=-)0~RU8m7k7 zs`W%%?^r+lkYw7+CZ9E}IZae+T1y(3TGHCmAh0d1okHzt4hlKa%F>zmvh>PykZaTH z)A@bcdTjeNC9nh?>2({Jkh%>`8xUW-(Y%rIn>UtjM7VTg#YTv!*w}FoBhzUJOIW$7 zVUxxJ2`!s&Xo#tAvv~^>WX7=}V{O<{y;bulIB5IGD8)E5VMz0~)@^)_wsl+meT;*) zlq|xWQIdh;m1H|_yjJ8`y%>0(#sE|yE@uG&l%QJ;y^Mi?hqU0E!mE30%5 zizwgIwFePhdz!OZM00j`wwOmwTMi=Ha_aW7h`PO9ds&2YZ*wjpnsaUYScGj~-F_C) zu)pE}A}S7aA7ByP2W*E}MC~D*TtXC1E?ERSuY~RoTk}}hn%9xf7(4SD3c%PBn~JKAQ~YuB2^KbE1I-dPo@hP+O*LaD z%`{beviuZ_s62&3PYmzV&8Jz4*3<2$q3ib3&1aadThHJ$6l*n|hB5}gVr;+B_Gfu) zvKS2zn`!YgzbmB@L+dNRD%^nVr*e!*Rdgx!K!+;76oxD|OY;^B{3k967MQbhEGA*Q(X)Cp$ zIU8+X zN5O`1t>Z}YxcV6stcQVs*wz`1I0B1iYc`GwyJoe|p`d+ECxe}H9CM)C(z&h6h}^oY zjVAw&WnHusR4lJrPSmR9*5#nume&xdTiz%x2=%EHS)baL%HOMPOT{S$wzN3KAZl|O zol!;O0Hbab$W5Ejo)j*7hA%^F=E%GD9BS4&MnR)G>8vK2S{1EF7=RP4xm61vdw3#A z&6!2biLE>n`Yqo2Ji`F!00)P%&#MkV8?bBNOuP1Cx>Jglx9vG{OJ;G}5)Ceiw&1de zZi%wA_0%j`+G=VJ^gL{g0cx@T1t|6`^CTknw*Xz()>0gHuK*3$jRKTl_X*H~-6lXK zHkAMs*hB)fVebe~jx8gFutfx@#+DGE6I(!lZtU#<8nBlGDDk)X1GHm{24KaO44@1< zF9O(U0hoiUg8{m*F9IkXRXqxz3Huy?66|XLnz5Y$D8u#zpar`Y06X;{6cC#efJVB| zLK9;10nmxf20$}*5ddY_H2_p%mjFY0f_5c(I;~tCoWHWi=+rZj*Z#xZ~m#xR9o`~uWcUxr>_+yZpKrUkIU zh9x3wR)Bigs1yg&6u^>DodD1PLlmGE_9lQ8_9Z|U%t`_>o-xutUfYG54#bi*hF zaKQE>B1}F2D@;6qdRTSd1yH`cVmW|)c_#sLN_7fA zGfX6aYM4X-U9f}zY_NQY2!jWp8+HyrIZPISinX{4MB!nX093*f0ce4(0niBR0-!j( zES-q37XWM<>NXI-@i0K$rX~V4n{hFM#@T|45fJHO1Z}$whs2PH^&6l9t2KqNHUpTk z5(9MQbnOM`$gSHCV8faU(0aHdpFja_^-wY_ivUinh7>xE!(${kQGN=b7z-SL1M3<< z8C$S`RI#NANQ-z^g37XG36$0ncGwFouvG_?+VkwJ7rloqDxg>{(g`n+Cbo_Msb-4@ zkaD(k0BI3V0Z|`u?tmO|-p43!)wSy|6Ik_idVo%Smp-&myv=0ynh&Y)F_*P=oNo;k z?=V7Gn#k3vna0;$Wwrd`thP=m>GTC#egq5AB!4t@Y|d8$;c4DGnqjWMkREMqIi0yK_oCeSdU zX#zmg#P*2*bBiIc=Ah!;9a{ zX|2XaBj)4It=(98IBm!9@zUB7osa8P9Jp@u`mgWV_5Gui~FrNd{7#HvEipL$X z^`tuya_ERMRayrosX9-Xgad-c5BU#vez7`TD<9~r`H^)_kz*|tTB@- zlW`?n{21Sgi%s12S{9ctMoR3Wv1z8fI`JyNT^V#|UH=5{PDZOOX<35Q*id8tOsQ+v zw5=J)*0i>5EtUTw-vx^Y{AKJ)8~j!>0ihGN`DAL|SiX@8+P$e_GrtYx+g!ex->$9L zjH93JIQnVCvoZ9|t>s&Nid5qdTh)dwZCg;awk?h=e45s|r5k|LHgBuFkLuaFt>!*{ z4^ra1hjoOE&J5NlJI%W&pRS$7yO4o-7Y={6 zfNJpU4AiWu-Bjl8EX!`1JFL4~S=hF_j)iOP@3^1h>+Wy7pW++#wC^El&3j6-smIuI znsO*ym($HgXFZOGh`(`f%Uj92N-;oDs(p@q6yLSKM(syn&6wMw}Os zrkhXLPLihWI5r}AT_?LwlKjR~_EW^)a;oDLifO0AB&hgw86MJsTFiH0Tp_-_n6Jc0 zLJsW@@EsURR0r{e2C#+)`DVP;fV@sKUxML+6izd50k&O>FpiRdz^?@YxmXIY4v>uE zhxrm(4xq1x+2an-Y98k6MOytMJeCRKYkY)nq16KI{Rm%$7ayQ?5$E|PAV`VD4JTPt@|uf$ zbO$cgT#+Tu>0&*yRiZ2DWU5juHL*Ul~K@JU1^Q})0 zkc%_0il=`E8bD(C=@D3c6rE1|LnuaVM&o;b3 zB>3$w@Y)yo)XQ2RwyQ*h-+Waf0s50_k8x_{B965lB@Hal&tqi9qa(2;Y27;sjE0jX2@A$V4Dc zMucDXV~G<;^^b`YexpnT($0wR%U+c^U*#)b1t-&29rU$c3t!aNdZsTc^tE0KU(^?f zK&;Rgh_b$j_!3_O)vVXT7xe`q5IZBn7xe`qkb3BAy%xTxFA#xPp&H1P^#vmI)y9bM zMSXz?qynm0uZ1t_3q&C8j0j)U7l=U0pqlks_@cf*1k%Nb@I`%r2&4+CS+9jJ>I+05 zt&9j?)E9Az`dZKQRR(>fY2mj3$<)FZ6_>^o*NANJ=t<5SMC5IOvhfz@RY@X|l zF~7jOBsMaM5LXNJXKLX?>u6B;wa`5%O!q{2iEn_8Gqv!cZ&2Vn83jI+4GR2bAb82d zR1OOCZG&p@)QIUD6ezosQQ$+zpun#Nf=5?O)1W}jU5o-B+64uE6{{!wIz~Yyi=nnm zEqv$|Jn(B61wNDt3Vb`G!0#4$M7=@_C89cU9mIzj>{Y%6aa&<*yh=20Jmh8%l*kxIYu56muaQ9bw(FRi zw6)jydO}!S3F6jk;Zq#mt%`A2o{-LhxHK*NYQ&*o#5mNX;x)dC$%IdFIEJ~-*8#z# zA~K;S$fKE&;CC_s@Vl-{!xKo=Pe>|!>rbS5@+0~2f-<8dBzqVFEIkE=r|=K*!KWa0#0pLbK8>P`OySP>5yhA1iN!C9Tj7_0zrLZ* z=y3s5J)?0xsuyTNgj|6j#szAy7O9Lz&=ClU26q_Jg$9C`l>yXI!x6w=S^DuLO5_ap z0Vfk@Oa#kl7N-;AB2;lYj*Dbj0f`DgRuiGjF&<3dSW({}oC#5@TvGTrXgFBW!uYAk zoWxU`%ngy4CQM+0Cia;{^@F5!7xC!^a3H3JbjZxD9r1yQk8Og@N4Ox( zukhEdI*+5Aza}senC_U2=?i7dP$XlX$2nikT$18-Ql=SCaXrEkqIsX@dWH2UhtB5= z=g0W;C0v-MTF^fZ@UozP0^s|C{ye}B1brz$hW-M4o1lLZV2A!9{GIwT_^$~1rvQE^ z=${7ok)VGDphnP_16&jI&jS2d&|d<0RnUJ6pjOaV0K6vXp98oq=${ApiJ-p>P$%ds z0e&jzUjWF|e;fYmg8oH-p9%UZfOL|3`oW`Wx^M>Hh@3OVGCg9M=CC{^x@JF981% z^nV5TLeRGZI0XIs0AC9FzX5zD=>HDzwV>|+a0>c=0NfPx{{*-t=sy4`(A(kvThM<9 za76zR{Ga~qyHDcgBtx80A`Ke z0q~GU|0Te~8vR!Qk7)E?16VYAC%~f`{Y`+!H2PZr=QR3%1C(g=-2jhk^gRGiX!N}R z=Qa91fKvtx`!G$Z#=sN2pfLyppVSyM1TSg~T7qR7g9pK_7<>p8^M+vr&+-O*-y;k+(S{KOAK(om2|lMW z_!4|xWAGz*S!3`gSgA1t5PU&n!1vO^G~d=3f(X8-G2rVUVVWup{>yj3?`RD8t{gPQ z8%7cQuEv0G-i2wtr!j;Rv}z2a30~0{A_zXr8zKo_)fh16hG|~X7{(B+))>YTd|6`{ zNAUX^!+3%}&=@8Vv}p_z3BIB+L=*g>#t=jBM;b#c!5WQW62WU4!(@U#))=M`d{twZ zO0ZUAm`3ms-VjI7!W*U&d`)ARLGZf95Kr(Y8iR>ooyIVe;7>J%Sp;9#7!nBnOk+qS zSg$c85qv{q!1wJib7%~62$t}MxdeZqG0Y?Q1aFv6ut8(Mw~{cKXgre%dM;%CBIYk< z{u1UdW&SeeFK2!V^H(r`CG%G?e>L;hFn=xc*D*hp`RkdFufQNLeANj42Ig;M{yog! z#Qe?7-@^Q@%)giU+n9eJ^S3iUgZVp|zl-^q%+F%}Zsy<5{5{OiW_}Ly@s$~rA(#34 zn7^O-2bh15`G=T)nE83k$2V$_s(|@Nn17UfuSG;Y#t4PXFJk_2=AU5xN#>to{%Pjp zLq14V%>1*=e}MT9GT+SnhnW8`^B-Zph53&%|1svDBj3pBO89d?Xj$~$o`qFd_c;HM zL;xv+{%qgpEC{r~a^5@K!aMtijl6DHvBd1Xs}d=6i4P;p(R!Zrh=ln}l#vG|1a_sM zn=OZQb1a~X8D`>dusPjuDgl*|Gir1r9zcLre$J@XjdUfN`>2#iH_w&a=%JL|s8iv3 zov$n5d{@E+u7uuMWS;5#l$!7EUsLb<`-hDNoxiK*dnze$va99`hpM@EHhmI77vRdu z=&1{IiOON37P&+%9!iwaOSeQ$sayJ(tVE+xx6DOeu8_TTDK7E~h3umXlF8nCtyH#^ zuIyJ0mA!W^Q(CZ6lVQ3Lm#BSA)M}TgHA9Iq4%e-fQ|i_!WgDRjmC4@wnZQ(+!1Y54 z9H~o_Q|i)P0=*BoHKVU?l+5ORkY%vJmBGfLGVngcDj(*my!T-@(SEvcSu|(#*Nv6~ z-g&Hz?{Vd`X{daR0lEk|C1(uOZI%PNEv{M_gLIKH**l-rVyjE~y+cX&E?~8Ya@E2Z ztlK7w(%q-z5Te`eB4@bB-beb^+52e!urX9OMo#8^j1_E$t6)2aDwuJUZmcV1AxpW- zl`?b4lwrDYu9QVAWtJ=D?jci#>&D9|Ipb*E1lN>tziZ0aw z)Md*7U5-m##wguHne2Un^@6>wqU8=*v@t%Eu{b4;)kV9coMaW;=aRC2NGaoVF>*@I zI9_)^2~1EbW1OfvC`afHDTR;L#mZ#P`xNUplaziFqnj+pdY@)hJM1b{-jIcg)#b}6 zbp=XxlXOR1DXN&Ri&K`Y8M;%hZgg7dJn_2evIy@7d8V&3 zE`1gALn_Rqo8c09mUnf{2Y8owZ?k(%X6oWy`8_1&_aN`e&^%;@-VeJ=o24ktn4o)z zmql~NMBT%@t8ln0k=G>eNBGH5w$5Y*h0KFtJ9r7>ye&Mf`uICVF^V%L>1N6zy&n}z zYf(!3=+LEoj2%;`N;q4E&(Y0tnLEb0y2q5lo>LX}oG3yr1Ls}BNA@eB_v0dmtDU`{ z;MuaC;OYj$`OW9~5%{EG+z6aIj_B>vjKHbk`NT2|-222Eh;XOWamKACm<;dpY{uVHjuqbCb{SK z`RyY9g$Q@%FJxvVXU9O&momvc`B!p;lKks|B9e#0v{2X zDV=4I=tn_QvU;pv=-eRuC4xqW)Bs!r^4(Ns3FUoieXfkb(|u@Tglr;NjFSk z7_Kmk2wX2q8>vXstFrc0IQ$f8{(+Cm=>n8=Mpe2%g(FBw7p$Nm3L2`QqZBkuDRH<$ z9j%}d3L2@PQ3^UnLB}fSI7RMwg*rh&Cn{*Pg2pIltb$Hb(8&rqMM0-3xlL145~nas zSI`*>8Xx!(eWsS0*`z4gN2TDI3iB)lO;FH81x-@W*$O&GY1+98b)JIGSI`9tnyjD; z6?Bn;E>_Sb3c6H5mnrCS1x-=V6$-jiL02j0Y6V@RplcO$or0z+=z0ZBQ_yq;-JqZw z74#kj-4yr$9ebyuT{bK2GLH*=j%8R9)6#K#aa zOdB#>2*DMaV9;wNu8|=lZ}s6niYCwR-|+mq;RTQv*aI&J8`h9u@CFe1p+^ni%4L|GuLjQ^2 zOx}Cc$AD3EIx$8|9%Vmapwq`WeA^M zN=U+p@EOz?JU*{HcB>fz_=ERzb;3A4H4lJEq{kbh4sdpwy$DroucAZ>z_*!?u)rJQzNA^B6qRFmvJah|S|6L->4#JnS95;693a zWJLHvhFE;V7wsgSc;1>0^j}48vG-=vyGJ^|&YWcYtg3>7h3OSL?rcRi0`8 z=NSeV6I7z9qDCE+C>l(L?@7(6M5B^~L~5{N#R35mq9hrCRIF*8ru6S@MI9^FX~h*I zn$ch!6_qBqovyUf72i&~>@KxzOIzAbyR@a2ccm4#|LZ=_bq*Y}RhNr08ZVf9@md0cC7Sk*zcBE9zonYl^iMUtVog zrKEh74w{Wxt7PhaImf95Am{Y&1@(`5GIqhqxWxJJk^|#Tpuesa?KD$zK zE%PyL)~B4jrURR9w{=C7>BV&%JXleWOO!h^7<4a){CkO1{sl2l*x71z4=y0pm;kY8O+j-|dJ1mMgD!#AL$^Y=LHnV5p)Tl2=qU6iGz$F$`YrT6Gh?(V}=1Kcy#gF)r#cX%oS=4hnNq*)WNFvUJ`lQjnm z_hqIBJ?@Yv;=$vA@eJH~O3Y4E(R z^Q^g9?(ohoJT(Rn1;L&B=g*vPP04c4H3fHJR@NXM(mac~>3E=F62a~Z1`x#LEcf(n zGq+)WR;(HRFp zV)h5D=~(U%CSzetF_GP!#MCP|!DMzkDRvyeflEg(wI*V@CtH)Pn2XiB4--8wuN@Cj zOd!~Ux$W+;eI1`R+@aj=Tx(Vq9(+9fX-v%OXh-?n(Ohd%7M`{kYR9~+p}VlAayu@! z=49d7i^F$eT2{y1D84$f+TDY>Sk{9%4R;t5u<(G|p}XC~m=}UUUXxhk9>cSwFo6T} ziyvN;f&)_|%88bPp z30j!*H+qjXN6S4Blt+wUePBM8J84bAGBC|PUg#diTzh%iC+3o1%PE{JbWh=lQJB<$ z$@lW?&q>@=;U2;)E%%HyH4DR0++S?X%97`R#yb?JW}$bOnlBR!dvMo02LW^u{GNJk$~oXUlb3(tLZ4?d*g523f# z<4G|=hMqK~a;jM0&?B&MH_KAlTXMDNGt@&Qq zP4I|h_cSK>qvI7bALq0$4C4*a8{}b_!LKMcri>)NqKwisIY8Q+;p=Rh#=m_*O z^d>X{{Q&wg^mFJxpx;C9K_5UVI6$5R;f^m{e&T8G5biZHwnMlp$M_{Ln687agsy_Ffy$v9pem>y+67fZd!cqH2+2YEe&}WBS?Fuf z!_e!{5Ht*Z7aD`cp`SuYNZvApx6v7e&>9GDYQrTj#v1wrbS-oxbO-cJXcYP-^hfBw z&|VMn%ZcMWC>3#MLaU($=+n@>P#+Y5@D^|*6Ot3(D#!=rLxoT=H7 z9{MW2oPK`0IlLBr4plz>K|F=!l`fF_|NGzCpVGtewF2N~Fo-H->$fHEO@HGCGd0`fxg z_M;pq7xF=ckRMtH$$qc_Duc?Q3aApQf~uifr~zt%nxO#H2DL-`p&--&g`iF-40S;f zs2l2mdZ8%P2gRU%XaE|7;?NK@42?huXcQWQ#-Ryl5=uf-&@?my%|dgKk&gaD9w-CK zgygMASkQd5^ z%}@YpgW93}P!Q^XLQp3ZhPt2#)D87Oy-*bDgJMuWGyn}kap(=`P3SG?yU;&F{|5aK z`Z4q~=$FucK)-|j0KEsj5B(WRISHEqv=llOIvqL_ItMx*x(K=iS_Q3v3ZN3`3g}Ac zYUny>Gju()4Y~=s1*(DSp`Fm}&|atox(iw#2sAf(>znKL?DT%Rv87dB0hCv=+PB*0 z&9P!H&nxlyRu|%5-lazKuIb4s-HS2GrT6gW#?=xyMb~M-R+-fa9VJ)kylgSFgfEk9{3uQs+w$7;52+4zaZ z`Zl~L=s3H4+f~O$ZE>P**jBlylw;4Aa-!x-ZM@;*i%L26d?_btzSIqkJ9o9VVer;B zH}9>lYs2e-bW^uj@AWx8_UgLk=IwR$x1W%G+pax3n;W;aHR3fxceOPd`*!VV^VhV^ z527`sjO4glQMxv#8Ai?V5p_npahDOmt2_hsmfO7Ig??L`_O`UK%}(oVFY^&Cjdga< z?8wTx?ahtHmBhP}=!`Cm7JGmU{iY+M-W~#LO}83%w(LTGC6>N+wcNqb9?ZPa-DzoT zZM0k2vTu*EV@LD8)+XcHjpf&118mg{7&R?M&7DS#Y;1Uil-0AE9lOxVn(aFz-}ZgL z_PSO?wC?&0md)FD=s^A6y|?c|M1AvKNwvCL)7sd0yRjp%w-p0cQ`1n_a_6o+HG6mL zuuSx{xDcV{z1UY}fvT;p)a=7f(b(SBQfD`<%Bb0gmhH2u-(xMCk!O4J?YeTfl!EZrFzxR^hc#*YD69mpw|2cUr@@7jM- z(AeCFao^F>Xs^RPjd!lD-`m`wj>tEzzp=7>mFrW7k-dS8N;~Ra|&Nl>da7f_!6lU>~-gx(0iD(_4yTZL7Sd!dQ=Y zCHc@7UlG(`)D+}_elXvt$%FC{UxYj*YmJ)1dW69eq!$$%HGZTOK>k9ML3|P7(Ycxu zpt`7AVihsm!hwrtp z*P={5!rS4e1on1m1L{}{KMkm_LD~TM5nhWr@=>+~dFqkB5oNa{ANJ&$2E^4#9Kwyr z-vA$VsIw9IcSu>p)g%87YzOI$&dW`$XkT^@)7pIw;%cQ z!6NuBLcRi|7sF2>RE&HDh|fpaJSijoP%aO?3nVY%^QB!NMsx|HN|3b#b_r}hviT9`N1PvVe#EVXy%zRb*lS_e z!LEZX*A;cJx5M5JdpqoUl&^?7@=fwB^1I|e zlbN^a@wb;949t;Ud}Sn`{>_?Q_ljMwTuhQ|=^3?!76DMh|TcRmb)#WpSUn=F3 zb+Tq6PcvGeIV@A>@#!km3>9e(EYln<)|{c;b{g}^_h|Uc;m1<>6!HbD1LQ1OeT7b6 zu}*WG^vPZB_{2V@=`Ypv$ggtvR9>Z7D|Zs$({r9?g4~avL*?VSR&)7EdyMx@o@opyD@D-JO5@aU6l9EpaIbz#fFY=X;eB`Si z`BckS8TiQ8B=V83I^%^Fk=COakRIoDHA8md=W_WBkREPN&18(6 zB>mjZVx)1pF7G94$v)DM+vV}`k`3f2+0N~;pPV6A@P)*cWCv-#&^d6X_S;9gx!nfI zUNT8$o~85mka2R3v|j`rIa}wOB;DNZ3&|)sN!G5=`Ge#T>EZrSLH64=_meI%gZoPr z*-pmEIdX+p*HcCIlH+9N1v=eFc93Ia2KT#CvWv{l*5%sBA=0x_$Cr~qGC{83ep^eH zU83`c$pqP(qvO4oYEF~G+>c9F>G+vk&CqJiLEP10eLkiUzEU%|UbFui&8+J*=gKsD zH);$4MWL zzwKm@>?h-729LvKWCuAwPLp09kE_Tb(#_*>CD~1u@i-hH`^Y4jxx(6vj1DqEW}K_z zv&c#^lgH(1GLy&OVbbf>HsIZ662U^*EgC&)@3cOzsknIv;A(&a12ZgPsu&DQCi zWP;3C$#P_foFu&$>vSL4M7EJRm*{kPskwY2}?uA0ommvAv4?O^d zp@*O@=n?2q=xb0n^aOMedIow9>VsZ@UWQ(UUV{c8`}1`KjzY(v*P(Af^7$t82J|iH zO=uYU4rG7+34sylZRmeN3F!OKzd%2LehB>t`Uw=+8d~bD3@r^qcOZNL*aEh^n)qWI z*gtw-4V zVIPCN3if`4bHVOkKd|a`#J&CSx|cpU^E>}}3gSNp{R86uVQKkqPDS`0CSD0t4>|Li`D@HvQIb;@g>UwYF!1AVYp zz&;ncA2N~egNHkUM-cx2?2o~I0pSM`z7pZ-OHW(#5W?#b{@&v+KK*5cuR{1?@Db=E z@8*5(RpkE)!vBgk{~PpZ#v9`Uh#NyVg7DW7-iR_s!OM{E9mKB!e+VA_%!amcupH@+ zBW?@$`a%Dts}cSY;(z2{Il2bnC!in0_JKX3LvQ`@N$@8nJ^S;)m+)0%0r)S|pUhmD zbI1Kfe-6C&3*`UApTeK{&#!#{dvBudVJL~X?|{DoKZ^Xn20w{9-$L9i;0Ra^z73j4 z{}}XLgliC&0BgaDZ~o^8+rfJ1;dc|~G$6haTKU#j_P;W5@$YsZ{BO{E@ZAK?f@K}S zpMa$p+#Xo}Eph_qm=}Gwe6?789OQ7ch!J%7_wiMytApTZ_e+zyJ ztbv}GxMA5e?B7FIeK9!nMeymzBm4h9@Lp&Z%0k({1J44#1pWy+8{zxF_o4d`e!u*8 z8FL6X!{`0rZtz^hKY;LgLg+zA?szE00o3ooF#+Ljgh$i$T_AB#?(E1#n*7Qwzk&xL z`PDlE`Sv4!Il^6#{MjpaLC9S*_T3Lv$Rl@$$Xx>CNUK7g04SGua(9T_RUpR-xl3dm zaq=hke#FV$GICeOAi{2F5aAw3?wolO`Q@$?xf5nN+EsycIq;XEd;@$z3hYi1R|_utSjC z@smLQO2o;X0~wIq`7(jH7}DhqmAhB9(lE_V>g9YgC7 zZbO+`XaIS}A-O9^{xq0Eocw7ZcTX5l4)RumoygOH_$b25p$XUnuya8_>;PB_%AXBm zh>svFcT!ct4j{Y%k~^-FNb@63?n>%JT(9JXW)L?FI|}ANwUFGwG>5n@gfpQggtO3| zZqNX#_liW)C8+6X8OXSqCLx7ebjRn+di<9ndV)hjcl&dXQFz@CtA_ z*aQtA-3KKQ9)jev1d=Okxw_1Oo>W^lNAa`Y%XsIX(?q0bK~m-EsMlAG!)Ehw!W|LvBUh0R{ueX`{S-<5Pxr6Qp(9fXXK<`0v$6PwL?UNxnMxF~@0$mOj zKx?6^p^eb>(9KXiv>Un;`aE^epr;^g8q=^gZZ@(9faYL2~C^3bwtIq0=F` zo9+_ma;OAa4_yasfo_82E;+d?ZXa|H^hM}F=&R6E(DTr1&^MvCpnrjW4E+lF1M~ru zj%{-pbPlu`qW=os`Z=)2GlpdUlO zg8l$~0HtGJTn3#3t%TM(!d>Gc;3A*GxMXM85PwO+(#`ty}g6 zLv6w~s6%q3)}hT#s%)t`F2_!F9mj6vURGQ_Gw<*~@g? zpWr};&T{g}t@t{w$tiKvF5y1ID|P;>ZL5EGLb5+vRBVUbZ+cPA zB@=dx6!}}tNUggNOBHo$+hNzCNsBMbfw2_SJvaiea5af^>JOTZL9Cv)v8ZBxrd#& zlbw8Wv#-?!_j#6w)18!FJCyPhw9df8we9-<$u6VhV5|q=+jc1RYRk{xIdxs?l$&ru zhinfi-?n@|?c`qKq{w_8L;ckDtK`70>zZ&z$K!Jp9yRR5ebe^fy4Wfgwr%&imC~M%+htt$ zTIqv!t6aBAdtL9y()~}eRB}49dX*~E_zd?IUWtu6Em5{_g~{XW|0zzKT)gTrxxk70 zvF%ZP!$}=>{JrPI-Qbjvo65D9H=K}s!>i+Jow9No({ZDYm;Z3Qbl7Fx|9GMFq0F|` zUOVJ|G+R=pu+V;zwr}@WE{xFb$n!0{JyLIEdVik;7;pVSa` zQmUMq2AnvwHVf#|+olveFLjM+gI&>IL7JnFzn@_FJ3F&jpp8Xfny%;k2 z$P?Jl$8M&r`KA4Hm;B6(mYtAp{|qL7OW<=ty8ZK*q~p@+gmn97uqLFVDJP`cKX(<1 z_YX<8fByPQ>GscI8M^!l<0C&W$aKq0RIZeI|CEyjGAKIYd|dnC3L07q1);Z~rAU;y zLYUfwc|_;CPE9>;$vX%esb6^c;2kw@9Juzv%rl=__tP)Q#fXY6+w;|%zy4(Sjh=Ul z`!ipk_$?w`_ce^ne*5lDT&xbf^ZWkCelGh;O2rL7{^fyJPW{bAHxB&g*?)iivngn= zYx=n_?|wGz#nc`Do_EJL3P1DOsfcu!hAO||-je+MXD82iaqv@bzm5me*CMS zJu(nqg~*imBBvLA|ACC`y+vo!tPSz>+Dfu7-$@_MRDJu7WfYWk+sO=;z+ z83u74;rqnCbHY0LDgdY)CFO0}Q1WKoUA$7&E)U%PI;NyxV*QZ{K@THqlQ;v$a zE0AkZL?I%sT$sayh>uu)vW}&mVfn!vZTLAM(n!hJlP^cz}F&fh~D0dy{AK zU4$)2#D!~}U5S)AdK6KXrvnGXk7trKYDbd4 z*3Lg4)nrH6?X+lhrVr&MuqXw#)j&_53;`Y}a9k#9P^{u7R_`>|_UOtvzIMCwu5v5o zFLlXr;0!ZIYu#z@9N|?QaUEN$UskpR zj!H>u#O;{*;VnD9J}b#ud4*PzloJQy$g1VUwX8EPs#>-@%Sox_M0eR)7qSsZmz)jM z>Kh{FSC@+gtqxlojXegNPH2F$A?Z;N$M(8)Vq8umkK6KHh0gYCHEB`Fg>5{c^P3iK zdsbI02i6$7s>Q1_%pX$L8BfV)um1VLx5moJW9>TDrnj*3Rs+~ESH+@kFm`@_U0iPQ zhGMl2&9GOqUM-$BS@ny%fCzgBSTw}Wx>?v6%bk<5umRS=VUYuSGu`CMw)^3f^z_X~ zI{6k>q(@C!`{6_6Y;KE(dDDlCg0%)0Z30J690kc_kJX2)S*PI(yS!*)Ik6Bt+H1iX z7iVLzHh&yv-<1u{u6TZfmQG8ZwgVv!6q^o}`g9bBKqoU&><%s};$+a??Bkf#iG{;# zZCO^+?G_%eHXl!$-iDkcIY1qq->w$>=fMXqjynMy#rbgFkyV+!Ke+t%kyMuvk5Zd8 z>Q#%=77nA;g##Fg#Ybo>`fnJG57~yL=hm5DsriEA+#+QYW+J(%xE++n6MiKFc9wuMB(qgwhOW zoqTvj*cj(G;`!YOd;cQu_Ey02tF;r^an34S)PzMV1HP5~}?n_0s!$su~&o%35 z!=B3`R@3cGU{QUxQ{nsud{l40x)n}??TQvQ-101gA}w;p)md}WMyo6K(9d7)*xu|E z@p@EW>EQ1O7}oj2O2wI8>aj177IcbzJz%Xn7L$fp2ZKdNM#~Z6?J+Dp4MD37R$2B~ z%G#$)yJ33tkutx3uv&@JS1l(rz;d$anB%yUBzyf?8;riLo_B_jjGHy0*7kOM@9Y*j z!)&#Akx%DhYC%)2YyAT_^~oPCf7=)zaFw3+-^ec4GSUpa)~xFqyC=FGsQp8d7dOe? zB&BX^wOdCXXJsDOfxnX5YSF?T{FVIw4;pB-*%^Pk|JJ&)R;j%oS{v!nMO%)w!5p`} zZThQQKSoqGbcw1(NK4gs{#oA&l-}WKWIReXm zWnG+$_xUzkJKA5`1Qw3be38Z7M6LENJD=tM1mN??!BAf4!f`p;sld$~x8q zAZJhU;|!8iwXic%)E;Gfr0i3ZwaSj$x9IOL>`zuT|DB`lqIEt$Y9BtZsC)iEY#$Ql zFZSlsthKmctCLRJ*Bm;Rtbc1EBd8RwNIebBdlbzpvht)hroD^cpvBYDItI&AQ_9np zZc1H}mU6pi9g4x_*_%=`P;EL~ZbsEsxfe;Q`gkh^LjhOtaPM75 zQi_@p5iP6#ZypV^W?yT|nq7P9oA=@A zFEwp<1sYrb$8K8hYW;uY>VMpnx|ZGlV;|_w|JcWFJo5w(?U;Xxj~!~lvqJQvUREPG zACgFUdW*!iwl(b9D*uMQFV6sXC@riY0i znKpI@;=9NWvW=8!XOb?{*YN*xKNh%;@bWn<_J9-Q02v``!B(VKfw!Ptm6~P*#?7$1 zG|hHU^0k3gh!1F*wT!O<@oQ;$rKVX9o&~#1(<}vVg1t`D%mu|?HYnx1nr0Sw3hd>Y zW(N2P*d9%D_LI8YG$`e!G|fp+%1vmRW8h}kqnhRbDE0M&n6FVD(=@vo-vx@lu%;OT z#b1Y}xgV^A-L7dif#Rc z2}-#PP16mY3R@@vtQF}1Fwf2&@`LCt*{$3&1�*j1Wl1(*rDT+`eD;-~-eQccqj zE{9#HY373E_@AR`dO@jwg{HY2l>C{RrU%4Nyyb39a}FD+tp8a}a~j+PdrH%s1kZ#$ zp=pkRGTx(_<_IYMhc(SOcp2)hK`GY{O1YS(83oUP z-K%MKgIB|jXqsX0JlLI@W(SD-8Onp2W;=Kl>^4oa8C(y$Nz<$aOJP@Qnw8)x*cF;) z8Ho8{;=1E6PVS%^^_MS6tH^0Hr_unr0t(2JEP&*#k=b-I`_>DEY&h zW(bt}J2cJxU?J>wO)~&q3AdJwwxUgR=e&O>-6pZ)xw0ra1-5_#`#W2~g@E*EB~#>2E^Q90u3H z9?~>pplqj6P`1-vO|u&mKM_qc3`)N{HO&t2WY|GXvmLwwcAKWz49fAMNz<$a<@i#q zX;y+#zCzP113wCTgQn>NrCm9ov@2WFTmhaAJ4@5d1lPjO&@|nkv{O!UpgCK~@zOM> zKtIxxn&t#3+snA7ISLlSPH39LU^_t3lJO24x(pG|dXI5O%qyxd9Y^rJAN6l;c~WrkM-M z_~dAsUJ!FI%2#Nb%fUR@nVO~t^ucy(nseK5A35w-KQ{!VF{li+ID6Po52DBJs} zra1!2b}_7J#=*;B4{DnIp!7GUX+}ZWe|t5}ZcxfcG|ez5^>=ET9bgXZpr+XlUIM#K z(`*K1JeoAkT2R_ot!Y+*D`8h?nq^Gi!1Q&r{j_~xHuC3cn%Uq*u)UgQ7AX7Ya!oUX zwuiO>UWoKLT+D#x3@F> zeW0`_s%iFs;=fzd>;h#x!kT6XJQsF{rnw)K<8`~H8332VZq_s#K=EIzX;y*fz^>FZ z%fYi@muZ@%pj;=c(=-dgEZ9CxGY6FRWow!%z%yWHX_}efM_^}Ynr=|eSB9oJi;F#J z?~JB71+&hkh4`eVISSs6KMCb=Cg80j;9mG20-Nza zu6b*DxgmExmX~RonVYqpp=tJR(sqxgxq)^m?che8zF*TE!^Nxk8`U&pxOf%2Pt%;a zR@>8>W(DnX+Tm+-dZ(s|2a)Rb(eA!V+YwE(6BlvfKcs0kU#aaTO>_2R+Mdxg$8pgh z`NuR(AMIS)0i5(Dy;;+Y;bd*KU(>9>$ye-hO*4U$q}U^xW)4n*VrOfb<2Xr)J*H_U z3$;C|Y0edBdsfrT%GdUCO>=pkwlg)&$Qo^TX_^hIwOy-e_TwZW^~E&JM6R|+G|gPv zIkfv%F~6o6y-eG^nr05|Y}z9@iHQGUO|zYL8|_ls>u8VUFu$gmMSD5z7*0CkuTRrl zPCJu!_+p*jscFuv)b_Nd*-N{Jb`I@q+DV*r#Q&tG*-N{Jb{XvrwC8YAlKiup<^=6= z+F{zAw6kb0r#*_3lax+%^b`EVfZ8>?NoSAd3E}yMwCUH^{f0LSK5AAN+KH9mo2XWGp`~#Y1 zkhZ+8Q2bZZuA)7FlbYo3*EHK`2WaQe&Za$%lb+-s(=^*?2Wb0f=hCjlNm24wYnnN< zvuRJ@Bq{0Rnr1oeGTL$ymGn8BJVA3?vuQ`O1w)l^0njzX9 zw38V+eNxk$TdM6@O|z3Wp2lGL%b@L{-LpjJ@76S{Xjjs9)0T??Y0uzEI{$#C*+x4+ zd(xxRCp67o+C8)@X;;vex#7}3c{YLgA5GV`%pDiIi*}fH7HydeFXZQ>64nKJa<9tDD8IIZM1!~b7}XbFu$gmP1{R*z@^js zHO+B27ymK`9RJM_?GD;9H~uzUx=oWwa)KNqWqc%`%-t8pNtrt@c8rXYJ!FKG@sxZa zGDxk(s22 zG)S4uChd|*VnW$Jg%ji$nIMPBI5|MZNZF62d=D8R!(@mIlI>)GY$9vPDzbtsBTGp? z=_7MUFPTMVk{;3^XK~!H`cEdw2~s96OS(L+RX9w>$pJD(M#&yBLds(erF@7ClI>)G zY$9vPDzbtsBTGp?=_7MUFPTMVk{;3^XK|dg`cEdw337}~ki%r0l;f?GkC9Qbhm4S6 zGDHT+b}~RVk+ozMSwWVOrKF$qkvXK7%px;M4{4CII1gC;CzIp^Dd!DIPmsf8oE#uy zWR&b7Bcx2s7C&(I0y?RGLi zHj%Yt6(i2?Jg!yRKSn0V zVKPq2<6R|RjEs^!WP}WpAu>p|lL4}ctR<_+3bKqWCH5Fu*+WLiFc~6)WIGuko5)(SimV{Z$Wqcz z`p6v8OJ>(p$m<*9YvYiZ&O=K-u zMOKhyWGU$>(p$m<*9YvYiZ&O=K-uMOKhyWGU$204qrpRE3qNpgZ5BNOB>87BwG7#Ssd$OsuGLu8O_Cj(>?SxZ)t6=WG%O8QA3 znL~QXEHabyfY|iYWc=_yO~y$m3*iLPg>kZn43f2EDd{Bvt6Vnyq`Nv&LMiF4v6OKv z`%?!}(_KAjy=m#LXnJ3Ix~tC<^Q60GJhNCvPwG1<-8Feq63f0Nu_fuQfsDb7bXV}? zj+4_}!zYhm*>y_flyq14)UH$0U5QgivFywYXCjmPM(^yovMBlJg_yr@IEdac{aS>7BxI;)2NwkpIHr3z7e# z&Wn&IJCcnSt_-h43s;U}8M>tNl62R|B?&ACbK*J3b7|yKwCb{+%h1Bh#;^>p>RN^T zt46ULx_tQZbl2SF!PTgJ^$3>ZYbMsDyLx?5AHu!~Ec^0f`RH%{43=XB;{`}9j20rM za0bi%qJbjB7mpXiPjRpWV^T7RWuHIhN4;x%)}rrglUVkCH2P8WdR@mltc!JhSWd5- z!7^!1nTYvV-^Y;u%APCXvvi;o-b#b((_OKv`>#%SO>LOofHq$ynabpt8-c8X>h}qn`8Fg)*!LoBpcnd~gYu8q^@cP*G z@KzD2K;J(;@^OsV4e=YWwcId^8s@Q|z=tFAkA#m=?D)=xM?@~iuV9z6}_Ytu3D=PdIa5$ny zB4F}yHTAf1rz9R%qmQdG3C15+LyxQB$C29gq>4NV_C2X$!ht8%pm5?zH7T5WQcVkI zpHy?gj)N+65DXtwUBd2zsz(?-sQQHc2i1TueozewM-HllaO|KO7fv2jN#XQCH6xrm zsDe*{p{G=*u9$_@9`h@*aH6V;f)sS!`suIGns2UeeMpaTc9aS^Jxu^<03x=Lmox-kXRYchH ztm+l^J*#5EfoIjAaOhbzEKEGBMup?gstIB8Sv4h`c~;E|gU_js=fKYAR9HCloEjGP zKBuC>$aAV&n0QW&3df&Q6T;+kYDzfsoSGE|537#DVCP{K7Df)MZsE{jH7x8stfIoi zVKpioKddH%$-`<&ICEId3WI&BqYv!tQ(`&3jI>r?&0!9Eoi4)>`M;b@;4 z6HfH0N#RtVnikIXsX1ZC^D6W_7=B)L3A>+HJ;Lbos!!Peyc!V3pI1Y|k>^!HIQG06 z7fwE}lEUfd)r@fNc@;bYhK{ICVb>8A5%wHWy~4gDDkdB_q6URSN7S$|aYT&@$B(E9 zVe*KY63!e^v%=sDs^bN)^92_yct9DGs5g~KnZ5#i{IYD_rsqM8&=y{M*zvoESSVaH1<^b#0;Np%UkUs657 z=u4_k*#D9m5XN6pL&A}lR6;oRk{TCIzNC`E>6g@uaPB1)d>IVAtU879m(`H4>tz)Y zj=ZcA!kL%VtZ?jQH7*SHtB!uKvtNaU1N~}H80lBt!l8aOEKKyPQQ>UAniG!qs|jJp zD=PE~7<)za3&XFdF5&1aYD_rsikcLLUR9m1f>W=kX|cOrRS~fVUsZ8o&#S6eIQ*&_ z5l+9VW`v`!sxe{LYbx@Z*aK>80311{6367!bW9B$Q^OLB9aH_s)W9*M1_xEgAfjfD zso7&{PEse2spK&=bqrUGxCa;);qnk(`*RF|Q*fc`t<^DJv607q?X5gq_7waLv*J@a zeILS-euG><Gtbu>*&vZz3oSs-+o*! zZ=?UE%zr8EyO}PJbCvw|>u39DpU(WdkS6IVv~Q#T8kYYd{iQSgP1?89RP72c7(S58e4fVu%ti1`s6{xV((@CKhm~ePy7cAi=_XV`F}%yk1_v$(VzVq z;Db!JU&FhF_Le&GAD_w_g`54{sL#uQC5y9FLc2uVsJkru|u#KTKO5*evDObNp5^ z|65ESVgB#ZmPZRq{u0`2nExr-pJjWVqCa_EqU3**>GF4>*e}rj8PngOEzil9^h31o zrTqokH`4!3+W*4--bee#wC&d?%j2}gpZyx_$LP;~eY1RTAnEpNm*xE&Vy~jVU(w$h z+O_Pz{aWX*Gr#@%>+_jzzux*L*8f|3duD$7wbrfdkNsNf4_Kf5y6b;p`FmLYUgqCP zJH+~0XrIRX_G`I6$Mlz&Ud#IJ*L2^`{Pyd--(b4^dhlhm>skJJ@rN?@@wS!e|IG1` zcYNUZ?Y5sQoFVOnZ9j+jZ05IL`<$)Q4f{F6>!dv7t;Im#^Y3h*eZ2pi*!ayhF{jfz zfm7kreh%{2XxqWoU-UeqZc6JpS^ z^N+Lf^Xj7Xmyfe=JI=oQIQ#kIY-!iR`dW^&jhZdRMZWx+J&kwD>*@ElwAnE&jjfGs zMsv;T*0vTqZdc14Moo=O(%-wUEx=%7OACV9O~bz3PPk>?9y@x^?p=5>{f_2+tunR_|)7+s>x0 zE?H}bik(oA6Do8<1x_g63FSEB;Nc0xr?sL%-&IH7zel;?yHfcpZ+y%Q>NLd8y~$O#oX zp#mqA?}YN45CU+Y@3?nDB~GZ=2^Be^LMK$^eyD$H{# zbV4OgsMrY=IiW%)RN#d2olxF<=!6Q9gbIB|&Gk1{mT%m8&4!w5Z`^uy<;Lr`*7%I( mO_du9h1LOLwciPqIH6)EROEyTolt=j%6CF}@^!TJ`Tqf-kD#^y diff --git a/src/vmsrc/lib6502/lib6502.o b/src/vmsrc/lib6502/lib6502.o deleted file mode 100644 index 05101a18b34a2194ee395938c34882a77419c811..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90624 zcmdSC30z#&`9FN`onhv}Ko)ig1jq_x50d~{$xe0>60;byK@5cKWPz+Cjyf7N#9+h} z4OZGtBDP~oDyGz8OMgYBl~!tLN?UAc9TgSpsFRfC{XXa3JNGgW5`X{q|Gw?ybI$Xe z=RD^*=R9Y7&ce+*w?FCfZAayCkXpAt3#CpVCY z_-)y8Xh+^5375ia7OY>Rh7~MgvxJd60ciA4p8JpxJy#&bNdA^B8TmSEjJ zca(zk5UI%9wtf4-9Y?5rddmA%sg%qvr`q>zMT{HvDKC5PgDhuHc}K5E>6VO?VAOZq zaulRbc?b9I?6baa)Jn->&`;=>{gwnZexLHtC|mYD_+T&n{q0RD<$Qw#AAd(9NkZ== zkHvb{cT|Iv=(x88fAf0@YWzOsZOhC&NIahMUihPwGHHMW7yng)Su=U=f297`r@Xz} z_Uy>*LtgU-Qu_8l30gjp#+wvkzK6VweS7wA%Q&><@ZO`@do#CeSvFt8%QbXJp{?>* z$P;)rK1!DIoJorEkSF)&?7bLCz3V%%OG-2-RDw-9NpL&l$ywY{-WF)}I2Xz>(ML)|e6jcO9L+{q5Aa+G=1Zz`8XWyF z^)N?MM-H6aC4k-gPvlZ=dHba#zo{FP=pC7o?4wV)Wg484yxWUgHlBKcS&FQqTEaJBivp?j`}9|D@ASIr+G4o+)jH!<=SuNv=W*|=o%4hX z-n&z-=FCpHAc`rsd^+b``1mF6szax{YU1Z!5JOX56ZuI0seDTE6t9%zB=3~u1mu_K zmy*9L=V($K^!)K?;VRm#D30eYnDckJf;leG5t4FC^x_8Z(#4)@(}~yC^YfFVbld?) z$d&MG0}EE~5`272x-kD;yia_(ml!{7qcEi{gu5kj1*_v{raZMPXIB#XNl^}D9)irT zb>7!*L(Yc=Zg7DR^`0w=d(G*?4Yr;V({CZKI3u@emoE8SD%vvE#I4HK#ho()&o)F% z&O#Ze{T(Kh>DHoK;u4{dys!jl5$~&TTnaNk$(oP{#AV9>5LO$>A)-5g%Y)1>;=@@f zPi5z1Cy_i%2}MiLo@?^6U0T_(3wz2Q5B=o|Lnq((tlJ!iGJTn$i<8Th6u}3Xo{mz= zb=V~$?U^XfpW0I?8@1&a$k4Wt1LYuHsr@v|<5JKbpOHgg_& zSL+hgvo4WJdA7N%I{x}2(Eq*WEzajF1-bl6-ZvfH=Jy9nGL&+wy32CW_>kIVm&-br zuZ)=~m3=SzLGH0g|J(oQHvdUZuk=wxPG9x6rS#N4tAA^^xdt+_hR0#-q$G`=% zyvR>6iO9dxiwnF(V?-Bvjq=EYZlyBixooo}dG8}mX_LUbsB}r+d9GB%pOy7ZJXG&b z0h!W0dZ${amhx!=oNFMt_0y_u4M0NbfmDFTc}m4v}@K=fy z^)YpRR@<|Wc}i(dbMG=7d%N5G)u3-EPtnQbo^4zF4fI*(k@hR-^C_fP`h_%yPcenM z=ZZX+6=}X4!o5cGoOW#9LfZ3kTTnXBd3)(S_N}Z0RmV!-qW*g68`R6@Q7@{Kwyi|W z|6(Ltck`4s?`uwrg&fcR68?I(`5f9R_gI+!&FXIRQ^1w}OJf>iv0s_u#NING{iNG` z#6ynSm-<*IxK-}C zd%HAu|8*#L@FUoW0bV}wH$URcanOg{{&%mhtlQMFz1wNp_q)x$ayupP;$7F6@FzGk zHZ$le5&p+s>NXoa+J$V|`_L|b6?)pVZwsnTd--a&d5F9GeXnN@tY;zK+~C{SIdkhB zbsO5VZPEYTw#&%g>($NgcAI|-S$7&YA7kxS;%GeaBu{Cp;XT_*+x`i|!xCd;xzuN9 zp6GK7%ChQ4^^}$H4dwx>N7_khf4zG@knXDYl?ods7ce{D;DfW572-xPnT%Zj$O_0V`x+dF7*EF`$wBl~_au@Y|s@SW_8bR$cLar0(w8tE;^d-;w$@9`h)X!y- z=A_*B2PXP=cZVo*icf|#r$j}mbIOfQe#)Kd_Z4hW+H*bF(H)|!3+N~P+Gn19Y@A0u zv|}sPqdzKRD_~Su;;&GLzUR3<>=8vLaXtGLt+h+k{Cka)jbV&7|gS-`64ST1%%%yoQ2lPQ_5_Hz#X}<;O zF%Pq~FVB?)K4t%+?5z^zyp%pod$ngZeS!9L+Wolbse8>{|J_kxQy0i>cTaOD)?)1( zx>ZweYWJSDW=|VNYr8sNm)ukR!RJ~3b#i&{mY-G!4v)UF1~Qa+<*hz!m1*zYd0uhp zg4w*1_V4ZxWsLXIxyM*m=I?i7!xC%Qc}V2sX*;{k|G+s*f91IGyE~WTOSv55)pC5J z@#F9)xgFQx6*NtQeUf_#pltg~U5C!R#v`jSU;sJdq3 zd`@E%S||0aE7>4c=>Nv*Zu1=UN9{bOoB^dG&7Jm|56f-;#f!$NqdMJV!hKe%)Un?) zLl6Daoce^?C;FXNwBtPW1b2OF&bFk#>r}n4cJ6OJpU_hu$B?h~OfD7sL{A$>=^u1n z`o)B>#Feng`a5%Rp#AzfbGhu1mrZl7p|rD-SNhbjslNpOo$MX0J$FQ7&)uAl^GB3V z+xOV{-W_#<^=aBY&d=cUoS)y3+wES~lUStJjytk>evS0nveJB_^r5?r6A@>0p5vre zE)U6}u|n&HBCo$bY4teod()#_chg}k()Y8*ty0!_8_vQ!b@+y+%suQOWnT0+e^dGh z^~Z}zVTmunrV78(&zvORM_joj*~WLX^F^GadX9lcl#%p#x3qO=W6!j|L)z<_^MY&g z8vHZOdBL>t-R4NS-zw|uz1kOb(9gZ-p3WgXbx-H9edpJQO)Q^L)Zt9^=kolloco8z zb({Y#+qU;K7BKd;W8wR@d|E_a=TJ=e&io)nazGD^&w*dNK2twX#!HWL zPI+9Xdf2He(RSMPxc@U6%-gW5?xo*nfzPwwYi%$pbB}rFj%&p>S6v_bp}Fc9N}}=v z!X9}V_ROsp=Ux@_54)^LL-jf%j~QjH3w7Ts9d^ZnhvK#OY07@J-|-~3p$+M^X{im5 z`F5MTG=22*W2oj#$j2z1m-w7k@6Rsly3KWR{aIg>`<=t{oKUkz z{1MIxL+)s2_HmXe%kU`>6|3B<9 z|6T5T{mxhNc(M9PV_%sIv(YD%{O`KG7X zp6OU0Robcdx|QdO9n+s~gWbBd#dFuM;!O8m+T9k`yWQVJxu~rbec}nNyM8og=p06S z&Llzx*;Ly3l5F$93rZifboa1hNk>7_9~t>CU1bvyB0QYI&9uGuy+?Td)EYeSAG9Na>(8- z3*pveBVE?Elw|A7utch>&y3#h-Qr>Q(i<>(Ye#SH=Jr?DEBmB;54fT`JkWFLli`H3FhsyKqz35lDhpPL$`+5cT9-2ACZL8Qm?Y>Us z&dVUoQr7qywl;cqe*4cM@n}xSRzFaT6lg4n}DMR{O$D-JH*b)}S#?9NXrA^zy zFeZHCr-j^oOtgL39YXK<6kCk?_$`bVk&o{=CtRnoo0p`utFk~lggKvVsT!0=(GltH zUhQBT*K_`+Jr12k$#X>fRlIAWF+k_dGzOHran}D|?J}=No06^U*g5wql`jZul9-?8 z!g=8JO!B|T-{sUz4S@>(LVY^8e4o+!Y%YWS5yjY)QD@xD!a_HkPoeI#20rw zDxKZ~EEzo1e+)0(byHf}&n%8v9G`%F%-2ZwWyZX?%RlTgFF;z_uZ544+9Mm~RM+in zyz30T=3;FScFl_Rp!zFkuXHw%o)J2g^4;yn`TIq1{sVkD|CK!FU&s$M74id2d;KE( z2l__%e+vA37&o|K4mbG9NbbOZvrmS%ohb}|=ZvswBF6Lnoc&3IF)vOM@J996e%D`5 z3J1PA^JMsMaJTc0U|Mp?k4sqMH`IU0(~pPKo&HO_X^F2`u=)wFeLkO|Zl`(Sz`03J zgfHO-#4qt07@v;$na0bpm%7Xx>Zr7vHy6Cb2jzSTZI>gMe8ys4KL_3|{L~zpyK*si zeT8&4u6CJk<1I&C&f%n6WRLVQ281YHelvI2MSVp%44Jc3Qu#Kxfo{9)~{Z4W1aY2J4r1Jhg3j7su{gmHAoQ{$J|C zuKA$d56k)8F6%OX8~M5ONBDV!56k01853kj)0j}se`rjEU+FSml53o%MeKZBoS`f9+n2h`s~KIAd9ON{_H>u| zJ|@3sS^AoLZeHv%Cxcfzm&Zb9hoQ6n=5o@R=NSU^V`Xk3ol(0g^GRF}ok?@b?eksc ziOBmf`YE-sqO-pG!{sNt%me=yy0}@`We#AvkjBPFggf!BS<&&$b6w_J2c`W?c zu`csoO`59$xAYq3jQ-Nx%|f-wcTG&%s)r zgLV8#tmFISb-W&H_{V3?h3~~Wej01`+rYQ$NHwk|~S@aq9InMmOuD!5D_CfAB z%{qP>Z^kR|hTIS9_z$p-w_|;}f_1!N(s_9uAB1(>7wfT!?UBOwbeRV;UG|(?`qKN2 zoG!Bq@94DS_}z{FJ$1dYqs#oBT>g9Q%i)<_=AU@fIU)VOr_SMqLp)Wy!+?q&mM_cGxty38g;=bH2C1R*pr6?+O3Z!+cZ(I)ZCRJdqU zp`l>)65iM6w0thJ2XoBcNMm~4$pnm&~Ow(CE2kFs%Lm-!EP@AXah zD3|AVnSYCPed@pQf1&@mUFMfG<+ztIbu0z;znn%{Q!Y;U?-?h@rgfQ5e8W25Ov3uF zNpmkY!?eUM^BPT>dmWF*reGhT=vTH!FOK*x((i;W^9ZH<@|eCj^uMV5ab0F7?&7p| z#KqA6qVf;NxdAJGUJ|`8`wIKHd$AR7#B`Z$NcaE89`a@+_T9+)Ue@Vj5nbj}a{JI) zb1!q&&G0Vs0hVT0lJ-nJUA7PZQ`d>`Al(0<+{!t~*EpXI!TId}$vKF3ALoV2nTUE` zD4kJ-5AHJG@1eIJ(b}9JHJSdF+{90%^?9khJ}>QSeHLTHbTM+ddwu>$Hzq#yWK==` z?-ze8jWdTqKDFb2!+zwl*k%3%f9u`n`uofO#rkXLGULwZ-t1p}m$?SKbgqnX?S6Yk zXE^j;ZkXn8mgx*9ALql$nX%R;iC4C02f z)0}b#eT#M9T;J3F)oC6JdCD2ujn6yHv8+t@-Uq_lJIzBh^}w0x-Opb>?KBV2G46`St8v{_<*W3hj+(toC&-Ph)w+XWb#n z8RxXtPIEQ#RrGe_@15oioIBiZ>NIZ$uiGv{JN|!lwjTcbPV)vu zznZh@i-G^)`hBOEpdP&H|HZtx?{LC*%E$8SiJ_ zM;dxFPH)?sfV5`N`~xK-%=W;_gUXYhT+z^_qm#U{mP$5@!w#*cJ? z*KS1hzy9q&`#Vqdgp&Vf-$2AYR zVbH_t{iHQP_6@`@LAu41KincXe2p=10USPz7dQ`YF5Dcr6u8-Nv*2dJ&48N@Hw`Ws zE(tCXZYtaqI5S)V9KJypI0^1fy8H-jM0%p{vvFL3KfJ(^a3kP`!wrLrfs2NVf*T4K z2^Rr31P))c3k-w9_v->f;DX_T;P6SnzyLUZIJ_qb#P{w3aSs)UPY(wA!C@{5#COXA z@x~z#?;f$&$(5!{Dx4!95C{z>>9`g0KUGy$?aZ{Yx|Efvbslg{`c&=#5;MDLutD#@g;95Q0ui>Y?n^K0yHT)Rl zZu%GvzD&dao(BJ1ga1fVufrOdZ)td5)!@4|Ja1^|FKFasXn5$2mr~}hHT+L&_}6K8 zr0*9>efKXK{uLUYr5e0Q!=vpp?`Y`HXz&@Dv_H_$wfQD!c&r+paTKm zo8&)TlkTiWU)pkoYj|i~SM;@7L$_(_zhA?%Si|#yhTf{dKiA;HHT=^w_^&iPUup0W z8XkOx*j={U8a!6R%Sgpnl<_36V>i|{7{3x zslo3kw~uk5ofn_i$aqkLlTEAWj%->5e@cVrY4C2m+f;b8y1S_1*{#8|H8|N-N?Nk3 z75st*KcvCWY4BtXzDR@rNmHI38v0TV{yPoNI~rVDchaj;9%`>Ibv*tSLS#0M)NVD& zHhlL?#NUEx+dx}aExo@s-=Zm-Ru6Yf-$&b$?XQ$~jt0M@43B=No!9S}rjLBd=G)5b z);rsLv?o!@c1PJB<)OXHH%&u(mv5Se%AazV@-IXm>DCFq?L2OToy=cwpfC8~d)-U% zcP-hGT);AXM|wH->o4=6lULyHTUO%lT$bSPT|Sy1T>W%5f3+=x^57HnZlA?@Aui(J5`?96Lk@m|b1o@P zkGSxIZ}~`ZSZfcw2^o*Q@Yv-K$LQSaVT;^vJC84dJudAdTwAJPpZB!?$>yhiPTwIR zJD%6$yVB54i=L~*{r&v?jRZYF@DX6M zb5X+EpmN+4K0*jaIF?Hl#siMw&T;{uCkktYd4O?zBDWH7k}!!22Asy3g@*zE$i9jX zg!>B*JD3|Ooa3(|w2;f?)&dUWE(_U^$8k>xxDVr=<5qLqD99ZV%5^Ri>V7;6^YlIYrz07{KQ4(yE)7xZuO)(O^QRcJC>3xSw^ky8k&=22gWIwB% zUX=5zlhZfJ^2+7(jb0LeI}W1g7a`Yklae0B0{!rvME2{D=|wWklk;tr%QaE1k5i7f zdrRqB3=%BBqC~%DIi3v|gza)Y4$0-!uV8H4L^*s&mR~DFmz;iv96v+WZwU_E=$9wg z&x}Jk`o)S8Eb)<{9N$I*4!<=cB{)N_PoW%tVwgm493(-DOy4i(e?kshWciJMcY3Z9MylvfgTF@h5hjN%B_CreIWEbD^~g6S6_kEb#@eWo04m-Sd7m$yicZyz9~%arvP z3j>dSnX>#D@_58|0@-iAT%Hm+zFsc>CV5_&FY9519KT5}cZFQOV!8YlIX;yZI{dQa zax}={D!F{cep37(8J6SFoPM!#`aD@*Wy&}mEX6m<=?BU5G`akF(NcV+5-;l~O&-68 zf~5FCvit@)zRp*o+vIsrl;d5p-ste2es!|kP&wW#^T*2l`-D7BQswy2XqJpill5LF z!z4LAP0rUY=hH5?M}ZvgE4QavmTQ;eC(7|DiX1;FpH^9ac`|*5oF3n=X1|GYJFJo8 z*UL~Zw@bTRz6QCTg>u*?r`s*_*DCRH`RB`eO_K8uROBk{F6(E#++Iy``c1N48~vp6 z;s0A;zxi_dRylo%T>d7Rf0-QbE5rSAJ5+>Ea=m;Nx-36hjvp(-LYc2fo(G!c z^7$Ozo4Mmb{AWs;(b@Qa(GDKYIF!9_Z}iBClh^xjBXgsN@S|>cJSpM zB9{-Bhg|cyLwP7ghE#YI{80WjkaD@*nfY)iL}ng$XdBqJ<$*01GUR8M`x4PKwXta<@|)xjb&~KGb8!0h9~zyYo`(`$@G8siCigqC9R?7;GTo4 zf~$x70xk`6-k&l5O~6>2=Erd}FqS{Ze0&S;578Vq4r?RX74zZJ;ZDI_g?k0A2Cfe7 z4{)EreFF60ry9^&)|Gx!3(z#ZYP`-?ke0Xa6gCp zJDffad~lI)DHo^5M?FJqC9H?pe4O;I6{G0{0r+8*p#J{TA+zaPPx?2=_UhaSZ-nL%0yQD7evZ z6W|izX2UIlTM4%gZVTK_xP5R(;ZDOn3U?mv8MrHO*WrE!_a@xCaDRsT0Pb@*zp=;% zE(UH4+!VOkaEsy6;U0k733mYQQMec3UWR)U?p?S)!+ij!8wXi%!{KJbEr#0xcO32+ zxR>E-;M&J?T=Yb=BV67j^dYz(!My|bN4QVne9+fM!Oex+38ya;ngu>h-z=1u@xu8e zy{(LIXBeli70SwZK1U|;Ih?*;XcGAK`X-5aqMLalrwE94)1o1d$A6uD!cUU zI{PXB=PC=N?jk-1A)FNdAmXk5{Db;J|H=@6s*s8Z0DD9mf%b^nD1f@CqG*7k=*DP1 zOWzn>IUJ#?;gur^jI>S!D4f_Z9l$ZYY9>I#%-Y!ib+gMC0F*CqEZ}$O9SdrfBUH1z zbveIL-@3ewLT$@!D-g1+s9c4Rb5%z=Ku3DX8W5}3RIf+KvY}`LK+%Tk4g3au^@h?- z2$gQC+k{Zvrn1clm2Ixyj8OgNimeD$Y;D?#P}A1(?FhAPw`BsfXVzo^G-Orm0;t|q zwj02{yKOH($6o6`0PDWWeMnciuX#U0&HF6}{ElEnf!zD)mN{-YX0kQUo^C&`=yvlrl+I;6R3LUqe0%$nZaT=iGw7r1$ z$N-dvGdv<&&hQlv6XJZBZz&|i_5@#Zo)BvhUtB~8{2Cw|^zf}0Skwi+5(uhrfwvYj zN-^J5?3oKFl}}S_$J4x}gpiUF-p-K9626roWzX{VXGs)%7ZBuonRh-<2z<*G9t{e= z1qe!eg>M6rrF505f3+F@i zb^c`m2$lyF4g)9}W*J4HQI=Q&vF&jH?Qxay$h9)QcpO5-G+&CS;F}-;fK*y}+*#KoJ zm2&_p=d{itX{~eGC|EVOc^*K^ybb~#^NQzFWbu4gDuRWJ+m-;dEwL^osOQUqI< z7OVs)SXr`?s3j}yX$U%3xmE$VR@qh))wbH6j-Wl=nNC4xdhHqnEo%$!11P!AMxgb+ zvUL<$zYfD;hrVKC>qdau`!O7L=xZM6*bLCI*|~)Y*wVfaLHqvpg9LId#{r6t*AS>V zUUhuYQV=0MPd+;nRHkB`M)0zUUbup$j&l3qn^? z7lf#1`KrrAabD(I&;_CS=RNyk*%jW7KjKC|sJX(ov+jwRt_m~V4!JXCp)0pm!Hxk{0|BZB7Wo4du|67sK3W-!U{!E? zB!DxrdL;3TEFVQF%SYKpA!r*_#e!9%Dn}z&Il4TS#l|{f5p={>#GwmU#I=k=sAZge zJVn~aJI5pF8gH2ZU}0T20$sRm5`yiMnkNG^Pp(ZM-r5AK89}SL(M-WcbJ-LG%cfYT zQqVfJI0?bxBug>{Ey+#O5p+y1o<-DI9kYnqF{^Dhf^DfNL{=i}iV=+|sfS!IpjY{glMMACokK2kp5mNMitUj~5-MVA1hv3RbhR z5P`AKcnZOW)0loK(HS1YfhChh1+;&b$G{*GKpVyf)b|jNAwnd8W{ebYJ;GzK5DCC# zB@%oL8zKR?FnU0GjK=^Xl01&k#^?A(j2>uI9z79yj2@cPp+Q8qoFfsxc21kfJTJRQI>y>2Ez-OPrWeh>9nKO1INEJ94%A}sbuwaUI4 zpkXx@`wT4hMe6{{*16ULST>Yy1gO|pdOtwv{k8Xdh^oE6WjkWpwzp;iu*DssXmN)q zTHG_F#XSRyd+9-hY_v>gV423k4EeM$XGjY(LdR=QA=GfH<}`uRwgMgyKCRF_t01q? z8Pqu(SfNpkhxtlOf*E@FXh;u!P)gCFkoE-Mf%Q9s*6#|m9*X%CZ^t5yf=Y{Y&y280 zw_}P#`Pmc+q~saC2ooa^X|+a<(o_kpNmFG8H7u>x$mKGdGf_?~+m}5{Rs1c!<~b(( zIkuKV1+29_3Xg`zYzk>D(gKfKNOLMQCz+8MoZba%bKs+#?K;^>ufZG6UtzYTE+0s{ zu0sbaq62d-pNWp*(j(;37kKeI;aR+NkAlhKRpbS7kyo)4F7_&;aG95l*lb>{UQAZ2 zmxIU-FDH?mUM>o`yetNUEC#CqA*-Q?LPdsR1Cv~As5h{*^@c`@cNt2J0HsEokt7=% zjf}0)*kWXCC1R;a@nX4%_;RsXWbw^n3z1tyCy||Ev9~1MyTlvh67Mo^kjuQAByy8? zGm)FU3w;<{p-+jAB;BXfhot+I`;c^>W+}eer1P=LvSomE0AsTb zD5P-VfLbZsF`!@|!UY4Z1Ch)+uzDb4s~%WK7HwNM*kLn z#J2diO0li}4kA1J%L5p9d4MedVOxMb0BrVv7Kz*v&_?9802h&60ro(~Z4aytWa_I9 ztO-PXO<;W>;_Cw~K~hPBtU(}KgGz%yE)8ms$PGd5K`dE&PzS|#1X+U-Zw;;rX31KD zoxvbGgRLP%4yg)Z%$ttz}OJh8V1JJu##{_E(tFW2e~}l9uBfSyiy{!gm)0RBfMgWl+6(P z5Xxpq)ex{%4RJ_h#}FrxokI#DKrV=|M=)-CM0Etn)e-GdxIMy2VP}Lj5^UDU%1Fjm z8Ceqva!sUD3Oge^C|okMd?-NqP-_&cf;Flz3gN=2x+s>+6=jV^*cy#JBt|Cokc_P{ zx{1h5(Je%7i7tv^+|@CSF(5a_w8RiOrf3)=7Y!>N26E{z+c1!A!zv_l#jq+OR}HHr za_z8oiQGP{gUB7jtiwUJ4zC){ggAy5i~zY{MBxaK3rAFskg^=%9Knj@9O0sP*9gl< z#9KyIjb!mvBkM+jTnGD(h08}(j6%3#ROKkJRl?4b*hbY5xph>*Xn=yz_R)-NA6-M? zn$h*6!CenCP!bYrj|JHtTOA8>HLOBLCcBW8r6R5}4)INKtpr-J<6-2=_?mc<7GEDv z(&9VfS+b6J>ll!&W2(lmaMhS<3RjP*8w0kwF)oQ*Hnwss$W3Eg30TKr|FnVapP20C zajg_?rG3;+eFtn(Cd)p)ay-bD>6J%fh8-LP&k3&CsYxrnou(VY&8?= zDO5k9nL^DI3MVpIg%e9Af?P7Od?Lu@6YC^$-Nbq#*H3IDa^pnHB*txl%` z0m>#fO=cN3O>UuZ%Vfu7a64cRGw#}ih6Ios5-esGwwMde2p7^`4|%~(X5>b53z1vQ z?L=-jmrh~i(kbOrKrWwBF$Lrbn9+<}H5LCuEZTl*`&5>9`&1`|ol`3kS$svJJrQAh zqC*Nh5{r@;V^LCB5+cfyDw0SZ>~O|!NiIqTxhT0b8RXLB28rB|+)U)=HB%@VnJ zhJ(nC8D%pWTNx}fmcC(T<4i;}&TN?p{+5|Vvm`OI%4UIFhHU~1cg(WRM%X&LcsAII zXV=Y^#H3WDfLxK%n!>`ZDeV+)Pw7YjTStn04kO#=U|WH1McWE=letxM85#SFxvUVa zbKB-3!aA>X9zf|l`#hw!&uf{-*lOpu%m=w;e%pMI+vb-nVC0eor3;9A0S=hZxHw>9 zvK$MXM0PH45!toCvJfH5!s3Mp6)&_cWNB>+8x~5{U)V_T&V{apI4*N7EM3InOBaaSpa6{8giteV1( zWo-o7mN}O}nsZsfa)b(&7cNJraCy~ombMB@m{z`uh^w5d2JV+ld&T6lt!`K? zsdaVZYA`jfZe9(6&8u4|)Uw)1A?NDibSAzyy(}H%s`Q$4ez(2`+df?(EJ0^_^%^Fm zdQJTr#22i!tY!R`wMAnhcya!Z^un&twtpnMFHUM9I$forq}P*^tE|8nQaF zq&%{lvk}ppUA>D%RPSov#Ufn08gdZPkYnG?BJ8`X_ppfCJ*9gQQM$KdFN^5dYv0cz zs`lgL5~6T&$s*W!C3Jtlc94Z_2U~L)V_R<{{jgSDVkm_4(z;DE^q`I15{_fo2KojyD{KrW&x5W}2!xQF4++l%2$(Cx-W_ zhEps>)2WtI&~?kHhSN;fO{Z}hinW?fLm2~L0k+?0`!hT?S&RmV%{7x(Yhfp&7!wck z*m|*OKpaT1=n{4$#Zb#RI+S9iah+qQs8B^AkBt~h1c+TW<7|0?cVLsYTMr-mZI-0z zNp{|fwe~!ZEgMS$h+Vi;j0=1{w&hrZFVJS3(VT2M&QiBtWCyUQH{08>)bg<_hR@Tq zS!XoMB|86NNdQ}M0G3JHI~(?Snez6IiN=W-j>C{0d~Eih9r$!Wi>dNi9=kpi9)2l~ z$9r{=3FrZXNCvT-XJKa0rLILM%v3je%SPv=1`Z7JJPJO)>QR}grqvLfKj~;bAqr3hdlSG0`x2lXW+i|f_9H;yjG`F;m9P#0I$#t6IAQw{5hfpi4JIBy4Jm2(WfNGdz04|td0L^r#hf2e!0w`Hjx(L9rsEvRnwIUUu0VWba1xzAt)oTdgco?91 zT|I%y^|%;8<7~ji2#9nsg0|g+Lt@Cp`VCNu)tW+Bn*l6Xi2>TP+jjx9=2Y(iuwzXH zXgbiEOW+W0^-wY_ivTXHh7>x6!(${kUUCwk01F&|6YCm4FJl(VG?NTYODg37XG z36!QncGwFouvG_?s`Kou7rloqDxg>|(g`n+dbW-LsbGr-kP^0Z0BMv?0Z|`m?tmO= z-p43!GPD>l6WEN^Mu0YByD>aZy3J(wnh$I6VOR7HoNx6P?-Z@xeoA_>`>wDFa&hqV5h&7){xQ=kCd*E!ce5F4Q&YZh_Q!Nhk1~i zaIn)uzO`plw1&AnlT?S-g!f3|(RwxEb>SYl6hst9P-SqE(_cz!WND;F%EG7`I>jl8 zDUInbWob-#j7Q3r7-tOfq%#`Q#;_&=*5ReY0qTY~5U3qhKMJ6JbjxUf>ez-@fU3Bf zI09p9#sakA6r#V3t8pCBUwqy8=J6f{Yo5?P0g}rnR!s!3Oe&|th1yAVllqg>KB@WKhM;lL1ao98Vm&Cc+n(mRLaZU3YWLCei zaU%*+w5fO#K*s|XdL822;@Sexkkyz4P;#>DB!x~l(e?v72p4X1VDsYY4tIFis6EO% zA0-5@D{9#@3*6V#;Nk{0lgnT=;_*)7I?Dz=jnlXLIDPo_oZe=tGhse%+t`7XhtoF> z=ol~%mpb%zgw3{-!mr@Liv0mkB8SPV&fk-Y8_m`&oI-NISndyvNgC#L~9iA%|MWESpwdnpl}JW>rm-4JiWR=wa@T2dUXL^O~IR# zG`)k2J3I`L9$}>E@f4%dBE4mpS~8V%z)mL79v0dKQ{F8}c*cSnlIe$MERV2P8&KgR zd^!3t>2wxewxH?A#@nH{JjPygr0MadqlR8{px(2KX0ygjDNDhXaKYnz6D~G!+iRUy zG7l-Si^isz@@m7Y08eGmopsHVyeAp0HotK`Qe#7n{WGPmTHd_8H(ULR<`q=_i+npQ z9`F~lD{b)G$OME=*yfX|d2PvBDrm>L()Ii%ly7~>dVaIMbUluKHsk204$sEWH#e4S z^vlXkoW5aG)dN(|rcIR(@H>$b=RK?=Y-!uV8fBYh zJLS{9tzbJcux!WS&t@F{*zvv$BO}9_NwLlhOD4$HOq>91#tBd*o}Gc3S-ykH+>vSB zL34*~M-vO%cT}@*<%6vcQhfD;bq`W}?ar2+B&}g*Q5N+Wdv<*`g{!kW*yyam@euLX z?P}ab{N*_{ITUZtX=mfKWp@z_>Mi*dsz=WP;-F76$h#hpqMrE zq-`^fh}!V7jnh}=!rrCQXJj1hlsoUP%9gOw!=+_Dc*j#`Y^>eA1=fYM7KTM z&cd!E#Yc(Xa$*R1@JPOz5S@J1&SAOv^7Jsakjl(*e7m=nLj@wU=rX4soB6;m6 zI!=)Mx|5ER#NT+b^(2bvpu;4n_*5|-(t%pQw_{u(zNLUK!$?97Eob>w3?-_A^g;tz z?L&M6-fBQzn}sjLa6t-}g|`CRtVb9}NkHIN0fAgB1y~12M!_R|AuR{c*CXt42WXX# z@HG;x=20HY1o729$~V$#f%blsFUN}y&^qv53K-SG%3gth)?nqEC0Z>WN}c09`zOw< zO3%@00sKlJtMygq_-aBhcNFq9cnXNJR}}Kqz|eYy>|6`&SID=~GeOi}+Dt&FILxYh zk`3&F^L!cJ9w24mdA=0bWt zkkxwIMZSU%)Vi22#%l%SQ1CQg1Z=Y&;Yx{W0weN{tWtMu?CeXU~pvO!;~^zbEpfe6F~eSxUxi-<4rl~Bzp zJ$y-DAOdkPB78|-AOfj@zE#Ur1k%Ka@Fjf_r=+h{Okc&& z*J?fdMj#n__>$sQGsV>*8$5ba@&*xkTcK>c#d%eh2%;z>^AboFSzp5Wf8e<|cjB4ZemD7FUS4ReJao zhj*(|9F`}fvm$P_9)1Pl&@fUQYEt?dU(RI0r#KwL+~BK$U{aBoP!r_Qz)0}hm;m_g zH{{_7r2Ho&6~65!ay|LM{K%03Ub>NIPmKKR^vHuDgF=RkeE)RV;358o+>k>dg*^WL zN*KZEM$R&sO!%{f@jOMPgdPjijhtqh?ln4Walq^_q(H^ZU|SqOQ~`g@<>kc*!z8A~ z_#-KUxku3G17>0!j6Zr25g4Teyp;g{ut8zM-?o_ewfGZBUlYq8e>*{$Q4*3p00EYs z0s~X|hxpKw5IblwCxo6tQ3j`Srvr%M&-26*5W_7FNW@>?&}a0xAgZ3pGz--WHX}l* zKnUXkHB^sOCKKoggvEk80_nno!OO}3>X3m5;IAwLcoHRXM*4x1i8CdEWhjd?NO4h` zI0MH;v#fx`1R<-@Q06c%CUCfw4G$Bl8o%SXrX_}idJZc+esjrFDt zUh7cZ38}oK^NEVoy(4whweY)Mui{yAg$8ZGo8zb;B0t)%cPS|183zIkG6=a`kS>uh-61Ym!t{r^5Z$lv*RBSyBV3>^I2xGY zsDc^u6im!lFz;iWzitLe@j0Q;OeeWcVLs7(PjOwsDwMR-1H392zXebw7)t?O6O7LR+z^b<1N=lVUIC~UjAZ~n6^t(cWEj5<|8>Fm zBEZiCV>v*LVEhii8-nq>06!Ou-vjuCV6*|$3dXAdzZ8tu0RBfXz69_q!B_!MCm3G_ zcvCQbAK)#)_yd5q1*09HUNF7_@N2>NLxA51#vcK^BN!_I8U*8YfK20$;r~`Jz6!9z zSOx!gg7GzgcLn1OfJVXi6MzSe)$o5W7=H@zo?v_(;17cFX8=utu?FCeg7FQ2n}YG@ z0DlsUzW`_!jI{t+#$Uq!vtaxmfWHXFUjh78FxCOI2*x)7-WQB-0sKucz76nq!B`K_ zDj0ta@DIWG8-RZb#&-Zd5R44~ImX|@cL>Jc0emPJ-v#(cFg5~wEEsDDTL7Gb@qK_V z1>@fUz7mXo2l!erwgR{W<39jy3C4c{+!l-<030$p;Qw1Neh6^b_!0ag#*g852*x&m zPQmyIK$l?r6rfu$eg;sWGqwYq(HTDnIIA=M3*aH0@e2Tp&gcYqSZDka;1QkiD}YCJ z#;*aaI-?8VF`e-iz~egOZGdw+iG_5yL)0SELhp zf){k6K=3J@s3Uk$C+Z0n>qIYtPwPYj!Am;PNbnh*C=x8uiQWXC)rt5(S%mJii0|e` z=q~F-UxMG#iGBnNcyR#1GrWlJdqm(SS{y|1EH4fw_?%AkC-}Th3?O(#Ck7HM(}_U@ zU(kv8URs3i+d46X;EOsDUk8cMmFw_dz5{+oC*r$u&=fBYA^2ULh;QCS=)R{DBMI7c z;!uKDbz&63M|d%s;5D6yIX6Q0l1>~(utFyeC-|~X96|8=I&mbyALztU1noL;G{IMN zVl2TQ>clvLKhlZu1S@so7=qVz;#h(|)`{Z?zN!<)6RgsS69_)aixUZ2d2tfK*L31! zf;V(x0>Pi?L^Hu^oj8TyPj%u{g0JhuM1nuliAe-&bYe2WH*_MtZ-<#fCr&3=$cr-w z{z50tB={sR&LUW=6Y;GiOeQ+-6oTG!m_L{K^O!%M`3so8kok+4pUV8j%wNL%rOaQ( z{N>DF!TgoXPh-^cv@%s;^VgUrV_YLMy> z^A9us2>Cv9iF}k1@|d5`{A0{N&ioV1Kgs-4%*Tg(kg9`&xQW%mRL71cUJo!->^Bb)o56KAZO2IHq2^pqaL61iM9LGf{KhqUQA{%H(61ucS0A zcwAAU$z)jQCNEOSzJ^pcd9h0NGlVE)-(5B;+Y)#7OZ&^-H-{-LRISMXLzr9CZYFA( zTh#LYM41K}RwyYAE7h_MGK4E+-#tuVnp@ziegzITtX5JQ(%k}m_j)v=zhQ{N=DUw& zu*RLi+Ws=|-Onl?;jX;z0T0muhDb#;X9_e7RRX>TSsUNy&SzbJ`Iv$XQA$eA6l_?p z1PmM8wK9bmq7|}lE~~{xxAgn_lkR(n)gs1S3sb0JlOoFSfSN;?VY8dO#ZC4-+_TQU zM|y@$;f7&KGT)=DU|Zb<+ty#fOhXLA-6``}%I)ry8U3b=FpO}g%x5Vx-6?nUn=;Zc zQc1~~h8jk>r;G>PQ^rpBlwpce=NI2&BF2rMnmF2!r34JwZgrVr45JmY?{U@(cDaj| z({Is+`BBEwlsMcF>y~nYRdBak%AS6uj4;G0DLKgqLRlN#wldZG|q5T z2^jKJp7Dl!H~E;G?0cFu5*3;0(YJt)rB-t**7pqW(S0Wvj=Ke&a0@a`G>lisobOql zsbYevib;lv>XJ3taMIn4PN|(I!7xb?;rkHJ^mW>;uL8bbg_#YL-6GHM?yh;3cZ>J6 zc-CZ!A;F#B!%}_^@$L*Q{buOgt(=_;W!&JAq zW13-jTrKQ5O<~VTB9t<4zJ+{rj}rPmA#u3d+4o7FE$fNyZZMEvf1V$NPZ~}fgmcG1 zUER7tI5j+n~RL$;Ny-B6LNze5rJ>Q#j1te8+S&z^Qz1hFroAjbW@~lU>5~0ff zPH)n8K~fpM*CS->5xUwt@wMKhmwJ;bdWdEXb43{a)Qyo2cMv*d599!C_Sf=btLsm$IQW`oLX41P~x z7FA|14YRk(>=Udb%bbc~Qke~$D#KUJ+fPk5KxG)HG7Jh{rAQmBN;7J*_E$LqRB3_1 zk16Sb)O03Ix?q(fL`@f}qG2i;uA)O!G(s(Lq)HvCqERXut)ek1I!r}}tLO+-?nsq7 zN<~MjXsn9Hsc5{4j#1IEDmqR@$E&$bP*pNfWtgO*lT|b!_#^sEEj6=QRj{8%!BbS` zsVbVNqDd;6tfJFYbh_HKGgRtK6`iG`vsE-jMdzsKTos+CqVrXBfr>6v(M2kns-lZk zbcu>CRncWCx?Dw9sOU-+O;gcTD!N)l(^Yhhimp}B`&4vY@L4+cPD8t_SKDPK7yK-d z?+1BB*z)hf#K%Fy2c) z#2d8m!SKwy7?BXoCqzz|ib#G67di19AydW3NkxPt4vL&ijltvd%ELEWAb{WZAXhDn z;L{EQkZ^AJ{dtVOlY2{|za`T*jbQXF?)MV?_Y!^Nbgwp6v=|@WEx9eygqW3fW^)0>8!|fCg;-r z$Ti+XdG=7`+8{zMAC0_^F+Z0VxsLIaStHl~oaDSv#0{aIBcyl<5eo)+ZHt`8s<54l zoXQ7t*&{scMFfWtGdF}*&>=5VG)W&u?86wwqQl<;afR1?;lBf1 zZcGoq3AoHKQdsIG4*5H9HIrd31ZAO}Ku0mjM$~5XYJVy)Tc`0KnY(eG8+pIimz2-2 zDPS8m4PGo4M=cdc!gS9F6Y(~O-?NJw%TB+%p5zY#rH&APo-gEq)0t#^5&s0?R4c;; zel#~;LZ8Cf)CBf6h8t5NG@!Qpo*Zte&g&w?ES1C*Q_`i3f9%uzlRURvN4?W zv;k765TL*SK>`i!NPy!uj zC<6o-+pvyHl(>Y~(ar8g%<8C7M>lH3{Ff+keXsjG*EvaAe0AS_PkYVpxu1{w`8c1M zInOz=IcI$pwQM)@uKN~x_Eo3Lfn`@lp=my%&6bRl*Y{%69Wbwmay__?g9kI}QHgTp z1_G`nk$*3d%C{uuF)Le>j$CyZ?!M|=^(`RcbX#xiqAd- zHfG)8{Ajk@`?UEo6}5ZsUbA`6IOU5+2b$;b9%9m-J!Vo=C!r&bwU0a7kxT8~?dZzL zd;}ftGCN#!E>_Dy=PJPy8iN{7I?c4FoQ~pVx6j<%93_XHIi?r?o#&k4!R9E(nX~0E za*reb9CHIcHxpxv)u#Xfn9IR^{(Wo8H5uAn>Y#^Zq#nACS`8WXr~4deFD zKFrB-O=Cuu%*UEO#WjOTS(t=1-hfFT^9`;A%>2OJqPe5Fu5moV%;D-?)xXL$fX9|O z%t={zlxm<6^Fd}BaTos?Q)igdu3W>-@n&=8mBW=dd+Kag3X`r}@s^PmbKVv1TE~2J zJdv(9V85H3km_!JYf(&z)~h$#N~U z2XDyQcStK8aO@8Jy+>EX?H__@p@p3+*qO zEOMoaW{dDN$B9q5CO;Lp*VTLP$i1i;Gdax(TA1@Uaj!W?%M}mEBSx@3Fdxg6HYZ^@ zFwH(u>KembdwJR?=8|B`DV;8L&ESbqnACyE_www|Y1~xd8pSLv*PJ;u3&T-9TyD?FB1$Sxa-24pf8gQC&Z9x`mSknf)=JwV3xjXbPfr6ZWj_TvrC@cJN1B)sU(;{g2_Ld z5}V9fT=Fo|iO(xe<-*2==f1i|9#n}3(OdKJq!=Jf>6b@aPJa<46L|EiJf(E@i^_%R zBNGoHZuo|=8(cEk%Y~WksfQG2e7UB~`Ciyf@Q7sBEGGD)@1a#VFrEatAiS*@*R^=UJajX33v?@V z8+1D)Z}Vz`N4f!{tx!AE0r{bBs0Z2)1)yFi2=zfBs2>VL15gASgrd+86oZDLI5Yw!piyWH8i$h5 z1T+avK`Ce&N<%ZyEHnqrLko~28~umeP!5y}$y<@~pf!*O%7+S|LdXl1LO!Sxs)9B_ z)ldyo3)MmOPy^HiwLI6o7i6Ak+tipnfO}4L}iS5Q;)WPz)M|;?M|` zfJUJ)XdFsH6VN0y1*M>AC=Ja(v(Owg4=q5r#&ftJHY#e40cwI;p?0VP@Vra1KNN-rpa?Vw zMWG=m1`R`TXaq_?uR*UvZ$RIH{u%l==m*e`pr1m&fc^veE%bZn9q3)?&rrrm*bJbR z(5cYr(3#LV(D~3s&?V4XXgyQ{RX|rjS3*}q*Fo1qH$vN>TcF#ZMyLha3Ecthg*u_T zp^bijN1Lamqj}Fx&&S(3yW|x>MHTD3>%5)gd?Dy}Zm@yspKu zzGfF*j?;Pf`b}*gZ|m6WZ|hut_1@jP@y?zayi%xc@7|8C_1iXG-?e^gbIXm}>eqF( z-r-mhTz_*HDqFw3bMN-H&hGV__O|TX-L|K@YkkY!*0%MvH5<2W-MGH1vt|9qcgrX1 zb?oYH-tK5@+<4PX8*gpgw)rF1G}hf(drf1bqouvM)3I+)*RGxVeMa4m9UaX(Z!kYU zY<||8pI4cmo6OJ6=I2Mu&#N6X{W;*Sx)>?YNS7R}!7kg`?9NAcua_ zk)y>L0&`7wIqvG*h5kw`eeLSJlc7DBd8512+1Ax&wX$>H9>j_o^ipk?pgJ9Z(W zrDLz8n%!;eYHPd0vBST&3j@~J*xKBA*RDN{dw1+GP4u+96rqm2*jMEPRhwOD+=rc_ zt*5)Q*=kz7qj4Wvw$H47kNMewJli|&(3QibbZ>{h6Ha%q%dNY*n!CE%b}tTc>pr}& z3a^d2afjZxtWj#a%N)MFc&ipVwY06Y?LEo9k*e-*C;Q#%piB;p)20H{Q_bbu_+L^yO>Zf-wXN=&TE|Ab8~0X6EndatxNC1`t7DsaO!7Orv8}f? zJFaqcW5{+n@cyw~j^@@@yqwI@?%3|w?Pzthw{~EiRA41}(HCzS)aqy~DFS_9v7@mF zDn@)6@>FbaG?um?3|1h$tlZJ)Ls|*sD@7T^mmwaVYpg&%FVc(Pw+Ll@*q|y9-z;%R zD-|CIHzUr6I*Va%K)q#9GyGK`e+lB6QGcoUNBnm9-T-?8$`m8K9eyfcZ+=l$E@X?Gq+mL^Ulto+%^6x;t z?PyPtltKD-Xb19?N>}7ju#1tW7;(jj zD@I%~;!0qbz%GGZ0=pD>N)cCzdP)&riuh8*mm#hUab<`rLtL4(AMxeLUyii$3P;Oc z07>PDu0T`;vR1&ZfbByzAL4w7^C8ZMxDBv3z}^6R1MFtl&9LRVq8avf*xO-mhuwnm zEwEc)w}_4OR@kj*QY+$G5!Z?)wIaR^dE1cIhWIwbw;^r^>>bFv193YLw*znX!`XJ< zjvZ~Cn9NyvivE7n(}YW4ES`2vgWO17LvAK-B0o%iglr^R$erYFvXi`ryqD}HA0Ye5 zF!>ny1bKvffqa$x2Ki0$+vJ<%cgcSx-y(lV{)GHF`781_#3UU)!P1caLWF1*gHjqu^PVx?NFWE)jMczZ+OMZsDkG!A! z0{Ia6F!>1i82JQwh&)U_N4`kDLLMW(PQFIIPQF2Yhx}(U_hWketvEDQLtRF+b{U^Pz8lMPqs^fi^5Q>0h!a>o+;pr)@%(=ETs zVX3=Hvq|nGz!Eu6GfD2p&!Muouhm?Ap=SGan({N5Eb;eiPLmB=wB2!uX5doIIkN6D zZTFI!INlv(H@>2hB}wMuD=ArO$#Ki(dXcY$WRb6aWNDDEGO)DKekiK@T}f%I}7|dUBR@1@$>Da=Kt{=FvH-_p zS*#a2$7s)x=A#&pp5S&hNA}_8a#`Y}o7+_1cc9U@)aZUf{XnI?13()lA~f?Oc27eR;5*7>GM z7q|OTGD=R9O>1=i069v!xqsA>!;{!&l&kO^{uT;tL8)RTkc6q$R0PWO_% zg?4{C(2)C_FY9KJ>~?>fzeYR$pTnx)rkrpe?D+MXl*wc3u{rs;3c zth`;*M-DK4gq$WFOs_hQ9khGMAQ>hH$tW2kr^snC_oKQU{YrC=?B?;VmyD7w9`{z0 z^0R_0K{7;6kSQ{c$HfLxe$$m@lFZ4}b{^S7%Gc$x$k*VqF9SpHWKdZ@Ba**`$IND1l$yw6R<7u2sk%c_IHjwRPgd8VJ zd7Sl=Lu8t?Uf}NM@phP;BlCH@ttEq`i^ttuvW^UqV^%tkzlEfqtmJVxPUiEt>m$3# z7@5!Gt~omy<2yuqnw%x~^Eh0{<8CY2Pfn3u9)Ekt069!1$Q&MrtI1w6PR^1Z9*^tE zQPRcZaUD58R`WRQCx^&1nY+f^j2yjWlFT_*$LEoCWG;`(4P-8lzhk7wqsz6DF>;#p zUBGlQOs2>>9(Tj!Aekl$F4E;|$pLbPEX>#GePoi%xtQh1AUREX-mlZWWINeS7F?p! z<)!AbgvkZ6pg_mZkp-7(yOwMq`^n17bo#9SYLo+o>k>>;xC%N8kHg{(;rBqJuRmljED)PVyweq%|D`6jly%zRM``QAeOTJQ(p;ZJPpo&sx-{wU(Mg0CL*UAhk8A0qyTzKbW;Bm5Zj zBiLRrB0BWOA07vPToKt{48DM`8cV=`nf*xa#RYdhQ1)m4J3mMM5C1XriU0ia_rCi& z>K=pAi2FA9OYj58|10n#sPhfP-3E?>4d9!gf%FeT-$A$$aY?WVto_D+{%Jed0zLG0 z@|;%0w?P-b@#Xz5rQZMB9SHv$^bUNtgY#f@Z(wv6!rzBJ2E8Rj`5%DSqmFlxrvu>{ zgcl@?wB4|`!u}KN-LU@w;XUAu;GYrK`1|jkT8nT3avhUbzcG?wYag zeyB$txjRJe5|~0-J@WWLxx|yZL*%XkIabJBB2$QyKe_iKPVSbGyD~-)c0nTuM9eleX#vt6)1l;Od>vvu-r*i2iuSECP?nMN+ZpOIJqmS z4{?K%7n(!d80;um05w5!2h#%L`Vr2B+7Zq}dj>!k)P(eWa2n<1PN#A32%0^DxITnS zQKk|~!Y+k!Q8pLsfqJ2NXb9MWTaHhI)<73R za(7%YS z5|X>={sd)XU9E!7gf4*ALPgLOklaysBXlbychl{L?t(rE$z600LXSXCLWiN3psz#U zgyaso??XR@ehs|?$sKdq*tSoGJpnxny#jp$dIS0w=ts~mq2EJ)g0it~u7b{iE{4`a8=$M9t{3mKx)ocu>2ww$&p%zuD4TVOVx1&R;u$* zzLaxVcE;x}5?hXQI%lmN%CkcOYzaEG+K!XGOvn8Z4s_@&JD=Q&ujAV75=X5Pt}{GR z=f7IE`gc1d`=ePd<4Ut#vfpSwe{bh0vVH%|uDQpG%edrX@%;g-oYQ=Y8)JQTTjXwB z?N`p!W+-#j1yXX8og(LaooCvP+i8c&t&r<=56U@Z!j2$?cZ!N}qIp;^4j zc6_njm59r#EMmuf!m2j&QC+QNtM6FVs*l^b$LzS1?R;{xuh|9Hd8UWc?UX?)l<{M< z&Vh$(TlN2wRYu9dSP#IrtWf6Frk}sF>$=n~m$E~LEDssqGJQX3=U!o_$b24$`ibRN z$$?$hm9j_2ZHMl+$|;#^qVuh@O1Qpvq4-MJ^_SRr(stYhR>)aw_F#|QrYzgfm&}x) zU2DiHqh_rvOKD<+o@x=zjy4oo9q&DQ@Qr? znjMmFcy(NpT~_Nsc1TX_y7Y&wP{tbM35s-@~9VeG*I`nBPlyQaWwa3o= z11m-S!S?zgyUv)MFK)+u#j4YFuSfd#UCUNOmWPaOW-SLSJ6pa`(=C~|{j9c9Rhiv} ztL>1-u30Y9blHdUeDabK`Qv$oftTfWpr zJ5*?e(7z>1uMWe>@`drZ`P5uaNMB&~{J)Uy!H~%!PhdYEyP38YKdqm;z+Pbtj6E^ z-S8tnlYJ$l_NE{G;=oI%{`#VuPrPy} zB3)I%y05#ora%43=`)@m`RJQ($wAeZa(Yj zKL-BzuVvr+_|3bom0dXd{NJUnAI*Dy^w>v#^vj=qDV|u1$c%Twr3^Evr@%ihd) zU3PHL<;Xl`h51bfdWI$A)l8LnR@Rox>@AsFvT8DO5WF1L(afSPnOA0AkH{qvK15u- zG$IEPD4q40%r(a{&qj)Zk1JN(n0YP2mu|_-I4a(*K(1vGrHHt4X%06c-e>yBJC=Ed z=?8PP;pc=%M@G(;OwWppweIQ6OK!+4{!C`Z|L;Chot5#6ySHRzJd(BLSXRdL-CHsS zvbKQkZYxlUzyXPo06wPgc6t>P50Gy!u_do*Z*fn*jj-v_={xOhF|3THvn|eo)2z5m z2SNujGsMvWapA1ADv>frk0Q$Sbl`yaaZj^G?MU)BS@{>E+N~(7ohHrB457RPmZiWp z8|WUAA;1F#j>}{Yidp=`>h0!Q9-Rfp*KT#*S!1UBr7qbH>|y3;Ri5_t0kdJ+^8szS zr7LE1;d@pn)kw_;;AP2rT^uj7zN6?H*Ri?!Wo1j?sFXBE+=^Ko-sR%jubFAz<=B{IIdP_TRHh>*-)-LM?V;A?=<>i)dC}!)>3~M#()#C1!RlmFoh_H5m zWkYPQo28vG-PtKi8(hr_t0Xboo{JHdeo$~?>$8J=C*v8x4g$F zm}_v^CUEq`QIJg5SiQ%ZwHv;)%gZ*F6AQtkwHEAgu{Q>D^T%=aZQ09o{o zIS}GNv1Qq@1)I6KKibD5Gxt%mi8z_)W47f)yqT5aK)o!7y+I;_y=5$Jy-Nqq9t9*L z^U@^oVy-E(Pe*YGv@;{c>fo{>b_VUuI*ys0SUSw+mSr~GYT*HM^Kp0UZOBfN1Ju#Q z?P|Gy9(>^9xD&upoDUZrnUz`lgVSdnNp%_VD7BfRUcWqT=`fmIIDnB@euOro|Ax_c zk8N0bZl3w28mq&)8q1-1JU(Hd?KQf1-nN<{Tza^(;_YqJim zC#=WioA~jAhE4oEcX@r~p%3>*mlj&wPG$3v>di)q6Mf#1%;w0+y3=b>a_Pa8D0AnL zC}*9uLf?BUwKJP8t*!OAjY%@;vm8R!%CN>yD9y0f$$M9Xjd5`!Ufhka_b>BqZ3R5P znmdsdXRpF#O<1-v;LB{+QEQzYc-!pQ@jJC-GKZ&DhQ|!)>zTK)7s81--dm)oRhK=s z)^23&GE2u{3!1oic+(>yPRzXMzEos6TviV8T(jor zTVXfYs%UA$P0unY(jt3Y?KLNDG`nIA{o>`0<;_YFuSfNj4*rgSVV*zCRGjIh9_s>W zNvGJ?1LnG8F=>c-Fj#hEG#w${8pEp75H#ChmSvBntaZw?8m31dDU16DtCcu?)p9}u zOef2ZIkr1Vveuuu!RYJiMP~@fxS1nrZg0o;&T64O%x0UH`Lr*lmNeD8)<1w#pZwAC zw~g@uXVq!{jqGwQBhAoj&AhI$dZOEb+TSC2d6TS7QtCEWyLsfXSLSgY_$#^17A@_; zU&;Ufpn+za?eVwzZ>}qIm0J6uxse`Sw&j=`%yHY>mcP37V?<>`elO=s276gWe`OT@ z!g^fNv%ksP-!krhOCEO6ZZvGY=`SrTk$+{!Shn#k>%rniyZlgN9=WyK6L)6Y-GODk zbQ$vqgf=qUu?6vqy42#VCfhw7Fpg+ z)N1Xri&_3pUhM`BOFJV)tx>i{$~rZf ztL(Uai~jz?{$y73-#OYYTjz_T_TB@Fx)%?`)*)f>VsA0cT#HM#I_ac!&7pJ2`ZveL zJ+!O|lJoyK9Lu-T;|?|UmoWA@T(86B-TChgKU!q17qiO;4&Z_U7bUndk=1PW%j(V2 zza8u*EDnp5w>FKXT+Ctb`({@2D%g%%%(ZO$aCRs(L!Z^1{mL}#KWU`biqo|Wz21=8{d(x%y=5#ab{$6xu>(2QpW!aDOl}4@oPt zYO*rEV}6tPeAa=??5vE_-pP*Du9L+p+h5Kij*~g?UkK%d&mHrH0$!0tvU#$KdHI_kb zZzKLQnWv$752JZyW}eKpthW&yF?m{6??_E%MorerEtxB_GVX9!q8MDBy(KdT)n>!x z^{CoR_hr4Dxem$lH8K)1eOofu9dBh|DBubn?z{VF=86>=Z(%?(vW{Ym;3n&678;x} zi1xl$k~0@y{r_J+qGjFx&7)z~@9XMZziUrR$38s$rLp^Ne_Pl8*iF~nUH^|<{g0c{ z+`0RI>;v8TAN$yiXP)4p9g9!#u|n;5R)~Jo%Q^%XLlP-ZZ;{xp?$%vLfq)0hUO zTuRfJ1h0oZp=rcHsc#s>e2tozrZK?yeo*{{G>srA{(3cy{a_vJ9!;Yi6n{;ilxxs5 z>Od)1t7%k&xb3ZGlcrG#ZiDU9H1a|5vj!ADd74HpDCKfA4HtMSY?)*N8uM5=xL34h zPScnM#m^KdekL`IBq-&^HH}g5L$DK?Mii8CVNlBTYZ`rEE$pDC5dg){eodnryb-ov z(`W~8fZeKTG=OKpuGchb!Ccrin#Lv&KmFHKX&OFoHSAJNqY$jY{{l_J14{jCG>z4u zVK+#r79t#N4@3)o0y{m*L}v)~rkGn&RUcqZ(WrZEZ1cu!~=>>N$Q1zrQ&p=r!wr0S7J6m;*ludsfp(gHr#rrZEM|`kB-;k|6G{s2SHZ zMnPF$2~8soN`HnmjUn(1*ilU*0!sY@nnph;`9qpU5S03RHI4mXDeN9i!w+5wyF=4x zWqK3S>%kJF*J&Cxp!Ba=)2ISvJFe6;N}29udI2com#=B8p`AxN7c`KbqiMK6S^o}A zV;%=@Y44n-F$2o@q&1BcDD_Wi8WW)OH>qiift9dFHH{c3+i4V(?Q~Gn7y!jjSknlB z((gV^qZd3Gc0kkU0k44Ft!Z?Ca=d8QG@3v;zBFhWb)b~5)ikQX55V4}X?Q_tR{<#P z%GWg3fTzRG(=>9y4X|@G4Hqcwl#?82%-3sY1hxD|jkpg9VnbI^Sz*5*rO=AqK zfIX^djOh59IMZWbInswTjX_YxJECcX!BW`$nnoY(AngDs>vzAV(G8Zt_G=pLpzL3* znnnXC<5;h0)Pkk3Yc!2bp!loOG<={O-%2%&LQux1K-2Jmn1fNXM$=dg7QxQdG~A#U zwoB7k*oOPaVb5zCv!L{MM$?!E*TGI{8k3-G?-QEFI4Il2n5K~cFNZy%X$*tX-~2k?1C;S-*EE_yXB z>}gG73iQC9)HITytnYD6V-%F@fP|(I2jx69tZ58^(w?ZM5dp>jfTqz8%6Nn{jUad~ z>|RY{KPboR9!v0O2ItXUQMF_ zl=kIo8f(BaVCQKXx#0U?=V%%(P|jBlO=BJxd(z%HO=AX>@kwhMDNx!!rD;rna$HJk z8e`z;utznG5m3f6u4%-;(_jy28iU{}*bz-542r*gO`{K#@*U(-~JD0W_JPG+- zn#Mw{9=~}_V-}S2^^B%54T}GirZEb3VHY0(j!osTuunnv#R+Ro852DfNC zqG@cRT}3;vS*P#UG$wKJD*h%kjTkOo#U9c$=C0NDtfo;*yM}h?8lB#!Y2ZPmx_z_< zuF`f`)9AxRocIrF8XZ?^yIs?m|Dd+#G>s`-G)VqQO~XsOkhUKueM#@oG-5beo9)*$ zYH{)vyGGMU;v^~dxTaBnlc3o7n#L4PQesbP8tGDPPiq)U8LpE>WX&S>gNl1M$O(R*T?Qu<`kahv>;kC@KX+$s6_MoOwKs%rII8Gws ze@xTpq1{cpigqRK@dD=8H1cS#rX9mcNBj+G8mnpN(hj{}r}t?Za~ErSR?`@y9id%7 zJD+wMCmr!Wt!WI>j?k{Ay@~b$PD+x0Ueid?o}wM1-A6l*_G;P_I5|oAq^9Ag-9dZ! z0-YYyGy*tDN&fwshL3hB?Fddb~SA|iAwqcPM)AK zrdcyedjcm>Nl$7T{j@{0>uJ}~_RwBKJB*X4l<(Ixs%TfzPU0jg>EoJ4AMGIR37kaD z`ZbLZ?LOLhv{%#aTcz^{HH~W8n`lqx>hzSR(LuYNb`|YP+F_iO&Gu^=O|%MmKFg?P<48PiY#1v?H|ZXxGw~x#7}3c{YLg zpUBp>%pDiIpLU3L9&MQmFX`i1I{%oaA#?V{Ux2pELl;}-zDs^@rnU<;4Verl>C>8q zJa<9tDD58F-L$>53uzB!Fu$gePuoK~?$qhSn#L5Ii+`B|j{ioGb}wz28~-s}y3LYl zGDS|3GCq<|=I#paEwflaWY0m$p{%H<*|lRK1c@09@0;?lTBnjSxZ)vRiuyfk_DuP%p-G2H|Zef zahx>!Po~KfIY}nTF)~5Q@m9*m$S4^h!(@mIk^!=Z^povm6IoBzlGS7t=_9>l0qG(0 z$XwD*I>>pP2h9GHX);C1c|+2ZuEH1*C_}BXdbN=^*Fz z^>5ZJ$?M{*6zxeeNsf^TGETn?$R5&9wv$a{Jy}aulU1aT^pXXn zhs+~$NjK>rdA*-CtFP;`(xg1DRoXvECdn}}LCWJ@C0~q;k`XdYhR7fpAbUtZ*-kc* z^<*tsO;(XU(n}VQ9x{*2CEcWhoL`~aFORL2ex%71IZ4XnZ6$q-OptLhMn=g9874zy zkPMJLq@Qdjo5*^ymaHbLNFV7X3rG){N9K}l(m~GazrV6($uyZFC&?r^MkYx9J(m@u z9VH`Vm<*9YGC=l_ezKixBJ0UovYMkx?>2hRF~aBm-m*=_lLCCbFKaC9BCQ(nos90@6d~k-4OsbddA- z`^oG-nI==@B$*_~$OIWDV`P+!kYO@J2FU=~L;A^fvWcuGYsqS|iu93QvVioEd1Nl> zCLQEF{(dt1Po~KfIY}nTF)~5M$ru?WBV?EikwG#*_K<$EoopiO$y&0StRj7+mn#;vYxCZ ztH~q86tyZfb1dt zWINeJ)|0hlHCaXaNH1AHddNI7mvoa3avq(Re$A3;GDS|3Npg%#ka03bM#%^nCPQS9 z43IsfpKK?a$a=DttR|~SAL%6vNDrAu=8|sGLC)jvC$s-#noNkx?>2 zhRF~aBm-m*=_lLCCbFKaC9BCQ(nos90@6d~k-4NB#HODm~kPtJCZoji`u{!_xIWIIEr_Me*VOrAP{&%WGH zF2cDJ_>8O?T$Sxit(wN?>}hkS!Nchzr^CbQ-qqR8iPe+%9C%;kec8_78GUEq^US_8 zvz_y2F5q+etn^uE?K#17vYm-@M)4U~)4L|yIl5*HpTTqc&P5x}9mnU?d8zZzlJmpo zXFEqc2~V~&?U})6>VoMDkpIH53z7e#zKf72Kb(&iUL3j@ExdRFpTSG|F3EO|Uy{V< zNI{|ic`glKidJ0~xeP75Y!aWLwf$?6f9(W5M=u|{JlnZ&d0-uCUpJ1=sr9M#+0H?4 z)Qhk;h0melSTXurJcrN8lBp7;mPShvQ#yyw;j(xc;>)MX;io)MfibBV!RL@K=0m+3 zA{)^64QYH1ejxe*^t!UQ66>OJ2%oc+bNEafGX`QlIP^i}zcO+qd{)J);H@gKG20ot zdid&W=gg+rO=$Bq6W5?e*M_e}udfSThZbI!!sq;T3-}zZ9;?PW+B~=!HEvGhb8t&^ z3u3MxydHI3KZno0t)ZY{b{yg7O^T5`+qEof)`P(4QY*5s{-xo!A1te1xA2KZ?VH^TGw{_P02hFj69oeMkB zl3nRt7@s?)?tq^?(LE@8XYx*bb|<^hhPz^Sp?5vAJqUjy_6g*?XX+lb;gj>9#K?SV z=2KXwpH_XJR@u(*XVt)G!LiS&@y~&M_p8wT;CP=(_JOkxsJREgp)aV|7r==J)#QWV z!WUKGAu!ReM*G3Ym(<{wz`if5(3ionuo@48=||Pfqso<$d{j+5swO3vcvOu(s>U8g zYX9RZ{5UxDxQYqmkE;=3>TxwKoOxW$3g;hJ3&P%mDtHhK9aR0ofrBa{j2=`&!r_A| zE=(L$qr&lnDk+>isHTL|2US`)dr-{@7Y?ex6JYQO)hFzKLWPBqC)A*D=m`}Q#-C6l z!qF$xm@xT-nh;Jsp;E&16KX~{_k@}k1_o8{AlNskLc;K%8W0W+s;DqFsD_0jgDN2$ z8&u=Mi9t0fObx1O;mn|#70wT;1!3=#D)=NAdQ$ZZ2cA?BVf0BgBpiNH#f6C{)u?d% zNtF~%KB=aJ(@(0jaP~M4~Hrk_$X!nvo^yfAP`^&SHI4ylkZd`Jxl2M?*JFm^}{3r7yAgmCPT8W&C+ zQj@~eAvGac%*mqckgyF+#Ksb6>jR^-2tEez}SWO704y%+feOS#1=MJlRVPHu04uO3`DkKaK zsR7~OkctXpLuyz!GNcm1u^}}soETD*!qkwO7S0T*S>gPUS`hX=tAfvhp=VXUaNt=L z5k{X?L&D)_Ra}^OR*eeBpH)fWg(VcW^Q!lGuvLs*z;;!IPtui6sDe6)54kO z)vR#-d9@(yeL)3Z07EaRe&N6iDk6-&poWCQFQ~XM@q!u^j=!Li!pRrZlyLe5l@`vv zpyq@NFQ~waVDLrNCrrGkMuq(^s<3eUMU@oJy{P7elP{_%VPIJG4ugHeDkO{#s}W&% zSPckAht-%cIjkmx^TTREI5n(N!rqru@Fg(zk{T9!*F!hp}76xBdeJ_JE zFR59v`(IXJu}5B331Q@AH7Fc=S&a*4UsiL%iI>%+u>TbmensrKnv8?v$5ir|oSKfQ z(PL^%g0W+2_?U_xLuz0|^^PEF?wFcCrWPc1`j|=|Q!~eK#fW==aS<*L;kA}y2%Lfo zRZo+S@raE))@yI&;j*XTZ{Xmh_wC0vbz(q(j#0apf__Vq34rUBmp=YjNf8 zB1yMiL;Ex4w_Z0Z&+eD>cj^DPOg}>VIi_2$uWhD3>-DzpV}9#(wF#zwgXLeQZN0`; zUOy-GowG~#=U23?*T%|Ype6ksmj4+2uVns9Y2U+id7P`{w_ZOxMEi8+--R?u&!GJ= z`fp_UAJAVm(_g232W>^$dfja!{gp6X9+E8nyJ&}LTd%Q|2Lns`W2{deL@f4R=Klk2 z>-EIH$FNBHpPB#H^!Et!{}=sPuK_;Dbn7*|TWO!k{GX@&80}YC-$S%l(ms{8ycb03 zf0*|52#fs%+Vaj2v5(QdiuTuOuVee}qn)CCFYRvTw_bDnAk(ea1yzbi+Tzc84fZ4S zXT82zzBiC`>$S`Beh#tM(%&!XZ$0fM_TPG~^VgW)dj0kJOt)TdeGBXVjkP^9zx7({ zF80TIt@WQ+pY^)ye`5K2S^hre-$^^j`Z{T!#{AZ6xj)797nt6}`mNV=-@*LW>%3oM zy7hYSRkT}J{#o&dGS>07i|PN&@sW3Y;P~ybo-3Rq?S*YUhxlyfw_f|4uhSjYbA~IW zJmhJ@Kw$ZIw$D1=e@blpW}95l>3zVd@M%2<`Kz?8=Pp;%j@+j6UqV}3=64lldFwgL zjZE)l2HYlUrn5Rn9c>Tll*ND;H0|Q!Z2Y{sEd9mf?2jF1-*cS(>~XfVYiWI*$Jvg? zt>tCj;>JB~cggGN_jYz$F`aE)ZQYKJ#&uoYomSkg&O05AjWS7p@4jw7gKeFi2x>R2 z`*z#m&V75V=sml4;l=bjI`(zR6n}pwCj85r>+Qf@ox8f*tjw)#9c@djU0uyxU2VI! zcOb)#&Nh6u=m!k2N>sCMS9kMvHg#Ra1}ju7pU-kvVTa1? zP?;SnwL>L#sMrn_*`dWih3(i5mD`~*J5*|iO6*Xv9V)UzcEDF|JGMjRcBsq_mD-^a zJ5+3kitLab@Riw)?NGTLDzihScBsS-72BaAJA^>@Zhxue)Mtk(>`=KKDzihScBsS- z72BaAJA?q-m)P#@P=y^Tw?k!isMHRX*r8%ORAh$`fcs+Gy&bBsL*;g;%np^>p%Ob( zY=?^MP_eZ;V9#9FvbUpk9gy^fA8b(>3t<^f`z&kj}Cp>jJ^W`|1cP>CHXwnIho Ib+ozsZ}_HSRsaA1 diff --git a/src/vmsrc/lib6502/run6502 b/src/vmsrc/lib6502/run6502 deleted file mode 100755 index fcb9d018ccb181702c9c379160b018dc27cfdbb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88504 zcmeHw3wTt;+5eo~0Gka6gg{8RWWz<0a3?1uK`zTplWQfy5^vY5?1*#we+5)|8L z)Utw?^4WsdFNxR>EqoQK7M0eB`ia$ArM7~XHe718a!DxJ{r}!`W_Hh>Y#_GwdD`cH z7A9xjnR(xN=Qr=Xb2(?vzJ2j8p8kwU3?CChI6`wD#_nV`#2AZ0NJGfUSvmi@#cLL4 zuAtPwkHQ?7)QuuJAE01PPWIx}*@4*#|DnJ%#%ZX+M4%EmIn|EZYKo~Jy}Wi5CV9JE zYCh4_F5f4FHTdF)v1u{D?4O;ow)r%Py3M6|FLQc*t z<^EO@9b8@q$||2jDnF+f!5J+GT)X2ID6iuX*UzFd5l#B^^dbB8w^Lh6;_VFKiQG`^ zDyeNJrR3xkeCuJ$Hl_CAVU%+8D2RnF&$0Ux5YvSh{@s9zb%eTj@jPJcOHV$_G!rr`*- zg%bN5*VUO4i$kNs5MPNvpa127|AFlL? zL;FZhgH<7Yf2iIR1jduM~m-uW2PPMC+Zjvd8zYyoYT8ZytLtc^8fevIqc6)!<1VN9TsNq43+GuE&W)M zv#-6=+Q*)nAX%F%q4w0YSWA;tvezYnjsQJufIT&Gusv02(@=Y-2{MkGhqj(DN3_0- zdJpwu`*ui7wy=iZv=kMl%!_B0w!t^lkBPmpzL~LXOCRRmWwM-(^?I|>PZ4L$me$76 z_WN7V-j<@c6la3HMGj@Daj3@<6%!sefTd2P`uecJaf4ZEniSV$krt&EhqA#FL8nU- zo8m#Y-tpazV&GYfb`?XX&64%>2{Y=84NbtrHn?kJ8gRG{cwF1kk+Zl3__z<5bKXBY z7Puo2e$S0yJG6cE1GGn>2djN|*33F%8T&GpO?2O*V9mZ{(ARl#NI7G}FZ>qFYy3<@qZ6{rbk8B7w9`QPK3KbgE&(=Sz;PmQEC!Alz|{&mPD)U4E{wG(_%+{gbB7c7#zX&j;5$#UoPHGj z*|qUn;0ionl@vTDqTOF}OmEiVnTR|sp0HyT&$Nl|6y(`}E#Wy8cxvt4yKvAuKAYFz z7izPFRD#z~eYva8Uqa#H4PVU@dKTk~32WiGC#pv$}@q(Rs8p)4hIs6B<~N0FBU zS9Tov3sHB`)%KPp+|JUJ_WSK@3FvsAo!#8s&d9F0ok3T3*T(t4xVNHWAM! z@Hxao;}&yP<(nRFHu<6lLBA!jh&NJM_BAM%47<8;5jKYF@PU)uJE40!crT&s--obH z8XIZmh6AB}*s63hJ3wuVpU>R3R7(@pC&k*`Cf1nw1mwm;UZW{=$qUQln=p-2o5(;|@K|EBd%p=>g*i)S{la(~LKP^3!r;XC2_2+4i`qSc* zdD@ejv;jPAyg%*rt9aV8{G8 z9m(X2CAKZ|Z3(vXwKu66eHk-=Ri2#6vL6hycb<5h{PnO_lc^zd75bz-QklzA8z-}* zi?FE&2iiN^Owi>S^n-qDzu{hWwxeJ#`ea)Gr?^&?amB!CUn%04Co!7&|St@jf}PlEa`UWtk~LY z7JeLa;%c=0P#kcEJ_THt;}g2e8LW}hI3BvdUSId_%4E*?6w9Twcb%Y5fsS(~q^yD* zEe<9PZ}V7|)Cueehfgkev(HAd1Lp>^PP8ea9oV(QS1Z10_#}6GG}}>cjt--;V}RNG zc`W=B1>Yg9LnGOaze5iCK`noLqWdG1uipF%>m~Dugw1AF`3%PPIdgRDd5jy<*OFe7 zLh_HBBU|4=+5LUlVD#Bnv_{xGkX62d@${lBmLM{Ht3@2a4u!oC>9>)@y;aM zlGv8a8kGARFe4oZlO523>U~@ZYGP`uwhFmc7$wtI>+B zJ_SBut8vjR={#_103ZC~(OCG!YUCe}V*3ccwz>BEeNtQRL4{ey^RG$|OpEshF zbR$361pS47Tw~VzN40DbmG$|@5v|KXlg^t+SJ=31Xm`8Xh%!Rgws6(PLpR;}F4h^_ zGGgQ1R%d*NV)s%g+5NWo=}41QyZ^aI9Xq+<-Q_woaxH^YdrjBbYZ15CC%GKkpzdmXiZ)gXA!;7k+j`>$`|M!G9Ju{dd$=k2!E9+A;!ZyZW-qw%62k_(sMQ zzx!WI-Ah~xzf6938NX&hPV*gWI?}&&i=OR=6@oi7V`%e8f>UX_EUn&MTz6R-v%!Wzs!-$j2A99{_Tz8LQ?m4)gzwt%r>))q|^^X{f z$IYhJZB#yl?V~l%4-k*J2kS<-1)9n$)J%EQ<##@OZSnx_3&+vv+}qH-9wXOwl#kk(w#ghSWH1<-vyuzpop zV^SOSY5Mkk&DVF@_N|7zT(i0kYc~%`ApK`T|GNVG%`jz+^&PG=`5PBskG&6_8x=cE z#-R<=&fHD-zDwNw2<#UakaY$b7~rVOnfZX@0|<3+5#Ly8+K({a~m>G z$24S?px!3Taq(F9XY^r8z7ssk*q0`_!>0Wt^R%?PD#1CigVMvM>*yIeI#EMIwzX|n z<~+=qPQ(*5@eED8NE5$X6K~bTk7(kjG;!w`$@?H1ShBesb*4 z83Fi7ixhmwSL9;+GCOmNHSJ%AV^0QrPI|px#=jipwtlrM^OR|K6|G-<>F>n2t!IOz ze}%Qq7lG;4CmMYG0s9Z#xd_?+z1Yisjd3PpFM47ut?43^dGaIZ)ZR~B(=|&P-%j() zvkAWSm9Tl7xo{uTkcmT|9kfpue&vzBdmr+erFYKXC}GUtOlG6Gr3>Y0Os4@03-IFr52m~4 z_w}dOi1a6BxMMZxcqyRZLiuBnt z1N2!X(k;mW<(G)`Cz9QdYUD2#>5rtiU)Jb9Po&qTx?k3mPZjCav)m^%`X`EX`I-Rv zlaVg^X|yOaX}0@>M&>xAD|--J$+yxzzH8$zu}@}h3v4yLzy1Cq^lt|Ci1SlJn^>&6 zKOD)+cWr!G@ymMuHW>MZIA>ruclah}FWPa01I`GVo2^HCeDYFa1NV-GuK4amps5;S5&+q1?OF36jrPDe%PTU+HJwrRkBd@curF$l+!ftAupzU^WVMEwqr!_MYeH5ZOTw%*rld2G ztkZ(NO_&3FE-p%00-G*|%xcKIU=GC|&eD1kd$9&n%=;ZN?7&$o8{BxCC94y4#rI>Y zip;4^Y3R$iFt*BRj&G6?clI4QqYye!|F>iRW9huE(~@D@cRa@4`7&_AITH3@^WN`( z|5ft4uIp?}H|?Xdm~$wjoF!|@okDtAIE%P|y5pc{UU6YcKP!vi@!AVlvB73e7b1_! z;aa-~X9hjBtr$9RBmC%j)aw24C`=}jy5LSLWE$nE={)5_9c%8KG z6|{q7kS$O@9X#WeaZ}tUgLwUI85-D@Q9_@*jz+Vz|NFqdw{=?XLgT{y2FGU@V3#5Iqb5z~SUXqI zrQ%)Nk%s)+Io?!;+WiH$;Y2AVS?%lglu(?1oQi1(w~k_oF%qjxd-ksA3noig{S1@* zBk0x!8N=XXn&D3hO&05szER<6k|p8DZT+$`q?qs_@GS?2OY*}g%W+V~rv{6o@ruv# z+d|tl(!R%Zwy@?SuY9Wp&mgvN)MwXZ3*4^SQ@i7O@k6g%q>)AAHK;yf+@%D{pfl>1 zfED>aj=R#P<^8(Z3)d;oUgDDd_9FUbKjd9*jHQ7m*cc3%gK#cv9GK(qE~swxba|=SHvtvxeGZ@Iw>REbagd|8m*|(g zaufQ>RUZ|8>;9re#`pnf1T$%IkG<{I;ab6MkFL_=dPC-Ti*_0k517 zS=zPJX{>p&a3A#I)uyD=SQEJYwyW!>B$|`_b@}=obN9qRJEO68g9cZn-NN7K%AUmf z#W&ASj7olVU?66fZ7Y{qh_-6yXR_6D)Q>auRX*RnR`uNV^)zly zW9}AtG@c}qC;Dn^U|(tbKXGhSax9liHbZ_Q=osX(+O7_imG}+(K%EI$j#Pqc!}#e$$l`>+{5MSey4} z5zScB4ArcaTKQV3RkK!_wZkhfL;vdbDM!T~OuKie(d-@8Z1>97bK4d6;P*wk^#?E& z>s2vFP``}hZ6Ztqe7vwFefzjy+K%>hgsDEsbz)$0IPQN5pJL5deM(G>-=`exl9GCA z-+8P>Y0tIpk~dP!3$T;RuFv!~Hd)sW?bu4w*`pX+L#~cWehqC1?&pH6M+7GEfp$f6 zEuNR@K~7TG#*m)!dalC~7g)!f9_9Beqj5r@4C?O`znm0Wb9CEp>UexuO^8a~{rYWa2>h@z_tkb3qMX>jh`m)ZuS?i8?bUvyu?5=G zY4_t6J@%Tt{<~L4&0Ng;u2()3bFtQk=4#qa{T{g13|zx#*RJhYm-MRrD5r1#ja=U= z)u+XvU1uwJs4YVHl_NpcDzo12*{^iqUMKmLm4Ej}iZR{|bKO`L{`=jysASxO#d*l6 z8MAKj%Aez$<#Ku){7uh#oa1^-@#}H9@w3;rH|FD~U8m#Hp6#F;Z?le<{FJaq^7*%lzkZ-TaM3w?_5hKRGHnm-8ue0k4PlQd+wf^<>S6 zO3p@k(MQU;US3qV1!obvM)~KV`q#Sk(_S&po-_AX?B(!9ZzTB$Ely&+O=Dpw)^50G zwAX?&j0l{mJwIBk{08-#9lKEJU#6-@8o^|_2d0!Uftyz6TY)j(MEn|=+{ZJr=k6w7Ju@o_xf!j zm|qDhCv6kkpIe-l@~PR6i_*`2f8Na&o2LfWU5|RTXL4!SC&uzKIf1>f4>~XXdTLbi z3arU4cjnTL{tI^IvQt-Av*uhwUsu-5sF}Y)dEI))XJ^{=+QEid6%=vM%{Ve>pH!zgkc=`FEhuj5_5br&cgHGM#qCzivq9DuK0lycU$grbatfSnVobzqc9Wqk(2N&Ki2lRN61p~{9&hz`>)BkM|#|B z#WS{%zWV_rCuTOQYQXb5X;JnA(YVK$1{uR}uVE<)d!Mj`ookrfg!0W$qOqMY9DwQDfaIl%AqI9KF#v<2A@E%1+_ z6w)UG>yZbrp6PsiL5roXrlS!&)UGYMHO+9}eWjX?IFzA$?fo>dU%l*j;(gc*el0Kc zVSRtE?9r?nFXvAJ#g=wnVR`|lm2Wz4%q1KwfT6`mN3N! zXnC~v+S)T%w|i~Wh9Ow*Sa9EQxaLgA+D|<%v2OO?Kig^c%5A*;iY@Z_q+NebsM#a_ z4CjQAJ+3o{_qfi~?>lL3mjmtDcaM?E_O!mFb4KougPtu|bbATyTuA$^c0Yfw*O76$ zeeTVWL1W_GrTvmiv5pt}fnf92K}XN??s<#_+B?2{!M9FUbi#9GzBW=lS6ZWdisui8 z;~5E|N3gT8S!X@+GW6R?_*s0HW-vWBLEmkQ$N6*-o~JksJ<>tbcZ(vCe{qGR+>;>N z4(5w@KxeJ2A>f5A`{fP@lp7fv+PY?$U#1h!muP)^1LRR#g+KJ?1+G0BW4q63v}ftZ zZHZ)%eOz%pmc)AYjcjIuSdTR(vHdm0DJee%#zHp6iuT;l?{~%gKg#b<#eM(ilOFj~ zZhM#YS7Ki_Kpp#H-S31=i2AQM_i-7P=)igFEj+uRnLm8vtr6vDyj==%{zUf=-wxzc zY*h3U=B;gkX9=|(aT70x?Jys<%?WIO3(j8?CXJP0Y?w6^ zw$e7*l2x>>aY!N70ZVX3KP^+~dIy_wp zO|Swp!iVk+CgR@U!M8o~aPDJ;uNOXuul4->Fv@=a|!Ev_5UZo}$Do zH{Ff>ZxNn}Ql1}EeM9XID_eCMwos_7cZd7dyN&oxjB-AN^(wxGo%$WDd9TNsHw$at zY^-8g(jKN#I@uJP4Lb}|97X{>$y+1#0dJt}CuhxrFt?IXu6av@s^Jah~tlEWd3ieiF|L z^=IAIoiv8qZtI(Mq&`L&4>?gW%D8z0Yw57OD2$2z39}-vJSNVZ^G4G1d}1v|Hr|Qx zg72*c`h@*7c573#>#9PeRm11gTIvw=5f~A6J*4T`&M)U`@U!1+tSy@*8 z@R?L^$p98UU?dB_sy_=~A+hj#q=8}gNLPiG4Hy|du>Z*LFA&G~Y6c&j&j#-r&nmCF z{l4fkTkeT|dy8q+G>qqp;);}2sCW7&ct*9pqT}ORO_k@j+!y_SxVQ7RDJaBdOnT5D>j8$C&8~bp=^#cvzUCB3%=_-_zt#sw92aB^ zm|`UU%v?#@rB(^JcX#qLjXv^^`{r zfu8G&V-=o*PkQ7wrGAy31^O`P+~T4Xd`~@cGcQ;Fghzf!Ne{Gt%PSt${-Ha~U%P-A z+0Wg;lb*q|#Aaju3QeHCjrK6*o~!WB+WtR>?~Yl~?=`%>i@QDYW2nzpKj@!;uHoZC zj0svt)0hzFKQtzycX{OPybWYCz3q!NKlaEEflu^>CB~Aq0rPUOK2g_vH63ldKR$tt z(t1Jk$p+phPGE8hI(qroKp!RQ`()>jJn}B3UUkfiw$a+0+9vK>Q`=@e?2*5VvcCR% z2;-l(^)$}VMf$}DJ#wa!uFC8!2D2XU$TukR19b`JdyZ}Q$f+o+_2qHEtOl4}&X*Hr z`ZENwW8qr}GwN62PvQeGQ+>+CAA00zsJjMsN_{La3uX^H@AJq5{{bwH-Q$smC|Iat zV-4soJl8BRKGx)sJ3-fSn_UC?oI(d;7pxyI-sO=`p{(NPFm}YVRj$|nz5U#*tseQ; z3I>5~3~C>@d*o-8vK&9q&wv(V{MZ(c+!6$Xte5}2F^Jyek?-VsEB*!FceTRj(waOT zem-9D^ESoL$79SUCfyZXU+q%j?kP$Q5*{ug3fjo?4wQ!E8I)<&hJ)d@+Y7u2uW=js6YcZ(fCVOKeH0G%TYG z^SO2&|G%q7h8JTlFUCB6ALj9LK99eNIsEjNrsy)va(=N>8d#3-8&*OtIkN3xX9H#7% zqDwvUUgT)@X1JBWE$ML&s{&U)T(BYBa=lb{7mZJ+i@-K94PR#n(wRtMO zFY>MS@68_hN6^1FYl(y3^~enxe0nohqHprZF7Whb+#dXnM=sQ1`EJ^O4weVAJo2>~ ze0saixVXwA&+a8gJ6C#SywfIdkAr6zXphtWfk!!WyV4p!yO)Vx?vcX;=9=^BMAPu( zH0&wDq_D7J$rfhWG84fTb`QSqnIZMJZszAQrSLIjqxxmF-I|t>7KJq~_L-L0C1EG| zce}ogJ<4?0{I|VFS#zyN{vDq8`lfr7or^s3JKzi0M+*Gk`v>q};E|u!=+T=oRd2`o zpYw=0W&70soN-b=%Oh|4hHXBUg85&=)0;KJtYnXzt>NkIc&tytK0@Hj*Q49V{RiPY z)gzA+`tvcpee{2j{_!5XKP7M-v3>Y|kp5$FZlLI2n?lc*oyUHzH*3X%u^zb@e3#op z#={r-?i=v)z;9y@d2AH+-Ke`a^K|`4k9-^NADU}=_s5mbK|+I^7m70x|9PQ$Mio8SBj2RM?PoMM*Tu}B z?~;c}GiiQa!sq8D!RBX6tR>4bYMF0-K4qSmkalZK;t**-Lj6i6M?pUI$ei+SWnx?{15)`HEieRC`hc6G^(TnFtK zO`N0p-hbCIdhtS+T%hQ!?ooS#-J0`VGTxhozU2GbUYtQ3JliGPd%)Y$_RaC0^|vm0 z66A?9w1Z!D$#IHKy|;nrFT3Osns(q!^~&cjUv$Y=Y3jZBmoC`~+IPMTy6-pC% zpvApBaqf#b;;5Lj$N27FV2r|Vi2Lf|tbDDwr^N4HObmMeVx)S1Xat@SJl-Wgi#nAv z7tQ`{d(5{wW{-aB`>$hN@&@SLn{$VYA9TrUQP#IELO<%y*0mUmXHdS4by4(hyX5Z( zd^Km&+avzX@qN2X#`__@`Tq8;E;$N(wZbp*`>nywHfO!rC0|nRRj6m$2jA$DJ3xQa zJ@v)cRXNnZ^ehdH9~!ITUbuK><{#ws_FryTq_{DkNa;PWr-54t~3{&!!OjC<%2Cm*-Bq;zghwcuSzZU5V~ zUs<2x{dlZvb1FU8ojQ=MqWAX<9m~S#S@D*+EZnjT?~w`eyg1GRQ)#Xd&y1(y`576{ z&zt}cJu^{j zH=e>f@eamZe*SZy|J%_Pi}Fl5!!zj&&!jUvlg?7WWbo(+0W zL*tpR)Gu&vU0Xhw+>wy`riO1A__XEdefY0x@~y}}sG&vqr;w&TQy<750seP-p+^+- zXw}J$0uC=-hL_&me-Qb&#~+bS^&?z|a4o`OghdDo5f&iKN3bKzLzs&&2VpkCH3+j1 z@Vg!nDF}F9dc;hGBm@}&zbO)d-|2|JS!n?FT8vJij|eAvKO5c~7mhy>;}OOoj71oO zfcGFq;2nn%c+X z7W|GtyP09h$@a!hn&TdfGW0Gy!tzUC{Z|CCtG^(eK{$>a;H5|EDfEu|7>LKfbSn@V^ITG-x6jOkGDPtfJ{*Nh{2Hy>fB=N03O zY>6-w`NMVNK->3FYQ8s2Yr9o}mN{CFPTudV2C)Pna;E)a5%euIdEcedc|Be`EyWgfMhM7xB1l*ex}P+N{# zYM47*!|N6Df5qGhA|36WE6PKkldunk7dn_lnLFpYKNh?nO71QZ|D3s}3f?F2yDvhA zp>y45MVbA~{Uf30Vw3wp5kDaLaezKIiSp2a_HK#}4#|DDDDN=2G04?))H_kcA!n&t zey;^>e_zDWuCIig8k75HYPo|34C0Rp zd>&x#d{L&4*-g)QsXCk77esmJ{D3H*$J{q+%Bb%zL?68_x&J82pJVRjqRddUdx?mD zZgOuEWq#|knWL6-CO3XVLB-^^Cig=key7?mEGXwyYQN8k74&(RPQ~oh9(c*jXvkq4NPz{!Wv7 zpiidBoh{PAo2QBI7IElIbDVe;U$HecTJ5QK^|hzAPhc%dezhd* zdYc7fw?LJ>%>oQYs`0%R^v}&AKHlu^Bg&wBl}Lv!vqux{_(cg0-KH&Wq>u!>%eQT1^t&P()XL)&1(DiS{x>Kg(!n~x+rtK+5Kmc z4*8#nIMTloakOKsD37{kiTIOd_iLgI($9-HbRH+loHMyU7U}4}iz5D^?Rr}<30ojL z6lPcQ$NiD0ALIIM5eKf%i8!!)UBvz4!e^J5GlGwc z;gax+doAe8p9mSSn{^@{YI4(>R>5wu(4|(yub13jJh!Qo$C&bA z2btRiFUDPoDE~QgJ4L)ja?`p>k$-Zoo7UAz9CL_Ul!2UTkq!)-MEu@)?o>^g>qLAN zbN^oG16y&3^3Z>Yi2q@p`!}MD#N2PIaix!V+qYT1Qu|BM=TUWSL%(Hk0`J!Ofxx%# zq10x)_soLtg8BM(2j(zQPmn&Z_3`@bWLvB}*PWx`@!GVXfxuAL_*n$`L6Gc(ramR76_c64pT zZ-E{^RPx-O< zZ42xTcF=cRFPLIxJQU3ixKL)MiS4KTR5Hpaa_|oS29zVYROXz=yPx)aN}hRlCgwlo zH_+N~-qMJCs;34a3*o^VSj%=R{f<#YYu84-ud0m2H}|~ zOLDWM{tkGfunByHID@fx2hPmJ?+U=LDRi@^-^^T`$-wt0@2nSmGzXtR zTgISW6xY5hehBO#j%=L&Cgn2l-qr4X==%r(rpw@OL|EP^Rh% z<**0dQH(N$2;!adTD{Y!lext#R{USr0eGuY4g5L*>KwdB&jK!clFM_8Z@}@z? zAmGRFPIDy=Y<=<3n)nz^{Ax`+K@*>%iO$DDbs8V%PZ=toVOHK+v4)$Z8N4#OR}ZsmDyH0YfAH~s`I`{ zSu3k3apbuiHkYHUz_zyL7F(60qP(iwWvecynyqY|v&vPyJg?MYi_5Eyx0U1xs-PTX zet9XYaiJ|#*mhHSMYXfM%r<4pl0`tfuqE>U;@=zkyq_p>nw3r*HJ~23v77>1yzc6swhY(s41S1H9x)MD$LB@Un9 zl5&`XlA={%SrCCjYqiOfOYg)GcuAS%%hI*VtPE02R8dhA6qw8) zEF?KID_bksr52+uP+JDbU3u#rqO;ajm6xhTs>{_bb(Sdw6_C~kL0`pvy`#!S=BExE zbOSovQR`Iud36xosvT7@GwNxzVZ`iQXIr@tqaZK8(4i`-)LI*)R+4So;4Cb!K|5-y zP+t`)DW~$Pfoplt#tD;4Y$?;GO;d9x*wCuH^?A;cytU}>%oWRQu99*nJAr_Kkz+`& zb=dHiOdHl@iz_QHo9ryhFR5`k*E`~Ec$2w;j zI^T((Y_F=xR|X~d7%RhQWNWL6S$S0+i=(7TtK*roq=Z$w*0MZT39BfqU}F`31S(JQ zObWHOqC|04Dp&lZ@9+q#u3D>S$!WD(^WiBXMR9eB-uFr>jClc#W$i?ys@|ml;9uiOx zLU83RB6Z_Y-UXp3Us9)PDjK^Mw#A-%deUBOYGgjMHtC#Pn7s^B8`24_s%u1$LzK#zZE9)y^-Hgv5 zw$Ak5IMP38nk4N2-6*X#72vv>jbu@{-i_DF{2fOuP3$xq4|<5nYQl*ii!r@{RK}8| zk)~mw<5-$$3a%5`?Q96rlTFu~u*zZaQZieC>vYp}HVoHUOg7z#>xXO#{?g}<5>95> zcvF+q0_s}kV%Ot3hV3*tA&;?pO?cXd{g`F4JR;e8lZ?N&Fs#M!2{A2|u%ctnu>uKq zVb}@jZ_<6Zc1Zn9W5736iZa~{S~6WDt;cnQw3H1%`XJM0P>g*b-6>&}&g?9mVHeIm zVGpsJa6KoLvK2`GANG3*r`PN`X(uZ}`Y)JAdJR`MyGc5WYk%ox>3ZaU#db>XgWe(S zVf%?sdYs`Y6ZTiBPWiR?ciB_y7oayuM_41uJtW~g2cIw4eG)C%ceCf&e$X%DNBrtQ z&ydzjPbnoHmtI2p9;u7}wEJ%9cBJP?I5Wb>EtN_sh#h93(p#W!kuETt-mnVkBEza2 zpKz%N*VR%x8>rA`X{a#n?SnOnMmC6qll+D%|*MAYdS1AYdS1AYdS1AYdS1 zAYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1 zAYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdS1AYdTyZ-Bs{ z2Ib4lY)}JzUm4%$ZlLcS)0MusOjmqWS-H~pn~BDEn3b!AUqkuT%CC6$Ek1)9@E%;{ z%D*4qfcN7nG`_a1TnF*%V15nfSNhgF@#AaE%5^Be(zo6z9q-~*uEY72zFkl0c+ZY< z#k-S~D}5)M(((Q*<%)NFDc3_v#vrzGu|l&(yi^V4SZ<+u{c^H;wJVH+*dm)sf5gjG z^Ykb1MQ-9dv`D=^&-t_MD!r1I+k1^lf57>7*i`!P9QAsLm#gOd9dp(6wgu{S$1L@V z*EHZWh@GX^0pPli^B=aU^fu0aC|0FEny6kayq#%+pUeGhf|}pX(>L*J0nb0m^%`kc z%N^(WkBnF8H^->gl2rBD#`DkERr-;6>NS_+^Ciz8$?04!e=om&#`EKNejLYlYoaQr zfVa<UW*Eda@%}%`^JQLs%WKhZv&SrUW`t7 zuH^FL_;}pIah=BPZ!6D#p7(zm*K-=jVGz$x<9a{L^=sh$QNi>-7=1K2DK2BtwAHwyS&2ityuj6?BY+mmp zyq=GEf8b3zio6cqE*qEo2+tqM^Ct;8@oM>_9KQmd9>?vWgX=kx_k*41FXGoPx&42{ z^?QN0vzF64INxesey_;q`cLDyj^p(+Ava#t>jjR_BHoXOIe!|*^$;(&mG|#7&VQ8G zyOsCfVO~Ck=XY>9-{tLV=6YCo{$6fx9h}d?<@e|L!}+zAm)pc~Xj9~p?#9PJz(Bx2 zz(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2 zz(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2z(Bx2;NKU4 zf&ad$8JZag7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$ z7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$7zh{$ z7zh{$7zh{$7zh{$7zh{$7zh{$7zh{${C|aj4Xs^?@FoKN?6rg-K7B+4*WvoOy)R>j z{E5UTnGo>XzS07ObqMz$JcjVU2&h0hhHwhuJVIZINy8AvA-|-rDl2YL)}(CFS`n$5HD9 zwJyJ;+=Uv}tt+W<72R3(%R4NB8WRM7@fGWf#(p}Y6)#YfJtIk#JC}lb8MXhQ_NjdCA z>ZlNQ&zBPZzVJT%Jp(wI*-_#^)uB#Tp3CJZT?_OE)|6JTp=S1G5*7VIVrF&}zZ`9H zY+$oWoy=}#ZOKSGgI~EeIb4ovwxXttWwVe1Ho{p|$&$+0;wttXbPWo%hv84dQ2aSN z5P$ZDm32KJC-W{3JS)_2*=q-is9 zm?NjO5WqX~YpNYNg+R|y#cGrett-uQma*H)UF=DzLP>dEG3WNM)zh|`UogEXZI!l# zAD5nx&X_m75Mq(DLoBNYSu9(n+HpsJBJCY^R5~gZ_K(9y`Niuu!F?6NHt0x#{=n&q z2$lYn(-A{e`Y)Vjkt%(j)0;Tm#p&mx)ck(HhU6dO^bk&;1z0^E;}rZoC#`PB&YA$qwkpZLl3QQm(e5Wk=)jrf(HCC8O$ z;@9RAe+B1%h{|hdDo^}dDS{7Oh+mW^n)uHGLy9*d5Wk=)jreC%1RuH(zc!!vrvYQi z+lD~=f~GX$r@4SWL=(R@pZG6v{$0o?enC@tMSooBLp1Sg^NGK~s^;B}eBu{0l_&l| zkWU|?iC>#f{9-(QAN@=Gf~NAse;k26L=(R@pZLZ2rSVMsf<{!~e}b6tA)5HL`NS{A zJB@$h7c`;@KlxMo(1rN5`NS{$1NjT$7c@mlf3i#Z5Ka8reBu}Wg!~Kf3z~`&|7?sK z`VdY0+I->{{)hY#@e3MJg#f{K9{dKP7%aQ+eXow_lr2{KDUo|0RAw z3x2)-(B>1r@XzG0iC@rye-Lz_57DH*HlO%~KPUfA{DP+P!SvVW6Tk5PG#?PZpnKxi z<`ch|A85WHenAWVI8q)TqDg;kKJknBgyt9G7c`Y8{q_9XeBu}L56wr!FX*25wfV#^ z<|~@Nh+oh>@r!(#udY^%!#`hL4PT|5uZZqxzIsSEKfSG^Kjib(X5D=CCZDgT5NT(0cgts=I+PiXunztDF#4l(nPk3YcRz5@%zc!!v+c-b%6Nq2XRG#=L(1&Q^ z*X9%d8P5Mby^dXw+ z*X9$ySf9~)jp`RPl_&kNI95JH6Tdc}_{DmR)@Q^oXev+qdVj6WCw{ShqxBr|3%VzM zkx%Qrt2OIADqlc<_y^f+AZXEE>R+No|51MtE&7A(pJ-v<)E`QDjyKsi(ZYVoUWpd= zNcKmxurI=WphUH**wegA`C@%|JEz6^qmk2MJ++O~Vtw=wr^R}W)<+~ytbb^|NVHfF z{uDGw{8vA(=;;5`(Z_Z4*E-sxqb;g%pZp;@I$B4M(a~`_dYX<-(b4mC^tC#AnU20e zM}JR8ldY)#(J*|9b#$eUuG7)C>*%|6G&Y+7@^|X!$8~gzj($!@R!D-JyZ~s=4?SE(GdfW)0qK}mf?s&L~+u< zqgBcwgCKC$fYY6BCjtCuM>z?|DR(Jn3AoZ>0xlcqq=Bw<){vu~5f}$YIF#z~;3%i0 zJg*?VtlCjkQH28{oIz0n%PA;dP+gT*ffKBP^3@b$IW?}lTX1-#oMC0ISjKYJ=9Lv^ z!36SgMs`cKQl^wHnaYuu61`D9@TyRAYt_q&>$8`pFJHVU=i2L+FU(F~u{>uQ%jupt zJy;@2Qr}O>FE1&Wf)ajWhL%Xw60)!`*qx72wP0TgxYZOKCQfly=dI-ecpK?xuKbp& zJe;{v3Y&Vp%TeW;y0)r(t)r@X>Z0=eno>tuwQFjAd4Xf<%BAzOmd&5)s>+|bzLfr! zIM>qQ)>H=R6q%C$k4g{%%GHk2_S`?J6IbpZ*GUM-ixaW(c=8h$|JeT!4hL!Z0Z*xX zB9MkEB+T`tw=wEq}ap!uq5C{lTXGE4>?b|M`!T zx6a8v`tEzrJ!3k4`}&dLzaD?=+4&pyMbu>`{czcd=eGYL`n}?PV=ug#l0NZ^U;ft{ z_xxzjYmv_W4gADoZNmm);i(D9pBqk`2Bv* z{QAA8CtdycU-zGS>c>s5t?09U(`Pr%*gnd7>AzmSZA|A=OF?7r9(n8Gu|@TJ8h&Tna-*DP z${lsKV*W2TKU1B%yye)tH+~Rv^{xBf{@D+9RXiHIqwnmW_PwQR^q6ZN*gUS3?D_uz DkX`%2 diff --git a/src/vmsrc/lib6502/run6502.o b/src/vmsrc/lib6502/run6502.o deleted file mode 100644 index bd3516bfb26e05f2e241b2f0c40450fe7ac329d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37424 zcmcJ23tUxI_WwTT+!qh!@{ossUJ&G=ASx;rSFev05tY!?O1&bWpuFT^nv|$ilvY?& zOk)YJ3BYP^?&T7WSQ^5?ZR>X+A)0tOURZ&#BP6`Lx)9vh% zWgi>vnOfNPlsKJhDl0t%PUq|yOJ=wQp|V~U6hyx?odHr2Jujy-KesB^Eg5XjI$Xr* z);dOBS|)dDYOnl)HP!2!#btTLMU_>Ru(xbR&K#FYkhE7dM2L>S-k^(`({<_ga@VY> zDA+{y2imKT6RMBO0;VLnlIqN5?G=@-EhB}&_C}8t$+~4Z|1@4Vx@v)L#)Vh1#}x+G_dl5;T`mm*Tn}ao z^tfNvUT%JV1?dd7w}Bnh=9UzYUk|podbvonTb9qV>JtAO zWG}C*q&zpT%2{1{Q&DNY)0s6}SP=I!PJuSreoY085u1IRm_xu0vM2qys1%x)md~0; zQpVc71$Gn)487eo)~;yJNu4~%pO2P^^f@wBvFBhHQ3LEvfGiXw#x>SQN)OM#NZS>nygX*UZiZLEfl3&eeh*gY081@F2x+N7$j%k|#CVn83b8FT*D6 zLho`mdt_Q&|Kcq5{eGwM!1v2c2l^J7k=AnHf~F2gOJ!=^8PRWHj&oj$W9k7jn^a_S zobxt1rY0)hyDVOgsTon0UEYdg%Or$@5Dp&Vm>S~mn5x%Fg^eC<*ujsrAYS%PGiz^D zSgM89{`tWA!nElLY@^M8>CMqm%WiIEY>CCl_UuzFUq)TLxCDI?)Tdbv){k)9cL4Q0 zus%MmDA92s)r(DyM?RLYkpb~T*wit|uh7W+{XrDcun)9!HqtNak zz5Voh>3!uH?$g*gxKacBVh{BVr~$-zy}y|3FN(kTx&mJ?qU}xa1!a$JOSJn4SG!O5 zQa2_kY{~Q}b>nHmA?n6v73i;SY%#JWUe?;20JPQg&y|fflAlvHt|mRCYcU`md1Ckl zO^;PKI!IomZKS$WStuR(1ja(pTWDi1wCzYEo9bmiKcijeqiuZ9j$_b{8_h;u4zY7gS6oa;wB4$PN+mci@q_Otm2C%F7<)unz$el7hBW!-aO z>kPEXYpvv8WZSbYq8@xMm>PukY{Xa}nZh={3LD$OL*M07G(ISOt&lesMLP~8%046C z_wnenM1(Da`pmN&7iVejpD!~X_;H;D{_llx;Egi+z&Cv{FKBzd)0BhoZ`WKU+IV#NCi<@sQj%c5BWm8!p`mUM%m$mk73@(V2-IHpF_JNyc%Jo<8zq9&L%bUuzT!u z&SLG~!4~O7K`)v$=X{EJgz^|^U>o0o9|uF83i)4E=409HxUW&Qyi*8$7BzVnrTGMN zjw=mg8;|{baS6>uWaC|h1-&zsEx8(cAt>t)D%*qkzadm(d+-a<(2KO^q5D%HJ4a(9 zL#utk%gC;sr?D4=pR+x-sg_-opAzNRqq2Hlmju|WSH0#RS(va3<7nf8$!y7YTExM} z?s4=7QF^q&bhN>CFZi1QyqB^umweCSm|B#|Qn_r8TQ<*2$|5~vzEalWmL*J)vfp^f zhDcegTlUsaDSO5(yE9zMCb?zvY*IGWEh~zavKelfSB#X+bIb0Gm9lr;vV=I6nt}R` z{JW54puSxbr7Rb+@oWjn;>WW|J!t!n(e|In->lzVyciNbo=wTn94~Yw_fMg@SYZvq zcfP$isS15LatPb_`8c-ZK_ADtj~}P`I{2Wf3jgX2ah!v{POVR3lYWFxJ?Q5+*QKH? zPof_zY{_3unB%XIrgsdR6vl?{a%y24@}N5p{Y(CF2g)?ki*0m_{pCD+6WF9eZ{)wg zwoCULZ?!qct0=L*nrxul35maKqbrV0+JQ22UrT2JJ@`!|AMT7tJEJ`LvMfDuzig*I z7G;6IzIAb54l7DXvz*WPpa|hF5RNZOOuH6#uG9{#qu8W#Xgg|$Pky+#q%VZM@SPu{ zaURr*w(G@QjWW6Brkl0lKBOCsHk&b>1$@HWS3JM`1Uu-50s2+jUi3b%g(q&)*v2O@ zw!hPcAN(HUhRSQ1SDi-od$bT<@8?X+AAR->JtJ)MV;f(?_<3L`yS7IQ)#JxMjyPrz z{ZBTN@Owu#@mdvRK{;vuvdo*j%VKxDz?5MDc+J{qA${dRdO&QXJocK|H#U?-l;OLy z;7Aq_|MSJk< zVVAECzrzd}cF9CDkRf^>u>O&iT3$_gL14f|!k>Ix7(?p1Tk2i_=aro#4k7bWy_ zzgN86ey<3>|HIE>?5qy>WxE!u@Yi{R{B^zb*WXAxHtR3j=^ElO1~K+L%h)Jwu%W+f zqt!>0<<3E6IVj7rgY5XTjc@t) zy6Y2dcp~+?-sgDkOYPIb4mRR9@dk~}7ka6e_y)Up5%a9*>msD@gHQj2yl8IAMqR=o z+h<}MyWSMf;aeHw^Dd1I{aJW0w(h*)l4ro}@;URu)+{_v%*S&@CY~?m;W;DY!1=Pd zc+S@J=R()q(JY^5;Qs^W2!=9I{``03WB2b!FY0WQaiV+?-2Vs9F+G@1C?4d>OSh@V zHAjo*z3-R3gz~!I)AZ*beJu89D!0{aVD0qGLv}~*#&aW{ZS-~-S;sa;A>6ACOT@Fu zE*h_sFkW5pHEiP{%v1DxC&unDj9oED(%9XAu`8czc0Gq@o6G89+@9voH6k6g!-cIg zQT7>V>(}Ko=B2X1_4`&n-wm$cYE3+c^=g5MRQ|~*|D6Non_%}dmYi=Y<@4BIQRaH? zrxT_BdFZ<48}U4LxpEJFF1}M~&JlAr+p`|OsTr7K5~A?@es0z`+tH3*wfl0sSJ&oz zIkGmV82RqPZ(IVN`!kJ<#}^@ux167RQXb9uQfaP8EE>~Ka-Z>o!V?CCCwhco+q-LD z&UE}{7J*On;4?k=^&b3P9{fQM{%sHb3lHA=Ef4!1e5MD#-h;o(gFooOzwN<)A^Fco z4Vy5a{gm0fefV4<$A;%KEzRSuXP0mG<$R$wSJ3mz0D0dP3PLH zmP8z_0qE->!%)^%%yXC1yOLbbGs-eBPnX<$dHD>}<>gUVkiUxOAkR9v><_A|F3-I} zzE`qyrSe=!zvW8yuT=gk=zn~L@(;G}*-v^MKOSULpTimYp5EgxY<&gq$!w1WzB

zai2cV%$Vx6i$%HL4@v*R)>rwwJa~RXUX6uVXJA-&_@Au3c#b332$H`|L4)nnIv&G& z5amO#u48_UY8ipolD$;rtpy-^>24U*fEX4-D# z)pw~uGU!T5vXvB-LaW#|Bd@HY)D|~$<}BNSviyQ#+sru1wLG_~XiZUZQPmd8C@J4Y zA4hoUgeh3auP!OKl@yeeRcx`XDX6-sprBM}<)W%o51w+akhu$hlm#W##ko}lwsi$n zd4;(Z@e>nlxm8?`Cn*C@#0fm*cBrm946@ityrk7Eh;W>87?k^J8+3-5f)s=pk8WG<)o6_^74XwTV+*#QQ3gvFT6}z zD$K$K^E?ZaeHk@9i}LErHcZZCl91(`#Y;RbR|+-i0#P$Gd1daV0==`=R+N;Fc#|!@w5&9#s5Gy*y0U0fL4vKU!WK8C zvgqc5I9ohyt=UplPzitI-_^^pC}Ct4b~7eQyvwkD&_$3H3%n_yG>`+d2vh~y4Z`~! z`#b1kkb>`2fuLB>WY9FwGLRF5H5;}J-+pfgJpg(I)D8MK=m*e6&?0=JUkkbgv>Ws| z=rz!vLH_`K0Xhp(@y*g3Gy;?aN(apc-3ZD9Z3Ep4dI<1e5E6o~&&03pgcwEWeXK2%Q8oT3B zn3Ja67F1}rrNJUnG*}uTp!g26a;>4m+(;4Eq8MC~qf2riIb+&u*6y|JGwd}VGE=S3 zo3Ww?ZXC@BmK2)2I=!IK>2=&&$v5owY4rj0`keMby-)k} z`DmNB?KAZG)DA_sV`wMAiJ^T2$NYNz01ehdRuWqK2K(H!0yuH;k6j(DNoN4(m+(SL2;yM1`| z4IMtGe3W8QxZS97pU-iBgzJL#h5@+Q+aTsr@UHyG=H{F zB=A>6f+4$D>vQB8FW|P1E0Yqb*A7PmHVsGF&?kGn+r0g)wY7$n)|W_~yeR@c=zZMV zNaB5lb*fy zTmW&mKN`E6i$kRtqYPoH_KBf&epJW~zb-#zy`huD>q*=p#jsrj?M{Ev;?YHDyP^F< z)qCR&{X@^gZ52x1V!2%IPqw-*$2vV)M^hreu?aO;K@Kr z$qaRYO@Ycj zFvqDVFw-8?7sMN&X;||xVW=~R`%q99+3zAfG$-i|@wAP$3qlIiygjHBn&^mOCx%hV z6T|9*2Y2R?Vco;1GTpXjzksGyl=&8^lcXLfDK$o3@2@LjL3Zi^u zfDE;U9|@;fJG?Fe#qEozi=^4DHT+n(l4Cd)-W^U#orvYx?~Z7SKz4l*^^p{Y_eGpS zI{bcx17Wr^yiI6!N1Pa_*$G=z;_mPhuxU6!3G!g6Hj)~oKC(Fy(&othBhZNZM;scV z|L#TZjYRqOM)p9@a4NE4git>eiSiwaY(pw$I1+g@((R;2BlnIV4{MG*#Y<_ZAAwX* zYlb>^o5&8ztb_DW_Cq6%Alh(bL}N7l=0-O~%e;?_=o&#k4;b-XBf3Xew=n`4NpHjn=mFkTj0m5B3>i_m6A``z*2T zBaedpJ+Vhec7yFCwtM7Bu&)w(a%3;q*NE*M*$4J@V*5tc+Kkqt#Mat&gZ(41yKPNi z-ypWhwjb=9#O}AXf$bu;&2|LrTf`o*b%A}G*e=^~ub z)Q)N#B^$jd`bac6q)@qbA5`i_K~N`D=y|Fsx;+}b-yYpZ9o8o_bEIYt*CZ!tjXoYt z-F+Mi14lS)HjY9Rey*dBMdP{Ea4fnzng(JA(!c>JGjiuH3T7j?8>Ph4*{DNQ+C!td z<0ykJLTH_c>yLxDKW=xtti*}9^KmHQc_E=EzTNSA> z^A8U&RfbfB>{hTVM2%ru>@*)AY#h^4*}TB3e69v-P?ULrc(RXzWD3G2((>_{2G*== zsn|H$ z9GszS3%mu}t?~U@4ZRgb3(a6c5~kOT3Ow9Zejf^k^JYPvBZARBydp3b>4yN`91UnX zA0N?o^QLe`Dq2$r7#^AwG$d1J%DY7fd%`djC=R`lIGQII69}DjgvUy=yr*1dlcsR3WKlK7#I(H~Y zoZ_w!b;NkLEtjPUZWVX&WvwR~Q3z@ys>euO67>!~F=ar_^a~`IJk_fwxUwcav!A zsUCI58~IhdlfYb^tdz#O3*ahVy1U5p0^z2%D6B`=Wx0%0u4%GdJTTn{(GGVZq;vCB zGX~X^w}=jd{(7njTxl7DXtbB#Y3lKEul z>T+bdW9B7`h9BqwnU@-KS7<&BkR3|cb_K&Gi^h*0Sm16O-pRaW7A7+q%DiAy+Em?p z*)e>EH!=n58MJdbk}0ajc?1oybR>d8SY6I-6Q<-WsDJGM}Y+g@M#cB%{9Q0UUX09b^iQ1yLr6wkHA5mLWb2G&sR$DZ8 zyoFiXN%~KZG@6w4C?f7-iJwUPRN^U#pGo|e#D7cdmH4^DFC=~`@wCLR6tCGCV1Y)E0wJV3Cyi1g!_RAOOua?2qhyuIU@Righb?%mqUp@n`Isa;nVV zl+>Y0-ft218~!xi!#i-dhP+Dm(6{Lx_5tq9U-6B2gMGv;1?&l8Yz}n_`%;MsG$W+4 zFO(R+MOLtW*x9Nw z7@AioY*?ycm+m)Y<8EDgJ>8eB!5wD*j)9x$Aog=5W~h??3Bp5_f-gDb z^#QC|7jWk#oX_*$t|)r`3wZtudH!t3@1Q5n4)k(c?c7MgOC0jv09fb0hdZ~mfZKXd z@zQP0fNWr}v@|pnFIW4$zTZ_0Ytd8ln=5kvZ($*sAWoJ_z z|HW-B=SB*0IpnPeSZ7t@&TU=GZ9VQT*KBU<8euCi5qcW?44s%Z5vpU7-e&-7@_%sWC11izzRleV<9PllvgE&ko{@cuk|#U`)-Ul7bRW~HC%=v- zU#&#yjX0JkPZG%kis3Iy`IPgC5;No`q*|6v1^bv6tQKJu>`o4O_W`W&zs8*xY&o}l zx4TJ4bIWnEVCOJyOsoe5i&T-sZ-fusM+T7*TO{41M&r&+UC&J&cAJXkrbdZ2rVhA) zYrIIM5~C=FYs9)WZj>5ny2f~}F@bCNo9Sggg>s!ZmF}rCaSseb|614|l~I0^qQDO8 zhtSLGM{mE$jQW3y1$TZ0KaX}=5u)TMDIv4p&TT+ohP|BUdRisAYXe0`MOKxp;Wy>o=efCv0T3XQh8_~9;i12N8?^B z3JM)GKI0K3!4zFe5qF>l6ey!WJpyz#p_~F%8w;ht#^9?EUx8|CSnHvf+of8iRO5xH zauwn(y$N`4RP#39L~Xtc5jiT4*8Ae7%gCuOHk0XHvURt(Ob=|`o39|>dIfpS738;E zL4NC{a$cov!3)qLwTfPLcn~yEF~%ddyCOU)OO@Jz2vMs|NWYVZ$b$|dRObq{BXpZ9 z^cq69>!HvSc#^(D2|b5T8ubbfEe$>fjXOz$#sUTI;sH22J+bfNX?Npwg3|6*f|o)# zhsr^+I}x~B3H}=P?$J#&L3Xd6D)=3Q8hGe7Oi-%DXb781Klb0@$KL3EFtM`XUfCp% zQ(H`iJaGIO$Qr(aMy`WJ;Dit!pQ0lwfj-Je)!U*BAF_i|#Huak$mL+dvPd@>hAm;W z#CC%93Tq{$SHXI_voo@=cG7qaVjrRLCRpFFzmRei*dcD^Kxx?l@zAgzNFxNSpIc)r zGY`R6Cf296Sl!YjW*$Y-@6;B5x75bWQ>8S(EsbVo`hLZJP+J1s(oklmFIuc$Z3%Kq zgY(uvIc5=qaiEun7d1ex0fwI$5_ zA;tf!whVX2Co=Q5B)zD%guA8bER2^CPrWS>VLUShY^0E?U`K?Ff$K00>_~UIX)J6e zi473j+~O%L?0OR8;kYHrEuPN8%1La3INB{vVZt^Zr&~sa-A5W;U}M}G4mRRA#0J%W zq~DJhwUJi3`TvAlzbg+}-?Hahru2;*p)r^!A?-D72ZIK_aHc*WZsd<7xid6w6xX>c zJ}xEz`D=Hl#Ki^@b5B~_=uyPn>xhf96Vs3pH@1?PJ=t+dJbB~txa5aO@<3r+3b*rM zdEEF%N%E_zxCylBUVHeaxQSf(kv*7ZY)K!$e9#Fmbqpu=Xgwn6T>(uj4yMC0O! zGSW1}s_{lksFXFSs$|3{+S?n`q37z9#PsVHkaOPCOX;N5AoPFv6IcEi7?u5 zgw1;iw*6VO@g=sD;-XD2vt=ZUHt%H1xt8S>!KA(_@il>LQu1sRax&KaUSvglh)fzs zvud>099BWbSg=2`rAH$EJR_cAk|Dyc64ihr@Ufd$Z9?cY{G?ChKL)A%w|)}U>?%>q z$;6{cVy0sPhQH78?iN(!- ziI*ti8o)LTtv zQ?ofUjvhIuUdwq@7;zCpa9gAfHADcf;y+th3}6v42rg88BNKqaVR_vt`&i13#Vpgl zS5HlW zB-&>Vdt7ui_3KrhJ$g0o(RALUb~a(!G3YBLkFzIuPQI(y6O>cb5GQ+rEJO|MWKU3D zl*{Yv;A`ZBen;6s>e|#J>;QS?r0F#NqOEh-Ga}b3E0)akX(jAsg}P^2 zDSJg^S0)*_A2nopIg3;%Bl|`$B$-yhMhd2q*?1I7uflU1)z)65GwZ>~-0#$L-^Fuh z>D6qdt}U7MkVx&7T$`nDV%u~j$*hM&Ds9tEZWAUQH+elu`A^*J^{78yvL@c_^(YmZ zMUZrh!S2}V)h`t|vh*5Opxc+sdPt=G0$GS#*gjoJGV39cO8fLew8(nhiYIB=3X)k5 ziPWyuwQHsJHg=z`Et&O@NbUP{?MA6x%eL#i3%^{;rgLSu<22!p>2-LQm(`WbdPrm@LuDqnv0=KB zWY$9>m4*qWnA_Evlz%MEwy`wR#?mayX6#XV07}Vk*=W6_qj?ga8{dS8Mvl*lTyQjW zd{=g{v0Tk})fzU2k0M{^e3q!tMBux6ElUuwx$78Cq2re|nBKAPqgMj$aV3X^{wI{N z`;}mVM*gBeznK(zz!jqR@dpuFEFZGywVb~+iPvh1e(1{4^y<{4+hSMWQLlYVs>5$qH|H{$BlS z1m!Y^SbET3toL3nf?DzsGC<25EM}Ma6+gT$iia<%v3M#{cN;A+cl$*1_M-M3#bWMJ z`9qHQ-KQB<{P@S*>-8(HM$<G7U?4=_=eS&?! z`(R=b`+$s1T+cqB(nJ-mVjocRM;C2if1!cJrrf8_;$>hl_p5Vw&ZNMmG^+E2{F=v= zblRj@asVe*H@?NbA*JYww;A`DV0!x5&s%`jb13wi0ioZzLiE)41P{TV*_r=f794Xs3fFW&rCm8-%@H-_9%D$WC$QTy- z5I*W1QrNtQG=(S6d{Qxxy|O3SUM|3o^IqNDUftYYZf-s$#*yaCr)0gJg2z)CkmeCR z%_CwGyr~l+Dnk~nb3IL+%|{lS(S~oW#E21hT z&pp4eQ?h^P;O{h7`}#&w1^D~2SZhH`9YLnF!%+RVVWGO$#Q$}cYZ%R%HH#h{x&Pl0|9 zdK2^>=mXGapbtSOK;MFX0$DJ%go4I^rhyiMazXg(1z2mN-y7<2#$E@#0eTB`4D((9-A_OV!9NRn6Z9VFL(nPE7oe{}IFZM2@*Pfrz5v-kR*)Ac z8I%f|3YrVb0$mGQ3c3-r8dLyU2Py{9AG@mpZ35j2Y5+Y5+6Q_J^c<)I)CqbM^d9Ih zpbtTxg1!KK4f-B*0pttk2nI!hMuBkZl%;^CfYL#;K-Ym*gYcJ%SQ%(5=r+)OpeH~d zfnGv8nDJTuZcsDm_n@Pogdbg3L(w5a>zJ^PrbOM?vp`PJsRe zIs^I%q`-y`CDG4F@8#NN^%O0Ly$9(MI@y}s(hZ9XiWv?Jah}of4OWd{nzM>kmsS?7 zD=o;k@$}^tW$P+(aneecQlbS^FDDM|EaeA?28Xj2&m1gT;1c0L&VW>|usfAY4Xb&7Oz<=n7p#G4Mh;-6_-&gPU_@Cr=Va1TU%aMiMFFZuULV< zLq~thj|b6OlT*PJm%(M|hO8@!(Av)GHOz@WJz0^f7i~FYC|NbnzLejKp|hrVgUFoz zJYYc;+q9OSI9kg#r(aPd<7|Y8o zE?$$Hw?Q{M%N3Sp-2&di!rOG=5<0RZ3#7}KXwy6xVxn91Mv|w+P+#ujWtI3dmFTi9 zs8$J+fVQZ}D})a~xe`4|cRKpUO3JI5JOIUbbK&G)AuGw<%&12^yIY1`gM{~VURgE9 z3iqu1ve`wIxs{a#B~5wZfC$>M8y2V3%QmRRbmX67fK6&1=1jfFhbcf zgmH(^VjPEKbS91!7nH6;h4afYaKaFRXaeTyEYD^kug*hxXHvZ? z!7S$$v$>e;5iE1reaSh{t zSQcj*m*y6u=9>v{SeAa|Sa}r`sOc&hoV*Grg;^dqR*ea`3LaB}*{ry_fcfHwnjWn6 zKa<;l_i4Hwl=zrL{m;}Mlwn)B(9{1M?qMlEBJnkeZ%TYy;(HQ5k$6g?6;eDGf`jAgoiNt*p-;j7l;@D83w^-us5}%a#rNn5wYtfY}agW6JB#Kx( zuu5jO#N~rm{bj^w|=tB(_TIl{i+~r(>pcRY|0yrF8X5G~kt%u26}yCFV=4lE}9P zK(AYddnMXrdpIN(OKg(ZD)E@a7}>7HdizSGzb#1@eJQ4kj-b-DT4KH4e-e*MJSOqD zL^`5MSB&h3u@YxXq$8?y6-%s<*dVbTIBrcD=|i5io{fjSrV5^Tp_VaVvR&r567l4pwBl{ zsCZB|Xam5=Wq}rf=z9O!QPz)dYOMJw z>ucXni|YMe{M)#|72oFCJ}dom!G-(lYTvy-{aNR?@B8iR$?^YZdXp`sw%(_yCGFe` zA2rr|Jf*p&<)<|V7N03UT|8%uwSCN^F_XqUTr=$K_**Z8y!HLdK3QM=3>=vkYW+7$ zh*~#2{oI*^fN?F!3!i`1xh6HSX!NTU&v&1@|7>@7p6!8}4Trw3sr+Ef!7A?~*8Jul z0``7!&zM6M%bs`ycw5rLHL>vg!8?Y`FQOwAka#PrP&P)z$}Vl)017t>5-= z&5M;Wfu9~57x=rIXIGuiS>zWH*i^IRokwc^a^?nW>^l$E{Jb{!{_h|B^ZOyu*@fA! zet+Tp{6&6S8p5Ksd^KVImg9N9{qc02^=9x}L5s_O%JW(FkB|opFRQgg3f~aK|g~GsGB#)3JL~AfTBV1pk$C8Gz)Yih*lKWfl5G? zpe>+npxZ#ZKzl&6()bAIaZohsIuGVL1ru{Er~jVammz^6>3Y2SD?`k9#=NKUQ5 z%(N4O8TjWL3+)wQmY3*mq_Q&ut*$fU9Y~|*!ZcNuS!hX{S@>GI5=*Adw3mq~{xk1!Bf%cCu z3w^+12L1)hLf@>IVL5KhLOX|;@m6RvWjQxZdpBj4#u@NgH5sOUj%oM{RM(==ebP0{=#tV3ikCE zhq^1o>n{#gI0=5^FUenj@asW(w9X~*`UBnmE5z#$a{R;VWzvUI)8eWDU9Nrf2R-`4 zdb#}d2RnN1!A0FZ;L;!X=-C9JO$@il-MxTEJL@!YhjM z)6gLV2vBXnjN}QYAbcyR7Ssu%U&IX1{U8l{xBZMGhVWPJZ3&JY4|Jpz{^gFQ<>oin zRsDmk?8-mZ|HjtcY=gPuAK$e9`m@gM;MC<2LQNcr^H~quI+I978sLXbMdI^F6*XWs}~GF(f{= ze-ddXO}Tb!cWUC}qYp+-Uj1Zd`*aA+TmN=f{Fq;z|9QrNPye{~{YAIHSG*t>mzJm) zy}d2djGF1Nwm8$IC1)Ca=Tpe&V>$xNH0?C9JD~F|2~G16(uVFZ#(1k^1C8NXq+tv; zWf;c+BQuS&GmYajjl)gakW6F5e4}-~aTFpZBhED6Xogk%ubLK_w8yq(8of-~KN&@3 z8pBQBK%NQlVUzYTgg&Mn(4TJ%L}U<9)BFybeAL+i+CAGWRnXPGfR@*b;0_zTp#U^} zYcy%4hj*H^{o8gJnMwNrDpqgHXE2{>)H1dDZI)B8s@2QkW^{?j7OzY)B_5n zU*3v%6Uj*fx5pI}>%&{s6ve2Re6;8ycaq-&3%h+GYY-eF8ZGi5>xP5lwv#*CIZdFx>V>iq^9 zQkc^Yi-!NVde#_1Ezsf7P|$o6HH$(Uz%7etu;`8(X41NmSqP#cF*aO23dOo#bY9f| zF};&7cyu4yXs42iRzar!i@F8PS_{P>t$AQu)073BT54+;dq6jKmq)>2?0cvw+Iq_& zSlBnvLXWU;u|`<<8okA<-sWKeIlKq8(WoCf)FXy>Xo^WYgH(RxUZPDp;h`f;+G}W& zSfrUKhU{VOWysNXMCRlMh{nQP+{o|x*D_GR~TzBazA3yG2$^t4bf)o zFpfu$o`vT}^K0A#8b9sVCJ6*VZ4+> zHlJ%vM(MK-)9VKy+%=12Lyc&%+H`91srjI%{z&OL?tp&qX(NNyh z@ar>;v!JvPN@%skP!d0oqtLS6RJ^~UG8S*`1m-_)t%v(8_w)=np*KbpiM!DM^!S5Z zAs+9o^>T6d0C75!bMXlwRwM9G`hU5-2PPwNixlsSZ%;50P5aQ4B z62m)y7`abGM#3m@l$LgJ5T8e?JeqHOAWnSGCyoqaH-m>2yxCx3XeADbZ3boo%Yk_7 zNh$_T1{MOb-k7u+xCq~6=mP+7Wd@M+W&=sj0VKUN5noIn5J=AkB)teA>4gGG&nn`J z=>r7m^XfK!Y)xZgm zuMlXbzXCz|WB|uQK3kyOA>}E+6v)R4w8u+%C~zF)K?3boDW?x1_{NcSK7ga0{zL%T z?*%47eoCOdN6Nc_VXYCbeZ<6wQU;^ZI0`0X@ zUJk@NdRDPOd!dvs2gX6ZM4&xe${oPbkkf}Spgj$^6h%(~#zH<;pq)OLVZ|-WCgVea zF$mM&YXI7PWxPe8-2kM1>&Lnc**gOq1^v?k?Wcgz2=@rIp9E679Ro%|-X+jZ2M);J z+6As`11>=LkieAylJ zJ5*M;K>HD(1K|#V_BJ5-?|vZpZ?iyqogZHh%c>P0GXSp#p1`6h z;UVC4WDkh-ysTz{_7yGUhLXBCjzll~?(&|V0{8fVgK;C$c;AhoYUVj7Ur zr2;7({heb<7Z02XxlP7L0D}=9D$srkYqVMD&mMs*PXK2@zZ;kV>;ldOb^CbT9<`OX88)VGvI8pk99NB?*YOEvrY=M9|BVT#mNq!WFqTBb&F#Y{*l4k+YrAf3481Y%OD;Q0lbP|&W zjhikYnly{P%>nJ5K+@}wxL=^X8Hl21?G4fBQ{c+wz#Pc4fz&SHlWdxAQ83d$q&_*HPN?+hLkW(TmPY)SK{7Hc;Z897o!?Xd3 z^bA0nAI>YH-hDtS-x(mO(z-m*-V3DiodV+jtR8{(<3K7Ot-beqD3N;*bo1v@|}@LH6%me?hc#ue#xNNkhXDzRB&lf(vz^%83(ZkAXs zu~6b_iOVHsOU#hykeDVhMPj@}o5WCwR*4pgOkzLA6R*ES8t1(J5>H6%me?h+Q(}k2 zHi@kgn-$lu~y<{iRBUtC9amZTw=Dw42cejX%bT;#!IwG43%h=XpzVy_G9q# z`b(reAH4n&Pe|;R*d?)3Vu!>wiLDZwB{oTHkXSFVR^n!fq6`OSDN0m1vb{k;o*{#~xmPi8K#VxJTj%i8TL_yh~!I#14sV5?duUOKg(ZAhBLz zt;Ed|%Ow^{TrF|A#B7Nf5*-rLB&JA=2cl{wo5WCwR*4pgOkzLgMbbYbk>+O#_eeY; zv0Gx7#7>DF65AxwyiVzxB{oTHkXSFVR^n!fL!wP0lh}jAJiWwbiM0|}OLR!INn{dx zP#&Gh(3XL#mg~jCteA#MM4k-q$7e}7Y0MDzn zTAgNAPitpz@4*)tgVwDb#}b-B>(q{FUBJDDX2X7iK|5*eG2-)@dc@ReGOKN-c9TJC zHtjdH0vk+?rY7J?Q;+Es@RYgNd>VhB^pK^^VpcmXM=h}Db=0fN%dGD8ZuZ9Ar`gA> zHu^N-e$=N6_w#Jvsyc{Zlqc5 zjXE7=R=cB)7r8_uzhXbQkW2 zMz`VKIJyb<^RczKpNj2`HLJ&ByK!%i?ZAC+Y%}h4vGus0jyV%!R*%P=!2L)}C+>%0 z+Hh}-X~O;Vs58j1XVfX&yG9)wWl`Hlb>MzzR2w9{ai`7^!+5S$asB!#;>G({h-2lS)L;@e>yo!>Gk~@Yh_s9pV1-h>H9HON_(Hk z^mAprzF&n-s8W6O0~K4PzJ5T0_ApX@`u>z|idUFH-%sI9=@HiVU(gqPvUf`6NAC#~ zukYWuUxxMl9-6Sny73ZAR~(4))AzGHBg6Xsktk_jKd3?bA1OcmpvE6%SU{lG_v4C@C!UX=Ok2SAEt zSU(67DZ~1KkWXcL{a^^~K_vV70TJ4(NMZe;2<>O2a5NS-=$a?P`oR&}dqMH~0g@py ztREzye_xB*yGHicZ)I5D4|A<7pFZ9~C=Ala&xd5s!~bdTA@;toGkE!=i}ri^f%NNr zFcfY=8oHLsczyp@j11HBA6>M?ko4@}6rMOp|I4utF(ABfQ2OGoL8GU<>^>? zY#KpvF4lG87%f8o$Rtij>nM-a>gP6{9tS4%T8VR-PI)2}C2^njyxdvP*#&EJtBb30 za2zzNEH9T%Ws7s0R2(|8JfJS?s&h%iPwP6@@}sAs4E*>e??If273V?4!D~ACS?o+k z`y{7M)wzi-Zi0(TO>@P%xCt&Ub&4z2#Z7Q=sgqr?E^dO0OP%D3b#W8GRh5*d>M{6d z5@abSy0{50E>(2DIDZN$Qcl$MQ(fFd7dOGhP4r9&DN;^wrF3yPN-A@o;O0D2LW-1E sIGCz8?|9wFL>D)~#UU+uuzrM=%%xoJoNJ11B-O=Dba4~tHHcsT8{6I4LjV8( diff --git a/src/xplasm b/src/xplasm deleted file mode 100755 index 10b7d702760a5f96cf29ccb3b8925d3ecfdd3049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126136 zcmeFa3w%|@wLiX34v}*bsDy{S$%%lTfC%ysqM`{&Ai?l32_g!H2vJgb1!9$2+t}#8 z_~^at7O%G28q{7B)Rx|Ao3y(VyS`>k!8YIQUD$XE;9Br8~~OP6WRkXDmJ? z_*7M`ELc)}eR25;=6e66vNx+oig zQQwd65dag@+T#j_Y4$7rH^^y-|HhB1s-5+>-Lx~F<;VB#NrmsAhG5#p7t;8^L;0(! z+OV^JNA1>I;%RSxpZ|lx*EU)KFm3J%os;Ho{psH}i@(Lvl@LS12LnAGJ`RXf(FMgOi44Mee-t?eh`oOBV7xCT+wB6@!eqP(zTJ6zkKy&=rXvgsy0^FSF1Aq-y6OXjfVJ5 z-9)X#FUWJ-mMz=1nw%c^?osqbtf2y5f&5cUOGlj~{*dmD$LP;G_C94nM}pZ{c0wzXnZ1 znI$48ivAG~?SuWtb{F8oG9`gBu_$p`Ku^W4o%Jx?mzlH~uLE)2YU>drwer-A|Z#rEvhrpD~neZlOm)03UHsMAp1 zTsWx}m`64j-q_mGSk)Q|gm0ae<5Wssu&S%2@bj&qUA0}Iz`?xG3r^j>uquM{ z*U||1K=^@BAU`h}a_0K+u>7rHc>mILCu=|IhiZ>5h-Eu%q4YrA!8Cj_!r-fv1xC8zfYa>+ z^1G`Y=R{6NhI{BTXD`c~^t5i)#hfQ~4LtbUeKhE}QPf+HI?gXL+=HkSflOO;-4O5w z0C$jhoZ)U~rqi7^tl^bMQQn!E-~Dxb$AZrOW+TVO8(YJufAn0Ztt6miM|r6>hr5(j zsLiR14SsxF3^43V?A-jeO#$ap{`SB^2eJcBUNdlp(w#cC5d%M%4ny_^XZTR=1JNN3 z<>*JA@W#-P=@75dA62K$)Cs)=I{sbL0XU%}GrtYxLWkYvakMGA+OBlfL!<6bzSbj_ z#h{y@H;eR|_8h?N0Iyowt#aU#^1Da6PHpajx6sahlvCGoktcWp8Hxw(iU;hY!dcW7 z3*-x}MmE)y`^rq0@|lCSnyE9R^1CT#!Fgn)$of3+*;8k8rh6&i1utM=tfUTjC;CDi zQEd)S=t_O2I}dfJE0gd|{!xcTkB(=$7wfXox=iF!D1FGHz4+r_PmdOy&`Z-!Gi*Q) zoh%ySjt36f9k?kn4jhcbzeb$Be;I-HjeObHto(%jA0FZk(rvRH2krbR&+cP>_d7@v zFKKIPuWCJYXHg4moqI4?^|RBB4s2ea2->F(a_~|(fZQsN9(!eNpX(01~638zGJ)4Gnkx9WQH@a&Y+Ae58 zo6`2FJ70vY)jUUghn+5wv$U~(sQUrk2Jw~xkJh)k640dNGz$7uyWrHFhnl4?h0e>8 z4_wU}R|s|_@99%DudBznCA+3~ zA-^r2cg=as!`KAx0Vlk_W^@nUpKhnz(^^hJ7MSO{AouRqK$r9x^!R1*jHZG3h*#jy zerVSRyY@F$bwS?U@qEyL{MNT%H<2%N2t4SJeDs6)5%znKQ^$Uvx^qzrXj1$Savl!0 zoI<+kE7=P=H#qK*LdSh=vg5vT`t-vMjx&$^pibX|?(6|8Hr+dml;eDlyp=wP?ljl05+Hp3@@@0G|K z`qF2aHv@TZX}Ivv?|nA+u8c>ax5ropUnv2P`G$Ep-aLVuVCUs1ytGI0_H$L!G0bA%xjSIG{{@cS+;#EY&i`dPR6pO=bY0q?z#^`?(l!wFb>;7O^~^f5%7nW z1?$!av`m>^6RhhrbTM5MtfMZ4v>w1`gT0f-?-IupA8`@gX zW^TZ7b8A1ifU+zYqM($$bvlipzhlu(DvOVeJj^>{{R|A z$04iNMmX+6fTfN1>OpcHf3Y#U^)z(c$dGh&!fw)jF2q=AD#W@bUG>56kNPO~?_St5 zpM5)M#scjZ>|1{ilx*iqvH%pv+q{X+Udpezu&T9LuOoVc9R^s8ul=FB@;}Xf(5|!IOC#4$|! z?e?5t*-hV^a0SL4{k_n2n1789(TC8s{;(bs&9paKH;%&QM`2G98xdbUnY>;Ck1&3O z_TKpTuNEH-PRnj}V_n!yKZkRH=t@8OWc)e!J>8)BdGd$9flKT#(@pT%j=*06{hSNC zo6fPQUIP z_?!XpIT>4d5o<@m0~^Wp(u;)?5qGKT+K2h-_#o&zXz{djDy^;{L(MIE9p(4!I-Ei0 zxu=JzvFQwIDDNEawEc_bbLV)>c^5iupF$dTv5jrLeqnxF&c=rFH0WhI#^W2o^!+!@ zQEdyKb~^6Mw4Huh?h1P6@aFT}Bf4F|J2}5Cpz+eTChj*e-xB{);C~G|`zGcQ;*HZ$ zquO6&wNGArS+~!459e~&7nxHI+VjuI(e5E%`#Hd8_v<2!*XY2hI~T+6*1l3O4e}Wb zzZ>!iW_Rtwy8VgZq^@SH$(!3Jw!YYiPa!_RiLKDZR}hQpK0R7|j_%X&J(`0zb{*FG z)`H*ESEDOz?~NZfx!ZsbG37Wd8K5&9X($inH3ayRuytvegL2k4 zlv8&N-baC#`td)Yg=3KRVnHy$E9p1p*QEV}O)W6}v+QYe;l$P_3P0D15b-MkUwa>8 zKSn^m6rbzJ=YK;VJp5b}tjp1M0X$1Of7Xl#y^WAnz?nwb9Zoy5ZN3WdO=qBMO%l3h zg09}$AFT0_hE0K4qHj+Xu9H6BeN$qblFy4YZtCEZfcXOIkT?4@9Jav9^E8a;Aj-o* zJ-3@!5%NNJ4I2>}>I`oVPJ|D`^vDrmq~r4^#<0A|;kybyQ>7eTaNqBXYzrB61?Yg~vuph*;6TUBH4?Fh)>BJn6X}E@4tHnjdf2)e`7VBk9)yk7cC7Pt$Nds~EYwNZ z;Df{6^K~8iFZLLiI7-V3G;9heKd%#gsKz+=+pK$ZzZgqUc3Js;BKIpsxM8$GTV~r_ z!$*D#Uf)=vjJ6tnabD7X4d&ABjCALu%vFH~`Zf=k`O2Q-WZa~W8BUvF+n`9mXM?t2 zuFBN5-r_fSA^K$FG&GZ5>UtaaNqL4auDK=$?&k>u{qEozS8OVLtk`JmC!m~VT!X@o z7dt{cM|8jAz6RFa#%5oP{)@i>ADQhK{+sd(G=E-I^FpG{+dMwb0q6M zSPUA^G!~5BVolnS3muvcKVd2K>ppyL1+Q`g_m9Kam$|UB-EqJE9&}KTY3SVvv!=Ov~JqKcM?%}37;t; z$D?U=h~HHj{V;Mgva`pR_->*@*~3vTb}E_8I3tfhho47vz3}Lb5&hs%Fu|jxkRg>AW0v;t=r_htKjqF_C48r*{b2Q<$03 z8lEvah5yX+ag&Cpoe|qO5__wfZ)W`3-)tAL`R>EI9@mb$O}r8Pzb_waD9Cz~_CW|A zsO~u@d|cNbsp%|@^sJYYq+Y#6FLB=%RpWr?6GU&IqcMAp%5^mK$jtkMp}$5S>tW#H z+FbG)8OvCLeT6i=N0>M(0$bS;$|`Czc1HO0kty!4hp2J$0{kDwWuE}wxZiL@$Hs~G zbIe2B$*jF3Cd#!W;DI-8gXOo50~R_B<*x;U`)9%~f6|hL&|&!sky9$J?aBB0hzFdf z&Uc^JbjD?zKh^z`&TAd6Xg;LZY<1FJ!z-P^!2S(?L7WXVhI8*xas5MxS?(v0b*ozAil!mHl4gNaS54c}eNO z9+;scopdm^hyKYP7S40CAFcqUh-~R*kNV|+B@SFQs`R{65fpm%9zb4kY&lmH3bB59-(XB?uEi*A!#BqCxxq=^~+>N>o zgV!H({gK8y2R!%K#)bXq!zj1R>cbo7p$|9%C~YAYe8|^_=j}dhKz!fy0dem$^lcwY%6No`>}C)VB}8ePTHyX<{DM z7!Umsu~|JA(^q(Bn9^&)GtPVzxMO-uTU6t>8&_0eC>$cLeggzZ-TBd?8IoAw!O_A0~8s zkMsO!_uCnYZu_@u`*mCmzR4bE%oukNpPCKRmn^pI=iS+2yO7U;c>E+MvA^xf z-;!2`{V&1k$-e~WcM|K+1fF?mb&(|bu!9G33(ljjkw^MGxB`gX1VhteHz3Ayw{x=O zey8%-4TwLX&eAXAyeN(`m+pFo>$3-(K=#ih-Zv-k@*K#&sd01{?3#&x?r|O&<1W!M zZ!Ww+&W!$0(=YP<$r$%RtDL&rQaE1VwrIMW8doQcWj=KgZQ$rGoJPY>st5ZfF`yv&e?1D@^)8pz67j()35jQWwBL05Wd`)gfDlK2jE3-Jh;Z< zL96Bg{glIh8Z7>!r{7}{>(w%3pDT2q-#|TVMD3+4N-f^)(Yzz%I_HxZlJ6jmY|Or|oJZ>&GGM#)+*<>~tYwanRXV1@w4qk?h%C z#qtWANgXS8?m+3NqPCXCNfKKw9W|)U0bDlw)3~nn0O&F@{75e{+@opgO}Bq)l@COQ zZ%-!;3EdXCfu;hV?!K`(R`o>_x_-4US&y*IKK5ATq8`CS&y3Z=XJ>;V6@r$6zmuJe!ZcfZv1J zm-$LI(+>AEcYxC#dl=Cn2A0 zET5y~^BMG;@qmN&96xfL`~8p_r)al>aoN~p&`SS`X~YF^rUCwSe%nQCe=^#?Fu%Jg zIH5HH80N#jf?XKjdN=XE>yzoGaqd?%ej~Ss;I}sgee+J!IJd>n(Tm*v$0{F)+|KdI zjr@(z+XZQL`!qk)I&Zu>PiDguCtyNO1NLghx9WJt9_RQt_fAch%xUng_F-;a%RV-q z=bc-lFIeRR>EjQldF_v*i3>wC}C06^%==-EqJ`no8 z;G<8@aKT=ZXHAXQ;!Mu!u2%%+JnZ?y?|`59$+$mpE#p21f*3ym-t%30@|;}39U{8)`nQyEW^4%%CTl>4vy<8wbPAbyNZ!+ z3Xbi1v3;C6kAU&M{(qDBj8i7K^+s-m$$jZIt9&5i>E&GSc$fK~@@ib$`ft#;Z0MEf zfNjU}u(lYLd@T|fqVnkryfz$o3MaHSy&ib^#l|sR`w9auf8<@-Y|Jn1*W;|mI60ft z(s+F<>|r_LSh7Ad{(p1u`Yx8`!bcAM-z|8a@wzUqtztj-?k{f&s{Lgzd@bT?*LUr2 z{A??q>1l3UW8p#>(($sOuMFvU8EHfNr1fW92O!nFH_jC{}s4_z4V9$E^Kw%cc0jI~2Ynot&oY$%Uy*yA%}|Erm5>=$yZ+H%4gFktr4 zn2&W|h;gag5_^}F(;Y@mz<=W;XRp{)$c^n#4~`?A(*!#9p`TBHZ%=~0Qs~Bu(Di>o zznW1G?amc={O$xifAdpp(fOdJ6R>;Y^CooZpypLR;t$S&32xgtsy<`y9$2hT@7A!p zfQxgd)EPF>eOA{o?N*AcKvyEBvWGV20`!l4`dX4cjnwwF3H`i5)pV8m zt=DzFVd}uoYc3owGLkh2VxY$~ZvwEbCXX;(mn@d_i755PyDmG9H6`gMV9qH7VNc21 zUm<4rD(W8$seS(^KAraRi|wO0jszCt6m!NHIbX*8g+=UZ@VqWOd-Xiq1YBYa6$I_G z2#Nd|i9Nff;I&-`(VnTtSo~)|cT@1Xu3uv;+40N^(H8duafg76;pX;Lt((kQeBi;H z*3CX7v;1d_Z#U6yTLww46+J2>O2wm zTbS3>eq-yYJFjhdZ`&%I2~L-I+LSCjn{R!vkLt`q+Wy>=rqb^sm}TeVITKG^mJNfG z!EfR;-v&R^yWw<1@G*In_-#Lz&pj}n8-D^cLmytjGdgNRwMKUg<`Kce5ZtQl{X zG}cLwy*y8L72!80&Z2e}Ixe1d>OL~rargg0_B9i-w$4C_uHy{UEt;P*w9b=%jIYOd zZXVC*kuIYTGB5lQ=jZf&0Nle1rH|vel)0=YIA5LQ;*jlLreio40^eH7IuVyXg7g!p z6NIiV#2TG2@=PRX{TOKF{$QuJE!>kkf;~Mv8`u3ho_hi><(V|r@z8@fx!Kb-xHfBC z>vh|HTtk5?hI2ijEfco7Ev{b=X1kL$?Z1N#k_SfzH!!YzY^a{cna90OoIz`I);E;@ z60sE06vy#KwmV$o;J&BqJq=Rhm;8t(;RkWP4xHZvPhikcr>ZrYwm`+!@cXc%&e#&J z6L2FC-wy%K)ZtZ{hdR*YS*9K+Y*jjG6nl z82?%DquV(C@6$YFA3lM#K5b?=gmDgeMH2W$x5KbgEYBUP%Z<-v+dsywdFBxHiIehg z9;$spA6&JbTV4YlGB&XWGCIfe^QCBOH$F?lX>~k5&*w1Kkx%wGY{xi6y(5iyF8pNQ z)0k~pV+Z=Y(`5Vda{@9PPhte&4hFoLXKFHoY$29g+=3+i!`BCnbU|$S+ z^8ok2nCIy$#wAV_tUzs5YH%1_sWKQMGs51#Rc6NI&R61%)7;vNqwo;Pi9 zUf$Q}ynH_7e^8$(6x)3w;=Zn7c$S2=W-!*PgEUTKhXi&?j{6G@`+4xvj`d0TBROt| z!Daa?Tqi?DaUJEeQvbyIRxD5IznX)2+e`2Np6E&M*E9^zpzK4;mUO=cx*yAM_G0sC z?n2Hg#eFN%dJAcT-Dyf@Q($j8wZ5?ZhhV2}06d>_ z`#RdRb=hw>!t&gW+`WTytJ%s2!2EtS+k+j+(KfCV;}p*|cT-+pMgKkeon$`Wsr$p2 zhVU8o7k*s#R?sH&fDiGpia9yNu?qYw;|KfUtvoaKL}69yPY^q@`yjRl^f9?Vju&(RhY9 zDxN0medsk~YmiO3_ZjYD*vOvu6zt|%33HAQ_6#xmO49Wy@W*E_@GQ(^_uINno-q{q zL6@xgFrVeZ-=%M{)SmmH+u%(%^b-5)kGJy9o_n#Lz}#--ythYWs>g=> zMjHXN@o~_+2x3o9iYQ|H;(n3a4>NX34IA0FLjIa z6Z$E#pt(zYc53pxQ0o?b3l_Q&$XEIbR8Ris5&uEVSIHshc9p; zL+K}NF8w{q$5Uq=));#38=Op6A{V-O8b=2D-3-}e<7^7~LVbxInw1A1r|mw-l6EAT zmDa6)mq)V(;XVoK(uCP;n{_Ey>JabrkTi4wY3y-LYJCUu$ZydWZBRg;(;~ebAJpN1 z)<-qZ!+%A)1}E*V!AIRP=UsQg7Qd|N@6mVIS99KVw>^Hmb_#b$obPr86d%8(ae3fj zr}k-iGyo57=yU76^Jj+xTlG7Q<2j8(`r)%xW(vf>eI$d?3a!C zCF}wA(R%nfhc$gi^mwps%ppw!dF|;R?1%AlJo!oNM+|d2>wi(>^1vst9~*z~@xR4> z{9NPsoW}8f?Z-zjNBZr@bd2-f>_?k!w?FpdiyGG0g`dM7*!Cj`U7~HcitQz_AD6;5 z82fQ)FEBqe{`COu2kqDEh)4BiKRhzQcz5)CyZlL%Nk6r1_4IiQ z=2>lvJo%>*cLA}@&m+!lZ1I~|cNkk7_iKUYpgmue<+^w#NqEirrhQ|B4J>WwTqoJs47YJX)DWEIL%{w~flc1e4IkuKJo-EScV zb3e+L!uGy}SQLC{_{kHy=$Eukb@m=d?By6@Ir|&eFM$-caGz{6 zfH)rZ6PHePupe>XI72`DqwYPxY4AYqF8#4%& zHsKq0fFMSbxSK`sL-}(hVHHO`n|!<(ZT>BMT!Q*%n~zrl=YaV*a+*6u*Yli*N8BNP zuO@tFu#+|?BZZt`c4b&aC z;ZYvS~7+p66eHDAxsGqrMRL}PapW*+;^u18`VZ23I2l^Wwh3C_u zzos3b4P%44D|w(d1bb7h`~OXx&oi*37xTY|PUe9(@qIiSHuQGl`4%$=M2|Rm|LVgT zsteQ|(e3RXujUHEeG%)d&-!8S4b){OA08+2 z=%73d-P9-Bo=O_)Q|OTR=!|;^?3<1}x5e1AqvI@sA2Af@Vpa>{65&8NGY<6Q+q1(i9 z3N)WQ^y@X3$R9j7k2ZsJOWX$SgMP+ujGowa!+1{2w0qc!YYEM$W6lRW588i&n1%4c z=q+S-tB%im@*%fpZ9T$0LRh19ldlHOBmc&UXO=(8l}zybw7&0xea!`4&gV-5xK9pu zonp@JSPI&Z&f{Gku(2m;Ggw!6W7(Hqqdz5T9E;vO?eClG#N!r1v(*Q-QvzK2jD=eY zdle0;vje7o4)ptDi1kF$)Y{(Q;JHA~{h_x%B6~eHJny=}I-r~TM4>|w-bK=lt#v#P z<&1pYNAHLI^nT8%%lUw^2~n$G27f3W;|(^Pyf2C+oY*HAoz~^XP z%g4ThvvQidAAThEoXVTu$zHG-?ZaKhfr0mf{_CbdZgQ_VGT*bi9)3Cd+;OogNSB_nGDaxwn3@(+2%A^JK#2qRklZtVcO%icQ9y^&`}NZ(Ns18|0RgrD!XG z9f!}U?5T_~$R2x=q(5IjTgzwBLKsu|W-pFu=tf)@n1*gN*zjm0V)p-7ZtDiq(2XXe zD@;Q-xXxP*y2+zb@F)s@q6GYbuE@Rl*Cr{0&PdscBxTSYDJw}*1|5>Jf+S@ny6mzf zWzaLJH%FJ1fKJ$Iw-j_TmNf(UhSv_p(H7{A6R_+EcR3+cI{-d3z zt#)eB&i>%zoU4@o!Se~QiP!@XIh3Gn=^yf7`|^^tL0wx78)y1WxRBmMkiNY)&As1h zvkYyTabR>G_uBw}=CKg&bmBUSwEKA*rxE=ljTdMhkr(uJ7@G|}=hSs-|4L%sc$Y`M z*<(h$gYQ#l7^ie!%8x>iCs^r|C^vdb_&>r1>a)87-<`N`Rnn(`f1*=~18H%&i@gS% zneR)i@gMI)SoL9yzaH8%^+ID4zLCFP81)X1PExLULz(dNsvkf4XYlVn1Ad+-jLVbr zk40C>m?Z7?)*p)x&1c{P`?I?r{b8S;J_Bvd?~}IJq~7~P+M4@8+ueS;po@mrp+5S) zX;hN-Em?lhj~jYzaBn(;9DC@OC6AH`N!rwMls@-C6J=54rwiljkoKSTnoN8&;*0fx z?-D;Qj7`(WnB^DUXKa;4Ye^sSp)cXlXN=o8?qqc}ZuXJBgxD*~7K#t7eEw-d&k?l5G~qoRp7?|n?*Z%y*jn77GO>$vNZmlhjl%w$wqza1 zwX&XXOuHLp$l@N zk03B(7a@iiUw25I*l3&|2A@8JdIE!(W^BC5y9;^8MkBsCUif$*jQW_nweP56k6Z&# z2XfIq*POZOP911IP>Oxx?6GO$1Cxh5sglC>Or2)~z1pc<&MWO#JMVzE>fO_bP-jeuO^ILYi`qjC3RDzx+nur{Q-9 zaa`&M_TlIcDxC%&qlnWMAnuhj_ab)==q3I<+%wbkl}U)v-ME1F*&osK_8dDOcjd0v zv_kfKocfF04O+MSe7RoJ90IR5>ANeW&Mz)~P3F2|H1LOnf6WL;{v?*Kr*){%lA{TDr!zHFS~ zp4UtNhob+ybIr(*GR!+4?^ja8}^iQw9PeT9Fs@s|LXV?*9km- z%=1BaQI@DH=MA7EGG?97tqr;zo}uCT;D6x5GbT*An6ppBuVT>F*_!sm`-cquiFb|U zD?QCCYa^XFpj}BEouG&32V$8GZMj&#hjGqc_w~t#V*3L^+ur||XgkU{{vk!%QggRW628R%7s?6> zZCgNFzLxn>@D}=pvJtq?tQNYrK-QOh$4f5qbCDm#yPZOTtl50_&+xW4UjO&|;Pq>e zk;ql#KdkO;+Xi;ba9_qVU(~njES=blK7<_HTVun{z1Tg4`v(ZS%!2(=GT5gscK@JZ z7XkK+<4BJS$Y0L7AlAWmoyE`UbFLCyh0bA(zZbC&yq|{So;*}%_lf^L+Ty$i+onO6 zry+hRY3OpacAEHXgfU~%#Dq;d9FvcL4~kC@_81SO&5Tv&rQ8L4Hh^P-{>Rm56S6#@ zWI4UH6ny5G&BgdA%^M=)rmr!}dl7k#8|@zmVa}z`!S{eM?rhJs1t`y1Imo>Mw0hqK z(R2J$?yuuq9rUjw^qrzM?(ul!Ibo(-u4TW`lIPo)6MD#g?@afjTAphx*l;r0JG0!K z8g}_WWq)pR*|QG;^x;a%|J>yAS9YW!E`Lb}0{xc%81UjSZOp=iJ(M(X^d|pMVBGBQ zq0ZH;0~&L4IG(5D>=j}+ptlV9*o*17HD|oLY1c)q$8fHZ`G~7zM!z$ttrT`It}6?1 zW)EZQtm;Zr!0o{EnI2uS=IHo)DH)kPH@fBBo(C09MulzWLTXPsg&OVviFtmNe|H8RN#+<^HM}vpN(RDSto#RJp0cxJ#(R_ ze5NFdyy>V5U%6vx&Sbeql6jmvqlcU}KAW}M8uNmSz7E^dbFxie2ICKSJ+JtfFO_)w zaM*@DIq%MLE73>#M91J0l>i1dFRS#WP}>KA^C;GH>|ZU~R{ACg<5S<0!8`hRuKG3Py^gu$N$4}rg@u66 zUv?qvBFoqo<}T0s7!Si(tw+~BZ}zw!d^k>ET>yO#FHkN!9xeuuMi zs*CkuM^0pf8_aKb1@lDrGk|*?K6Ovn85(xH`vhP(_tMY43Vk5`UfYs5r$Idp|FEP@ z`U77&40!0=iQJb%&==E( z4{JE~!-75FM8<1;Gu%4B*zZlnyA7e+`u&*DX}+iDHN^8@$GJ+Fhb6P9*LzCHo1G%tG z^gmgzIZgSfyEzwVUnI^4tZ6vkEk(Q3y-;rMqqIrHYx^lVfT1nA1axx@^t3IBGkUh} zo3)GaUCbKgJnX4-2Ju|3-v2!sY``1}*=WDo+`AsrdvLMA`M7@=yrN%b`i61HJP$vR z$2phJFo;}>E^&)+uLKXFeD&J@ctYO#!!vQD90WgHWCn|EOz!I{5_U5r)4<4~AO zlD6aa-p;f7J{)_l1|RBX=)Fom%^~1o9Fcoy`_VpPPG z>P(sAZbO}KqwEmjAt&?Rz>*P4{+!=-ht;#Ii@COaywZV(P##3Nh5ISseI|HA*R$<6wC)eCRc9|7 z*UGs@_^jQ>fBJ=SU)a=C((syA#nid44tdXyL=SDu?3Z4hMN=?~Htk&2+$vb*-_<30h+- zWR1Lsy2g9xY~0tA*2#!Bt$_WQj&eTpHWTYp=-`?7^anhH;O7(8wyNzBR@*bJwh>#l z+rFG_!;d>Y6Kx~TEN$a1uQRp{KK)of|3F^R$E1Em)0BQ0Ju>p+T9dysL`SObAa43* zQTR|I^U8GhMd0I^4zc6V!5($NH_*MHN8NkU-2)aaq=%oTM&6CF4A1N7duDxhbwBBa z?GD4=!5Tj^OkaWPCaht9sACdhud#;x1@37gPLG|m{3$c1n7L#v?>>j!HfI2Ij0W-k z@e-rqe89dM_}hDhpB#s0{4_Mc7?{DIl^lOOX5^Wl9=pVS4E^nOemX`|DPX+ z8IyonqhZ!4n6Yt~NCIY^hFPazs5h#usK6jTw5Mcjfof}PK-ywlmp)Vp)`6H)vr4fR zBb_oXp!XgyWsgfpteI#>MpNPs%!A>D}{WP02Qyw-jYdU7ZKtL+724yxQpt zBGt?Ij`*x-_0YCN%s%1MFvgF2!&Q76KJ?MS^s{taF5z2AKG)OV=iQ!w*~A#9JIZxx z)pM@&zc?o%*5Ae$HeuFt-LYpB_7?FTUEpL~&(l}i4+lT?HR2g<%z@30l79&2e42M= zFQ83T`AQC(@N66NDIb-uWEj=?)K!(QWKyE@>4T|!r5B+Lg@8`qy!u3wd?ZmrF})cm=li#D@CW?rQLf&*q=H)AD;86MH3Q-Ko!+;(qDu z)=)5d+^BxUhk{O+{R}!&}Z$- zW#btPoM8ei_lJOEKkRbXvxQZynV>%dzQ=>`%a&$6Fm75PW14Bh?{k6iGAG-#m*{ta znR!C!24DPbUrstXpMp2fpxq3#%RNXq%yqe0_m9iK`?T1u-v=9ydT;dNYmLY4_WDTNPkA9Lp+CeWKbUUAwGUAn=Adr9wGY6 z^}W~t!voH+U&2tX}4(k+I_eVfu$dBu>dG3pS!F0`YzuFhf9hbV#^#wC* zzWY>PFirE_M*)+Be;qlM3tR+`gnwp^Y;J$NHFPTb?PA4-4FPscV#{*dkb0Wyfeo;>(EXghu#rq81=blR>HXsIK-v_-Wv}| zjPXs>HNBpOj5>0L3|H1&hyP0pc%CP{-v zzHf$W(6{tnm1&dXp8CQx?E(E->~FJ1AZ*S`MZGS>kt z_m^o;+1CuTM;b*Qn18vi*Mmn3E_eTc`!A<5L&tihd(Y+WuYePC zeH_o3=;j@@jMc&B3Ee$p4jH|q@8~r8V|4s8kdvX?(A=Yb=nA(D^}TjB5hu3mi{5Oy z!hH_#w)_zX>xl2K>UT<#w;}4kj_rif?-1L^F*gnIvrO#m9Y#Iwx5_gEfy@UYj7^|C z7i9tXCAo;rn)Z3lp!Ys3ba#U$uDJ{hd8*~RCxqBhZ}R;x>MekL{q&Zcvwpzzo;=H4sa@tQ_2 zd^9=y!7JT!lfah*)tqYZn>kg+HEgfPKE8LQ`&Zo88PoGA>m->^J96e;<-QBJk3;_! z!arl*JU(tOd?*=Y(V}_N98|oCaejHJxUE^A-!}C2q9Z4A9(3Fvg9f(khfPBBiJUha z_q!Ut7X4CZoEV#&I2*h`eBXZ7F|p5Vd{${g(`}ZcTFKkszzc<#0e|1J8}80&;N z)4m&caw2DMn!8x@S8y5~41{D%F?I@FnCsUmsr!pGcfPL6a__iL_&?GQ*kax_`Xu}j z#@6Nj1H6-u&&juAys(`Ty>>8tGkQJ*^CioN?#iy6p79is>b8pBS->}xe?Up?OJlnPT&+*H#I!&)#po6wAcOvKcboUYP z&*O93yaUdMffIP{IC}bVJ`Z~9KD|F zr*I9CJ$=E6F%iZ16I#~}c4q)*066WBHzwkZMfuzI%?l@Telpk{1Dv>vt{Z1&asO;^ zf1shE{8GH<%VUpydN$mrXKbfm{2m!{-@`j$Jo@It{TJLxRW!sK=?|#Um zBPTz@z1!cfvw`b5Bh}{Gya_t6u-_GM52=W{2IEm4Mj>9_c9VN_{hvJNd z)6MymF&F-(4dr`%o`E0pT>HA#XM^jy-a?GR&|&*R_E{*{;*OlPL*4IzCT-t6V}tX< zvyGS^(4V+{*L^#KeecL=9qPUSoTSV1Ztnr|zMb!Aw0Qq#d1s@na|h1*xgT)%`~&j- z*0as~Js)tdJqx_w=;QsPe+%!2oaBg&E`A@n$D`txo(*I$XVe1zakD{+Z@Iv-nYGfb(p*JACULU&o=M#v)sJ1!22aW z-t#$w_s#onXSpN)0eSy>_||7t@1w)rUjkVK%i$=Il3SKM5cQ)`oHp2bn-vjTEk?!q(54;~4=~nyk4$zm{&Uao~zSPr9 zzh6K0_(*pl==n#RQ^tU%vpTj)M!7-Y>@l_m$oniG?@Rs`-hX?P`)l0O`H#l?Hqdld zc^^5?eF`}LR^I;`-%V-h{ZV;WrK}+iFb-g?-wrSqaEA5Uft<(Ab3fKQ?}0DAemlUk z6G_%@2hQ^P?Eu$r*C%){ebRAqL>J!I`t3kY*LiO7S>SzzkN5ZgExfNE?MD6qdH)yO z>8thr?C`#0wEJ6qH?n8#+;iUZwAYU~7VhmBI;!@&FSlqmw2;(3!SjO`X299SPsKc|U!;KRW zYfBEZL3CW=a3U+&N97s(Mm!&Yv-*nnu~DYL zTAZz1+j@-W_YtRy1syjNdoO&>A`^Rv8Q3ccW3MC|XUKBU7H#|y+{MlFt40Un{KPz? z-t+Le)}?r+Z(8jK??}qqu5oUMeixq~hv)}lhla0a|0W7rqM`TjSv_uSeKq@IJ=&Nu-fc!3{ngvg0oG&3{+70Pk9Y4IK-(WZn{6K- z?|yIqZC9Pmwks#NR}Y}={65;g3hyy6y45e4e{+I6eE{u8`e;9UpzTkY=w=R}eW#E1 zPvgA|1M2^S6WwEYA3=Y0z7w!#()r&EwEYtk-R}>e{eyk9|KdQ~ubkvQGl2G+`e^_0 zfwtc|$$ek|?Kkw%{>KK|el**?bpY+J@1y;yfwuohwtMve+RyK!{i_DrehBZs96|e4e`_;toa|*4gI+z4}f+h`8^;zquT9viQo_ z7o(qX-aGI!3bn6{yk$(QIE(ld^aIS?Eps9KhaPj`yAk(I;5N@~aE;3SNv|Iw`-IvL znFv3`vrnk}j}g{BA%4@R!n>m2f2@Q5u}=ICo_%Kf+^h6I=P7f4Nsjv;poMik>ygF* z_{V#4+%E%%C%$OS*I&lFQbIiEi|6`qu4XRVGIBG#;`)X#d=Bs}oY5z&q1!qKvnK~< zuKopW=`&Y*ti67D?uB)Db_jjj!!uV8#QSFXz*gVx2W_CGPdvN){qvnY0__J#b2M?L z&4Y8O>YqI4$Y&7f_a4*zw9oy_0PX%eEmU8E?sf6LSm&y&zWDo*8dkzt$-i>hZ4vZ8p-%_C2%orV43*?T$eMSh-HI4zCSqj zp6_P(akN`!(Y}(sAPhWw9}=Ip2;GbK8R$ER<;*}!;yt*MegXGzn&(R}WG&bQ}+7)UHcyz?K)`P6hcmEqc4{eZNwmo1cOm;f}JF7pi z8z;Np0qoTNz&1~IzYbX5;o2t+CnmdJ0xa%582M+!5QgGAgjlFNe+T|%#P1x%U8B%* zJm0s+Sun+Y26gzX0M9&_XH{t1x`jsJC(dI zFa!9P9-82W9A{YRu4nkX%mYp!`)7UjW6u=#F3{8h8v2C&$rN`7U_aj<*fCSxTLAm% z{=lxC>aGRs?*70&HPyWauy^$b_V`qn?v^AfJ{Psz#2k{=9 z*VcEome9AzQn9)m{LXnd>fQ`F;@NB3r;(h8qo_xi=suo#&X>3lzj;m@&5Z2CnODzT zT$s3{HL9PzFnHbqYzg8@Jkw2ltRH`VRo7!4%Ma_i{EZlu)FB;gH;xZ<2tIrh-yaYY z^5Em$S$NhqbV+_)=hq$|7cavc+c^Tym}kq~TGBt-XK5R@Ihv`@v%^0{EUt~uujTSw zJI*sV>G&h=e{754&J5ZK`muz=Id;GdscX=4u(X{uMBZ;-s@DXPH&*3^%{x*^<26I- zpof)01JkR9$X(gF27fwyWzvCf&~eO9$4tQG7}!yoW_%~3c?#gTZyiSB0sJP7(GBu047pPf>xMSNSCJq1{4~${YyPne_n5Td{w2KQ9(R!0 z>#9a|ALWaUvc~8FkFl>cvFpY539Y9uS9o!UN|(I*WRBBTqIHIOY>Ut3@%@0IfO9g& z_n!bpXqkiepBz-rMGGut2U&*hJ*O`J^Sb|_DKsjxu4$i@UX@wre8EaX*7@eWH-v|* z4}R1t9|ajUT4~6A{R38dBH;H}>D(c8oi_d%D1X{2&l^(L)MBL?ZJ;5`}z#)riEk9r$=E~74><=#TL%PjeU&pTM(z`o#x-IV8ry~T#T zB(u)w6Y(0oXaTNGt5m%kZ1|Rpx=s_{H|_mzNs+?6A;>(tL~ z#-^iBE$7rZ!!$3Le&L+DgBezO*WkK?HhlNsx=y?NGZ}SF#TGnh%U^1x!L!ZRnRSsO3m&?)-i8lDwjry0D0IubcZcf8N)2=F7V^3R~$yf20LKL`6{^K&2Yq5c-U-$=$Fbqn{3(Kd;! z)17X4_6PFXs9~sov0!w+zkIEQgLQH-Uf;s|ROOyX+$Xpnx>E{#l>IdpF2OU(Y2)|d z^??dl5=~k;fN~({gU=LF7P~f6#84D<%|AG zdmfmf-}|f$^SFk|wD4pM{r+cpCj{Pucg%)`&)gFq@1(Zcd>}cD2hYco!Q^=9;=Q{) z`j_j4*`5q0ka53F57%uy@C4L*J`A63Ob+us8_z1jK##)IBhB{^_>6lqj)g~I&SxA8 zHbluHA%i7ns+Zn-y}UEkd!hGw)6Z1z3%%Eyc&2(k?Y$n?ZN2j4JH6NAc;H9kL%9Fu zIc+0im*dVF{p`0Hw}-WTYXbkL^SNsHWvm<1Z6_PsQLBu8nZa*x;%>E*Lo8pU#P%g& z8%NvqPX)hxwTX9WTXHzi^;Ob9d2iBn4IiKvN#`fiXMVR?_%TjBc4eTnoA#r6+z*6y z)9-=Me!oq7pzCYwPj7tP?c*z9KWxGK`!4raX&(1SZp}&XvyE!2jZKza4rzG$hN1O| z`7s+dY`#?|6n0Mb1#V{GOO(?8hE!}|TZw2`mjjzVK2`Myx$ z71y4l9g)F7v;H3qK0pR>9y1LYkjHF?&$83sZ?e;nL8qNwhWc19FgAHcnT$Z&Sj)s^ zG6J}5nK1o#k_qp8Brgy9cyDAC^W_^^`F(REE59#pWL2WaxsiE)WX1b7jjaC7_=kF} z++&Rjeg&*KD|E9OgQh*kT8ym8OB;5#4_0)#u&Na{Hh#8^x>I4%V{{t#;wA864DT~{ z408<9@62&d2JAdNF7d3t_|tL!wlp)o7N9)L7~${eD99hSD>@4C6-TX4wxV6qaG~8V zu7~wFj`!8am#D9=XW~n<54JbH3{Aop(pGHqrXRGG_}Zgx#{1!u*b8k#hYNpXt?placFrHtlCou4bI|Cf6>|L>jp75bt|G zc(=*Nk2CQu=7Svw?;h~+?w^wIj`aVhMZd&k5&MYGF^sJu_R#=2jRG8bQPRhHJX6C( z`+#HHPup$d?%0ssc4p7EclUwQw7sbhIJUjpZhNq=ZQh0I>vvx`P20Qs(Kcf837tV4 z^oTtUp!f8Pa%oEtWA@m;B=hLCHZH_a`-`hN39dpL*I3I&LhkTW6kYfxU59Lc&quR| z28?Uz55E2V2_>0p&bMip`1hwFnuG@G2iI`X^e(vPEW^>7}F_vHxS^GHnqL<}ab)7-%4jdY1t1 zN9PbJ1H{pKJOPeRGd@jQKqGN48VEV%Ge##f1UC+Bt^d8S^xC4ssI(Y;B=$qI_ z!6S{vn>ljo}_KzQ3^(dx0`%upGaEZe$Gme_V4M*6|3FW_dSc{_j#B`<&1f zyNq?|vmZr$=q>jOv1f$eSjW-Fmfu;(hYu{j;RA91PJWNY9p<3He{T@(3-3NM81=Ca z20an_V}tX%dB+v$X1_`aDUcr z-8T2)aex0v=7*8r63p((KAP6e_fwQWO+x05wKR37*6GQ54Llj+CX6+(w&QH`2=bb+ zPdggpeZ9V8>o1^D=q5bZxTt?p=P{qpJcK42f0OU=z_T0}uOa%<*l&}wG3Zlh%{eEr z7Ogyne!DwKZ=-wW~mNqqCn(074{vFG36dp^D?Z_4jmIO99VO8*k+nO6FL zk)Cd)FGc!7D}4>pldbe-q_eH`Cy*X*rPI)_(N=mA(j$--TcYnrl`#q0I8P_LGY@v5 zgLmeAAMX{h&kSV|Z(-s+Hex$u&6?fS+ngW!E9P|6@!suMgy(_+VjDSc9}k}SW5d|L z`>J;~%agU6EU!OpzTbNN!QCI2|I_XFhsG4lna9NcSNVgpPYyqJ|LizJ8lJ z=G(yA>E3=5)-E%3{rSDY^agL||Gj_vXnKaeBf)x>m0X!ze-&AtOac!A&vNry-DXWe7=d# zEbRXeOT)S%E&FHk`yA_chV^@#^?Q=_`+V#71=jCr*6)k0-?OdXms-CsvwmM`{a$4K zUTpnds($Zqig)bTwj;7_d(GC`t+zyKw{E|!K5}#I=9A@yR7=CylQ9lErKUm)1HL~qPH9KzJyzO?Kylv}7onBPE5zt$A)>m(>C*eD)w{CQp zS#!ts9W^_55?k%o$oA?THCyX9)$FX@=`5>7HoCWA^EUam%SyL?sCskl#>me49R%63 zZDZ}twKY3-I;Nm{<3^&5w;3oucv;D*ihY zrf$A%>juTY>dl*z_HSkNj_NI7><)C`HgIf9?anRL^&2+D8{1fOb7V(N{cSt8YN`Yd z(jz+-t*I>5*`TvJPN|=xH|>DTYU-WUo2u(0;C$rvng|3|b2C0$HvrRBPQmh`$d=o7 z)<7eQ#9w&XWfxLa zz#LuCOM>0J53Zu7UQ@Rj^hOfeSpn7FTEBT$WaEx)+qaX2HFwnSsE+IqWIKI|>J%q* zR<#yadqZUD;+cy}m&XOZx}>zMcxLhPqIgbu@ygtCZ@61r^0MP|iIDJouEu&S&Qnp=&*kjOXb^5TN4Be&PqZ-U8*Y~F_9Q@8>hUB0T=n;W-4wkGd% zn0<52?H>K!=~V36T3>xfq=u%?DXiYQbz42eTU%d?F;x5E8nm;adh<-kje4;;&POG@ z>K!|(A>A5KxI;{r5N&vE@Bqz@I9n?!%U2bO%qrGYEG{cpQlS*|rkcnto44Imy;)Eg zn`S7&xUAi(iAfkA!)?=`R4u!f=EPKlV7Kicx7dr?Elj}7m+7lC8>{Q9rJiaEtO4C%rezSRu4UC*ZrWHKG01m{ z9gBeD+inMSwHWssX);XRgwgg=$Z@#Yiz?1%W8Qt`o~fX!tYF!qqJpWj=Ef%tGAq$= z9GjsuvK0(su9(eu2O{;mwkOLLa(B-3>f!QjJ{2seSO%G*$F$~gF5FZDvtJXzppe2i zDMc%m7duYI)SZ#3b2rM&JayX6i28GG%#b-;P1rYPtgha{saz#xuG|C>Z=lHH8pdor z-^KG*aR%CgDUHga3Z0!BFvo7YwPtH%VPxvYNObCk+zgm3*t4xQ+it^@Xi#&uq(>09 zUYEl!014o-BE+a|?bZ#OZ$r1~0SI4Lu>aer=QSUy*&Nw+GXyLkm~E79_3N8<=42Q=?Oe*4+*tv1pK_p&N zh2Cm8WjVaD?1T=gpce z3|m&Pq_i+HS!Gul^D0G1R2DCbh`lxCs}=#NlqOnPwP;4XB_SEZuW)m7o&a0TXA zjj42bse)LxqG%Pk!E|XsS?TrQ&Wh!ca&V_~c`<;OE?XI{>M!)=8J9=Oi)WOrC@iQf zE+ChSN(+gwpnOfn<*Ml^y63{8N&#A2dflp(ny^BOIUF{yv-A(jS9*jAy10CKL0QDE zw3wAF8R_a%fe7*{t|&tPii)rE<0@U=6W5ekvs5LxZ;)_#SrJqO-7@WB8muf|6RB9U zY|)CcWZk<&*Ee)(NQ%*P3XepSEE`dx7)qDuy-fVht2Mk3NphBP_<5}Q`mZL&oK}BKB!%Hj5!y-tnK~v@}P@4lEauGcx|>6_`>qS5{nbZLx4ol@$uP<;5H;{1dar2}D<>E`nxJI#2@wmB>k- zohzM1DVe$1Qa=8!TBLfcQO;HvmccQsh+wj`S`q>ZmnZ0(ZPQ-3C{Zx4*y>c_;>A|c z>_R_J3Rfp8&MsDsP*$XOj^?1`V)0j+0G(qu4!PS!x(!upxu=#**@|+j(xs~7Ws7vv zmnySZw%VlUT74=jTNG9bBV=BBsi$nUUAAbJRfaBjYc87YEA`g3yI)##ov*IV0hW5| zUaH1+Spk^8bGnQ~OHU+=!+VyV270KfR5XfqX@T&vtN^l7$W*^I1*Q+sU_zK$i{=`+ zC5VuEi!?72^}ray#A{v}ujy@Zk><3wrro9*Ghm0m%^r%UVd8Bn-D9q=O|3JDHZ_c? zIbW$xg;AaPN_8rX>dd!Qr@|}5`L^m*_(W*yu}^U>wH3L@TW`J+eT9z$^LxlxAmY7H zGOqCTetr)b3q-t@;Z!dIfGUsR5Du(xEM(m^0AEb*2U z7;K0G`AQ7773IDHgKSBqufX)B%wM4TQo6iwQF)oKI|cEaeu{A++#9KfGNsKfd&&H9h$hCGDopMB8FOCb5!SXV)ivDG*wCYY-pxIe^t$|QHgqvkD6g{xF5tF0(fGO1E!;COJi6Nv4`zRMvet?NIq z57X`hMt<8#KkywK5c;)~w)Z#KgXwh6d7~4Ef9s?TBW)ye7CsR}E^<@_gbvOQoHK^yXhBffnDyG$wRl^$aIF_XGc$It)*54uh9oFBt0~vqA8Z!0w z5dDpJo#1a+1KzbN-{6IFRB%iUTPQq&Se`K#Bt? z4x~7c;y{W6DGsDKkm5j!11S!qIFRB%iUTPQq&Se`K#Bt?4x~7c;y{W6DGsDKkm5j! z11S!qIFRB%iUTPQq&Se`K#Bt?4x~7c;y{W6DGsDKkm5j!11S!qIFRB%iUTPQq&Se` zK#Bt?4x~7c;y{W6DGvPqgaiA(^o3`hd*uiJ`s??;b@-eA@tvOr0)e!&U~o|SIfL;R z3Z2$}>;FuK40F_XXQ1Jp(#8K*aal$2z4)(m@h29SF28SeNoiT}{begwtbAZ~N%8Ur zODjIPqOzp8d^O%f`%kNjmlyr>;uYn4Dp$BgD^@SBT=A)j%HoxuUS51%<=*n*mBj^> z53O2WSz7ivyuG>L>ZZaKNGxAf{76B?vWJU`7k{?+x|J)+D?d}Zj9-7n+mFju6%{{L zUR=4VeEB!{qTt!sLK3BRgn%gt5Fud1h!GHi1`H4&O2B{- z0u3}kkf`AyFL^{7AtD6OyVl<8Ok(c+zTU6?cfT3B_w3(Zd#}Cs+K+Rx*VKRo0u~5Z zAYg%j1p*cbSRi15fCT~;2v{Isfq(@976@1%V1a-I0u~5ZAYg%j1p*cbSRi15fCT~; z2w33Xwm>}A%)n5Ep%(_@|ND+f2%?BTeeio|moy{>10;5qrWBPC`M$3C13@vN-rF%e zfZ=%zvoMrmSchRRhE@z$FoY_g+=Ssy3?nc+gyBgHDHxm>UPisDs%C1LsqS1gHDd~q z?)KQ7-ZVdYt*KK8)HJKzAqx0&(zC1{o6NFl9*>)ot}HJnJze#BJx)JrId(6oX{ipE zuHkpO=GF1b<<^||B|Cr#kA}ibtHa?+1=YxPXL*ryug5`!y{;^`Tl0{maKI{*_r`Cu z4_LtWw_uEmd=&dI29w*PrD`_KnW{lAuQkP?!7Uaj&L@%GY4zl)F1M~ie~)IJqI#|A z@GCQv^~KtG4fr1>Fga3D4o`YjU3&p0pw1$pxrC}?cOY}B)d9K%N`yk)3%OpQWu{_* z`bDV0Y=y}#Cln~2EN5zlQ1b@LN_U&EjgmdsYf}nrP_kh&=C)m-+~qYC*KMP?bh|8Z z2umDRz+#1MN(x#5{;t?zpW=WMSgmCX6)j$iMa?!Fe4{vRc9?F`Ga=uEN-vSr_fLwi zv{Bsloro`s_#(yEQ3|Hi4A^SYppGiFQ+E5em>p_$+MvvY<6mJ)bLdcEO83G#lfw(u zCMWDRxjb;t7gd`SGH|0A$E4B3)R{9gHK!MLo1JLq&&*)5!g{j{j${3kN2yNh zOp1>k$0p1vkZ18)VYVe3iYykWeuG49S1GP(rnvZX>PZT$#S)vaMC}YS=3bv}R))h) zThu-p$X>;d)`6mliyKX+(wG_8vOqPB#Bpcod!R302a+|Om*|#G&1?Gil)~OmS z48e5~Lfy97Y#vyP=T+^3W7m7m8ac)B%S>y;hGGz7EYwfvc!& zR#>i{=CG#gP#A_*eV-K8(_)LU!dz@{fjJdA%r-b|(V#F$mR!u!D(q4gl%ZMi?1dFU zc4!X91sRg*ve`5@d==t?OCflm+U(ABan}40;(?-29p;C5J$RI3rLAFEbnM{@uEXYi zv*|o*StyO*v}S6sB|Im~tva=A_#_-BayJe89D$J3%@Zx*>Z^{V`dcGq=jTUqr%EC{nhx(p>QEO6K`Jba5TjCI zO9ZWZ6~2g&TTX=z>pd)xFS2}P^zcZ-$$A&k?|e*ynUsoU($drJ#NLWVj`t*GP8Xb^I-+znsWWRH6)yCYYq%)ND848P zx3CU-dg5S9qs&krj{|7E9izrOG4kDQ)^gk)*dB$aX(sH9qGxPFlm*I{(Oe$es9>Qh zgK;n(4?cX_qNwm?)KfPe1x@#m3FugY+0k}98Rtdg<}IU|rB!4B9hOIDk@2Ik@MNsf zl7h0Dc_hok=gYQePgW}IKxy;SGz2fyM0=qjIx9u=>I)Q<48t023&r}HttdKNiN-S| zOM^?%9{7RU`w+E-%H_W=%BH31a4t%NYf%m;j>gRjmC-sJjhL4|oVdK^(qjVSBjDMXU4zxs-%Z9*1vwH>07NZ&L6@ zQ%i-KI53e#*Tm_xOSWOv3fzbIkigEP`O;N*EzSjd|gPGIrn z!UiRUGzi*Cg}tS0esAcdW@e~bj+UC`)l@#f!>oFy*g!o};Qmy2ThTJ@UKMtSrP*Ou zc)I2kXZVru3@yiIPsg|Cli_ywvd0uHm!8@>bcpi<_noh2CcM@YkCHV#U9d6A4e#On zI5aEG_x@NNPNTWb#))-6@5=ZoiD(a-_W0Q3BBfMmu(T-omdfBJWw}yjuDHE8_uz{ccyKYJ>RYvD48KXy!t~OT&A2a17JbqiLId9l8Q?rs& z8jj=b9|q79r=`y;_%{&pUCi;!gP8|14`Uw6{A=a}=KGlwna2=^0t_sc`k!RJhxs|? zq0E0ac#$lhW$>zEUn_cPZHmGUo{>zL0O zTqWgK4aT=XvR^0~mBw4wB)J!JJ@Xv~<9iX6A7(JVd=o!tFusuzk7aIPPG)XoPGxRl z)|r#>m7eO)Fc|;LAYN$j4arNGCo->Op2WPG`FZAQgZr6E{SqA|ulaWUM4Au0sGmnY}HKQXT7XrJT} z%)mUB%g1r~r-)Hed=IH_60_yBWR1&1zSQS3xKMH~b05|>gX@p|yR1Kt`L=f@zsX#( zLh?#xca7u?%y%x4T+3WnCb@z6ws#~qGq-U06U@aWQvMBd+lP{`GW#}3w&2)l{5jQ< zqnX=2l6)((d$Z&L2D855%-31pZwxutAIsd%`jeR}7D;{S%xzmFdzeR~AutKknQPE+ z#6`@>JiaB&(RAm7^7oh<-jYl&95lX@A4vX$xplhaz0A+AmE6o+T`2iDa~sc38}kDd zQjUM73jM{*7F?jz-n4B}9>rYCd@HkMyOjS2b78IIVFoXdJc{|wxso4Y{?&TP6PbN1 z*O(n2OSzl5I!E%$%uQ^+0%qG^q z<=c4u;2-^hlkied!TGw(T*w@ZFIr^3JC{m1zEuh?eM9mc%w@|Y-_2b7wq(4f66Gs+ z{E5tQWm5hqvx7OAxrOcvu|GEECf1i}lz&~yUu1?l$#^>=+DqW_bC{>``SCXM*jibB z6?18k%wxApPA10l8D`4!@;R2b%$9OH^F5~|dzep7 zmOPC)@ny+*%**p7&t)F%m0ZFc$MQ1f$iGSXDuc5nZ)CP)N#4Pn=##vkx%L&wN0^7c zB)OIOfvJ*jFgvD8jtr9awd6{^g}IE|yNkJ!$Ctod_*Yr}_sn%HpJ4E-QmzrBeWUsL zlgS*jKJ}F6_17_n(r>n3Gvv!5sIv zl;e$}=-+M6NZ!HRG(_?~=1IdOA7QR}MDls&=0TD>m`nOd4nbSd_=o;Zax8P(qmplD zF2)xh>i;0-&%;n@nd6!J5~IF}Y>!_smoeYVT*3Aj#r2yE z`x9gT?&SVG#_~S1MGA3-x6#c&M6NerhjoW}4qhBFw>VmOE4Jcd>b^nQH- z!#^>!Vdz@_E9B!CPGIfjn|t z8r^a-mEs}KnvurqHX})1HY1I`HY151HzSFz#LhJOOGR%}=r+_yl0%NuT|IF!3k`z< z7nM@+j!639n9*lP-Zq1z&&?q6G<8V}OA0lecCuN~?Iz3Etj73l=tJW?cBC=+t!4Au z%0}Kb7GrX_kwyoB%ta?4`Y||-t~QyHm&`IPFXZW}oP~VfCZ%>9KIhwQ@{X1THgOAY z0DIC5l>Rh>a{LR!Zp-nH6Vv_?QQ8>4-6_3mT-%90wiI%|bz$L$lkD*8c8H7YF1>R2 zoAS4V*L>)`;F_Je{9@HH9cwbHs~<_`c$-QPFe z*aJFVLZWAlOZu0%?(e4V?+sp*qL++IW~B({nxBj=>4rgd!-pn|7|tz8hJ#D>J1a0{ zIJH#cS`{y0`Bqi6+sLm1^v&x5Q_^Wgd161%H+i=(LzFRUNML6X3WZaMwTU$OuP~pT zL@Z(Iti~C_hlQo3BZ&)3=qxK4-9S>aABAhnUs)H+!cfJEopLSN#Wx;*c+hmZab!~X zg;e|h;&W2{7tg|Zg!j&9By={ZxRS&*HhB%{<{ZBb2NR-BH{tXxd=x7FQUu*Xol_&Z zOD|*wdz7d+Z*5E&9wgN*d>K4hT|l^Kx=Mu$scVKf^JNX;mth(Hl!Z=DDd?(2Zb3uh zAdeE4!cn97WDQJ{Pl-uPj1)*;jggP1GX1JWbY5qN5+n8t9Y}ug_hl*;HnN4QNOhzC zhKx+#ay00?VB_MmajMZICZ+#Hb(5P%RH1~ZW4H$>*GQAgN7c#GB4TpSu)9YxyL<$Y zcSa<*30hy=2k|9+JNT0wD|>h7*E_P3^xDv_5?*GJKp}Z+@TWcKfZ-qcU`jk-ye{F6 zK^c8ZSB>iJ^udUI$!+7<#A?HD&iViGQztx^#B&*qKKdaH6EHjlYSKeV@+VVh7aTCC zaf__Yaz#vv$N!8q6W zNENyAERwnMNE6w7y2*V1S@_fQ6sL?ffYe2hUel#|L`X=y(_QswJP4(@a(Hb%#u z(Vxz=(C0^0cBGSK3!QAVf!j$Q68Ih}6Ec>M6Vb3pV!NCr9uYDvk6c|W_aQpIj?s#j z3w?-K*e1>Zy*R^7|C65Z_j+=Y%Kk+tZ1dp?+iiaI-1quDUi+Uy_J8t+7}LVhOA~&t9(<|% z;Fa>7BemtdyhGiw?;N=0{R`RYBZ4z3#!Xqsa2tXMfxHiq(V9 z7OWVvWRxk-6IXSv@tYxiUwXPeH?&}{lGpe1kJpcJe%fzl-?!#$ZyQ>LiZ zCljLo_>a6#9ODxIG@{5dYQdUoMR$bl-uuhqAj=p>E#0!IlA3r|x>dMilqc?~D_LZc{{!`-Xx7^bIsUxpcrf=BVuzvE|XHI{x z>%h_p{p}Hxe*I9Nqy;xWcyZ$Fg6DQkI6G_3^%sV&z2P;D%)Wco<=-t)t_^wl!~1rO z>wRF_Q%i?Gr_TWPWE5A&7ZTyr&nGc_M;aYj+pU$e!tonGVx^!|sSKX@0OP4E} z|Il{s#+sKLTTeZ7u;09v$DY|$T{mUOzD-{$=N)gx&V6q})NM0Ay?exSPc0dlw)vjJ zMW!2DR{ynP-9*=pvuU-KL;LnkF^!)X^y9RuX)n(FVoSl;zumL)=gPQN6(Dk zKVVtnq=Es%PmMf1GU)P4Pi#CosIo5i`h7oF|G%o=JNVGW4bJgjEM2`l=Aym&(M{u? z>HAw##~qe?%Kltao1F8n>i=AM+NgKGYx&&@SI&%ky~#5+q&?#HeE4kob4PAnAKboo zW52h~O?p~ca&<#uL-C47Zs{{<-|D5ynxCC~Z`gr|!sys7<93Z0T(@S=qaS_x`@3%a f$6sduW~(ywpL3tq2Mj5>x#r05k9OjPAAbHDDQFoh